:root{--navy:#052d4f;--blue:#0d668d;--cyan:#45b9c4;--green:#7bc943;--bg:#f3f7f9;--card:#fff;--text:#14334a;--muted:#6b8191;--line:#dbe6eb;--danger:#b53c3c;--shadow:0 12px 32px #052d4f14}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:270px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:22px 18px;display:flex;position:sticky;top:0}.sidebar img{object-fit:contain;width:100%;height:auto;margin-bottom:24px}.sidebar nav{gap:7px;display:grid}.sidebar nav button,.sidebar-user button{color:var(--text);text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;padding:12px 13px;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:var(--blue);background:#eaf6f6}.sidebar-user{border-top:1px solid var(--line);gap:4px;margin-top:auto;padding-top:15px;display:grid}.sidebar-user span{color:var(--muted);font-size:12px}.main{min-width:0;padding:26px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.topbar h1{margin:0;font-size:28px}.topbar p{color:var(--muted);margin:5px 0 0}.top-actions,.row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}button{background:var(--blue);color:#fff;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;display:inline-flex}button:hover{filter:brightness(.96)}button.ghost{color:var(--navy);background:#e7f0f4}button.icon{color:var(--muted);background:0 0;padding:4px;font-size:28px}.metrics{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.metrics.compact{margin-top:18px}.metric,.panel,.report-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.metric{padding:18px}.metric span{color:var(--muted);font-size:13px;display:block}.metric strong{margin:8px 0 4px;font-size:24px;display:block}.metric small{color:var(--muted)}.dashboard-grid{grid-template-columns:1.5fr 1fr;gap:16px;display:grid}.panel{min-width:0;padding:18px}.panel h2{margin:0 0 14px;font-size:18px}.panel h3{margin:22px 0 10px;font-size:15px}.panel-toolbar,.detail-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-toolbar.wrap{flex-wrap:wrap}.panel-toolbar p,.detail-head p{color:var(--muted);margin:4px 0 0}.search{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:8px;min-width:280px;padding:0 11px;display:flex}.search input{border:0;outline:0;width:100%;padding:11px 0}.badge{color:var(--blue);background:#e9f5f6;border-radius:999px;padding:6px 10px;font-size:12px}.split{grid-template-columns:390px 1fr;gap:16px;display:grid}.student-panel{padding:0;overflow:hidden}.student-panel .panel-toolbar{padding:16px 16px 0}.student-list{max-height:calc(100vh - 190px);overflow:auto}.student-list>button{width:100%;color:var(--text);border-top:1px solid var(--line);text-align:left;background:#fff;border-radius:0;gap:6px;padding:14px 16px;display:grid}.student-list>button:hover,.student-list>button.selected{background:#eef8f8}.student-list strong,.student-list span{display:block}.student-list span{color:var(--muted);font-size:12px}.student-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-meta b{color:var(--danger);font-size:12px}.detail-panel{min-height:550px}.empty{text-align:center;min-height:460px;color:var(--muted);place-content:center;display:grid}.empty h3{margin:12px 0 3px}.info-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.info{background:#f6f9fa;border-radius:12px;padding:12px}.info span{color:var(--muted);margin-bottom:5px;font-size:12px;display:block}.info strong{font-size:14px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 10px;font-size:13px}th{color:var(--muted);background:#f8fbfc;font-weight:600}.empty-cell{text-align:center;color:var(--muted);padding:28px}.activity-list{display:grid}.activity-list>div{border-bottom:1px solid var(--line);gap:10px;padding:11px 0;display:flex}.activity-list p,.activity-list small{color:var(--muted);margin:3px 0}.dot{background:var(--green);border-radius:50%;flex:none;width:9px;height:9px;margin-top:7px}.report-cards,.settings-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.report-card{color:var(--text);text-align:left;justify-items:start;gap:9px;padding:22px;display:grid}.report-card span{color:var(--muted);line-height:1.4}.chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chips span{background:#edf5f7;border-radius:999px;padding:7px 10px;font-size:13px}.full{grid-column:1/-1;width:100%}.auth-page,.loading{background:linear-gradient(135deg,#f0fbfa,#f7fbfe);place-items:center;min-height:100vh;padding:20px;display:grid}.loading{align-content:center;gap:12px}.auth-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(430px,94vw);padding:30px;box-shadow:0 24px 70px #052d4f24}.auth-card.wide{width:min(700px,94vw)}.auth-card img{width:100%;height:auto}.auth-card h1{margin:22px 0 6px}.auth-card p{color:var(--muted)}.auth-card form,.stack{gap:13px;display:grid}.auth-card label,.form-grid label,.stack label{color:var(--muted);gap:6px;font-size:13px;display:grid}input,select,textarea{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:10px;outline:none;padding:10px 11px}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #45b9c41f}textarea{resize:vertical;min-height:86px}.form-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.check{align-content:end}.check input{width:auto}.subtle-link{color:var(--blue);margin-top:15px;font-size:13px;display:block}.alert{border-radius:10px;margin:12px 0;padding:11px}.alert.error{color:#8d3030;background:#fdeaea}.modal-backdrop{z-index:50;background:#031e3294;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:min(940px,96vw);max-height:92vh;padding:20px;overflow:auto;box-shadow:0 30px 90px #0000003d}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:10px;display:flex}.modal-head h2{margin:0}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}code{background:#eef3f5;border-radius:5px;padding:2px 5px}@media (max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.split{grid-template-columns:1fr}.student-list{max-height:360px}.report-cards,.settings-grid,.info-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar-user{margin-top:18px}.main{padding:14px}.topbar{flex-direction:column;align-items:flex-start}.metrics,.report-cards,.settings-grid,.form-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}.search{width:100%;min-width:0}}@media print{.sidebar,.topbar,button,.search{display:none!important}.app-shell{display:block}.main{padding:0}.panel,.metric{box-shadow:none}.student-list{max-height:none}}.sidebar nav{padding-right:4px;overflow:auto}.action-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.section-actions{margin:16px 0}.panel.span-2{grid-column:span 2}.sidebar nav::-webkit-scrollbar{width:7px}.student-list::-webkit-scrollbar{width:7px}.sidebar nav::-webkit-scrollbar-thumb{background:#c9d9df;border-radius:999px}.student-list::-webkit-scrollbar-thumb{background:#c9d9df;border-radius:999px}@media (max-width:1100px){.panel.span-2{grid-column:span 1}}@media (max-width:760px){.action-grid{grid-template-columns:1fr}.sidebar nav{max-height:none}}.mini-actions{align-items:center;gap:7px;display:inline-flex}.mini-actions button{border-radius:8px;padding:7px 9px}.metric strong{overflow-wrap:anywhere}.panel.span-2 .metrics{grid-template-columns:repeat(4,1fr)}.risk-pill{border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.risk-pill.alto{color:#8d3030;background:#fdeaea}.risk-pill.medio{color:#765000;background:#fff4d7}.risk-pill.bajo{color:#0d668d;background:#e9f5f6}.filters-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;display:grid}.filters-grid label{color:var(--muted);gap:6px;font-size:13px;display:grid}@media (max-width:900px){.filters-grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.filters-grid{grid-template-columns:1fr}}.nav-group{gap:5px;display:grid}.nav-group>span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:7px 12px 2px;font-size:11px}.sidebar nav{gap:12px}.sidebar nav button{border-radius:10px;padding:10px 12px}.split{grid-template-columns:405px 1fr}.student-tools{gap:10px;padding:16px;display:grid}.student-tools .search{min-width:0}.student-tools label{color:var(--muted);gap:6px;font-size:13px;display:grid}.student-list{max-height:calc(100vh - 250px)}.student-list>button{grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.student-list small{color:var(--muted);font-size:12px;display:block}.student-meta{justify-items:end;gap:6px;display:grid}.student-avatar{width:42px;height:42px;color:var(--blue);background:#dff0f4;border-radius:50%;flex:none;place-items:center;display:inline-grid;overflow:hidden}.student-avatar.large{width:86px;height:86px}.student-avatar img{object-fit:cover;width:100%;height:100%}.student-avatar b{font-size:13px}.student-avatar.large b{font-size:24px}.profile-head{align-items:flex-start}.profile-title{align-items:center;gap:16px;display:flex}.profile-title span{color:var(--muted);font-size:13px}.photo-editor{background:#f6f9fa;border-radius:14px;align-items:center;gap:18px;padding:14px;display:flex}.photo-editor>div{flex:1;gap:10px;display:grid}.report-groups{gap:16px;display:grid}.report-group{grid-template-columns:260px 1fr;align-items:start;gap:18px;display:grid}.report-group p{color:var(--muted);line-height:1.45}.report-cards.compact{grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.report-cards.compact .report-card{box-shadow:none;border-radius:12px;padding:17px}.chips.editable span{align-items:center;gap:7px;padding:6px 7px 6px 10px;display:inline-flex}.chips.editable button{color:var(--muted);background:#fff;border-radius:999px;padding:4px}.chips.editable button:hover{color:var(--blue)}.catalog-card{min-height:185px}.security-note{color:#5f4a13;background:#fff7e5;border:1px solid #f1d18a;border-radius:12px;gap:7px;padding:12px;display:grid}.security-note span{font-size:13px}.security-note code{background:#fff;width:max-content}@media (max-width:1100px){.report-group,.split{grid-template-columns:1fr}}@media (max-width:760px){.sidebar nav,.report-cards.compact{grid-template-columns:1fr}.student-list>button{grid-template-columns:auto 1fr}.student-meta{grid-column:2;justify-items:start}.photo-editor,.profile-title{align-items:flex-start}}.app-shell.sidebar-collapsed{grid-template-columns:86px 1fr}.sidebar-brand{grid-template-columns:1fr auto;align-items:center;gap:8px;margin-bottom:20px;display:grid}.sidebar-brand img{margin:0}.sidebar-toggle{border-radius:10px;width:38px;height:38px;padding:0}.sidebar-collapsed .sidebar{align-items:center;padding:18px 12px}.sidebar-collapsed .sidebar-brand{grid-template-columns:1fr}.sidebar-collapsed .sidebar-brand img{object-fit:cover;object-position:left;border-radius:14px;width:52px;height:52px}.sidebar-collapsed .sidebar-toggle{margin:auto}.sidebar-collapsed .nav-group>span,.sidebar-collapsed .sidebar nav button span,.sidebar-collapsed .sidebar-user strong,.sidebar-collapsed .sidebar-user span,.sidebar-collapsed .sidebar-user button span{display:none}.sidebar-collapsed .sidebar nav button,.sidebar-collapsed .sidebar-user button{justify-content:center;width:46px;height:46px;padding:0}.sidebar-collapsed .sidebar nav{align-items:center;width:100%}.sidebar-collapsed .nav-group{justify-items:center}.student-tools h2{margin:0 0 5px}.student-tools p{color:var(--muted);margin:0;line-height:1.35}.student-search{width:100%}.student-filter-grid{grid-template-columns:1fr;gap:9px;display:grid}.student-toolbar-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-toolbar-foot button{padding:7px 10px}.student-list>button{transition:background .15s,border-color .15s}.student-list>button.selected{box-shadow:inset 4px 0 0 var(--blue)}.student-meta b.ok{color:#147343}.student-meta b.debt{color:var(--danger)}.student-profile-hero{grid-template-columns:150px 1fr;align-items:stretch;gap:18px;margin-bottom:16px;display:grid}.student-photo-card{border:1px solid var(--line);background:linear-gradient(#eef8f8,#fff);border-radius:18px;align-content:center;place-items:center;gap:10px;padding:16px;display:grid}.student-photo-card .student-avatar.large{width:112px;height:112px;box-shadow:0 12px 28px #052d4f26}.student-photo-card span{color:var(--muted);text-align:center;font-size:12px}.student-profile-main{border:1px solid var(--line);background:#f8fbfc;border-radius:18px;padding:18px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.profile-status-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.profile-info-grid{margin-bottom:14px}.quick-actions{border:1px solid var(--line);background:#fbfdfe;border-radius:16px;flex-wrap:wrap;gap:9px;margin:14px 0 18px;padding:14px;display:flex}.quick-actions button{padding:9px 11px}.info.tone-ok{background:#eaf8ef}.info.tone-ok strong{color:#147343}.info.tone-warn{background:#fff6df}.info.tone-warn strong{color:#8a5d00}.info.tone-danger{background:#fdeaea}.info.tone-danger strong{color:#8d3030}.legal-base{grid-column:1/-1;grid-template-columns:1.1fr 1.8fr auto;align-items:center;gap:18px;display:grid}.legal-base p{color:var(--muted);margin:0;line-height:1.45}.legal-base dl{grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;margin:0;display:grid}.legal-base dl div{border:1px solid var(--line);background:#f6f9fa;border-radius:12px;padding:10px}.legal-base dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px}.legal-base dd{color:var(--navy);margin:5px 0 0;font-weight:700}.legal-base a{color:var(--navy);white-space:nowrap;background:#e7f0f4;border-radius:10px;justify-self:end;padding:10px 13px;text-decoration:none}.grade-components{border:1px solid var(--line);background:#f8fbfc;border-radius:16px;padding:14px}.component-grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px;display:grid}.component-card{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr 92px auto;align-items:center;gap:8px;padding:10px;display:grid}.component-card button{padding:9px}.badge.warn{color:#765000;background:#fff4d7}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-pill.ok{color:#147343;background:#eaf8ef}.status-pill.warn{color:#765000;background:#fff4d7}.status-pill.danger{color:#8d3030;background:#fdeaea}.grade-entry{border:1px solid var(--line);background:#fff;border-radius:14px;max-height:58vh}.grade-entry table{min-width:1200px}.grade-entry th small{color:var(--blue);margin-top:3px;font-weight:700;display:block}.grade-entry td input{border-radius:8px;width:100%;min-width:72px;padding:7px 8px}.grade-entry td:nth-child(2){color:var(--navy);font-weight:700}@media (max-width:1200px){.legal-base{grid-template-columns:1fr}.legal-base a{justify-self:start}.legal-base dl{grid-template-columns:repeat(2,minmax(160px,1fr))}.profile-status-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.app-shell.sidebar-collapsed,.app-shell{grid-template-columns:1fr}.sidebar-collapsed .sidebar{align-items:stretch}.sidebar-collapsed .sidebar nav button span,.sidebar-collapsed .sidebar-user strong,.sidebar-collapsed .sidebar-user span,.sidebar-collapsed .sidebar-user button span{display:inline}.sidebar-collapsed .nav-group>span{display:block}.sidebar-collapsed .sidebar nav button,.sidebar-collapsed .sidebar-user button{justify-content:flex-start;width:auto;height:auto;padding:10px 12px}.student-profile-hero{grid-template-columns:1fr}.student-photo-card .student-avatar.large{width:128px;height:128px}.legal-base dl{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr 1fr;display:grid}.quick-actions button{width:100%}.component-grid{grid-template-columns:1fr}.component-card{grid-template-columns:1fr 80px}.component-card button{grid-column:1/-1}}@media (max-width:520px){.profile-status-grid,.quick-actions{grid-template-columns:1fr}}.finance-confirm{overflow-wrap:anywhere;max-width:640px;margin:auto;padding:16px}.finance-confirm dl{border-block:1px solid #cbd5db;grid-template-columns:1fr 2fr;gap:12px;padding:20px 0;display:grid}.finance-confirm dt{color:#52636b}.finance-confirm dd{margin:0;font-weight:600}.finance-amount{color:#176640;font-size:24px}.finance-student{background:#edf8f1;border-left:4px solid #17764d;flex-direction:column;gap:6px;padding:12px;display:flex}.finance-note{color:#694c0e;background:#fff7df;padding:12px}.finance-confirm .row{flex-wrap:wrap}.finance-entry input,.finance-entry select{width:100%;min-width:0}.finance-entry label{color:#425763;font-size:14px}.finance-review{border-block:1px solid #d4dfe3;margin-block:20px;padding-block:12px}button:disabled{opacity:.55;cursor:not-allowed}@media (max-width:540px){.finance-confirm dl{grid-template-columns:1fr;gap:6px}.finance-confirm dd{margin-bottom:12px}.finance-entry{grid-template-columns:1fr}}.bulletin-center{color:#17313e;letter-spacing:0;min-width:0}.bulletin-heading,.bulletin-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.bulletin-heading h2{margin:0 0 5px;font-size:21px}.bulletin-heading p{color:#52646d;margin:0;font-size:14px}.bulletin-filters{background:#fff;border-block:1px solid #d7e0e4;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px;display:grid}.bulletin-filters label{color:#374f5b;flex-direction:column;gap:6px;min-width:0;font-size:13px;display:flex}.bulletin-filters input,.bulletin-filters select{color:#183c4c;background:#fff;border:1px solid #b8cbd3;border-radius:5px;width:100%;min-width:0;height:42px;padding:8px;font-size:14px}.bulletin-filters button{border-radius:5px;align-self:end;height:42px}.bulletin-search>div{position:relative}.bulletin-search svg{position:absolute;top:13px;left:10px}.bulletin-search input{padding-left:33px}.bulletin-actions>div:first-child{align-items:center;gap:14px;display:flex}.bulletin-actions span{color:#52646d;font-size:13px}.bulletin-downloads{flex-wrap:wrap;gap:8px;display:flex}.bulletin-center button{white-space:normal;border-radius:5px;min-height:40px}.bulletin-warning{color:#63470e;background:#fff6da;border-left:3px solid #b07715;align-items:flex-start;gap:10px;padding:12px;font-size:14px;display:flex}.bulletin-warning svg{flex:none}.bulletin-status{color:#145c4e;align-items:center;gap:8px;font-size:14px;display:flex}.bulletin-table{background:#fff;border:1px solid #d7e0e4;border-radius:6px;margin-top:12px}.bulletin-table table{border-collapse:collapse;width:100%}.bulletin-table th{color:#344e5b;text-align:left;background:#edf3f5;font-size:12px}.bulletin-table th,.bulletin-table td{vertical-align:top;white-space:normal;padding:12px 10px}.bulletin-table td{border-bottom:1px solid #e4eaed;font-size:13px}.bulletin-table tr:last-child td{border-bottom:0}.bulletin-table td:nth-child(2){min-width:180px;max-width:260px}.bulletin-table td:nth-child(6){min-width:145px;max-width:260px}.bulletin-table small{color:#596d77;margin-top:4px;font-size:12px;display:block}.bulletin-table input[type=checkbox]{accent-color:#0b6d83;cursor:pointer;width:17px;height:17px;margin:3px}.bulletin-badge{border-radius:4px;align-items:center;gap:5px;padding:4px 6px;font-size:12px;font-weight:600;display:inline-flex}.bulletin-badge.complete{color:#17633c;background:#e6f5eb}.bulletin-badge.pending{color:#805713;background:#fff0cf}.bulletin-table details{color:#405965;margin-top:7px;font-size:12px}.bulletin-table summary{cursor:pointer}.bulletin-table ul{overflow-wrap:anywhere;max-width:290px;padding-left:16px;line-height:1.5}.bulletin-footnote{color:#52646d;font-size:12px;line-height:1.5}.bulletin-center :focus-visible{outline-offset:2px;outline:3px solid #2785ac}.grade-workspace{color:#183d4b;letter-spacing:0;width:100%;min-width:0}.grade-coverage{border-block:1px solid #cbdcde;margin-bottom:16px;padding:12px 0}.grade-coverage>summary{cursor:pointer;font-size:14px;font-weight:600}.grade-coverage>label{max-width:420px;margin:16px 0;display:block}.grade-coverage td{white-space:normal;max-width:420px;font-size:13px}.grade-coverage .table-wrap{max-height:440px}.grade-toolbar,.grade-savebar,.grade-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.grade-toolbar h2{margin:0 0 5px;font-size:21px}.grade-toolbar span{color:#52656d;font-size:13px}.grade-filters{background:#fff;border-block:1px solid #cddcdf;grid-template-columns:2fr 1.4fr 1fr 1.4fr;gap:12px;padding:16px;display:grid}.grade-workspace label{color:#344f58;min-width:0;font-size:13px}.grade-filters label>span{align-items:center;gap:5px;display:flex}.grade-filters input,.grade-filters select,.grade-options select{color:#173c49;background:#fff;border:1px solid #b5c9ce;border-radius:5px;width:100%;min-width:0;height:41px;padding:8px;font-size:14px}.grade-summary{border-bottom:1px solid #d5e1e4;justify-content:flex-start;font-size:13px}.grade-summary strong{color:#164b58;font-size:17px}.grade-summary label{align-items:center;gap:8px;margin-left:auto;display:flex}.grade-options{border:0;align-items:end;gap:18px;min-width:0;margin:0;padding:14px 0;display:flex}.grade-options label{width:190px}.grade-scale{color:#57676e;padding-bottom:10px;font-size:12px}.grade-weights{border:1px solid #cbdadd;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;padding:12px;display:flex}.grade-weights legend{font-size:13px;font-weight:600}.grade-weights>div{align-items:center;gap:4px;display:flex}.grade-weights input{width:110px;height:35px;padding:6px;font-size:13px}.grade-weights input[type=number]{width:65px}.grade-weights button{padding:8px}.grade-grid-scroll{background:#fff;border:1px solid #bdcfd4;width:100%;max-height:65vh;position:relative;overflow:auto}.grade-grid{border-collapse:separate;border-spacing:0;table-layout:auto;width:100%;font-size:13px}.grade-grid th,.grade-grid td{vertical-align:middle;text-align:center;white-space:normal;border-bottom:1px solid #d7e2e4;border-right:1px solid #d7e2e4;padding:8px}.grade-grid thead th{z-index:3;color:#254653;background:#e8f1f3;min-width:77px;height:54px;font-size:12px;position:sticky;top:0}.grade-grid .grade-number{width:40px;min-width:40px}.grade-grid .grade-name{z-index:2;text-align:left;background:#fff;width:240px;min-width:240px;max-width:240px;position:sticky;left:0;box-shadow:2px 0 #c2d2d5}.grade-grid thead .grade-name{z-index:4;background:#e8f1f3}.grade-grid .grade-name strong{overflow-wrap:anywhere;font-size:12px;display:block}.grade-grid small{color:#5b6c73;margin-top:4px;font-size:11px;font-weight:400;display:block}.grade-grid .grade-current{background:#f0f7f8;font-weight:700}.grade-grid input{text-align:center;color:#153d4b;width:88px;min-width:88px;height:36px;box-shadow:none;background:#fff;border:1px solid #aec2c9;border-radius:3px;padding:7px;font-size:14px}.grade-grid input:focus{outline-offset:0;border-color:#0b7893;outline:2px solid #0b7893}.grade-grid input:disabled{color:#56616b;background:#f0f1f2}.grade-grid .grade-observation input{text-align:left;width:220px}.grade-grid .grade-dirty td,.grade-grid .grade-dirty .grade-name{background:#fff8dd}.grade-grid .grade-average{font-size:15px;font-weight:700}.grade-band{color:#1e644b;font-size:12px}.grade-low{color:#a32e35}.grade-empty{text-align:center;color:#526770;padding:32px 16px;font-size:14px}.grade-success{color:#235a3b;background:#eaf5ec;padding:12px;font-size:14px}.grade-savebar{z-index:5;background:#fff;border-top:1px solid #bdcfd4;padding:12px 14px;font-size:13px;position:sticky;bottom:0}.grade-workspace button{white-space:normal;letter-spacing:0;border-radius:5px}.grade-workspace :focus-visible{outline-offset:2px;outline:2px solid #167e9a}.curriculum-scope{border:1px solid #c8d9dc;min-width:0;margin:0;padding:14px}.curriculum-scope legend{font-size:14px;font-weight:600}.curriculum-scope p{margin-bottom:0;font-size:13px}.curriculum-checks{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.curriculum-checks label{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}@media (max-width:1100px){.grade-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.grade-filters{background:0 0;grid-template-columns:1fr;padding:12px 0}.grade-options{flex-wrap:wrap;gap:10px}.grade-options label{flex:120px}.grade-grid .grade-name{width:165px;min-width:165px;max-width:165px}.grade-toolbar .row{flex-wrap:wrap}.grade-savebar button{width:100%}.grade-summary label{margin-left:0}.curriculum-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1100px){.bulletin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.bulletin-filters{background:0 0;grid-template-columns:1fr;padding:14px 0}.bulletin-heading h2{font-size:19px}.bulletin-downloads{width:100%}.bulletin-downloads button{flex:140px}.bulletin-table table{min-width:750px}.bulletin-table{max-width:100%;overflow:auto}}
