*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:#18364b;background:#f4f9fc;font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid #d5e3ed;border-radius:9px;padding:11px 16px;background:white;color:#224d69;font-weight:600}button:hover{background:#e7f4fc}button.primary{background:#f6ce43;border-color:#f6ce43;color:white}button.danger{color:#b33c37}.layout{display:grid;grid-template-columns:238px 1fr;min-height:100vh}aside{background:#173e60;color:white;padding:32px 22px;display:flex;flex-direction:column;gap:32px}.brand{font-size:22px;font-weight:750;letter-spacing:-.7px;display:flex;gap:12px;align-items:center}.logo{background:#ffdc64;color:#173e60;padding:8px 11px;border-radius:10px;font-size:24px}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:1px;margin-top:6px;color:#486b81}nav{display:grid;gap:9px}nav button{border:0;background:transparent;color:#274f6d;text-align:left;padding:14px}nav button.active{background:#f7d65c;color:white}nav span{margin-right:12px}.sidefoot{margin-top:auto;font-size:14px;line-height:1.7;color:#486b81}.sidefoot strong{color:white}.sidefoot button{margin-top:15px;background:transparent;color:white;border-color:#aacbde}main{min-width:0}header{padding:22px 38px;border-bottom:1px solid #dbe8f1;background:white;display:flex;align-items:center;justify-content:space-between;font-size:14px}.avatar{border-radius:50%;background:#e1f1fc;padding:12px;font-weight:700}.content{max-width:1400px;margin:auto;padding:38px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}h1{font-size:30px;letter-spacing:-1px;margin:0 0 9px}h2{font-size:19px;margin:0}p{color:#5c7384;line-height:1.6;margin:5px 0}.eyebrow{font-size:12px;letter-spacing:1.4px;font-weight:700;color:#39769b;margin-bottom:10px}.actions{display:flex;gap:10px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.stat,.panel,.classcard{background:white;border:1px solid #dbe8f1;border-radius:14px}.stat{padding:23px}.stat label{display:block;color:#536e81;font-size:14px}.stat strong{display:block;font-size:33px;margin-top:15px}.stat small{font-size:13px;color:#607587}.dashboard{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.panelhead{padding:22px 24px;border-bottom:1px solid #e3edf4;display:flex;justify-content:space-between;align-items:center}.panelbody{padding:24px}.empty{text-align:center;padding:48px 22px}.empty .symbol{font-size:35px;color:#4384ad;margin-bottom:15px}.empty p{margin:10px 0 22px}.banner{background:#e4f3ff;border:1px solid #cce7f8;border-radius:12px;padding:22px;margin-top:24px;display:flex;gap:15px;align-items:center}.banner p{color:#476c86;font-size:14px}.toolbar{display:flex;gap:12px;margin-bottom:22px}.toolbar input{max-width:360px}.classgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.classcard{padding:24px}.badge{display:inline-block;padding:5px 10px;border-radius:6px;background:#e2f3ff;color:#246188;font-size:13px;font-weight:700;margin-bottom:15px}.classcard h2{margin-bottom:16px;overflow-wrap:anywhere}.classcard p{font-size:14px;overflow-wrap:anywhere;margin:8px 0}.capacity{margin:20px 0}.capacity div{display:flex;justify-content:space-between;font-size:13px}.bar{height:5px;background:#e8f1f7;border-radius:5px;margin-top:9px;overflow:hidden}.bar i{display:block;height:100%;background:#65b7e7}.row{display:flex;align-items:center;justify-content:space-between;padding:17px 24px;border-bottom:1px solid #e7eff5;gap:15px}.row:last-child{border:0}.row p{font-size:14px}.row strong{overflow-wrap:anywhere}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}td,th{padding:18px 22px;border-bottom:1px solid #e3edf4}th{font-size:12px;letter-spacing:.8px;color:#526b7e;background:#f4f9fc}td{font-size:14px}td small{display:block;color:#5f7789;margin-top:5px}.textbtn{border:0;background:transparent;padding:6px 9px;color:#26678f}input,select,textarea{width:100%;border:1px solid #c6dbe9;background:white;border-radius:8px;padding:12px;color:#18364b}textarea{resize:vertical;min-height:90px}label{font-size:14px;font-weight:600;display:block}label input,label select,label textarea{margin-top:8px}dialog{border:0;border-radius:16px;max-width:650px;width:calc(100% - 30px);padding:0;color:#18364b;max-height:90vh}dialog::backdrop{background:#102f4f88;backdrop-filter:blur(3px)}.formbody{padding:24px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide{grid-column:1/-1}.formfoot{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #dbe8f1;padding:20px 24px}.error{color:#ae3831;font-size:14px;margin:12px 0}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.loginintro{background:#173e60;padding:10%;color:white;display:flex;flex-direction:column;justify-content:space-between}.loginintro h1{font-size:52px;line-height:1.12;max-width:500px;letter-spacing:-2px;margin-top:70px}.loginintro p{color:#3c6179;margin-top:22px;max-width:400px}.loginintro footer{font-size:13px;color:#3e6580;margin-top:60px}.loginform{display:flex;align-items:center;justify-content:center;padding:40px}.loginbox{max-width:390px;width:100%}.loginbox label{margin-top:22px}.loginbox button{width:100%;margin-top:24px}.note{font-size:13px;padding:15px;background:#eaf4fc;border-radius:8px;margin-top:24px;line-height:1.7;color:#4f6b80}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173e60;color:white;padding:14px 24px;border-radius:10px;display:none;z-index:9;box-shadow:0 5px 24px #0002}.muted{color:#607889;font-size:14px}.schedule{font-size:13px;color:#506e83}.mini{font-size:13px;padding:7px 11px}
@media(max-width:1100px){.classgrid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.dashboard{grid-template-columns:1fr}.content{padding:26px}.layout{grid-template-columns:210px 1fr}}@media(max-width:700px){.layout{display:block}aside{padding:16px;gap:18px}.brand{font-size:18px}.brand small,.sidefoot{display:none}nav{display:flex;gap:4px}nav button{flex:1;text-align:center;padding:10px 5px;font-size:14px}nav span{display:none}header{padding:14px 20px}.content{padding:22px 16px}.heading{align-items:flex-start;flex-direction:column}h1{font-size:26px}.stats{gap:10px}.stat{padding:18px}.classgrid{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.wide{grid-column:auto}.login{grid-template-columns:1fr}.loginintro{padding:26px}.loginintro h1,.loginintro p,.loginintro footer{display:none}.loginform{padding:35px 24px}.toolbar{flex-direction:column}.row{padding:16px;flex-wrap:wrap}}
[hidden]{display:none!important}

/* Teacher and family portals */
.portal-role{align-self:center;border:1px solid #aacfe5;background:#ecf8ff;color:#326281;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:600;text-align:center}
.login-help{margin-top:20px!important}.demo-info{margin-top:22px;background:#edf6fc;border:1px solid #d5e8f5;border-radius:10px;padding:14px 16px;color:#456c85;font-size:13px}.demo-info summary{cursor:pointer;font-weight:600}.demo-info p{font-size:13px;margin:12px 0 0}.account-banner{margin:0 0 24px}.account-scope{white-space:normal;min-width:180px;max-width:350px;line-height:1.6}.class-checks{border:1px solid #d6e6f0;border-radius:10px;padding:12px 16px;margin:0}.class-checks legend{font-size:14px;font-weight:700;padding:0 6px}.class-checks>label{display:flex;align-items:center;gap:12px;padding:10px 0;font-weight:500;border-bottom:1px solid #e8f0f5}.class-checks>label:last-child{border:0}.class-checks input{width:18px;height:18px;margin:0;accent-color:#377fa9}.class-checks small{display:block;color:#648299;font-size:12px;margin-top:4px}.teacher-classes{margin-bottom:24px}.teacher-classes .primary{margin-top:10px;font-size:14px}.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}.journal-card{overflow:hidden}.journal-card .panelhead{align-items:flex-start}.journal-card .badge{margin-bottom:10px}.journal-card .panelhead p{font-size:14px}.journal-card .panelhead h2{overflow-wrap:anywhere}.journal-card h3,.family-post h3{font-size:15px;margin:18px 0 8px}.journal-card h3:first-child{margin-top:0}.journal-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#385a70;line-height:1.8}.journal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.journal-actions .primary{font-size:14px}.student-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e1f2fe;border:1px solid #cce6f6;border-left:5px solid #f5ce43;border-radius:14px;padding:25px 28px;margin-bottom:24px}.student-welcome h2{font-size:25px;margin:8px 0}.portal-chip{background:#fff7d7;color:#69541b;padding:8px 14px;border-radius:20px;font-size:13px;font-weight:600}.family-feed{display:grid;gap:22px;margin-bottom:22px}.family-post{display:flex;align-items:flex-start;gap:24px;padding:26px}.post-date{width:70px;flex-shrink:0;text-align:center;background:#e3f3fe;padding:14px 8px;border-radius:12px;color:#265c7c}.post-date strong{display:block;font-size:30px;line-height:1.1}.post-date span{font-size:12px;display:block;margin-top:7px}.post-content{flex:1;min-width:0}.post-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.post-header h2{overflow-wrap:anywhere}.post-header p{font-size:14px;margin:8px 0}.post-header .badge{white-space:nowrap;background:#fff4c9;color:#786121}.homework-box{background:#f3f9fd;border-left:3px solid #a9d6ee;padding:14px 18px;margin:18px 0}.homework-box h3{margin-top:0}.family-post .muted{display:block;margin-top:16px}button:disabled{opacity:.55;cursor:wait}
@media(min-width:701px){.portal-layout aside{gap:18px}.portal-layout .brandmark{width:82px;height:85px}}
@media(max-width:1000px){.journal-grid{grid-template-columns:1fr}.post-header{flex-wrap:wrap}}
@media(max-width:700px){.portal-role{align-self:flex-start;margin:0;font-size:12px}.portal-layout nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}.family-post{padding:18px;gap:14px;flex-wrap:wrap}.post-date{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:9px 14px}.post-date strong{font-size:22px}.post-date span{margin:0}.post-header .badge{margin:0}.student-welcome{align-items:flex-start;flex-direction:column;padding:22px}.student-welcome h2{font-size:23px}.journal-card .panelhead{flex-wrap:wrap}.journal-grid{margin-top:16px}.journal-card .panelbody{padding:20px}.portal-layout header{flex-wrap:wrap}.portal-layout header .header-tools{margin-left:auto}.account-scope{min-width:170px}}

/* Academic and finance workspaces */
.section-title{margin:30px 0 18px}.operational .stat strong{font-size:26px;overflow-wrap:anywhere}
.filterbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.filterbar>label{min-width:220px;max-width:100%;flex:0 1 420px}.week-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.week-controls strong{font-size:14px}.helper{font-size:14px;color:#526d82;line-height:1.6}.helper.wide{margin:0}.inline-error{padding:0 24px;color:#ad3832;font-size:14px}.inline-error:not(:empty){padding:18px 24px}.filterbar+.helper{margin-bottom:22px}
.week-list{display:grid;gap:14px}.day-panel{display:grid;grid-template-columns:160px 1fr;background:white;border:1px solid #dbe8f1;border-radius:14px;overflow:hidden}.day-panel.today{border-color:#e8c447}.day-title{background:#e9f5fd;padding:22px;display:flex;flex-direction:column;gap:8px}.day-title span{font-size:14px;color:#526d82}.today .day-title{background:#fff4c8}.day-empty{padding:24px;color:#657f90;font-size:14px}.lesson-row{padding:20px;display:flex;align-items:center;gap:20px;border-bottom:1px solid #e3edf4}.lesson-row:last-child{border:0}.lesson-time{font-size:18px;font-weight:700;min-width:55px}.lesson-time small{display:block;color:#688498;font-size:13px;font-weight:400;margin-top:5px}.lesson-info{flex:1;min-width:0;overflow-wrap:anywhere}.lesson-info p{font-size:14px}.lesson-row .actions{justify-content:flex-end;max-width:250px}.pill{display:inline-block;padding:6px 10px;border-radius:7px;background:#fff3ce;color:#725619;font-size:13px;white-space:nowrap}.pill.blue{background:#e3f3ff;color:#255c7f}.pill.red{background:#ffedeb;color:#a83a31}.exam-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}.exam-item{padding:22px;display:flex;flex-direction:column;gap:18px;justify-content:space-between}.exam-item.selected{border:2px solid #e7bd36}.exam-item p{font-size:14px}.exam-item .badge{margin-bottom:10px}.grade-panel .panelhead p{max-width:650px;font-size:14px}.grade-table input{min-width:74px;width:88px}.grade-table td,.grade-table th{padding:14px}.grade-table th{letter-spacing:0;font-size:13px}.payment-plan{margin-bottom:24px}.payment-plan .eyebrow{display:block}.payment-plan h2{margin-top:6px}.payment-plan .panelhead p{font-size:14px}.receipt-history{padding:20px 24px}.receipt-history summary{font-size:14px;font-weight:600;cursor:pointer}.receipt-history p{padding-top:14px}.receipt-history td small{max-width:300px;white-space:normal;overflow-wrap:anywhere}.payment-context{background:#eef7fd;padding:16px;border-radius:10px}.formfoot{align-items:center}.formfoot .helper{margin-right:auto;max-width:65%}.report-picker{margin-bottom:24px;max-height:300px;overflow:auto}.report-picker .row.selected{background:#fff9e5}.report-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.report-tools .helper{max-width:600px}.report-tools .actions{flex-shrink:0}
.report-sheet{background:white;max-width:860px;margin:0 auto;padding:42px 48px;box-shadow:0 4px 30px #18364b0b;border:1px solid #dbe8f1;border-top:7px solid #f4ce43;color:#18364b}.report-brand{display:flex;align-items:center;gap:14px;border-bottom:2px solid #c7e7fa;padding-bottom:20px}.report-brand img{object-fit:contain;flex-shrink:0}.report-brand strong{display:block;font-size:28px;letter-spacing:2px}.report-brand span{font-size:10px;font-weight:700;letter-spacing:1.1px}.report-kind{margin-left:auto;text-align:right;font-size:12px;font-weight:750;letter-spacing:1px}.report-kind small{display:block;font-size:14px;letter-spacing:0;font-weight:500;margin-top:8px;max-width:220px;overflow-wrap:anywhere}.report-student{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0 18px}.report-student span{display:block;font-size:11px;color:#617e92;letter-spacing:1px;margin-bottom:8px}.report-student h2{font-size:23px;overflow-wrap:anywhere}.report-student strong{font-size:16px;overflow-wrap:anywhere}.report-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:#52748c;margin-bottom:24px}.report-sheet h3{font-size:15px;margin:22px 0 12px}.report-sheet table{white-space:normal}.report-sheet th{font-size:11px;letter-spacing:.5px;background:#eef7fc}.report-sheet td,.report-sheet th{padding:10px 14px}.report-sheet td{font-size:14px}.score-track{height:7px;background:#edf4f9;border-radius:4px;min-width:65px}.score-track i{display:block;background:#72b9e2;height:100%;border-radius:4px}.report-average{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff5cf;font-size:15px}.report-average strong{font-size:24px}.report-average small{font-size:13px;font-weight:400}.report-caption{font-size:11px;line-height:1.6;color:#658093;margin:10px 0}.attendance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#f1f8fc;padding:16px}.attendance-summary div{text-align:center}.attendance-summary strong{display:block;font-size:20px}.attendance-summary span{font-size:12px;color:#56768c;display:block;margin-top:6px}.teacher-comment{padding:16px;border:1px solid #dbe8f1;min-height:70px;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.report-signatures{display:flex;justify-content:space-between;gap:30px;margin-top:45px;font-size:13px}.report-signatures>div{min-width:38%;border-top:1px solid #9bb6c8;padding-top:10px}.report-signatures span{display:block;font-size:11px;color:#627f92;margin-top:7px}.report-footer{margin-top:25px;border-top:1px solid #dbe8f1;padding-top:10px;font-size:10px;color:#5d788d;display:flex;justify-content:space-between;gap:12px}
@media(min-width:701px){aside{position:sticky;top:0;height:100vh;overflow:auto;gap:22px;padding-top:22px}aside .brandmark{width:74px;height:77px}nav{gap:4px}nav button{padding:12px 14px}.sidefoot{padding-top:20px}}
@media(max-width:1100px){.day-panel{grid-template-columns:120px 1fr}.day-title{padding:18px}.lesson-row{flex-wrap:wrap}.lesson-row .actions{max-width:none;width:100%;justify-content:flex-start}.report-tools{flex-wrap:wrap}.report-sheet{padding:30px}.exam-list{grid-template-columns:1fr}}
@media(max-width:700px){nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px!important}nav button{font-size:12px!important;padding:10px 3px!important;white-space:normal;min-height:42px}.day-panel{grid-template-columns:1fr}.day-title{flex-direction:row;justify-content:space-between;padding:14px 18px}.lesson-row{gap:14px}.filterbar>label{flex:1 1 100%}.week-controls strong{order:-1;width:100%;text-align:center;padding:8px}.week-controls{justify-content:center}.formfoot{flex-wrap:wrap}.formfoot .helper{max-width:100%;width:100%;margin-bottom:10px}.payment-plan .panelhead{flex-wrap:wrap}.report-sheet{padding:18px 14px}.report-brand{gap:8px;flex-wrap:wrap}.report-brand img{width:54px;height:57px}.report-brand strong{font-size:24px}.report-kind{flex-basis:100%;text-align:left;margin:8px 0 0}.report-kind small{max-width:100%}.report-student{grid-template-columns:1fr}.report-sheet td,.report-sheet th{padding:9px 7px}.report-sheet th{font-size:10px}.report-tools .actions{flex-wrap:wrap}.report-tools{gap:12px}.report-signatures{font-size:12px;gap:20px}.report-footer{flex-wrap:wrap}.operational .stat strong{font-size:22px}.report-picker .row{align-items:flex-start}.report-picker .row>div{min-width:0}.report-picker p{overflow-wrap:anywhere}}
@page{size:A4;margin:14mm}
@media print{html,body{background:#fff!important;font-size:11pt}body>#toast,body>dialog{display:none!important}#app,.layout,main,.content,.reports-workspace{display:block!important;margin:0!important;padding:0!important;min-height:0!important;height:auto!important;overflow:visible!important;width:100%!important;max-width:none!important}.layout>aside,main>header,.content>:not(.reports-workspace),.reports-workspace>:not(.report-sheet){display:none!important}.report-sheet{margin:0!important;padding:0!important;border:0!important;border-top:5px solid #eac647!important;width:100%!important;max-width:none!important;box-shadow:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-brand{padding-top:12px}.report-student{grid-template-columns:1fr 1fr}.report-kind{flex-basis:auto;text-align:right;margin-left:auto}.report-brand,.report-student,.report-meta,.attendance-summary,.report-average,.report-signatures,.teacher-comment,tr{break-inside:avoid}.report-sheet h3{break-after:avoid}.report-sheet thead{display:table-header-group}.report-sheet th{font-size:9pt}.report-sheet td{font-size:10pt}.report-caption{font-size:8pt}.report-footer{font-size:8pt}.report-signatures{margin-top:28px}}

/* Genius Language School: sky blue surfaces and warm yellow action accents. */
:root{color-scheme:light;--sky:#d8effe;--yellow:#f6ce43;--ink:#18364b}
button.primary{color:#26364a;box-shadow:0 2px 0 #d4ab2626}
button.primary:hover{background:#ffdc64;border-color:#e6bd30}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2684ba}
aside{background:#d8effe;color:var(--ink);border-right:1px solid #c5e2f5}
.brand{flex-direction:column;gap:12px;text-align:center;letter-spacing:0}
.brandmark{width:100px;height:104px;display:flex;align-items:center;justify-content:center}
.brandmark img{width:100%;height:100%;object-fit:contain;display:block}
.brandname{font-size:26px;font-weight:800;letter-spacing:2px;line-height:1.1}
.brandname span{display:block;font-size:12px;letter-spacing:1.6px;font-weight:700;margin-top:7px}
.brand small{font-size:10px;letter-spacing:1px;color:#4e7086;margin-top:17px;line-height:1.5}
nav button.active{color:var(--ink);box-shadow:0 3px 9px #93bdd529}
nav button:hover{background:#c4e5f9;color:var(--ink)}nav button.active:hover{background:#ffdd6b}
.sidefoot strong,.sidefoot button{color:var(--ink)}
.header-tools{display:flex;align-items:center;gap:20px}
.language-switch{display:inline-flex;border:1px solid #c8dce9;background:#f0f7fb;padding:3px;border-radius:10px;gap:3px;flex-shrink:0}
.language-switch button{padding:7px 10px;min-height:34px;font-size:13px;border:0;background:transparent;color:#42657d;box-shadow:none;margin:0;width:auto}
.language-switch button[aria-pressed=true]{background:#f7d65c;color:#233c50;box-shadow:0 1px 3px #21456318}
.account{display:flex;align-items:center;gap:10px}
.avatar{color:#285b7a;background:#e3f3fe;min-width:40px}
.heading>.actions{flex-shrink:0}.panelhead{gap:12px}.panelhead .textbtn{flex-shrink:0;white-space:nowrap}
.stat{border-top:3px solid #9fd5f5}.stat:nth-child(2){border-top-color:#f5cf49}.stat:nth-child(3){border-top-color:#80bde3}.stat:nth-child(4){border-top-color:#f5cf49}
.banner{border-left:4px solid #f2c839}.bar i{background:#54aadd}
.loginintro{background:#d8effe;color:var(--ink);border-bottom:7px solid #f6ce43}
.loginintro .brand{flex-direction:row;text-align:left;gap:20px;align-self:flex-start}
.loginintro .brandmark{width:110px;height:114px;flex-shrink:0}
.loginintro .brandname{font-size:30px}.loginintro .brand small{margin-top:12px}
.loginintro h1{margin-top:45px}.loginintro .eyebrow{color:#32617f}
.loginform{position:relative;padding-top:95px}.login-language{position:absolute;right:30px;top:28px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.heading{align-items:flex-start;flex-wrap:wrap}.brandname{font-size:23px}.brandname span{font-size:11px}.header-tools{gap:10px}}
@media(max-width:700px){.brand{flex-direction:row;text-align:left;gap:14px}.brandmark{width:58px;height:61px;flex-shrink:0}.brandname{font-size:23px}.brandname span{font-size:10px}.header-tools{gap:6px}.account-label{display:none}.account{padding:0}.avatar{padding:9px}.language-switch button{padding:7px 9px}header{gap:10px;font-size:13px;padding:12px 16px}.loginintro .brandmark{width:75px;height:78px}.loginintro .brandname{font-size:25px}.loginintro .eyebrow{display:none}.loginintro .brand small{display:none}.loginform{padding-top:85px}.login-language{top:20px;right:24px}.stat label{font-size:13px}.panelhead{padding:20px 16px}.panelhead h2{font-size:17px}.heading>.actions{flex-shrink:1}}

@media print{
  .report-sheet h3{margin:14px 0 8px}
  .report-sheet td,.report-sheet th{padding:7px 10px}
  .report-brand{padding-bottom:12px}
  .report-brand img{width:62px;height:66px}
  .report-student{margin:18px 0 12px}
  .report-meta{margin-bottom:16px}
  .report-average{padding:10px 14px}
  .attendance-summary{padding:12px}
  .teacher-comment{padding:12px;min-height:50px;font-size:10pt}
  .report-signatures{margin-top:24px}
  .report-caption{margin:7px 0}
  .report-footer{margin-top:18px}
}

.bookfilter{display:flex;gap:10px;align-items:center}.bookfilter input{width:auto}.toolbar{flex-wrap:wrap}#assigned-fee{margin:8px 0}
.enrollment-discounts,.report-grades{border:1px solid #d9e1e7;border-radius:12px;padding:18px;margin:8px 0}.enrollment-discounts legend,.report-grades legend{padding:0 8px;font-weight:700}.discount-option{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:center;border-bottom:1px solid #e7ecf0;padding:8px 0}.fee-preview{background:#eef7fc;border-radius:10px;padding:15px}.fee-preview p{margin:8px 0 0}input:disabled{background:#f1f3f5;opacity:.6}@media(max-width:600px){.discount-option{grid-template-columns:1fr;gap:0}}

.cloud-gate{max-width:560px;margin:7vh auto;background:white;padding:35px;border-radius:16px}.cloud-gate h1{font-size:28px;margin:25px 0}.cloud-gate form{display:grid;gap:15px}.cloud-gate input:not([type=checkbox]){width:100%;padding:12px;border:1px solid #bccbd4;border-radius:8px}.cloud-gate pre{white-space:pre-wrap}.cloud-tools{margin-top:25px}.cloud-tools .actions{margin:18px 0;flex-wrap:wrap}
