/* =======================================================================
   MORE REPORT CARD TEMPLATES (tpl-11 .. tpl-30)
   Same idea as tpl-2..10 in the main stylesheet: every design re-skins the
   one report card markup with CSS only, and uses the school's own colour
   variables (--rc-navy, --rc-orange ...) unless a design has a colour
   theme of its own. All designs are original to Eduscape.
   ======================================================================= */

/* --- tpl-11 Aurora: gradient header block --- */
.paper.tpl-11 .rc-header { background: linear-gradient(100deg, var(--rc-navy), var(--rc-orange)); padding: 14px 18px; border-radius: 14px; }
.paper.tpl-11 .rc-school-name, .paper.tpl-11 .rc-school-meta, .paper.tpl-11 .rc-motto, .paper.tpl-11 .rc-phones { color: #fff !important; }
.paper.tpl-11 .rc-crest { background: #fff; border-color: #fff; }
.paper.tpl-11 .rc-phones { border-left-color: rgba(255,255,255,.55); }
.paper.tpl-11 .rc-rule { display: none; }
.paper.tpl-11 .rc-title { text-decoration: none; margin-top: 10px; font-size: 17px; }
.paper.tpl-11 table.rc-marks th { background: var(--rc-navy); color: #fff; border-color: var(--rc-navy); }

/* --- tpl-12 Side Stripe: a heavy stripe down the left edge --- */
.paper.tpl-12 { border: none; border-left: 14px solid var(--rc-navy); box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.paper.tpl-12 .rc-headtext { text-align: left; }
.paper.tpl-12 .rc-rule { height: 3px; background: var(--rc-orange); }
.paper.tpl-12 .rc-title { text-decoration: none; border-bottom: 3px solid var(--rc-orange); display: inline-block; }
.paper.tpl-12 .rc-infobox { border-radius: 0; border-width: 0 0 0 5px; border-color: var(--rc-orange); }
.paper.tpl-12 table.rc-info td { border-color: rgba(0,0,0,.18); }
.paper.tpl-12 table.rc-marks th { background: var(--rc-navy); color: #fff; border-color: var(--rc-navy); }

/* --- tpl-13 Corner Fold: a coloured corner on the top right --- */
.paper.tpl-13 { overflow: hidden; }
.paper.tpl-13::before { content: ""; position: absolute; top: 0; right: 0; border-style: solid; border-width: 0 96px 96px 0; border-color: transparent var(--rc-orange) transparent transparent; z-index: 0; }
.paper.tpl-13 .rc-header, .paper.tpl-13 .rc-title { position: relative; z-index: 1; }
.paper.tpl-13 .rc-phones { color: #fff !important; position: absolute; top: 12px; right: 14px; border: none; padding: 0; text-align: right; font-size: 10px; max-width: 90px; white-space: normal; }
.paper.tpl-13 .rc-rule { background: var(--rc-navy); height: 2px; }
.paper.tpl-13 table.rc-marks th { background: rgba(0,0,0,.07); }

/* --- tpl-14 Notebook: a margin line and ruled rows --- */
.paper.tpl-14 { padding-left: 54px; }
.paper.tpl-14::before { content: ""; position: absolute; top: 0; bottom: 0; left: 40px; width: 2px; background: rgba(214,60,60,.5); }
.paper.tpl-14 table.rc-marks { border: none; }
.paper.tpl-14 table.rc-marks th { border: none; border-bottom: 2px solid #4f7fd1; background: transparent; color: #2c4f93; }
.paper.tpl-14 table.rc-marks td { border: none; border-bottom: 1px solid #9bb8ec; }
.paper.tpl-14 .rc-infobox { border: 1px solid #9bb8ec; border-radius: 4px; }
.paper.tpl-14 table.rc-info td { border-color: #c4d5f3; }
.paper.tpl-14 .rc-rule { background: #4f7fd1; height: 2px; }

/* --- tpl-15 Honour Gold: double gold frame --- */
.paper.tpl-15 { border: 4px double #b8892b; }
.paper.tpl-15 .rc-header { flex-direction: column; text-align: center; }
.paper.tpl-15 .rc-school-name { color: #8a6313; font-family: Georgia, 'Times New Roman', serif; letter-spacing: .05em; }
.paper.tpl-15 .rc-rule { height: 2px; background: #b8892b; }
.paper.tpl-15 .rc-title { text-align: center; display: block; text-decoration: none; color: #8a6313 !important; letter-spacing: .08em; }
.paper.tpl-15 .rc-infobox, .paper.tpl-15 table.rc-marks, .paper.tpl-15 table.rc-marks th, .paper.tpl-15 table.rc-marks td, .paper.tpl-15 table.rc-info td { border-color: #b8892b !important; }
.paper.tpl-15 table.rc-marks th { background: #f3e3b3; color: #5e430a; }
.paper.tpl-15 .rc-summary-box { border-color: #b8892b !important; }
.paper.tpl-15 .rc-section-title { color: #8a6313; }

/* --- tpl-16 Clean Cards: every subject is its own soft row --- */
.paper.tpl-16 table.rc-marks { border: none; border-collapse: separate; border-spacing: 0 5px; }
.paper.tpl-16 table.rc-marks th { border: none; background: transparent; color: var(--rc-navy); }
.paper.tpl-16 table.rc-marks td { border: none; background: rgba(255,255,255,.78); }
.paper.tpl-16 table.rc-marks td:first-child { border-radius: 9px 0 0 9px; }
.paper.tpl-16 table.rc-marks td:last-child { border-radius: 0 9px 9px 0; }
.paper.tpl-16 .rc-infobox { border-radius: 14px; }
.paper.tpl-16 .rc-summary-box { border-radius: 14px; }

/* --- tpl-17 Midnight: a dark header --- */
.paper.tpl-17 .rc-header { background: #1f2430; padding: 14px 18px; border-radius: 10px; border-bottom: 4px solid var(--rc-orange); }
.paper.tpl-17 .rc-school-name, .paper.tpl-17 .rc-school-meta, .paper.tpl-17 .rc-phones { color: #fff !important; }
.paper.tpl-17 .rc-motto { color: var(--rc-orange) !important; }
.paper.tpl-17 .rc-crest { background: #fff; }
.paper.tpl-17 .rc-phones { border-left-color: rgba(255,255,255,.4); }
.paper.tpl-17 .rc-rule { display: none; }
.paper.tpl-17 .rc-title { margin-top: 10px; text-decoration: none; letter-spacing: .06em; }
.paper.tpl-17 table.rc-marks th { background: #1f2430; color: #fff; border-color: #1f2430; }

/* --- tpl-18 Green Leaf: a fresh green theme --- */
.paper.tpl-18 { border: 2px solid #1b8a5a; border-radius: 14px; }
.paper.tpl-18 .rc-header { background: #1b8a5a; padding: 14px 18px; border-radius: 10px; }
.paper.tpl-18 .rc-school-name, .paper.tpl-18 .rc-school-meta, .paper.tpl-18 .rc-phones { color: #fff !important; }
.paper.tpl-18 .rc-motto { color: #ffe27a !important; }
.paper.tpl-18 .rc-crest { background: #fff; border-color: #fff; }
.paper.tpl-18 .rc-phones { border-left-color: rgba(255,255,255,.5); }
.paper.tpl-18 .rc-rule { display: none; }
.paper.tpl-18 .rc-title { margin-top: 10px; color: #146b45 !important; text-decoration: none; border-bottom: 3px solid #8fd6b0; display: inline-block; }
.paper.tpl-18 .rc-infobox { border-color: #1b8a5a; border-radius: 10px; }
.paper.tpl-18 table.rc-info td { border-color: #9fd7b9; }
.paper.tpl-18 table.rc-marks th { background: #d6f0e2; color: #0e5c3a; border-color: #1b8a5a; }
.paper.tpl-18 table.rc-marks, .paper.tpl-18 table.rc-marks td { border-color: #5fb88a; }
.paper.tpl-18 .rc-section-title { color: #146b45; }

/* --- tpl-19 Sunset: warm gradient header --- */
.paper.tpl-19 .rc-header { background: linear-gradient(115deg, #ff8a3d, #e0405a); padding: 16px 20px; border-radius: 16px 16px 40px 16px; }
.paper.tpl-19 .rc-school-name, .paper.tpl-19 .rc-school-meta, .paper.tpl-19 .rc-motto, .paper.tpl-19 .rc-phones { color: #fff !important; }
.paper.tpl-19 .rc-crest { background: #fff; border-color: #fff; }
.paper.tpl-19 .rc-phones { border-left-color: rgba(255,255,255,.5); }
.paper.tpl-19 .rc-rule { display: none; }
.paper.tpl-19 .rc-title { margin-top: 10px; color: #c2334f !important; text-decoration: none; }
.paper.tpl-19 table.rc-marks th { background: #ffe6d3; color: #8a2d12; }
.paper.tpl-19 .rc-summary-box { border-radius: 16px; }

/* --- tpl-20 Zebra: strong stripes, easy to read across --- */
.paper.tpl-20 table.rc-marks { border: none; }
.paper.tpl-20 table.rc-marks th { background: var(--rc-navy); color: #fff; border: none; }
.paper.tpl-20 table.rc-marks td { border: none; }
.paper.tpl-20 table.rc-marks tbody tr:nth-child(odd) td { background: rgba(0,0,0,.07); }
.paper.tpl-20 .rc-infobox { border-radius: 6px; }

/* --- tpl-21 Ornate Corners: bracket corners inside the page --- */
.paper.tpl-21::before { content: ""; position: absolute; inset: 8px; pointer-events: none;
  background:
    linear-gradient(var(--rc-navy), var(--rc-navy)) top left / 34px 3px no-repeat, linear-gradient(var(--rc-navy), var(--rc-navy)) top left / 3px 34px no-repeat,
    linear-gradient(var(--rc-navy), var(--rc-navy)) top right / 34px 3px no-repeat, linear-gradient(var(--rc-navy), var(--rc-navy)) top right / 3px 34px no-repeat,
    linear-gradient(var(--rc-navy), var(--rc-navy)) bottom left / 34px 3px no-repeat, linear-gradient(var(--rc-navy), var(--rc-navy)) bottom left / 3px 34px no-repeat,
    linear-gradient(var(--rc-navy), var(--rc-navy)) bottom right / 34px 3px no-repeat, linear-gradient(var(--rc-navy), var(--rc-navy)) bottom right / 3px 34px no-repeat; }
.paper.tpl-21 { border: 1px solid var(--rc-orange); }
.paper.tpl-21 .rc-header { flex-direction: column; text-align: center; }
.paper.tpl-21 .rc-title { text-align: center; display: block; }

/* --- tpl-22 Round Photo: a bigger, round learner photo --- */
.paper.tpl-22 .rc-photobox { width: 88px; height: 88px; border-radius: 50%; border-width: 3px; border-color: var(--rc-orange); }
.paper.tpl-22 .rc-infobox { border: none; border-top: 2px dotted var(--rc-navy); border-bottom: 2px dotted var(--rc-navy); border-radius: 0; background: transparent; }
.paper.tpl-22 table.rc-info td { border: none; }
.paper.tpl-22 table.rc-marks th { background: var(--rc-navy); color: #fff; border-color: var(--rc-navy); }
.paper.tpl-22 .rc-crest { border-color: var(--rc-orange); }

/* --- tpl-23 Editorial: big left-aligned title, quiet table --- */
.paper.tpl-23 .rc-headtext { text-align: left; }
.paper.tpl-23 .rc-rule { background: var(--rc-navy); height: 1px; }
.paper.tpl-23 .rc-title { font-size: 22px; text-decoration: none; border-left: 7px solid var(--rc-orange); padding-left: 10px; letter-spacing: -.01em; }
.paper.tpl-23 .rc-infobox { border: none; background: transparent; border-radius: 0; }
.paper.tpl-23 table.rc-info td { border: none; border-bottom: 1px solid rgba(0,0,0,.2); }
.paper.tpl-23 table.rc-marks { border: none; border-top: 2px solid var(--rc-navy); border-bottom: 2px solid var(--rc-navy); }
.paper.tpl-23 table.rc-marks th { border: none; border-bottom: 1px solid var(--rc-navy); background: transparent; }
.paper.tpl-23 table.rc-marks td { border: none; border-bottom: 1px solid rgba(0,0,0,.12); }

/* --- tpl-24 Pill Labels: rounded labels and tiles --- */
.paper.tpl-24 .rc-section-title { display: block; width: fit-content; margin: 10px auto 6px; background: var(--rc-navy); color: #fff; border-radius: 999px; padding: 3px 16px; text-decoration: none; }
.paper.tpl-24 .rc-title { text-decoration: none; background: var(--rc-orange); color: #fff !important; border-radius: 999px; padding: 4px 16px; display: inline-block; }
.paper.tpl-24 .rc-summary-box { border: none !important; background: transparent !important; gap: 8px; }
.paper.tpl-24 .rc-summary-box .box { border: none; border-radius: 999px; background: var(--rc-accent-soft, #DCEFC7); }
.paper.tpl-24 .rc-infobox { border-radius: 16px; }
.paper.tpl-24 table.rc-marks { border-radius: 10px; overflow: hidden; }

/* --- tpl-25 Big Crest: the school badge takes centre stage --- */
.paper.tpl-25 .rc-header { flex-direction: column; text-align: center; gap: 6px; }
.paper.tpl-25 .rc-crest { width: 92px; height: 92px; border-width: 4px; border-color: var(--rc-orange); font-size: 34px; }
.paper.tpl-25 .rc-headtext { text-align: center; }
.paper.tpl-25 .rc-phones { border: none; padding: 0; margin-top: 2px; }
.paper.tpl-25 .rc-title { text-align: center; display: block; text-decoration: none; letter-spacing: .08em; }
.paper.tpl-25 table.rc-marks th { background: transparent; border-bottom: 2px solid var(--rc-orange); }

/* --- tpl-26 Pink Blossom: soft pink, dashed edges --- */
.paper.tpl-26 { border: 2px dashed #e58ab4; border-radius: 22px; }
.paper.tpl-26 .rc-header { background: #ffe3ef; padding: 12px 16px; border-radius: 16px; }
.paper.tpl-26 .rc-school-name { color: #b02a63; }
.paper.tpl-26 .rc-crest { border-color: #e58ab4; }
.paper.tpl-26 .rc-rule { display: none; }
.paper.tpl-26 .rc-title { color: #b02a63 !important; margin-top: 10px; text-decoration: none; }
.paper.tpl-26 .rc-infobox { border-color: #e58ab4; border-radius: 14px; }
.paper.tpl-26 table.rc-info td { border-color: #f4bfd6; }
.paper.tpl-26 table.rc-marks, .paper.tpl-26 table.rc-marks td { border-color: #e9a3c4; }
.paper.tpl-26 table.rc-marks th { background: #f9cde0; color: #7a1f47; border-color: #e58ab4; }
.paper.tpl-26 .rc-summary-box { border-radius: 14px; border-color: #e58ab4 !important; }

/* --- tpl-27 Slate Professional: calm grey and steel --- */
.paper.tpl-27 .rc-header { background: #3b4a5c; padding: 14px 18px; border-radius: 6px; }
.paper.tpl-27 .rc-school-name, .paper.tpl-27 .rc-school-meta, .paper.tpl-27 .rc-motto, .paper.tpl-27 .rc-phones { color: #fff !important; }
.paper.tpl-27 .rc-crest { background: #fff; border-color: #fff; }
.paper.tpl-27 .rc-phones { border-left-color: rgba(255,255,255,.4); }
.paper.tpl-27 .rc-rule { display: none; }
.paper.tpl-27 .rc-title { margin-top: 10px; color: #3b4a5c !important; }
.paper.tpl-27 .rc-infobox, .paper.tpl-27 table.rc-info td, .paper.tpl-27 table.rc-marks, .paper.tpl-27 table.rc-marks td { border-color: #8b97a6 !important; }
.paper.tpl-27 table.rc-marks th { background: #e3e8ee; color: #2a3646; border-color: #8b97a6; }
.paper.tpl-27 .rc-section-title { color: #3b4a5c; }

/* --- tpl-28 Maroon Heritage: serif type, maroon and cream --- */
.paper.tpl-28 { border: 3px solid #6a240b; font-family: Georgia, 'Times New Roman', serif; }
.paper.tpl-28 .rc-school-name { font-family: Georgia, serif; color: #6a240b; letter-spacing: .03em; }
.paper.tpl-28 .rc-school-meta, .paper.tpl-28 .rc-title { color: #6a240b !important; }
.paper.tpl-28 .rc-motto { color: #9c5a2a; }
.paper.tpl-28 .rc-rule { height: 3px; background: linear-gradient(to bottom, #c7a15a 0 1px, transparent 1px 2px, #6a240b 2px 3px); }
.paper.tpl-28 .rc-infobox, .paper.tpl-28 table.rc-info td, .paper.tpl-28 table.rc-marks, .paper.tpl-28 table.rc-marks td { border-color: #6a240b !important; }
.paper.tpl-28 table.rc-marks th { background: #6a240b; color: #fbefd4; border-color: #6a240b; }
.paper.tpl-28 .rc-section-title { color: #6a240b; font-family: Georgia, serif; }

/* --- tpl-29 Sky: light blue, airy --- */
.paper.tpl-29 { border-radius: 18px; border: 1px solid #b7d9f7; }
.paper.tpl-29 .rc-header { background: linear-gradient(110deg, #d6ecff, #f0f8ff); padding: 14px 18px; border-radius: 16px; }
.paper.tpl-29 .rc-rule { display: none; }
.paper.tpl-29 .rc-title { margin-top: 10px; color: #1c5fa8 !important; text-decoration: none; }
.paper.tpl-29 .rc-infobox { border-color: #7db8ee; border-radius: 14px; }
.paper.tpl-29 table.rc-info td { border-color: #bcdcf7; }
.paper.tpl-29 table.rc-marks, .paper.tpl-29 table.rc-marks td { border-color: #8fc3f0; }
.paper.tpl-29 table.rc-marks th { background: #2f80ed; color: #fff; border-color: #2f80ed; }
.paper.tpl-29 .rc-summary-box { border-radius: 14px; border-color: #7db8ee !important; }

/* --- tpl-30 Dashboard Tiles: big result tiles, modern and clear --- */
.paper.tpl-30 .rc-rule { background: var(--rc-orange); height: 3px; }
.paper.tpl-30 .rc-header { border-bottom: none; }
.paper.tpl-30 .rc-infobox { border-radius: 12px; border-width: 1px; }
.paper.tpl-30 table.rc-marks { border: none; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0,0,0,.15); }
.paper.tpl-30 table.rc-marks th { background: var(--rc-navy); color: #fff; border: none; }
.paper.tpl-30 table.rc-marks td { border: none; border-bottom: 1px solid rgba(0,0,0,.1); }
.paper.tpl-30 .rc-summary-box { border: none !important; background: transparent !important; gap: 10px; }
.paper.tpl-30 .rc-summary-box .box { border: none; border-radius: 12px; border-top: 5px solid var(--rc-orange); background: rgba(255,255,255,.85); box-shadow: 0 0 0 1px rgba(0,0,0,.12); padding: 10px 4px; }

/* ---------- little previews for the template picker (Settings) ---------- */
.tpl-swatch-preview.tpl-11 .tpl-sw-head { background: linear-gradient(90deg, #16233F, #E17B3F); width: 100%; height: 14px; margin: -5px -7px 6px; padding: 0 7px; border-radius: 4px 4px 0 0; }
.tpl-swatch-preview.tpl-12 { border-left: 8px solid #16233F; }
.tpl-swatch-preview.tpl-13::after { content: ""; position: absolute; top: 0; right: 0; border-style: solid; border-width: 0 18px 18px 0; border-color: transparent #E17B3F transparent transparent; }
.tpl-swatch-preview.tpl-14 { background: #f4f8ff; border-left: 3px solid #e57a7a; }
.tpl-swatch-preview.tpl-14 .tpl-sw-line { background: #9bb8ec; }
.tpl-swatch-preview.tpl-15 { border: 2px double #b8892b; }
.tpl-swatch-preview.tpl-15 .tpl-sw-head { background: #b8892b; margin-inline: auto; }
.tpl-swatch-preview.tpl-16 .tpl-sw-line { border-radius: 5px; height: 5px; background: #e5e9f0; }
.tpl-swatch-preview.tpl-17 .tpl-sw-head { background: #1f2430; width: 100%; height: 14px; margin: -5px -7px 6px; padding: 0 7px; border-radius: 4px 4px 0 0; border-bottom: 2px solid #E17B3F; }
.tpl-swatch-preview.tpl-18 { border: 1px solid #1b8a5a; border-radius: 9px; }
.tpl-swatch-preview.tpl-18 .tpl-sw-head { background: #1b8a5a; width: 100%; }
.tpl-swatch-preview.tpl-19 .tpl-sw-head { background: linear-gradient(90deg, #ff8a3d, #e0405a); width: 100%; height: 14px; border-radius: 4px 4px 12px 4px; }
.tpl-swatch-preview.tpl-20 .tpl-sw-line { background: #16233F; opacity: .8; }
.tpl-swatch-preview.tpl-20 .tpl-sw-line.short { background: #ddd; opacity: 1; }
.tpl-swatch-preview.tpl-21 { border: 1px solid #E17B3F; }
.tpl-swatch-preview.tpl-21 .tpl-sw-head { margin-inline: auto; }
.tpl-swatch-preview.tpl-22 .tpl-sw-head { width: 14px; height: 14px; border-radius: 50%; background: #E17B3F; }
.tpl-swatch-preview.tpl-23 .tpl-sw-head { width: 40%; border-left: 4px solid #E17B3F; background: #16233F; }
.tpl-swatch-preview.tpl-24 .tpl-sw-head { border-radius: 999px; background: #E17B3F; }
.tpl-swatch-preview.tpl-25 .tpl-sw-head { width: 16px; height: 16px; border-radius: 50%; margin: 0 auto 4px; border: 2px solid #E17B3F; background: #fff; }
.tpl-swatch-preview.tpl-26 { border: 2px dashed #e58ab4; border-radius: 12px; background: #fff5f9; }
.tpl-swatch-preview.tpl-26 .tpl-sw-head { background: #f9cde0; width: 100%; }
.tpl-swatch-preview.tpl-27 .tpl-sw-head { background: #3b4a5c; width: 100%; height: 13px; border-radius: 2px; }
.tpl-swatch-preview.tpl-28 { border: 2px solid #6a240b; }
.tpl-swatch-preview.tpl-28 .tpl-sw-head { background: #6a240b; }
.tpl-swatch-preview.tpl-29 { border-radius: 10px; border-color: #b7d9f7; }
.tpl-swatch-preview.tpl-29 .tpl-sw-head { background: #2f80ed; width: 100%; border-radius: 6px; }
.tpl-swatch-preview.tpl-30 .tpl-sw-head { width: 100%; background: transparent; border-bottom: 3px solid #E17B3F; height: 8px; border-radius: 0; }
.tpl-swatch-preview.tpl-30 .tpl-sw-line { border-top: 3px solid #E17B3F; background: #eee; }
