:root{--bg:#fff8ef;--surface:#fff;--text:#3a211c;--muted:#7a675f;--line:#ead8ca;--primary:#ef7d12;--primary-dark:#bd4f0a;--soft:#fff0d9;--brand-brown:#5b2a28;--brand-brown-dark:#351817;--brand-gold:#e9a23b;--brand-cream:#fff8ef;--danger:#a93428;--success:#2f6c44;--shadow:0 18px 50px #5b2a281f}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);background:radial-gradient(circle at top right, #ef7d121f, transparent 28rem), var(--bg);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{width:min(460px,100%);box-shadow:var(--shadow);background:#fffffff5;border:1px solid #dce3eecc;border-radius:24px;padding:34px}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--brand-brown), var(--primary));letter-spacing:-1px;border-radius:18px;place-items:center;width:58px;height:58px;font-weight:800;display:grid}.brand-mark.small{border-radius:13px;width:42px;height:42px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:10px;font-size:clamp(1.8rem,4vw,2.7rem)}h2{font-size:1.2rem}.eyebrow{color:var(--primary);letter-spacing:.13em;text-transform:uppercase;margin-top:22px;margin-bottom:8px;font-size:.76rem;font-weight:800}.muted{color:var(--muted);line-height:1.6}.tiny{font-size:.78rem}.stack{gap:16px;display:grid}label{gap:7px;font-size:.88rem;font-weight:700;display:grid}input,select,textarea{width:100%;color:var(--text);border:1px solid var(--line);background:#fff;border-radius:12px;outline:none;padding:12px 13px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ef7d122e}.primary-button,.secondary-button,.ghost-button,.danger-button,.text-button{border:0;border-radius:11px;padding:10px 14px;font-weight:750}.primary-button{color:#fff;background:var(--primary)}.primary-button:hover{background:var(--primary-dark)}.secondary-button{color:var(--primary);background:var(--soft)}.ghost-button{color:var(--text);border:1px solid var(--line);background:#fff}.danger-button{color:var(--danger);background:#fff0ee}.text-button{color:var(--primary);background:0 0}button:disabled{opacity:.6;cursor:wait}.error{color:var(--danger);background:#fff0ee;border-radius:10px;padding:10px 12px}.status{color:var(--success);background:#ecfdf3;border-radius:10px;padding:10px 12px}.portal-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff8ef;background:linear-gradient(#351817 0%,#5b2a28 68%,#3d1d1b 100%);flex-direction:column;height:100vh;padding:22px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;margin-bottom:34px;display:flex}.brand span:last-child{gap:3px;display:grid}.brand small{color:#f0c7a6}.sidebar nav{gap:7px;display:grid}.sidebar nav a{border-radius:10px;padding:11px 12px}.sidebar nav a:hover{background:#ffffff1a}.sidebar-footer{gap:10px;margin-top:auto;display:grid}.sidebar-footer p{margin-bottom:0;font-weight:700}.role-pill{color:#fff0d9;text-transform:capitalize;background:#ffffff1f;border-radius:999px;width:fit-content;padding:5px 9px;font-size:.73rem}.main-content{min-width:0;padding:clamp(24px,5vw,56px)}.page-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.card-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;display:grid}.feature-card,.panel,.notice,.report-sheet{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 32px #5b2a2812}.feature-card{min-height:190px;padding:24px;transition:transform .2s,box-shadow .2s;display:block}.feature-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.feature-card p{min-height:72px;color:var(--muted);line-height:1.55}.feature-card span{color:var(--primary);font-weight:800}.panel{padding:22px}.notice{background:#fff3dd;border-color:#e9a23b;margin-top:20px;padding:16px 18px;line-height:1.55}.two-column{grid-template-columns:minmax(290px,.8fr) minmax(0,1.4fr);align-items:start;gap:20px;display:grid}.split-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 10px;font-size:.88rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.note-list{gap:12px;display:grid}.note-card{border:1px solid var(--line);border-radius:14px;justify-content:space-between;gap:18px;padding:16px;display:flex}.note-card h3{margin:8px 0}.note-card p,.note-card small{color:var(--muted);line-height:1.5}.tag{color:var(--primary);background:var(--soft);border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:800;display:inline-block}.report-sheet{max-width:980px;margin:0 auto;padding:clamp(20px,5vw,46px)}.report-actions{justify-content:flex-end;margin-bottom:20px;display:flex}.report-header{border-bottom:2px solid var(--text);align-items:center;gap:18px;padding-bottom:22px;display:flex}.report-header .eyebrow{margin-top:0}.student-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0;display:grid}.student-summary div{background:var(--bg);border-radius:12px;gap:5px;padding:14px;display:grid}.student-summary span,.overall-score span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.report-table th,.report-table td{padding:14px 10px}.overall-score{background:var(--soft);border-radius:12px;justify-content:space-between;gap:20px;margin-top:18px;padding:18px;display:flex}@media (max-width:850px){.portal-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar-footer{margin-top:24px}.two-column,.student-summary{grid-template-columns:1fr}}@media (max-width:520px){.main-content{padding:18px}.auth-card{padding:24px}.split-fields{grid-template-columns:1fr}.note-card{flex-direction:column}.sidebar nav{grid-template-columns:1fr}}@media print{body{background:#fff}.sidebar,.report-actions{display:none!important}.portal-shell{display:block}.main-content{padding:0}.report-sheet{box-shadow:none;border:0;max-width:none}}.compact-heading{align-items:center;margin-bottom:16px}.weight-total{border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:800}.weight-total.good{color:#067647;background:#ecfdf3}.weight-total.bad{color:#b42318;background:#fff0ee}.report-comments-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.comment-box{border:1px solid var(--line);border-radius:12px;min-height:120px;padding:16px}.comment-box span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;font-size:.76rem;font-weight:800;display:block}.comment-box p{margin-bottom:0;line-height:1.6}.report-footer-info{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;font-size:.84rem;display:flex}@media (max-width:700px){.report-comments-grid{grid-template-columns:1fr}}.login-logo,.sidebar-logo,.report-logo{object-fit:contain;border:1px solid var(--line);background:#fffdf9;display:block}.login-logo{border-radius:18px;width:74px;height:74px;padding:5px}.sidebar-logo{border-radius:12px;width:44px;height:44px;padding:3px}.report-logo{border-radius:16px;width:76px;height:76px;padding:4px}.auth-links{color:var(--primary);margin:20px 0 10px;font-size:.86rem;font-weight:700}.sidebar-profile{align-items:center;gap:10px;display:flex}.sidebar-profile>img,.sidebar-profile>span{object-fit:cover;color:#fff;background:#ffffff29;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.sidebar-profile div{min-width:0}.sidebar-profile p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-avatar{object-fit:cover;border-radius:50%;place-items:center;width:44px;height:44px;display:inline-grid}.avatar-placeholder{color:#fff;background:var(--primary);font-weight:800}.selected-user-preview{background:var(--soft);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.selected-user-preview img,.selected-user-preview>span{object-fit:cover;color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:58px;height:58px;font-size:1.25rem;font-weight:800;display:grid}.selected-user-preview div{gap:4px;display:grid}.selected-user-preview small{color:var(--muted)}.score-sheet-panel{margin-bottom:24px}.score-sheet-filters{grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.filter-button{min-height:44px}.score-sheet-wrap{border:1px solid var(--line);border-radius:14px;max-height:62vh}.score-sheet-table{min-width:760px}.score-sheet-table thead th{z-index:3;background:#f7f9fc;position:sticky;top:0}.score-sheet-table .student-column{z-index:2;background:#fffdf9;min-width:230px;position:sticky;left:0}.score-sheet-table thead .student-column{z-index:4;background:#f7f9fc}.score-sheet-table td input{text-align:center;min-width:90px;font-weight:700}.student-cell{align-items:center;gap:10px;display:flex}.student-cell img,.student-cell span{object-fit:cover;color:#fff;background:var(--primary);border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.score-sheet-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.weekly-score-section{margin-top:24px}.media-preview{color:var(--muted);background:var(--bg);border:1px dashed var(--line);border-radius:16px;place-items:center;display:grid;overflow:hidden}.media-preview img{object-fit:contain;width:100%;height:100%}.square-preview{width:170px;height:170px}.portrait-preview{width:180px;height:220px}.portrait-preview img{object-fit:cover}.checkbox-label{grid-template-columns:auto 1fr;justify-content:start;align-items:center}.checkbox-label input{width:auto}.gallery-batch-progress{color:var(--text);background:var(--warm-surface);border:1px solid var(--line);border-radius:12px;gap:8px;padding:12px 14px;display:grid}.gallery-batch-progress progress{width:100%;height:12px;accent-color:var(--primary)}.admin-media-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px;display:grid}.admin-media-card{border:1px solid var(--line);background:#fffdf9;border-radius:14px;overflow:hidden}.admin-media-card>img,.admin-video-placeholder{object-fit:cover;width:100%;height:170px}.admin-media-card>div:not(.button-row){padding:14px}.admin-media-card .button-row{padding:0 14px 14px}.admin-media-card h3{margin:8px 0}.admin-media-card p{color:var(--muted);overflow-wrap:anywhere;line-height:1.45}.public-site{min-height:100vh;color:var(--text);background:#fffaf4}.public-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf4f5;justify-content:space-between;align-items:center;gap:24px;padding:14px clamp(20px,6vw,84px);display:flex;position:sticky;top:0}.public-brand{align-items:center;gap:12px;display:flex}.public-brand img{object-fit:contain;border-radius:12px;width:52px;height:52px}.public-brand>span:last-child{gap:3px;display:grid}.public-header nav{align-items:center;gap:18px;font-weight:700;display:flex}.public-header nav>a:not(.primary-button){color:var(--brand-brown)}.public-header nav>a:not(.primary-button):hover{color:var(--primary-dark)}.public-hero{color:#fff;background:radial-gradient(circle at 82% 18%,#fff0d952,#0000 26rem),linear-gradient(135deg,#351817 0%,#6b3027 45%,#ef7d12 100%);grid-template-columns:1.2fr .8fr;align-items:center;gap:48px;min-height:560px;padding:clamp(64px,10vw,120px) clamp(24px,8vw,120px);display:grid}.public-hero .eyebrow{color:#ffd9ad}.public-hero h1{max-width:800px;font-size:clamp(3rem,7vw,6.6rem);line-height:.94}.public-hero p:not(.eyebrow){color:#fff1df;max-width:650px;font-size:1.12rem;line-height:1.7}.public-hero .secondary-button{color:#fff;background:#ffffff26;border:1px solid #ffffff59}.hero-emblem{place-items:center;display:grid}.hero-emblem img{object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 24px 42px #35181757);background:#fff8efeb;border:1px solid #fff0d9b8;border-radius:32px;width:min(360px,80vw);max-height:360px;padding:18px}.hero-mark{border-radius:58px;width:240px;height:240px;font-size:4.5rem}.public-section{padding:clamp(64px,8vw,104px) clamp(24px,8vw,120px)}.welcome-section{background:#fffdf9;grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);align-items:center;gap:clamp(34px,7vw,84px);display:grid}.leader-photo{background:var(--soft);min-height:370px;box-shadow:var(--shadow);border-radius:28px;overflow:hidden}.leader-photo img,.leader-photo .photo-placeholder{object-fit:cover;width:100%;height:100%;min-height:370px;color:var(--primary);place-items:center;font-weight:800;display:grid}.welcome-section h2,.section-heading h2{letter-spacing:-.04em;font-size:clamp(2rem,4vw,3.6rem)}.welcome-message{color:#6c554c;white-space:pre-line;max-width:850px;font-size:1.08rem;line-height:1.85}.leader-title{margin-top:4px;display:block}.section-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:32px;display:flex}.section-heading>p{max-width:520px}.gallery-grid{grid-template-columns:repeat(12,1fr);gap:18px;display:grid}.gallery-card{border:1px solid var(--line);background:#fffdf9;border-radius:20px;grid-column:span 4;margin:0;overflow:hidden;box-shadow:0 12px 30px #5b2a2814}.gallery-card:nth-child(5n+1){grid-column:span 8}.gallery-image-link{background:radial-gradient(circle at top right, #ef7d121f, transparent 36%), var(--warm-surface);place-items:center;width:100%;height:clamp(360px,42vw,560px);display:grid;overflow:hidden}.gallery-card img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.gallery-card figcaption{gap:6px;padding:18px;display:grid}.gallery-card figcaption span{color:var(--muted);line-height:1.5}.video-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.video-card{border:1px solid var(--line);background:#fffdf9;border-radius:20px;transition:transform .2s;overflow:hidden;box-shadow:0 12px 30px #5b2a2814}.video-card:hover{transform:translateY(-4px)}.video-thumbnail{background:var(--brand-brown-dark);height:210px;position:relative;overflow:hidden}.video-thumbnail img{object-fit:cover;width:100%;height:100%}.video-placeholder{color:#fff;background:linear-gradient(135deg, var(--brand-brown-dark), var(--primary));place-items:center;width:100%;height:100%;font-size:1.25rem;font-weight:800;display:grid}.play-button{color:#fff;background:#ef7d12f0;border-radius:50%;place-items:center;width:62px;height:62px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 24px #00000040}.video-card-copy{padding:18px}.video-card-copy h3{margin:10px 0 8px}.video-card-copy p{color:var(--muted);line-height:1.5}.empty-public-block{color:var(--muted);text-align:center;border:1px dashed var(--line);background:#fffdf9;border-radius:18px;padding:38px}.public-footer{color:#f7d7bd;background:var(--brand-brown-dark);justify-content:space-between;gap:24px;padding:34px clamp(24px,8vw,120px);display:flex}.public-footer>div{gap:6px;display:grid}.public-footer a{color:#fff;font-weight:800}.report-student-row{grid-template-columns:120px minmax(0,1fr);align-items:stretch;gap:18px;margin:22px 0;display:grid}.report-student-row .student-summary{margin:0}.report-student-photo{color:#fff;background:var(--primary);border-radius:16px;place-items:center;min-height:120px;font-size:2rem;font-weight:800;display:grid;overflow:hidden}.report-student-photo img{object-fit:cover;width:100%;height:100%}@media (max-width:980px){.score-sheet-filters{grid-template-columns:repeat(2,1fr)}.public-header nav>a:not(.primary-button){display:none}.public-hero{grid-template-columns:1fr;min-height:auto}.hero-emblem{order:-1}.hero-emblem img{width:190px;max-height:190px}.welcome-section{grid-template-columns:1fr}.leader-photo{max-width:430px}.gallery-card,.gallery-card:nth-child(5n+1){grid-column:span 6}}@media (max-width:680px){.score-sheet-filters{grid-template-columns:1fr}.score-sheet-actions,.section-heading,.public-footer{flex-direction:column;align-items:stretch}.public-header{padding:12px 16px}.public-brand small{display:none}.public-header nav{gap:8px}.public-header .primary-button{padding:9px 11px;font-size:.8rem}.public-hero{padding:62px 22px}.public-hero h1{font-size:clamp(2.7rem,16vw,4.5rem)}.public-section{padding:58px 20px}.gallery-card,.gallery-card:nth-child(5n+1){grid-column:span 12}.gallery-image-link{height:430px}.report-student-row{grid-template-columns:1fr}.report-student-photo{width:120px}}@media print{.report-logo{border:0}.report-student-photo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.public-header{box-shadow:0 8px 24px #5b2a280f}.public-brand strong{color:var(--brand-brown)}.public-brand small{color:#8b6b5d}.feature-card:hover,.gallery-card:hover,.video-card:hover{border-color:#ef7d1280}.public-section:nth-of-type(2n){background:#fff7ec}.public-footer{border-top:4px solid var(--primary)}.auth-card{border-top:5px solid var(--primary)}.portal-credit{color:#fff8ef;background:var(--brand-brown-dark);border-top:3px solid var(--primary);text-align:center;letter-spacing:.025em;justify-content:center;align-items:center;min-height:46px;padding:12px 20px;font-size:.82rem;font-weight:800;display:flex}.portal-credit a{color:#ffd29a}.school-switcher{color:#fff8ef;background:#ffffff14;border:1px solid #ffffff24;border-radius:14px;gap:7px;margin:-12px 0 22px;padding:13px;display:grid}.school-switcher span{letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:800}.school-switcher select{color:var(--text);background:#fffaf4;border:0;padding:9px 10px}.parent-site{background:radial-gradient(circle at 5% 7%,#ef7d121c,#0000 26rem),#fffaf4}.parent-header{position:relative}.parent-hero{color:#fff;background:radial-gradient(circle at 86% 18%, #ffdeae4d, transparent 24rem), linear-gradient(130deg, var(--brand-brown-dark), var(--brand-brown) 54%, var(--primary));grid-template-columns:minmax(0,1.2fr) minmax(250px,.55fr);align-items:center;gap:clamp(34px,7vw,96px);padding:clamp(72px,10vw,130px) clamp(24px,8vw,120px);display:grid}.parent-hero h1{max-width:920px;font-size:clamp(3rem,8vw,7.2rem);line-height:.92}.parent-hero p:not(.eyebrow){color:#ffead4;max-width:720px;font-size:1.08rem;line-height:1.75}.organisation-badge{min-height:280px;color:var(--brand-brown);text-align:center;background:#fffaf4f2;border:1px solid #ffffffa6;border-radius:34px;place-items:center;padding:34px;display:grid;box-shadow:0 30px 70px #3518174d}.organisation-badge strong{letter-spacing:-.045em;font-size:clamp(2rem,4vw,3.5rem)}.organisation-badge span{color:var(--primary-dark);letter-spacing:.08em;text-transform:uppercase;margin-top:8px;font-weight:800}.school-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.school-choice-card{border:1px solid var(--line);background:#fff;border-radius:24px;flex-direction:column;min-height:100%;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 14px 42px #5b2a2817}.school-choice-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.school-choice-logo{color:#fff;background:radial-gradient(circle at top right, #fff3, transparent 45%), linear-gradient(135deg, var(--brand-brown), var(--primary));place-items:center;min-height:150px;padding:26px;display:grid}.school-choice-logo img{object-fit:contain;background:#fffffff0;border-radius:22px;width:118px;height:118px;padding:8px}.school-choice-copy{flex-direction:column;flex:1;align-items:flex-start;padding:24px;display:flex}.school-choice-card h3{margin:12px 0 9px;font-size:1.38rem}.school-choice-card p{color:var(--muted);line-height:1.6}.school-card-link{color:var(--primary-dark);margin-top:auto;font-weight:850}.portal-explainer{justify-content:space-between;align-items:center;gap:30px;display:flex;background:#fff3df!important}.portal-explainer>div{max-width:780px}.fee-page-stack{gap:22px}.compact-heading{margin-bottom:18px}.bank-account-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px;display:grid}.bank-account-card{background:linear-gradient(145deg,#fffaf4,#fff0d9);border:1px solid #ecd3b9;border-radius:17px;gap:9px;padding:20px;display:grid}.bank-account-card h3,.bank-account-card p{margin:0}.account-number{color:var(--brand-brown);letter-spacing:.06em;overflow-wrap:anywhere;font-size:clamp(1.45rem,4vw,2rem)}.fee-status{border-radius:999px;align-items:center;padding:5px 9px;font-size:.72rem;font-weight:850;display:inline-flex}.fee-status.outstanding{color:#8b251e;background:#ffebe8}.fee-status.cleared{color:#1f6138;background:#e9f8ef}.report-lock{text-align:center;border-top:6px solid var(--danger);max-width:720px;margin:40px auto;padding:clamp(28px,6vw,56px)}.lock-icon{color:#fff;background:var(--danger);border-radius:22px;place-items:center;width:76px;height:76px;margin:0 auto 20px;font-size:2rem;display:grid;box-shadow:0 16px 34px #a9342838}@media (max-width:980px){.school-choice-grid,.parent-hero{grid-template-columns:1fr}.organisation-badge{min-height:200px}}@media (max-width:680px){.parent-hero{padding:64px 22px}.portal-explainer{flex-direction:column;align-items:flex-start}.school-choice-copy{padding:20px}.bank-account-grid,.split-fields{grid-template-columns:1fr}.portal-credit{font-size:.74rem}}.portal-credit{gap:5px}.school-choice-card h2{margin:12px 0 9px;font-size:1.38rem}@media print{.portal-credit{color:#3a211c;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;border-top:1px solid #ead8ca;min-height:auto;padding:4px 10px;font-size:8pt;position:fixed;bottom:0;left:0;right:0}.portal-credit a{color:#3a211c}.report-sheet{padding-bottom:34px}}.three-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.report-page-wrap{gap:18px;display:grid}.report-selector{grid-template-columns:minmax(180px,.7fr) minmax(0,2.3fr) auto;align-items:end;gap:16px;padding:18px 20px;display:grid}.report-selector h2,.report-selector p{margin:0}.report-status-bar{background:#fffaf3;border:1px solid #efd7bf;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.report-portrait-sheet{color:#102b50;background:#fff;border:1px solid #d9e0e8;border-top:8px solid #0c2f62;border-bottom:4px double #f47d18;border-radius:22px;width:min(100%,1000px);max-width:1000px;margin:0 auto;padding:28px;position:relative;overflow:hidden;box-shadow:0 22px 60px #0c2f621f}.report-classy-header{text-align:center;background:linear-gradient(135deg,#fff7ed 0%,#fff 52%,#f2f6fb 100%);border:1px solid #f3c99f;border-radius:18px;grid-template-columns:104px minmax(0,1fr) 104px;align-items:center;gap:18px;min-height:152px;padding:18px 24px;display:grid;box-shadow:inset 0 0 0 6px #ffffffad}.report-classy-header:after{content:"";width:84px}.report-logo-frame{background:#fff;border:2px solid #ffb16d;border-radius:24px;place-items:center;width:104px;height:104px;padding:8px;display:grid;box-shadow:0 10px 24px #f47d1824}.report-logo-frame .report-logo{border:0;border-radius:15px;width:100%;height:100%;padding:0}.report-school-copy h1{color:#0b2d5d;text-transform:uppercase;letter-spacing:.02em;max-width:760px;margin:0 auto 5px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4.2vw,3.25rem);line-height:.98}.report-school-copy>p{color:#596b83;text-transform:uppercase;margin:4px 0;font-weight:700}.report-school-copy .report-motto{color:#d7600b;text-transform:none;font-family:Georgia,Times New Roman,serif;font-style:italic}.report-title-ribbon{color:#fff;letter-spacing:.12em;text-transform:uppercase;background:#0c356d;border-radius:999px;width:fit-content;margin:15px auto 0;padding:9px 30px;font-size:1rem;font-weight:900;box-shadow:0 8px 18px #0c356d33}.report-period-grid{grid-template-columns:repeat(3,1fr);gap:10px;max-width:760px;margin:-1px auto 18px;padding:0 18px;display:grid}.report-period-grid>div{text-align:center;background:#fff;border:1px solid #dbe2eb;border-radius:0 0 12px 12px;gap:3px;padding:10px 14px;display:grid;box-shadow:0 8px 18px #0c2f620f}.report-period-grid span,.report-performance-grid span,.report-signature-grid span{color:#d7600b;letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:900}.report-student-classy{grid-template-columns:118px minmax(0,1fr);margin:14px 0 16px}.report-student-classy .report-student-photo{background:linear-gradient(155deg,#ff8b20,#e86b08);border:4px solid #fff;min-height:150px;box-shadow:0 10px 24px #e86b082e}.report-student-classy .student-summary{grid-template-columns:repeat(3,1fr);gap:10px}.report-student-classy .student-summary div{background:linear-gradient(145deg,#f7f9fc,#eef2f8);border:1px solid #e7ebf1;border-radius:14px;min-height:64px;padding:11px 14px}.report-student-classy .student-summary strong{color:#092f65;font-size:1rem}.report-table-wrap{border:1px solid #cad5e3;border-radius:12px;overflow:visible}.report-table{table-layout:fixed}.report-table th,.report-table td{text-align:center;border-bottom:1px solid #d7e0ea;border-right:1px solid #d7e0ea;padding:7px 5px;font-size:.69rem;line-height:1.15}.report-table th:first-child,.report-table td:first-child{text-align:left;width:15%;font-weight:800}.report-table th{color:#fff;background:#0c356d;font-size:.61rem}.report-table th small{color:#dce8f7;margin-top:2px;font-size:.56rem;display:block}.report-table tbody tr:nth-child(2n) td{background:#f8fafc}.report-performance-grid{grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px;display:grid}.report-performance-grid>div{text-align:center;background:#fff8ef;border:1px solid #f3d3b1;border-radius:11px;gap:4px;min-height:54px;padding:9px 10px;display:grid}.report-performance-grid strong{color:#0c356d}.report-development-grid{grid-template-columns:minmax(0,1.7fr) minmax(190px,.8fr);gap:12px;margin-top:12px;display:grid}.report-development-grid>section{background:#fff;border:1px solid #d8e0e9;border-radius:12px;padding:11px}.report-development-grid h3{color:#0c356d;letter-spacing:.04em;text-transform:uppercase;margin:0 0 7px;font-size:.76rem}.behaviour-table td{border:1px solid #dfe6ee;padding:3px 5px;font-size:.65rem}.behaviour-table td:first-child{width:54%;font-weight:700}.behaviour-table td:nth-child(2){text-align:center;width:11%}.report-keys{columns:1}.report-keys p{color:#42566f;margin:2px 0;font-size:.63rem;line-height:1.25}.report-keys h3:not(:first-child){margin-top:10px}.report-portrait-sheet .report-comments-grid{gap:10px;margin-top:12px}.report-portrait-sheet .comment-box{border-radius:10px;min-height:76px;padding:10px 12px}.report-portrait-sheet .comment-box span{color:#0c356d;margin-bottom:5px;font-size:.64rem}.report-portrait-sheet .comment-box p{font-size:.7rem;line-height:1.35}.report-signature-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:14px;display:grid}.report-signature-grid>div{text-align:center;border-top:1px solid #64748b;gap:3px;min-height:54px;padding-top:8px;display:grid}.report-signature-grid strong{color:#0c356d;font-size:.72rem}.report-signature-grid i{color:#718096;font-size:.58rem}.report-entry-grid{grid-template-columns:1.45fr 1fr;gap:18px;display:grid}.report-entry-grid>section{border:1px solid var(--line);background:#fbfcfe;border-radius:14px;align-content:start;gap:12px;padding:16px;display:grid}.behaviour-entry-grid{grid-template-columns:repeat(2,1fr);gap:8px 12px;display:grid}.behaviour-entry-grid label{grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:10px;display:grid}.report-publication-panel{border-top:5px solid #0c356d;justify-content:space-between;align-items:center;gap:18px;display:flex}.publication-actions{align-items:center;gap:10px;display:flex}.clearance-summary{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.clearance-summary span{background:#fff8ef;border:1px solid #efd8c0;border-radius:12px;gap:5px;padding:12px;display:grid}@media (max-width:850px){.three-fields,.report-selector,.report-entry-grid,.report-development-grid,.clearance-summary,.report-classy-header{grid-template-columns:1fr}.report-classy-header:after{display:none}.report-logo-frame{margin:0 auto}.report-period-grid,.report-performance-grid,.report-student-classy .student-summary{grid-template-columns:repeat(2,1fr)}.report-publication-panel,.publication-actions{flex-direction:column;align-items:stretch}}@media print{@page{size:A4 portrait;margin:5mm}html,body{width:210mm;min-height:297mm;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important}.sidebar,.portal-credit,.report-selector,.report-status-bar,.report-actions{display:none!important}.portal-shell,.main-content,.report-page-wrap{width:auto!important;min-width:0!important;margin:0!important;padding:0!important;display:block!important}.report-portrait-sheet{break-inside:avoid;page-break-inside:avoid;border-top-width:2mm;border-radius:3mm;min-height:286mm;width:200mm!important;max-width:200mm!important;box-shadow:none!important;margin:0 auto!important;padding:4.5mm!important;overflow:hidden!important}.report-classy-header{border-radius:3mm;grid-template-columns:24mm minmax(0,1fr) 24mm;gap:3mm;min-height:30mm;padding:3mm 5mm}.report-classy-header:after{width:24mm}.report-logo-frame{border-radius:4mm;width:22mm;height:22mm;padding:1.5mm}.report-school-copy h1{font-size:17pt}.report-school-copy>p{margin:1px 0;font-size:6.6pt}.report-title-ribbon{margin-top:2mm;padding:1.3mm 7mm;font-size:7pt}.report-period-grid{gap:2mm;max-width:155mm;margin-bottom:2.5mm}.report-period-grid>div{padding:1.4mm 2mm}.report-period-grid span,.report-performance-grid span,.report-signature-grid span{font-size:5.3pt}.report-period-grid strong{font-size:7pt}.report-student-classy{grid-template-columns:20mm minmax(0,1fr);gap:3mm;margin:2mm 0}.report-student-classy .report-student-photo{border-width:1mm;border-radius:3mm;min-height:26mm}.report-student-classy .student-summary{grid-template-columns:repeat(3,1fr);gap:1.5mm}.report-student-classy .student-summary div{border-radius:2mm;min-height:11mm;padding:1.4mm 2mm}.student-summary span{font-size:5pt}.report-student-classy .student-summary strong{font-size:7pt}.report-table th,.report-table td{padding:1.15mm .65mm;font-size:5.2pt}.report-table th{font-size:4.65pt}.report-table th small{font-size:4.2pt}.report-performance-grid{gap:1.2mm;margin-top:2mm}.report-performance-grid>div{border-radius:2mm;min-height:9mm;padding:1.2mm}.report-performance-grid strong{font-size:6.3pt}.report-development-grid{grid-template-columns:minmax(0,1.75fr) minmax(34mm,.8fr);gap:2mm;margin-top:2mm}.report-development-grid>section{border-radius:2mm;padding:1.5mm}.report-development-grid h3{margin-bottom:1mm;font-size:5.7pt}.behaviour-table td{padding:.55mm .8mm;font-size:4.9pt}.report-keys p{margin:.2mm 0;font-size:4.6pt}.report-keys h3:not(:first-child){margin-top:1.2mm}.report-portrait-sheet .report-comments-grid{gap:2mm;margin-top:2mm}.report-portrait-sheet .comment-box{min-height:14mm;padding:1.5mm 2mm}.report-portrait-sheet .comment-box span{font-size:4.8pt}.report-portrait-sheet .comment-box p{font-size:5.2pt;line-height:1.25}.report-signature-grid{gap:5mm;margin-top:3mm}.report-signature-grid>div{min-height:10mm;padding-top:1mm}.report-signature-grid strong{font-size:5.5pt}.report-signature-grid i{font-size:4.4pt}.report-portrait-sheet .report-footer-info{margin-top:2mm;padding-top:1.5mm;font-size:4.8pt}}.public-brand-logo{object-fit:contain;background:#fff;border-radius:14px;width:54px;height:54px;padding:5px}.single-school-hero{min-height:500px}.resource-divider{color:var(--muted,#64748b);letter-spacing:.12em;align-items:center;gap:12px;font-size:.78rem;font-weight:800;display:flex}.resource-divider:before,.resource-divider:after{content:"";background:#dbe3ee;flex:1;height:1px}.resource-kind{color:#64748b;margin-top:6px;font-weight:700;display:block}@media print{@page{size:A4 portrait;margin:5mm}html,body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;width:auto!important;min-height:0!important}.sidebar,.portal-credit,.report-selector,.report-status-bar,.report-actions{display:none!important}.portal-shell,.main-content,.report-page-wrap{width:auto!important;min-width:0!important;margin:0!important;padding:0!important;display:block!important}.report-portrait-sheet{zoom:.7;width:1000px!important;max-width:1000px!important;min-height:0!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;border:1px solid #d9e0e8!important;border-top:8px solid #0c2f62!important;border-bottom:4px double #f47d18!important;border-radius:22px!important;margin:0!important;padding:28px!important;overflow:hidden!important}.report-classy-header{border-radius:18px!important;grid-template-columns:104px minmax(0,1fr) 104px!important;gap:18px!important;min-height:152px!important;padding:18px 24px!important}.report-classy-header:after{width:84px!important;display:block!important}.report-logo-frame{border-radius:24px!important;width:104px!important;height:104px!important;padding:8px!important}.report-school-copy h1{font-size:3.05rem!important;line-height:.98!important}.report-school-copy>p{font-size:inherit!important;margin:4px 0!important}.report-title-ribbon{margin-top:15px!important;padding:9px 30px!important;font-size:1rem!important}.report-period-grid{grid-template-columns:repeat(3,1fr)!important;gap:10px!important;max-width:760px!important;margin:-1px auto 18px!important;padding:0 18px!important}.report-period-grid>div{padding:10px 14px!important}.report-period-grid span,.report-performance-grid span,.report-signature-grid span{font-size:.68rem!important}.report-period-grid strong{font-size:inherit!important}.report-student-classy{grid-template-columns:118px minmax(0,1fr)!important;gap:14px!important;margin:14px 0 16px!important}.report-student-classy .report-student-photo{border-width:4px!important;border-radius:18px!important;min-height:150px!important}.report-student-classy .student-summary{grid-template-columns:repeat(3,1fr)!important;gap:10px!important}.report-student-classy .student-summary div{border-radius:14px!important;min-height:64px!important;padding:11px 14px!important}.student-summary span{font-size:inherit!important}.report-student-classy .student-summary strong{font-size:1rem!important}.report-table th,.report-table td{padding:7px 5px!important;font-size:.69rem!important}.report-table th{font-size:.61rem!important}.report-table th small{font-size:.56rem!important}.report-performance-grid{grid-template-columns:repeat(6,1fr)!important;gap:8px!important;margin-top:12px!important}.report-performance-grid>div{border-radius:11px!important;min-height:54px!important;padding:9px 10px!important}.report-performance-grid strong{font-size:inherit!important}.report-development-grid{grid-template-columns:minmax(0,1.7fr) minmax(190px,.8fr)!important;gap:12px!important;margin-top:12px!important}.report-development-grid>section{border-radius:12px!important;padding:11px!important}.report-development-grid h3{margin:0 0 7px!important;font-size:.76rem!important}.behaviour-table td{padding:3px 5px!important;font-size:.65rem!important}.report-keys p{margin:2px 0!important;font-size:.63rem!important;line-height:1.25!important}.report-portrait-sheet .report-comments-grid{gap:10px!important;margin-top:12px!important}.report-portrait-sheet .comment-box{border-radius:10px!important;min-height:76px!important;padding:10px 12px!important}.report-portrait-sheet .comment-box span{margin-bottom:5px!important;font-size:.64rem!important}.report-portrait-sheet .comment-box p{font-size:.7rem!important;line-height:1.35!important}.report-signature-grid{grid-template-columns:repeat(3,1fr)!important;gap:18px!important;margin-top:14px!important}.report-signature-grid>div{min-height:54px!important;padding-top:8px!important}.report-signature-grid strong{font-size:.72rem!important}.report-signature-grid i{font-size:.58rem!important}.report-portrait-sheet .report-footer-info{margin-top:10px!important;padding-top:8px!important;font-size:.62rem!important}}.assignment-summary{border:1px solid var(--border,#ead6c7);background:#fffaf6;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.assignment-class-teacher-option{border:1px solid var(--border,#ead6c7);cursor:pointer;background:#fff;border-radius:14px;align-items:flex-start;gap:12px;padding:16px;display:flex}.assignment-class-teacher-option input,.assignment-subject-option input{accent-color:#f57c00;width:18px;height:18px;margin-top:2px}.assignment-subject-panel{border:1px solid var(--border,#ead6c7);background:#fff;border-radius:16px;padding:16px}.assignment-subject-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.assignment-toolbar-actions,.table-action-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.assignment-subject-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.assignment-subject-option{border:1px solid var(--border,#ead6c7);cursor:pointer;background:#fffaf6;border-radius:12px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;display:flex}.assignment-subject-option:hover,.assignment-class-teacher-option:hover{border-color:#f57c00}@media (max-width:720px){.assignment-summary,.assignment-subject-toolbar{flex-direction:column;align-items:stretch}.assignment-subject-grid{grid-template-columns:1fr}}
