@layer tokens{:root{--font-ui:"Avenir Next", "Segoe UI", system-ui, sans-serif;--navy:#14263d;--navy-raised:#1e3550;--primary:#285ca6;--primary-dark:#1c477f;--primary-soft:#edf3fb;--green:#237650;--success-soft:#edf6f0;--orange:#b96523;--warning-soft:#fcf2e6;--coral:#b3443e;--danger-soft:#fcf0ee;--ink:#203248;--muted:#607084;--line:#dfe5eb;--canvas:#f5f6f8;--card:#fff;--surface-subtle:#f8fafc;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-heading:18px;--weight-body:450;--weight-label:550;--weight-heading:650;--radius-sm:6px;--radius:10px;--radius-lg:12px;--shadow:0 2px 5px #14263d08;--shadow-floating:0 14px 42px #14263d29;--sidebar:272px;--topbar:64px}}@layer base{*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-padding-top:80px}body{color:var(--ink);background:var(--canvas);font:var(--weight-body) var(--text-base)/1.55 var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;max-width:100%}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,summary{cursor:pointer}a{color:inherit;text-decoration:none}img,video,canvas{max-width:100%}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong,b{font-weight:var(--weight-heading)}h1{letter-spacing:-.035em;margin-bottom:8px;font-size:clamp(26px,2.3vw,32px);line-height:1.2}h2{font-size:var(--text-heading);letter-spacing:-.02em;line-height:1.35}small{font-size:var(--text-xs)}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;min-height:42px;color:var(--ink);background:var(--card);padding:9px 12px}textarea{resize:vertical;min-height:104px}input[type=checkbox],input[type=radio]{accent-color:var(--primary);flex:none;width:17px;height:17px}input::placeholder,textarea::placeholder{color:#748194;opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--primary)}:focus-visible{outline-offset:3px;outline:3px solid #79a6de}:disabled,[aria-disabled=true]{opacity:.55;cursor:not-allowed}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.svg-sprite{width:0;height:0;position:absolute;overflow:hidden}.ui-icon{object-fit:contain;flex:0 0 20px;width:20px;height:20px;display:block}hr{border:0;border-top:1px solid var(--line);margin:24px 0}}@layer features{.package-picker-section{border:1px solid var(--primary-soft);background:var(--surface-subtle)}.package-picker-section .form-fields{max-width:520px}.package-picker-section select{min-height:44px}.student-summary{border-radius:var(--radius);background:var(--card);box-shadow:none;border:1px solid #eeeeeed9;align-items:center;gap:34px;margin-bottom:20px;padding:18px 24px;display:flex}.student-summary>div{align-items:center;gap:11px;min-width:155px;display:flex}.student-summary>div+div{border-left:1px solid var(--line);padding-left:25px}.student-summary>div>span:last-child{flex-direction:column;display:flex}.student-summary small{color:var(--muted);font-size:12px}.student-summary strong{color:var(--ink);font-size:20px;line-height:1.25}.summary-icon{width:36px;height:36px;color:var(--primary);border-radius:var(--radius);background:var(--primary-soft);place-items:center;font-size:18px;display:grid}.coral-summary{color:var(--coral);background:var(--line)}.student-summary p{color:var(--muted);margin:0 0 0 auto;font-size:12px}.student-list-panel{overflow:visible}.student-filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:20px 24px;display:flex}.student-filters label{display:block}.filter-search{border:1px solid var(--line);background:var(--card);border-radius:10px;flex:1;align-items:center;gap:9px;min-width:260px;padding:0 12px;display:flex}.filter-search span{color:var(--muted);font-size:18px}.student-filters input,.student-filters select{height:40px;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.student-filters select{border:1px solid var(--line);background:var(--card);border-radius:10px;width:145px;padding:0 10px}.filter-search input{width:100%}.filter-submit{height:40px;padding:0 14px}.student-cell{align-items:center;gap:11px;min-width:180px;display:flex}.student-avatar{width:38px;height:38px;color:var(--card);border-radius:var(--radius);background:var(--surface-subtle);place-items:center;font-size:12px;font-weight:600;display:grid}.student-cell>span:last-child{flex-direction:column;display:flex}.student-cell strong,.table-main{color:var(--ink);font-size:12px;font-weight:600}.student-cell small{color:var(--muted);margin-top:2px;font-size:12px}.is-active{color:var(--green);background:var(--line)}.is-inactive{color:var(--orange);background:var(--warning-soft)}.student-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.profile-hero{background:var(--surface-subtle);align-items:center;gap:18px;min-height:176px;padding:24px;display:flex}.profile-avatar{border-radius:var(--radius);width:78px;height:78px;font-size:19px}.profile-hero h2{color:var(--ink);margin:0 0 4px;font-size:20px}.profile-hero p{color:var(--muted);margin:0 0 12px;font-size:12px}.detail-card{min-height:250px}.detail-list{gap:0;margin:19px 24px 24px;display:grid}.detail-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:15px;padding:11px 0;display:flex}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:var(--muted);font-size:12px}.detail-list dd{color:var(--ink);text-align:right;margin:0;font-size:12px;font-weight:600}.full-profile-card{grid-column:1/-1;min-height:150px}.academic-note{color:var(--muted);white-space:pre-line;margin:18px 24px 24px;font-size:12px;line-height:1.7}.student-form{gap:18px;display:grid}.form-section{padding:24px;overflow:visible}.form-section-heading{align-items:flex-start;gap:13px;margin-bottom:21px;display:flex}.section-number{width:32px;height:32px;color:var(--primary);background:var(--primary-soft);border-radius:10px;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.form-section-heading h2{color:var(--ink);margin:1px 0 2px;font-size:14px}.form-section-heading p{color:var(--muted);margin:0;font-size:12px}@media (width<=767px){.student-summary{flex-wrap:wrap;align-items:flex-start;gap:15px;padding:16px 18px}.student-summary>div{min-width:130px}.student-summary>div+div{padding-left:15px}.student-summary p{width:100%;margin:0}.student-filters{flex-wrap:wrap;align-items:stretch;padding:16px 18px}.filter-search{min-width:100%}.student-filters select{flex:1;width:auto}.filter-submit{flex:none}.form-section{padding:19px}.student-profile-grid{grid-template-columns:1fr}.full-profile-card{grid-column:auto}.profile-hero{padding:20px}}.student-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-check{min-height:60px;color:var(--ink);border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;flex-direction:row;align-items:center;gap:11px;padding:11px 13px;display:flex}.student-check:has(input:checked){border-color:var(--primary);background:var(--line);box-shadow:none}.student-check input{width:16px;height:16px;accent-color:var(--primary);flex:none}.student-check span{flex-direction:column;min-width:0;display:flex}.student-check strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.student-check small,.form-hint{color:var(--muted);font-size:12px}.form-hint{margin:0}.linked-students{padding:10px 24px 22px}.linked-student{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.linked-student:last-child{border-bottom:0}.linked-student>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.linked-student strong{color:var(--ink);font-size:12px}.linked-student small{color:var(--muted);font-size:12px}.linked-student>span:last-child{color:var(--primary);font-size:16px}.guardian-students-card{grid-column:1/-1}@media (width<=767px){.student-check-grid{grid-template-columns:1fr}}.account-toggle{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;display:flex}.account-toggle input{accent-color:var(--primary);width:17px;height:17px}.account-toggle span{flex-direction:column;gap:4px;display:flex}.account-toggle small,.linked-account-note small{color:var(--muted);font-size:12px}.account-password-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px;display:grid}.linked-account-note{background:var(--line);border:1px solid var(--primary-soft);border-radius:var(--radius);flex-direction:column;gap:4px;margin-bottom:16px;padding:14px;display:flex}.linked-account-note strong{color:var(--primary);font-size:13px}.linked-account-note span{color:var(--ink);font-size:13px}@media (width<=767px){.account-password-fields{grid-template-columns:1fr}}.curriculum-overview{border-radius:var(--radius);background:var(--card);box-shadow:none;border:1px solid #eeeeeed9;align-items:center;gap:25px;margin-bottom:20px;padding:17px 24px;display:flex}.curriculum-overview>div{align-items:center;gap:10px;min-width:100px;display:flex}.curriculum-overview>div+div{border-left:1px solid var(--line);padding-left:22px}.curriculum-overview>div>span:last-child{flex-direction:column;display:flex}.curriculum-overview small{color:var(--muted);font-size:12px}.curriculum-overview strong{color:var(--ink);font-size:20px;line-height:1.2}.green-summary{color:var(--green);background:var(--line)}.curriculum-overview p{color:var(--muted);margin:0 0 0 auto;font-size:12px}.curriculum-layout{grid-template-columns:minmax(300px,.85fr) minmax(0,1.5fr);align-items:start;gap:20px;display:grid}.import-panel{min-height:390px}.import-badge{color:var(--green);background:var(--line);border-radius:7px;padding:5px 9px;font-size:12px;font-weight:600}.import-body{padding:18px 24px 24px}.import-body>p{color:var(--muted);font-size:12px;line-height:1.7}.template-link{color:var(--primary);margin:4px 0 18px;font-size:12px;font-weight:600;display:inline-block}.import-form{gap:12px;display:grid}.file-drop{min-height:135px;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:18px;display:flex}.file-drop>span{width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:10px;place-items:center;margin-bottom:4px;font-size:21px;display:grid}.file-drop strong{color:var(--ink);font-size:12px}.file-drop small{color:var(--muted);font-size:12px}.file-drop input{width:100%;margin-top:8px;font-size:12px}.import-error{color:var(--coral);background:var(--line);border-radius:8px;margin-top:14px;padding:10px;font-size:12px}.matrix-panel{min-height:390px}.exam-filter select{height:34px;color:var(--muted);border:1px solid var(--line);background:var(--card);border-radius:8px;outline:0;padding:0 9px;font-size:12px}.curriculum-tree{padding:15px 24px 24px}.subject-node,.topic-node{border-bottom:1px solid var(--line)}.subject-node:last-child{border-bottom:0}.subject-node summary,.topic-node summary{min-height:57px;color:var(--ink);cursor:pointer;align-items:center;gap:10px;list-style:none;display:flex}.subject-node summary::-webkit-details-marker{display:none}.topic-node summary::-webkit-details-marker{display:none}.subject-node summary:after,.topic-node summary:after{color:var(--muted);content:"⌄";margin-left:auto;font-size:15px}.subject-node:not([open]) summary:after,.topic-node:not([open]) summary:after{content:"›"}.subject-node summary>span:nth-child(2),.topic-node summary>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.subject-node summary strong{font-size:12px}.topic-node summary strong{color:var(--muted);font-size:12px;font-weight:600}.subject-node summary small,.topic-node summary small{color:var(--muted);margin-top:2px;font-size:12px}.tree-marker{width:25px;height:25px;color:var(--primary);background:var(--primary-soft);border-radius:8px;flex:none;place-items:center;font-size:13px;display:grid}.topic-list{margin-left:35px}.topic-node summary{min-height:46px}.topic-node .tree-marker{width:20px;height:20px;color:var(--orange);background:var(--warning-soft)}.tree-count,.node-status{color:var(--green);margin-left:auto;font-size:12px}.subtopic-list{border-left:1px solid var(--line);margin:0 0 10px 30px;padding:0 0 0 12px}.subtopic-row{min-height:30px;color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.subtopic-row .tree-marker{width:12px;height:auto;color:var(--muted);background:0 0}.subtopic-row .node-status{color:var(--muted)}.tree-empty{color:var(--muted);margin:0 0 11px;font-size:12px}.curriculum-empty{min-height:260px}@media (width<=900px){.curriculum-layout{grid-template-columns:1fr}}@media (width<=767px){.curriculum-overview{flex-wrap:wrap;align-items:flex-start;gap:15px;padding:16px 18px}.curriculum-overview>div{min-width:90px}.curriculum-overview>div+div{padding-left:14px}.curriculum-overview p{width:100%;margin:0}.import-body,.curriculum-tree{padding-left:18px;padding-right:18px}}.curriculum-page{max-width:1240px}.curriculum-stats{grid-template-columns:repeat(3,minmax(0,150px)) 1fr;align-items:center;gap:14px;margin:22px 0;display:grid}.curriculum-stats>div{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:none;align-items:center;gap:11px;padding:17px 18px;display:flex}.curriculum-stat-icon{border-radius:var(--radius);background:var(--line);width:36px;height:36px;color:var(--primary);place-items:center;font-size:18px;display:grid}.curriculum-stat-icon.is-orange{background:var(--line);color:var(--orange)}.curriculum-stat-icon.is-green{background:var(--line);color:var(--green)}.curriculum-stats small,.curriculum-stats strong{display:block}.curriculum-stats small{color:var(--muted);font-size:12px}.curriculum-stats strong{font-size:22px;line-height:1.25}.curriculum-stat-note{background:var(--surface-subtle);display:block}.curriculum-stat-note strong{margin-bottom:3px;font-size:13px}.curriculum-stat-note span{color:var(--muted);font-size:12px}.curriculum-workspace{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:18px;display:grid}.subject-rail,.curriculum-detail{overflow:hidden}.subject-rail{padding:20px}.workspace-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workspace-header h2{margin:2px 0 5px;font-size:19px}.workspace-header select{border:1px solid var(--line);height:34px;color:var(--muted);background:var(--card);border-radius:9px;padding:0 8px}.subject-list{gap:7px;margin-top:18px;display:grid}.subject-rail-item{border-radius:var(--radius);color:inherit;border:1px solid #0000;align-items:center;gap:10px;padding:12px;text-decoration:none;transition:all .18s;display:flex}.subject-rail-item:hover{background:var(--line)}.subject-rail-item.is-selected{border-color:var(--primary-soft);background:var(--line)}.subject-rail-item>span:nth-child(2){gap:3px;min-width:0;display:grid}.subject-rail-item strong{font-size:13px}.subject-rail-item small{color:var(--muted);font-size:12px}.subject-rail-item b{color:var(--muted);margin-left:auto;font-size:12px}.subject-dot{background:var(--primary);width:9px;height:9px;box-shadow:none;border-radius:50%}.detail-header{border-bottom:1px solid var(--line);padding:24px}.detail-header h2{font-size:24px}.active-topic-badge{background:var(--line);color:var(--green);white-space:nowrap;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:600}.topic-timeline{padding:5px 24px 18px}.modern-topic{border-bottom:1px solid var(--line)}.modern-topic summary{cursor:pointer;align-items:center;gap:13px;padding:17px 0;list-style:none;display:flex}.modern-topic summary::-webkit-details-marker{display:none}.topic-index{background:var(--line);width:32px;height:32px;color:var(--muted);border-radius:10px;place-items:center;font-size:12px;font-weight:600;display:grid}.topic-copy{gap:4px;display:grid}.topic-copy strong{font-size:14px}.topic-copy small{color:var(--muted);font-size:12px}.topic-chevron{color:var(--muted);margin-left:auto;font-size:22px;transition:transform .2s}.modern-topic[open] .topic-chevron{transform:rotate(90deg)}.modern-subtopics{border-left:2px solid var(--line);background:var(--card);border-radius:0 12px 12px 0;gap:8px;margin:0 0 16px 45px;padding:13px 14px;display:grid}.modern-subtopics>div{color:var(--muted);align-items:center;gap:9px;font-size:13px;display:flex}.modern-subtopics small{color:var(--muted);margin-left:auto;font-size:12px}.modern-subtopics small.is-active{color:var(--green)}.subtopic-check{background:var(--line);width:18px;height:18px;color:var(--green);border-radius:6px;place-items:center;font-size:12px;display:grid}.curriculum-import-compact{justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding:18px 22px;display:flex}.curriculum-import-compact>div:first-child{align-items:center;gap:12px;display:flex}.curriculum-import-compact h2{margin:0 0 4px;font-size:16px}.curriculum-import-compact p{color:var(--muted);margin:0;font-size:12px}.import-actions,.import-actions form{align-items:center;gap:9px;display:flex}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.rail-empty{color:var(--muted);padding:20px 8px;font-size:13px}.curriculum-page .curriculum-empty{padding:40px 24px}@media (width<=950px){.curriculum-stats{grid-template-columns:repeat(3,1fr)}.curriculum-stat-note{grid-column:span 3}.curriculum-workspace{grid-template-columns:1fr}.subject-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.curriculum-stats{grid-template-columns:repeat(3,1fr);gap:8px}.curriculum-stats>div{gap:7px;padding:12px 9px}.curriculum-stat-icon{width:28px;height:28px;font-size:14px}.curriculum-stats small{font-size:12px}.curriculum-stats strong{font-size:18px}.curriculum-stat-note{grid-column:span 3}.subject-list{grid-template-columns:1fr}.detail-header,.topic-timeline{padding-left:17px;padding-right:17px}.curriculum-import-compact{flex-direction:column;align-items:stretch;padding:17px}.import-actions,.import-actions form{flex-wrap:wrap}.import-actions form{width:100%}.modern-subtopics{margin-left:28px}}.topic-management{align-items:center;gap:12px;margin:-4px 0 11px 45px;display:flex}.topic-management form{margin:0}.text-action,.node-action{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600;text-decoration:none}.text-action:hover,.node-action:hover{text-decoration:underline}.text-action.danger{color:var(--coral)}.node-action{margin-left:auto;font-size:12px}.modern-subtopics>div{min-width:0}.curriculum-edit-panel{padding:24px}.curriculum-edit-panel .form-section{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:28px;display:grid}.curriculum-edit-panel .form-section h2,.danger-zone h2{margin:3px 0 6px;font-size:19px}.form-help,.danger-zone p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-fields label{color:var(--muted);gap:6px;font-size:12px;font-weight:600;display:grid}.form-fields input,.form-fields select{border:1px solid var(--line);background:var(--card);width:100%;height:42px;color:var(--ink);font:inherit;border-radius:10px;outline:0;padding:0 12px;font-size:13px}.form-fields input:focus,.form-fields select:focus{border-color:var(--primary);box-shadow:none}.checkbox-line{grid-column:span 2;align-items:center;gap:8px;display:flex}.checkbox-line input{width:17px;height:17px}.danger-zone{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:22px 24px;display:flex}.danger-zone form{flex:none}@media (width<=700px){.curriculum-edit-panel{padding:18px}.curriculum-edit-panel .form-section{grid-template-columns:1fr;gap:18px}.form-fields{grid-template-columns:1fr}.checkbox-line{grid-column:auto}.danger-zone{flex-direction:column;align-items:stretch}.topic-management{flex-wrap:wrap;margin-left:28px}.node-action{font-size:12px}}.test-progress-form{align-items:center;gap:3px;margin-top:8px;display:flex}.test-progress-form input{width:39px;height:25px;color:var(--ink);border:1px solid var(--line);border-radius:6px;outline:0;padding:0 4px;font-size:12px}.test-progress-form span{color:var(--muted);font-size:12px}.test-progress-form button{color:var(--primary);background:var(--primary-soft);cursor:pointer;border:0;border-radius:5px;padding:4px 6px;font-size:12px}.roadmap-page{--roadmap-blue:#155eef}.roadmap-hero{background:linear-gradient(120deg,#fff 0%,#f7fbff 100%);justify-content:space-between;align-items:center;gap:28px;margin-bottom:18px;padding:24px;display:flex}.roadmap-profile,.roadmap-score,.roadmap-facts,.roadmap-rail-item,.roadmap-topic-head,.roadmap-subtopic,.history-item{align-items:center;display:flex}.roadmap-profile{gap:14px;min-width:0}.roadmap-profile .student-avatar{flex:0 0 56px;width:56px;height:56px;font-size:16px}.roadmap-profile h2,.roadmap-profile p{margin:0}.roadmap-profile h2{font-size:21px}.roadmap-profile>div>p:last-child{color:var(--muted);font-size:12px}.roadmap-score{gap:24px}.score-ring{text-align:center;background:radial-gradient(closest-side, white 78%, transparent 80% 100%), conic-gradient(var(--roadmap-blue) calc(var(--score) * 1%), #e5edf5 0);border-radius:50%;place-content:center;width:104px;height:104px;display:grid}.score-ring strong{color:var(--ink);font-size:22px;line-height:1}.score-ring small{color:var(--muted);margin-top:5px;font-size:10px}.roadmap-facts{gap:20px}.roadmap-facts span{gap:2px;display:grid}.roadmap-facts b{font-size:20px}.roadmap-facts small{color:var(--muted);white-space:nowrap;font-size:11px}.roadmap-filters{align-items:end;gap:12px;margin-bottom:18px;padding:14px 18px;display:flex}.roadmap-filters>div{flex:180px}.roadmap-filters label{color:var(--muted);font-size:11px;font-weight:var(--weight-label);margin-bottom:6px;display:block}.roadmap-filters select{width:100%}.filter-context{color:var(--muted);white-space:nowrap;margin-left:auto;padding-bottom:10px;font-size:12px}.roadmap-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:18px;display:grid}.roadmap-rail{padding:18px;position:sticky;top:96px}.rail-heading h2{margin:0 0 14px;font-size:18px}.roadmap-rail-item{color:inherit;border:1px solid #0000;border-radius:10px;gap:9px;margin-bottom:5px;padding:12px 10px}.roadmap-rail-item:hover,.roadmap-rail-item.is-active{background:var(--primary-soft);border-color:#d7e4fb}.roadmap-rail-item>span:nth-child(2){gap:2px;min-width:0;display:grid}.roadmap-rail-item strong{overflow-wrap:anywhere;font-size:12px}.roadmap-rail-item small{color:var(--muted);font-size:10px}.roadmap-rail-item b{color:var(--roadmap-blue);margin-left:auto}.roadmap-rail-dot{background:var(--roadmap-blue);border-radius:50%;flex:0 0 8px;width:8px;height:8px}.rail-tip{background:#f6f8fa;border-radius:10px;margin-top:18px;padding:12px}.rail-tip strong{font-size:11px}.rail-tip p{color:var(--muted);margin:4px 0 0;font-size:11px}.roadmap-subject{margin-bottom:18px;overflow:hidden}.roadmap-subject-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:20px 22px;display:flex}.roadmap-subject-head h2,.roadmap-subject-head p{margin:0}.roadmap-subject-head h2{font-size:21px}.roadmap-subject-head>div>p:last-child{color:var(--muted);margin-top:4px;font-size:12px}.roadmap-timeline{padding:24px 24px 8px 34px}.roadmap-topic{border-left:2px solid #d9e5f1;gap:16px;padding:0 0 24px 20px;display:flex;position:relative}.roadmap-topic:last-child{border-left-color:#0000;padding-bottom:10px}.roadmap-marker{width:30px;height:30px;color:var(--roadmap-blue);background:#eaf1ff;border:3px solid #fff;border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid;position:absolute;top:-3px;left:-16px;box-shadow:0 0 0 1px #bfd1ea}.is-current .roadmap-marker{color:#fff;background:var(--roadmap-blue)}.is-complete .roadmap-marker{color:var(--green);background:var(--success-soft);box-shadow:0 0 0 1px #b9dec7}.roadmap-topic-body{width:100%;min-width:0}.roadmap-topic-head{justify-content:space-between;gap:12px;margin-bottom:12px}.roadmap-topic-head h3,.roadmap-topic-head p{margin:0}.roadmap-topic-head h3{font-size:15px}.roadmap-topic-head p{color:var(--muted);margin-top:3px;font-size:11px}.roadmap-status{color:var(--muted);white-space:nowrap;background:#eef2f5;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:700}.is-current .roadmap-status{color:var(--amber);background:var(--warning-soft)}.is-complete .roadmap-status{color:var(--green);background:var(--success-soft)}.roadmap-subtopics{gap:7px;display:grid}.roadmap-subtopic{border:1px solid var(--line);border-radius:9px;gap:9px;min-width:0;padding:10px 11px}.roadmap-subtopic-copy{flex:1;gap:2px;min-width:0;display:grid}.roadmap-subtopic-copy strong{overflow-wrap:anywhere;font-size:12px}.roadmap-subtopic-copy small{color:var(--muted);font-size:10px}.roadmap-subtopic .subtopic-check{flex:0 0 20px;width:20px;height:20px}.roadmap-edit{grid-template-columns:64px minmax(90px,150px) auto;align-items:center;gap:6px;display:grid}.roadmap-edit input{min-width:0;padding:7px 8px;font-size:12px}.roadmap-edit .button{min-height:34px;padding:7px 10px;font-size:11px}.roadmap-history{padding-bottom:8px}.history-list{padding:0 20px}.history-item{border-top:1px solid var(--line);gap:10px;padding:10px 0}.history-item>span:last-child{min-width:0}.history-item strong,.history-item small{overflow-wrap:anywhere;display:block}.history-item strong{font-size:12px}.history-item small{color:var(--muted);margin-top:2px;font-size:11px}.history-icon{width:26px;height:26px;color:var(--roadmap-blue);background:var(--primary-soft);border-radius:8px;flex:0 0 26px;place-items:center;display:grid}@media (width<=900px){.roadmap-hero{flex-direction:column;align-items:flex-start}.roadmap-score{width:100%}.roadmap-layout{grid-template-columns:1fr}.roadmap-rail{position:static}.roadmap-rail-item{width:auto;margin-right:4px;display:inline-flex}.rail-tip{display:none}}@media (width<=640px){.roadmap-hero{padding:18px}.roadmap-profile .student-avatar{flex-basis:46px;width:46px;height:46px}.roadmap-profile h2{font-size:18px}.roadmap-score{align-items:center;gap:14px}.score-ring{width:88px;height:88px}.roadmap-facts{flex:1;justify-content:space-between;gap:8px}.roadmap-facts b{font-size:17px}.roadmap-facts small{white-space:normal;font-size:10px}.roadmap-filters{grid-template-columns:1fr;align-items:stretch;padding:14px;display:grid}.filter-context{margin:0;padding:0}.roadmap-timeline{padding:20px 16px 4px 27px}.roadmap-subject-head{flex-direction:column;align-items:flex-start;padding:18px 16px}.roadmap-topic{gap:10px;padding-left:17px}.roadmap-topic-head{flex-direction:column;align-items:flex-start}.roadmap-subtopic{flex-wrap:wrap;align-items:flex-start}.roadmap-edit{grid-template-columns:68px minmax(0,1fr);width:100%;padding-left:29px}.roadmap-edit .button{grid-column:1/-1;width:100%}.history-list{padding:0 16px}}.resource-summary{border-radius:var(--radius);background:var(--card);box-shadow:none;border:1px solid #eeeeeed9;align-items:center;margin-bottom:20px;padding:17px 24px;display:flex}.resource-summary>div{align-items:center;gap:10px;display:flex}.resource-summary>div>span:last-child{flex-direction:column;display:flex}.resource-summary small{color:var(--muted);font-size:12px}.resource-summary strong{color:var(--ink);font-size:20px;line-height:1.2}.resource-summary p{color:var(--muted);margin:0 0 0 auto;font-size:12px}.resource-avatar{width:38px;height:38px;color:var(--primary);border-radius:var(--radius);background:var(--primary-soft);place-items:center;font-size:17px;display:grid}.resource-table td:nth-child(2),.resource-table td:nth-child(3),.resource-table td:nth-child(4){flex-direction:column;display:table-cell}.resource-table td small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.resource-table td .table-main{display:block}.matrix-student-picker{align-items:center;gap:8px;display:flex}.matrix-student-picker label{color:var(--muted);font-size:12px;font-weight:600}.matrix-student-picker select{min-width:190px;height:42px;color:var(--ink);border:1px solid var(--line);background:var(--card);border-radius:10px;outline:0;padding:0 12px;font-size:12px}.matrix-header{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-subtle);box-shadow:none;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:16px 22px;display:flex}.matrix-header>div:first-child{align-items:center;gap:11px;display:flex}.matrix-header>div:first-child>span:last-child{flex-direction:column;display:flex}.matrix-header strong{color:var(--ink);font-size:13px}.matrix-header small{color:var(--muted);margin-top:2px;font-size:12px}.matrix-legend{flex-wrap:wrap;gap:11px;display:flex}.matrix-legend span{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:inline-flex}.legend-state{border-radius:6px;place-items:center;width:20px;height:20px;font-size:12px;font-weight:600;display:grid}.completed{color:var(--green);background:var(--line)}.in-progress{color:var(--orange);background:var(--warning-soft)}.needs-review{color:var(--coral);background:var(--line)}.not-started{color:var(--muted);background:var(--line)}.matrix-table-panel{overflow:hidden}.matrix-scroll{overflow-x:auto}.matrix-table{border-collapse:collapse;text-align:left;width:100%;min-width:720px}.matrix-table th,.matrix-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 15px}.matrix-table th:first-child,.matrix-table td:first-child{width:220px;padding-left:24px}.matrix-table thead th{min-width:155px;color:var(--ink);background:var(--card);vertical-align:top;font-size:12px}.matrix-table thead th:first-child{color:var(--muted)}.matrix-table thead th strong,.matrix-table thead th small{display:block}.matrix-table thead th strong{font-size:12px}.matrix-table thead th small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400}.matrix-subject th{color:var(--primary);background:var(--line);padding-top:10px;padding-bottom:10px;font-size:12px}.matrix-table tbody tr:not(.matrix-subject):hover{background:var(--card)}.matrix-table tbody>tr:not(.matrix-subject)>th{color:var(--muted);font-size:12px;font-weight:600}.matrix-table tbody>tr:not(.matrix-subject)>th small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.matrix-status{width:100%;min-width:135px;height:34px;color:var(--muted);border:1px solid var(--line);background:var(--line);cursor:pointer;border-radius:8px;outline:0;padding:0 7px;font-size:12px}.matrix-status.completed{color:var(--green);border-color:var(--line);background:var(--line)}.matrix-status.in_progress{color:var(--orange);border-color:var(--primary);background:var(--line)}.matrix-status.needs_review{color:var(--coral);border-color:var(--line);background:var(--line)}.matrix-status:focus{box-shadow:none}.matrix-no-student{min-height:300px}.resource-student-grid{margin-top:18px}@media (width<=767px){.resource-summary{flex-wrap:wrap;align-items:flex-start;gap:15px;padding:16px 18px}.resource-summary p{width:100%;margin:0}.matrix-header{flex-direction:column;align-items:flex-start;padding:16px 18px}.matrix-student-picker{flex-direction:column;align-items:flex-start;width:100%}.matrix-student-picker select{width:100%}.matrix-table th:first-child,.matrix-table td:first-child{padding-left:15px}}.assignment-avatar{color:var(--orange);background:var(--warning-soft)}.assignment-table td:nth-child(2),.assignment-table td:nth-child(5){vertical-align:middle}.assignment-table td small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.template-picker-panel{border:1px solid var(--primary-soft);background:var(--surface-subtle)}.template-picker-panel>label{max-width:560px;display:block}.template-picker-panel select{border-color:var(--primary);box-shadow:none}.assignment-table td:first-child small{white-space:nowrap;text-overflow:ellipsis;max-width:280px;overflow:hidden}.exam-type-badge{background:var(--line);color:var(--primary);border-radius:99px;padding:6px 9px;font-size:12px;font-weight:600;display:inline-block}.net-value,.student-total-net{color:var(--primary)}.exam-form .form-section-heading-inline{justify-content:space-between;align-items:center;display:flex}.exam-form .form-section-heading-inline>div{align-items:center;gap:14px;display:flex}.exam-subject-list{gap:14px;display:grid}.exam-subject-row{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.net-preview{background:var(--line);color:var(--muted);border-radius:10px;align-self:end;padding:12px;font-size:13px}.net-preview strong{color:var(--primary);margin-top:4px;font-size:18px;display:block}.exam-total{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:20px;padding:18px 4px 0;display:flex}.exam-total span{color:var(--muted);font-size:14px}.exam-total strong{color:var(--primary);font-size:24px}.student-exam-card{margin-bottom:16px}.student-exam-card h2{margin-bottom:4px}.student-exam-subjects{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding-top:16px;display:grid}.student-exam-subjects>div{background:var(--card);border-radius:var(--radius);padding:12px}.student-exam-subjects span{color:var(--ink);font-size:13px;font-weight:600;display:block}.student-exam-subjects small{color:var(--muted);margin:5px 0;font-size:12px;display:block}.student-exam-subjects strong{color:var(--primary);font-size:17px}.latest-exam-panel{margin-bottom:16px}.latest-exam-summary{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-width:0;padding-top:16px;display:flex}.latest-exam-summary>div{flex:auto;min-width:0}.latest-exam-summary strong,.latest-exam-summary span{display:block}.latest-exam-summary span{color:var(--muted);margin-top:4px;font-size:12px}.latest-exam-summary b{color:var(--primary);text-align:right;overflow-wrap:anywhere;flex:0 auto;min-width:0;max-width:100%;font-size:24px}.latest-exam-subjects{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.latest-exam-subjects span{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:8px 10px;font-size:12px}.latest-exam-subjects strong{color:var(--ink);margin-right:6px}@media (width<=760px){.exam-form .form-section-heading-inline{align-items:flex-start;gap:12px}.exam-form .form-section-heading-inline>div{align-items:flex-start}.student-total-net{font-size:18px}.latest-exam-summary{align-items:flex-start;gap:12px}}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:18px;padding:16px 20px;display:flex}.calendar-period,.calendar-toolbar-actions,.view-switcher{align-items:center;display:flex}.calendar-period{gap:12px}.calendar-period>div{text-align:center;min-width:180px}.calendar-period strong,.calendar-period small{display:block}.calendar-period strong{color:var(--ink);font-size:15px}.calendar-period small{color:var(--muted);margin-top:4px;font-size:12px}.calendar-period .icon-button{border:1px solid var(--line);color:var(--muted);border-radius:9px;width:34px;height:34px;font-size:22px}.calendar-toolbar-actions{gap:12px}.view-switcher{background:var(--line);border-radius:10px;padding:3px}.view-switcher a{color:var(--muted);border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600}.view-switcher a.is-active{background:var(--card);box-shadow:none;color:var(--primary)}.calendar-agenda{gap:12px;display:grid}.calendar-agenda.is-week{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day-block{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-width:0;box-shadow:none;overflow:hidden}.calendar-day-block.is-today{border-color:var(--line);box-shadow:none}.calendar-day-block>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 14px;display:flex}.calendar-day-block>header small,.calendar-day-block>header strong{display:block}.calendar-day-block>header small{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:600}.calendar-day-block>header strong{color:var(--ink);margin-top:4px;font-size:14px}.calendar-day-block.is-today>header{background:var(--line)}.calendar-day-block.is-today>header strong{color:var(--primary)}.calendar-day-block>header>span{color:var(--muted);font-size:12px}.calendar-day-events{gap:9px;padding:11px;display:grid}.calendar-event{border:1px solid var(--line);border-left:3px solid var(--primary);color:inherit;background:var(--card);border-radius:10px;align-items:flex-start;gap:8px;min-width:0;padding:10px;transition:transform .18s,box-shadow .18s;display:flex}.calendar-event:hover{box-shadow:none;transform:translateY(-1px)}.event-time{color:var(--primary);flex:none;font-size:12px;font-weight:600;line-height:1.4}.event-content{min-width:0;display:block}.event-content strong,.event-content small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.event-content strong{color:var(--ink);font-size:12px}.event-content small{color:var(--muted);margin-top:4px;font-size:12px}.event-status{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.event-lesson{border-left-color:var(--green)}.event-coaching{border-left-color:var(--orange)}.event-guardian_meeting{border-left-color:var(--coral)}.event-makeup,.event-appointment{border-left-color:var(--primary)}.calendar-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:125px;padding:18px 8px;display:flex}.calendar-empty>span{color:var(--line);font-size:22px}.calendar-empty strong{color:var(--muted);margin-top:8px;font-size:12px}.calendar-empty small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.45}.calendar-month-grid{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.calendar-month-cell{background:var(--card);min-height:145px;padding:10px}.calendar-month-cell.is-outside{background:var(--card)}.calendar-month-cell.is-outside header strong,.calendar-month-cell.is-outside header small{color:var(--line)}.calendar-month-cell.is-today{background:var(--line)}.calendar-month-cell>header{align-items:baseline;gap:7px;margin-bottom:8px;display:flex}.calendar-month-cell>header strong{color:var(--ink);font-size:14px}.calendar-month-cell>header small{color:var(--muted);text-transform:uppercase;font-size:12px}.calendar-month-cell.is-today>header strong{color:var(--primary)}.calendar-event.compact{border-left-width:2px;margin-bottom:5px;padding:5px 6px;display:block}.calendar-event.compact span,.calendar-event.compact strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-event.compact span{color:var(--muted);font-size:12px}.calendar-event.compact strong{color:var(--ink);margin-top:2px;font-size:12px}.calendar-more{color:var(--primary);margin-top:7px;font-size:12px;font-weight:600;display:block}.calendar-form{max-width:980px}.calendar-form .form-hint{margin-top:16px}.calendar-legend{color:var(--muted);font-size:12px}@media (width<=1120px){.calendar-agenda.is-week{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-month-cell{min-height:125px}}@media (width<=767px){.calendar-toolbar{flex-direction:column;align-items:stretch;gap:14px;padding:14px}.calendar-toolbar-actions{justify-content:space-between}.calendar-period>div{flex:1;min-width:0}.calendar-period{width:100%}.calendar-agenda.is-week,.calendar-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-month-cell{min-height:120px}.calendar-month-cell:nth-child(7n+1){grid-column:auto}.calendar-event{padding:9px 8px}.event-status{display:none}}@media (width<=480px){.calendar-agenda.is-week{grid-template-columns:1fr}.calendar-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-month-cell{min-height:108px;padding:8px}.calendar-toolbar-actions{flex-direction:column;align-items:stretch}.view-switcher{justify-content:space-between}.view-switcher a{text-align:center;flex:1}.calendar-period strong{font-size:13px}}.recurrence-until-field{align-content:start}.recurrence-until-field small{color:var(--muted);font-size:11px;font-weight:400}.date-navigation{align-items:center;gap:10px;display:flex}.date-navigation strong{color:var(--ink);text-align:center;min-width:128px;font-size:12px}.attendance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.attendance-summary-grid article{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;padding:17px 18px}.attendance-summary-grid small{color:var(--muted);font-size:12px;display:block}.attendance-summary-grid strong{color:var(--ink);margin-top:8px;font-size:25px;display:block}.attendance-summary-grid .attendance-present{color:var(--green)}.attendance-summary-grid .attendance-absent{color:var(--coral)}.attendance-entry-panel,.attendance-history-panel,.list-panel{margin-bottom:18px}.attendance-form{grid-template-columns:1.2fr 1fr 1fr 1.2fr auto;align-items:end;gap:14px;padding:0 22px 22px;display:grid}.attendance-form label,.meeting-filters label{color:var(--muted);gap:7px;font-size:12px;font-weight:600;display:grid}.attendance-form input,.attendance-form select{min-width:0}.attendance-table-wrap{overflow-x:auto}.attendance-table{min-width:760px}.attendance-table td small,.meetings-table td small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.attendance-status,.meeting-type{white-space:nowrap;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:600;display:inline-flex}.attendance-status.status-present,.attendance-status.status-makeup_completed{background:var(--line);color:var(--green)}.attendance-status.status-absent{background:var(--line);color:var(--coral)}.attendance-status.status-excused,.attendance-status.status-makeup_planned{background:var(--line);color:var(--orange)}.inline-empty{min-height:100px}.meeting-filters{align-items:center;gap:8px;display:flex}.meeting-filters input,.meeting-filters select{min-width:132px}.meeting-type.type-guardian{background:var(--line);color:var(--coral)}.meeting-type.type-student_coaching{background:var(--line);color:var(--orange)}.action-counter{color:var(--ink);font-size:12px}.meeting-detail-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;margin-bottom:18px;display:grid}.meeting-meta-card,.meeting-notes-card{min-width:0}.meeting-note-block{border:1px solid var(--line);border-radius:var(--radius);margin:0 22px 12px;padding:13px 15px}.meeting-note-block small{color:var(--muted);font-size:12px;font-weight:600;display:block}.meeting-note-block p{color:var(--ink);white-space:pre-wrap;margin:7px 0 0;font-size:12px;line-height:1.6}.meeting-actions-panel{margin-bottom:18px}.meeting-action-detail-list{padding:0 22px 22px}.meeting-action-detail{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:9px;padding:12px 13px;display:flex}.meeting-action-detail:last-child{margin-bottom:0}.meeting-action-detail.is-completed{background:var(--card);border-color:var(--line)}.action-check{color:var(--muted);width:20px;font-size:18px}.meeting-action-detail.is-completed .action-check{color:var(--green)}.action-detail-copy{flex:1;min-width:0}.action-detail-copy strong,.action-detail-copy small{display:block}.action-detail-copy strong{color:var(--ink);font-size:12px}.meeting-action-detail.is-completed .action-detail-copy strong{text-decoration:line-through}.action-detail-copy small{color:var(--muted);margin-top:4px;font-size:12px}.meeting-action-detail form{margin:0}.meeting-action-list{padding:0 22px 22px}.meeting-action-row{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:14px}.meeting-action-row:last-child{margin-bottom:0}.meeting-form .form-section-heading-inline{justify-content:space-between;align-items:center;display:flex}.meeting-form .form-section-heading-inline>div{align-items:flex-start;display:flex}.meeting-form .form-section-heading-inline>div>div{padding-left:12px}.meeting-form .form-section-heading-inline .section-number{margin-top:1px}.attendance-history-list{gap:8px;padding:0 22px 22px;display:grid}.attendance-history-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.attendance-history-row:last-child{border-bottom:0}.attendance-history-row strong,.attendance-history-row small{display:block}.attendance-history-row strong{color:var(--ink);font-size:12px}.attendance-history-row small{color:var(--muted);margin-top:4px;font-size:12px}.neutral-badge{background:var(--line);color:var(--muted)}@media (width<=1080px){.attendance-form{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-detail-grid{grid-template-columns:1fr}}@media (width<=767px){.date-navigation{justify-content:space-between;align-self:stretch;width:100%}.date-navigation strong{min-width:0}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-form{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.meeting-filters{flex-direction:column;align-items:stretch;width:100%}.meeting-filters input,.meeting-filters select{width:100%}.meeting-action-detail{flex-wrap:wrap;align-items:flex-start}.meeting-action-detail form{width:calc(100% - 32px);margin-left:32px}.meeting-action-list,.meeting-action-detail-list,.attendance-history-list{padding-left:18px;padding-right:18px}}@media (width<=440px){.attendance-summary-grid strong{font-size:21px}.attendance-summary-grid article{padding:14px}.attendance-history-row{flex-direction:column;align-items:flex-start}.attendance-history-row .attendance-status{align-self:flex-start}}.daily-filter-panel{border:1px solid var(--line);margin-bottom:20px;padding:20px 24px}.daily-filter-form{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.daily-filter-form label{min-width:240px;color:var(--muted);gap:8px;font-size:12px;font-weight:600;display:grid}.daily-filter-form select,.daily-filter-form input{border:1px solid var(--line);background:var(--card);min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:0 14px}.question-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.question-summary-card{border-radius:var(--radius);background:var(--card);min-height:128px;box-shadow:none;padding:22px;position:relative;overflow:hidden}.question-summary-card:after{opacity:.08;content:"";background:currentColor;border-radius:50%;width:96px;height:96px;position:absolute;bottom:-36px;right:-18px}.question-summary-card small,.question-summary-card span{color:var(--muted);font-size:12px;display:block}.question-summary-card strong{color:var(--ink);letter-spacing:-1px;margin:12px 6px 4px 0;font-size:30px;display:inline-block}.question-summary-card.today{color:var(--primary);border-top:3px solid var(--primary)}.question-summary-card.week{color:var(--green);border-top:3px solid var(--green)}.question-summary-card.month{color:var(--orange);border-top:3px solid var(--orange)}.question-summary-card.total{color:var(--coral);border-top:3px solid var(--coral)}.daily-entry-panel{padding:24px}.date-chip{background:var(--line);color:var(--primary);white-space:nowrap;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:600}.subject-question-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.subject-question-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);grid-template-columns:1fr 82px auto;align-items:center;gap:10px;min-height:72px;padding:12px 14px;display:grid}.subject-question-card span strong,.subject-question-card span small{display:block}.subject-question-card span strong{color:var(--ink);font-size:13px}.subject-question-card span small{color:var(--muted);margin-top:3px;font-size:12px}.subject-question-card input{border:1px solid var(--line);text-align:center;width:100%;min-height:40px;color:var(--ink);border-radius:8px;padding:0 8px;font-weight:600}.subject-question-card em{color:var(--muted);font-size:12px;font-style:normal}.daily-entry-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:18px;font-size:13px;display:flex}.daily-entry-footer strong{color:var(--ink)}.daily-entry-footer strong span{color:var(--primary)}.daily-empty-state{text-align:center;padding:72px 24px}.empty-question-mark{border-radius:var(--radius);background:var(--line);width:58px;height:58px;color:var(--primary);place-items:center;margin-bottom:16px;font-size:26px;font-weight:600;display:inline-grid}.daily-empty-state h2{color:var(--ink)}.daily-empty-state p{max-width:500px;color:var(--muted);margin:8px auto 0}@media (width<=980px){.question-summary-grid,.subject-question-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.question-summary-grid,.subject-question-grid{grid-template-columns:1fr}.daily-filter-form label{width:100%;min-width:0}.daily-entry-footer{flex-direction:column;align-items:stretch}}.daily-history-panel{margin-top:18px}.daily-history-list{gap:10px;padding:0 22px 22px;display:grid}.daily-history-day{border-bottom:1px solid var(--line);grid-template-columns:170px minmax(0,1fr);gap:14px;padding:13px 0;display:grid}.daily-history-day>a{color:var(--primary);gap:4px;text-decoration:none;display:grid}.daily-history-day>a strong{font-size:13px}.daily-history-day>a small{color:var(--muted);font-size:12px}.daily-history-day>div{flex-wrap:wrap;gap:7px;display:flex}.daily-history-day>div>span{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:9px;align-items:center;gap:7px;padding:7px 9px;font-size:12px;display:inline-flex}.daily-history-day form{margin:0;display:inline-flex}.daily-history-day button{color:var(--coral);cursor:pointer;background:0 0;border:0;padding:0;font-size:16px;line-height:1}@media (width<=650px){.daily-history-list{padding:0 16px 16px}.daily-history-day{grid-template-columns:1fr;gap:8px}.daily-history-day>div>span{max-width:100%;font-size:12px}}.study-program-form .form-section-heading-inline{justify-content:space-between;align-items:center;display:flex}.study-program-form .form-section-heading-inline>div{align-items:center;gap:14px;display:flex}.program-item-list{gap:14px;display:grid}.program-item-row{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.program-item-row-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.program-item-row-head strong{color:var(--ink);font-size:15px}.remove-program-item{color:var(--coral);cursor:pointer;font:inherit;background:0 0;border:0;font-size:12px}.program-table-wrap{overflow-x:auto}.program-table{border-collapse:collapse;width:100%;min-width:780px}.program-table th{color:var(--muted);letter-spacing:.08em;text-align:left;text-transform:uppercase;padding:0 14px 12px;font-size:12px;font-weight:600}.program-table td{border-top:1px solid var(--line);color:var(--ink);padding:16px 14px;font-size:14px}.program-table td:first-child{color:var(--ink)}.program-table td small,.student-program-item span,.student-program-item small,.program-empty,.program-empty-state{color:var(--muted);margin-top:5px;font-size:12px;display:block}.program-count{background:var(--line);color:var(--primary);text-align:center;border-radius:99px;min-width:28px;padding:5px 8px;font-weight:600;display:inline-block}.program-empty{text-align:center;padding:30px}.program-empty strong,.program-empty-state strong{color:var(--ink);font-size:15px;display:block}.student-program-day{margin-bottom:16px}.student-program-list{display:grid}.student-program-item{border-top:1px solid var(--line);grid-template-columns:72px 1fr auto;align-items:center;gap:16px;padding:16px 4px;display:grid}.student-program-item:first-child{border-top:0}.program-time{color:var(--primary);font-size:14px;font-weight:600}.program-item-main strong{color:var(--ink);font-size:15px;display:block}.program-target{text-align:right}.program-target strong{color:var(--ink);font-size:14px;display:block}.program-target span{color:var(--muted);font-size:12px}.program-empty-state{text-align:center;padding:56px 24px}.student-program-day .date-chip{white-space:nowrap}@media (width<=760px){.study-program-form .form-section-heading-inline{align-items:flex-start;gap:12px}.study-program-form .form-section-heading-inline>div{align-items:flex-start}.student-program-item{grid-template-columns:54px 1fr;gap:10px}.program-target{text-align:left;grid-column:2}.program-table{min-width:680px}}.finance-table .table-link{flex-direction:column;gap:4px;display:flex}.finance-table .table-link strong{color:var(--ink)}.finance-table .table-link small{color:var(--muted);font-size:12px}.paid-value{color:var(--green)}.remaining-value{color:var(--orange)}.finance-status{border-radius:99px;padding:6px 9px;font-size:12px;font-weight:600;display:inline-block}.finance-status.paid{background:var(--line);color:var(--green)}.finance-status.pending{background:var(--warning-soft);color:var(--orange)}.finance-status.overdue{background:var(--line);color:var(--coral)}.finance-net-preview,.installment-total{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;margin-top:18px;padding:15px 17px;display:flex}.finance-net-preview span,.installment-total span{color:var(--muted);font-size:13px}.finance-net-preview strong,.installment-total strong{color:var(--primary);font-size:21px}.installment-list{gap:14px;display:grid}.installment-row{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.installment-total{background:var(--card);border-color:var(--line);flex-wrap:wrap}.installment-total small{color:var(--muted);font-size:12px}.installment-total small.is-ready{color:var(--green)}.installment-total small.is-warning{color:var(--coral)}.finance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.finance-summary-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.finance-summary-card small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600;display:block}.finance-summary-card strong{color:var(--ink);margin-top:9px;font-size:22px;display:block}.finance-summary-card.paid strong{color:var(--green)}.finance-summary-card.remaining strong{color:var(--orange)}.finance-summary-card.overdue strong{color:var(--coral)}.installment-panel{margin-bottom:18px}.installment-detail-list{gap:12px;display:grid}.installment-detail{border:1px solid var(--line);border-radius:var(--radius);padding:16px}.installment-detail.is-overdue{border-color:var(--line);background:var(--card)}.installment-detail-head{justify-content:space-between;align-items:center;display:flex}.installment-detail-head>div:last-child{text-align:right}.installment-detail-head strong,.installment-detail-head span{display:block}.installment-detail-head strong{color:var(--ink);font-size:14px}.installment-detail-head span{color:var(--muted);margin-top:4px;font-size:12px}.payment-list{border-top:1px solid var(--line);gap:7px;margin-top:14px;padding-top:12px;display:grid}.payment-list div{justify-content:space-between;display:flex}.payment-list span{color:var(--muted);font-size:12px}.payment-list strong{color:var(--green);font-size:12px}.payment-form{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr 1.3fr auto;align-items:end;gap:10px;margin-top:14px;padding-top:14px;display:grid}.payment-form label{color:var(--muted);flex-direction:column;gap:5px;font-size:12px;display:flex}.payment-form input,.payment-form select{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:9px;font-size:12px}@media (width<=850px){.finance-summary-grid,.payment-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.finance-summary-grid{grid-template-columns:1fr}.installment-detail-head{align-items:flex-start;gap:14px}.payment-form{grid-template-columns:1fr}}.reports-page{max-width:1180px}.report-filter-panel{margin-bottom:18px}.report-filters{grid-template-columns:1.5fr 1fr 1fr auto;align-items:end;gap:14px;padding:0 22px 22px;display:grid}.report-filters label{color:var(--muted);gap:7px;font-size:12px;font-weight:600;display:grid}.report-hero{background:var(--surface-subtle);border:1px solid var(--primary-soft);border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:18px;padding:22px;display:flex}.report-hero h2{color:var(--ink);margin:5px 0;font-size:22px}.report-actions{gap:8px;display:flex}.report-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.report-stat-grid article{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;padding:17px 18px}.report-stat-grid small,.report-stat-grid span{color:var(--muted);font-size:12px;display:block}.report-stat-grid strong{color:var(--ink);margin:8px 0;font-size:25px;display:block}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.report-card{min-width:0}.report-bars,.resource-report-list,.missing-topic-list,.net-trend-list{padding:0 22px 22px}.report-bar-row{grid-template-columns:110px 1fr 48px;align-items:center;gap:9px;margin-bottom:13px;display:grid}.report-bar-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.report-bar-row>div{background:var(--line);border-radius:8px;height:8px;overflow:hidden}.report-bar-row i{background:var(--primary);border-radius:8px;min-width:2px;height:100%;display:block}.report-bar-row strong{color:var(--ink);text-align:right;font-size:12px}.net-trend-list{gap:10px;padding-bottom:22px;display:flex;overflow-x:auto}.net-trend-list>div{background:var(--line);border:1px solid var(--line);border-radius:10px;min-width:90px;padding:11px}.net-trend-list span,.net-trend-list small{color:var(--muted);font-size:12px;display:block}.net-trend-list strong{color:var(--primary);margin:8px 0 5px;font-size:18px;display:block}.net-trend-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resource-report-list>div{grid-template-columns:1fr 44px;gap:8px;margin-bottom:13px;display:grid;position:relative}.resource-report-list span{min-width:0}.resource-report-list strong,.resource-report-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.resource-report-list strong{color:var(--ink);font-size:12px}.resource-report-list small{color:var(--muted);margin-top:4px;font-size:12px}.resource-report-list b{color:var(--primary);text-align:right;font-size:12px}.resource-report-list i{background:var(--line);border-radius:8px;grid-column:1/-1;height:7px;display:block;overflow:hidden}.resource-report-list em{background:var(--primary);border-radius:8px;height:100%;display:block}.missing-topic-list{flex-wrap:wrap;gap:7px;display:flex}.missing-topic-list span{background:var(--line);border:1px solid var(--line);color:var(--orange);border-radius:8px;padding:7px 9px;font-size:12px}.report-empty-inline{color:var(--muted);padding:18px 0;font-size:12px}.export-panel{margin-bottom:18px}.export-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 22px 22px;display:grid}.export-groups>div{border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:12px;display:flex}.export-groups strong{color:var(--ink);font-size:12px}.export-groups span{gap:6px;display:flex}.report-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;margin-bottom:18px;display:flex}.report-empty-state>span{color:var(--line);font-size:34px}.report-empty-state h2{color:var(--ink);margin:12px 0 5px;font-size:16px}.report-empty-state p{color:var(--muted);margin:0;font-size:12px}@media (width<=980px){.report-filters,.report-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-groups{grid-template-columns:1fr}}@media (width<=767px){.report-hero{flex-direction:column;align-items:flex-start;gap:16px;padding:18px}.report-actions{width:100%}.report-filters{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.report-grid{grid-template-columns:1fr}.report-stat-grid{gap:10px}.report-stat-grid article{padding:14px}.report-stat-grid strong{font-size:21px}.report-bars,.resource-report-list,.missing-topic-list,.net-trend-list,.export-groups{padding-left:18px;padding-right:18px}.report-bar-row{grid-template-columns:90px 1fr 40px}}.archive-inline-form{margin:0;display:inline-flex}.report-archives-panel{margin-top:18px}.archive-list{padding:0 22px 10px;display:grid}.archive-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.archive-row>span:first-child{gap:4px;min-width:0;display:grid}.archive-row strong{color:var(--ink);font-size:13px}.archive-row small{color:var(--muted);font-size:12px}.archive-actions{flex:none;align-items:center;gap:10px;display:flex}.archive-actions form{margin:0}.archive-note{margin-bottom:18px;padding:18px 22px}.archive-note strong{font-size:13px}.archive-note p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.6}@media (width<=700px){.report-hero .report-actions{grid-template-columns:1fr;width:100%;display:grid}.archive-inline-form{justify-content:center;width:100%}.archive-row{flex-direction:column;align-items:flex-start}.archive-actions{justify-content:flex-end;width:100%}}.settings-page{max-width:1200px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-card{padding:24px}.settings-card:nth-child(3){grid-column:span 2}.settings-card-heading{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.settings-card-heading h2{margin:0 0 5px;font-size:18px}.settings-card-heading p{color:var(--muted,var(--muted));margin:0;font-size:13px}.settings-icon{border-radius:var(--radius);background:var(--line);width:40px;height:40px;color:var(--primary);flex:none;place-items:center;font-size:20px;display:grid}.setting-toggle{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.setting-toggle input{width:18px;height:18px;accent-color:var(--primary);margin-top:2px}.setting-toggle span{gap:4px;display:grid}.setting-toggle strong{font-size:14px}.setting-toggle small{color:var(--muted,var(--muted));font-size:13px}@media (width<=800px){.settings-grid{grid-template-columns:1fr}.settings-card:nth-child(3){grid-column:auto}}@media (width<=560px){.settings-card{padding:18px}}.backup-settings-link{justify-content:flex-end;margin:-8px 0 18px;display:flex}.backup-grid{align-items:stretch}.backup-restore-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.backup-list-panel{margin-top:20px}.backup-list{gap:0;display:grid}.backup-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.backup-row>span{grid-template-columns:20px 1fr;align-items:center;column-gap:9px;min-width:0;display:grid}.backup-row>span .ui-icon{opacity:.65;grid-row:span 2;width:18px;height:18px}.backup-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.backup-row small{color:var(--muted);font-size:11px}@media (width<=560px){.backup-settings-link{justify-content:stretch}.backup-settings-link .button{width:100%}.backup-row{flex-direction:column;align-items:flex-start}.backup-row .button{width:100%}}.account-section{border-color:var(--primary-soft);background:var(--surface-subtle)}.account-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.account-toggle input{accent-color:var(--primary);margin-top:3px}.account-toggle strong,.account-toggle small{display:block}.account-toggle strong{color:var(--ink);font-size:13px}.account-toggle small{color:var(--muted);margin-top:5px;font-size:12px}.account-credentials{border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;padding:16px;display:grid}.account-credentials label{color:var(--muted);gap:7px;font-size:12px;font-weight:600;display:grid}.account-credentials input{border:1px solid var(--line);background:var(--card);border-radius:8px;min-height:40px;padding:0 10px}.account-credentials .form-hint{grid-column:1/-1;margin:0}.linked-account-row{border-radius:var(--radius);background:var(--line);align-items:flex-start;gap:12px;padding:14px;display:flex}.linked-account-row strong,.linked-account-row small{display:block}.linked-account-row strong{color:var(--ink)}.linked-account-row small{color:var(--muted);margin-top:5px;font-size:12px}.account-status-dot{background:var(--green);width:10px;height:10px;box-shadow:none;border-radius:50%;flex:0 0 10px;margin-top:5px}.portal-kicker{color:var(--muted);font-size:13px;font-weight:600}.portal-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:20px;display:grid}.portal-homework-panel,.portal-note-panel{padding:24px}.portal-homework-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:15px 0;display:flex}.portal-homework-row:last-child{border-bottom:0}.homework-dot{background:var(--orange);width:10px;height:10px;box-shadow:none;border-radius:50%;flex:0 0 10px}.portal-homework-row div{flex:1;min-width:0}.portal-homework-row strong,.portal-homework-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.portal-homework-row strong{color:var(--ink);font-size:13px}.portal-homework-row small{color:var(--muted);margin-top:4px;font-size:12px}.portal-due{color:var(--muted);white-space:nowrap;font-size:12px}.portal-empty{color:var(--ink);gap:5px;padding:30px 0 10px;display:grid}.student-today-program,.latest-exam-panel,.portal-grid>.panel{height:auto;min-height:0}.portal-empty small{color:var(--muted)}.portal-spark{background:var(--warning-soft);width:34px;height:34px;color:var(--orange);border-radius:10px;place-items:center;display:grid}.portal-note-body{padding-top:24px}.portal-note-body>strong{color:var(--primary);font-size:32px}.portal-note-body p{max-width:240px;color:var(--muted);margin:10px 0 24px;font-size:13px;line-height:1.6}.student-daily-panel{margin-top:20px}@media (width<=900px){.account-credentials,.portal-grid{grid-template-columns:1fr}}.portal-grid{margin-top:20px}.homework-title-link{color:var(--ink);text-decoration:none}.homework-title-link:hover{color:var(--primary)}.homework-dot.is-complete{background:var(--green);box-shadow:none}.portal-homework-status{border-radius:var(--radius);white-space:nowrap;padding:5px 8px;font-size:12px;font-weight:600}.portal-homework-status.is-complete{background:var(--line);color:var(--green)}.portal-homework-status.is-pending{background:var(--warning-soft);color:var(--orange)}.homework-detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px;display:grid}.homework-info-panel,.homework-submit-panel,.homework-files-panel{padding:24px}.homework-symbol{background:var(--line);color:var(--coral);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.homework-status{border-radius:var(--radius);padding:9px 13px;font-size:12px;font-weight:600}.homework-status.is-complete{background:var(--line);color:var(--green)}.homework-status.is-pending{background:var(--warning-soft);color:var(--orange)}.homework-meta{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:20px 0;display:grid}.homework-meta div{min-width:0}.homework-meta dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:600}.homework-meta dd{color:var(--ink);margin:5px 0 0;font-size:14px;font-weight:600}.homework-copy,.homework-note{padding-top:20px}.homework-copy h3{color:var(--ink);margin:0 0 7px;font-size:13px}.homework-copy p,.homework-note p{color:var(--muted);white-space:pre-line;margin:0;font-size:13px;line-height:1.7}.homework-note{background:var(--line);border-radius:var(--radius);margin-top:18px;padding:14px}.homework-note strong{color:var(--orange);font-size:12px}.homework-note p{color:var(--primary);margin-top:6px;font-size:12px}.homework-file-link{color:var(--primary);margin-top:20px;font-size:12px;font-weight:600;display:inline-flex}.homework-submit-form{gap:16px;display:grid}.homework-submit-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:600;display:grid}.homework-submit-form textarea,.homework-submit-form input[type=file]{background:var(--card);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:9px;padding:11px;font-size:12px}.homework-submit-form textarea{resize:vertical;line-height:1.5}.homework-submit-form textarea:focus,.homework-submit-form input[type=file]:focus{border-color:var(--primary);box-shadow:none;outline:0}.homework-submit-form small{color:var(--muted);font-size:12px;font-weight:500}.homework-completed-at{color:var(--muted);margin:0;font-size:12px}.homework-files-panel{margin-top:20px}.homework-file-list{gap:8px;display:grid}.homework-file-row{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}.homework-file-row:hover{border-color:var(--line);background:var(--card)}.homework-file-type{background:var(--line);color:var(--primary);border-radius:8px;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:34px;font-size:12px;font-weight:600;display:flex}.homework-file-row span:nth-child(2){flex:1;min-width:0}.homework-file-row strong,.homework-file-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.homework-file-row strong{color:var(--ink);font-size:12px}.homework-file-row small{color:var(--muted);margin-top:4px;font-size:12px}.homework-file-row b{color:var(--primary);font-size:16px}@media (width<=900px){.homework-detail-grid{grid-template-columns:1fr}}@media (width<=600px){.homework-info-panel,.homework-submit-panel,.homework-files-panel{padding:18px}.homework-meta{grid-template-columns:1fr 1fr}.homework-status{align-self:flex-start}.homework-file-row strong{max-width:190px}}.guardian-avatar{background:var(--surface-subtle)}.child-switcher{margin-top:4px}.child-switcher label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;gap:7px;font-size:12px;font-weight:600;display:flex}.child-switcher select{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:11px 32px 11px 12px;font-size:13px;font-weight:600}.guardian-child-banner{background:var(--surface-subtle);border:1px solid var(--warning-soft);border-radius:var(--radius);align-items:center;gap:13px;margin-bottom:18px;padding:16px 18px;display:flex}.guardian-child-banner>div:nth-child(2){flex-direction:column;flex:1;gap:4px;display:flex}.guardian-child-banner strong{color:var(--ink);font-size:15px}.guardian-dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;display:grid}.guardian-homework-row{border-top:1px solid var(--line);align-items:center;gap:11px;padding:14px 4px;display:flex}.guardian-homework-row>div{flex-direction:column;flex:1;gap:4px;display:flex}.guardian-homework-row strong{color:var(--ink);font-size:13px}.guardian-homework-row small,.guardian-status{color:var(--muted);font-size:12px}.guardian-exam-summary{border-top:1px solid var(--line);gap:5px;padding-top:18px;display:grid}.guardian-exam-summary strong{color:var(--ink);font-size:14px}.guardian-exam-summary b{color:var(--primary);font-size:27px}.guardian-exam-summary small{color:var(--muted);font-size:12px}@media (width<=760px){.child-switcher,.child-switcher select{width:100%}.guardian-child-banner{flex-wrap:wrap;align-items:flex-start}.guardian-dashboard-grid{grid-template-columns:1fr}}.guardian-finance-summary{margin-top:18px}.guardian-finance-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:18px;display:grid}.guardian-finance-grid>div{background:var(--card);border-radius:10px;padding:12px}.guardian-finance-grid small{color:var(--muted);font-size:12px;display:block}.guardian-finance-grid strong{color:var(--ink);margin-top:6px;font-size:16px;display:block}.guardian-finance-grid .finance-good{color:var(--green)}.guardian-finance-grid .finance-alert{color:var(--coral)}@media (width<=760px){.guardian-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.notifications-page{max-width:1060px}.notification-top-link{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.notification-top-link span{background:var(--primary);color:var(--card);border-radius:10px;padding:3px 6px;font-size:12px}.notification-list-panel{margin-bottom:18px}.notification-list{gap:9px;padding:0 22px 22px;display:grid}.notification-card{margin:0}.notification-card button{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;align-items:center;gap:12px;width:100%;padding:14px 15px;display:flex}.notification-card button:hover{border-color:var(--line);box-shadow:none}.notification-card.is-unread button{background:var(--line);border-color:var(--primary-soft)}.notification-symbol{background:var(--line);color:var(--primary);border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;display:flex}.notification-symbol-homework-assigned{background:var(--line);color:var(--green)}.notification-symbol-study-program-created{background:var(--line);color:var(--orange)}.notification-symbol-meeting-created{background:var(--line);color:var(--coral)}.notification-copy{flex:1;min-width:0}.notification-copy strong,.notification-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.notification-copy strong{color:var(--ink);font-size:12px}.notification-copy small{color:var(--muted);margin-top:5px;font-size:12px}.notification-arrow{color:var(--primary);font-size:17px}.notification-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:230px;display:flex}.notification-empty>span{color:var(--line);font-size:25px}.notification-empty strong{color:var(--muted);margin-top:10px;font-size:12px}.notification-empty small{color:var(--muted);margin-top:5px;font-size:12px}@media (width<=767px){.notification-list{padding-left:18px;padding-right:18px}.notification-top-link{display:none}.notification-card button{padding:12px}.notification-copy strong,.notification-copy small{font-size:12px}}}@layer components{.page-content>*,.panel,.form-section,.page-heading>div,.panel-header>div,form,label,.form-grid,.topic-copy{min-width:0}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.eyebrow{color:var(--muted);letter-spacing:.14em;margin:0 0 9px;font-size:10px;font-weight:600}.heading-copy{max-width:680px;color:var(--muted);margin:0;font-size:13px}.heading-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.heading-actions{padding-top:12px}.form-actions{justify-content:flex-end}.button{border-radius:var(--radius-sm);text-align:center;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 14px;font-size:12px;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.button .ui-icon{flex-basis:16px;width:16px;height:16px}.button-primary{background:var(--primary);color:#fff}.button-primary .ui-icon{filter:brightness(0)invert()}.button-primary:hover{background:var(--primary-dark)}.button-secondary{color:var(--ink);background:var(--card);border-color:var(--line)}.button-secondary:hover{background:var(--surface-subtle);border-color:#abbccd}.button-danger{color:var(--coral);background:var(--danger-soft);border-color:#efd6d3}.panel,.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.panel{min-width:0;margin-bottom:18px}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 16px;display:flex}.panel-header h2{font-size:16px;font-weight:var(--weight-heading);margin:0 0 4px}.panel-header p{color:var(--muted);margin:0;font-size:12px}.panel-link{border-top:1px solid var(--line);color:var(--primary);justify-content:flex-end;padding:14px 20px;font-size:12px;font-weight:600;display:flex}.text-link,.table-link:hover{color:var(--primary)}.text-link{font-size:12px;font-weight:600}.table-wrap,.program-table-wrap,.attendance-table-wrap{overscroll-behavior-x:contain;border-radius:0 0 var(--radius) var(--radius);width:100%;min-width:0;max-width:100%;overflow-x:auto}.table-scroll-note{color:var(--muted);text-align:right;margin:0;padding:9px 16px 12px;font-size:11px;display:none}table{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%}.student-table,.finance-table,.attendance-table{min-width:760px}th{background:var(--surface-subtle);color:var(--muted);letter-spacing:.05em;white-space:nowrap;padding:12px 18px;font-size:11px;font-weight:600}td{border-top:1px solid var(--line);color:var(--ink);vertical-align:middle;padding:15px 18px;font-size:13px}.student-table th:first-child,.student-table td:first-child{z-index:2;background:var(--card);position:sticky;left:0;box-shadow:7px 0 10px -12px #142b438c}.student-table th:first-child{z-index:4;background:var(--surface-subtle)}.student-table th:last-child,.student-table td:last-child{z-index:2;background:var(--card);position:sticky;right:0;box-shadow:-7px 0 10px -12px #142b438c}.student-table th:last-child{z-index:4;background:var(--surface-subtle)}tbody tr:hover{background:#fafcfe}td strong,td small{display:block}td small{color:var(--muted);margin-top:3px;font-size:12px}td .button{white-space:nowrap}.student-cell{align-items:center;gap:11px;min-width:180px;display:flex}.student-cell>span:last-child{min-width:0}.student-cell strong,.table-main{font-size:13px;font-weight:600}.student-cell strong{overflow-wrap:anywhere;max-width:280px}.table-stack{gap:3px;display:grid}.student-filters,.curriculum-filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 20px;display:flex}.curriculum-filters{margin-bottom:20px}.student-filters label,.curriculum-filters label{color:var(--muted);flex:140px;gap:6px;font-size:12px;display:grid}.student-filters .filter-search{border:0;flex:2 240px;align-items:center;min-width:0;padding:0;display:flex}.filter-search>span:not(.sr-only){display:none}.filter-search input,.student-filters select,.curriculum-filters select{width:100%}.student-filters .button{min-height:42px}.student-summary,.resource-summary{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:20px;padding:18px 20px;display:flex}.student-summary>div{align-items:center;gap:12px;min-width:0;display:flex}.student-summary>div+div{border-left:1px solid var(--line);padding-left:24px}.student-summary small{color:var(--muted);font-size:12px;display:block}.student-summary strong{font-size:24px}.student-summary p{color:var(--muted);margin:0 0 0 auto;font-size:12px}.summary-icon{width:36px;height:36px;color:var(--primary);background:var(--primary-soft);border-radius:8px;place-items:center;display:grid}.status-pill,.status-badge,.active-topic-badge{max-width:100%;color:var(--primary);background:var(--primary-soft);border-radius:5px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.is-active,.success-badge{color:var(--green);background:var(--success-soft)}.is-inactive,.neutral-badge{color:var(--muted);background:var(--surface-subtle)}.inline-delete{display:inline}.row-action{border:1px solid var(--line);min-width:36px;min-height:36px;color:var(--primary);cursor:pointer;background:#fff;border-radius:5px;place-items:center;padding:5px;display:inline-grid}.row-action-danger{color:var(--coral)}.flash-success,.flash-error{border-radius:var(--radius-sm);overflow-wrap:anywhere;border:1px solid;margin-bottom:18px;padding:12px 16px;font-size:13px}.flash-success{background:var(--success-soft);color:var(--green);border-color:#c9e2d2}.flash-error{background:var(--danger-soft);color:var(--coral);border-color:#efd6d3}.student-form{gap:18px;display:grid}.student-form .panel{margin-bottom:0}.form-section,.detail-content{padding:24px}.form-section-heading{align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.form-section-heading h2{margin-bottom:4px;font-size:17px}.form-section-heading p,.form-hint{color:var(--muted);margin:0;font-size:12px}.form-section-heading-inline{flex-wrap:wrap;justify-content:space-between}.section-number{width:30px;height:30px;color:var(--primary);background:var(--primary-soft);border-radius:6px;flex:0 0 30px;place-items:center;font-size:12px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.form-grid label{color:var(--ink);font-weight:var(--weight-label);flex-direction:column;gap:7px;font-size:12px;display:flex}.form-grid input,.form-grid textarea,.form-grid select{width:100%;font-size:14px}.form-grid input[type=checkbox],.form-grid input[type=radio]{width:17px}.full-width{grid-column:1/-1}.inline-search{flex-wrap:wrap;gap:8px;max-width:100%;display:flex}.inline-search input{flex:160px;min-width:0}.empty-state,.empty-dashboard-state,.program-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;padding:28px 20px;display:flex}.empty-state>span{color:var(--primary)}.empty-state strong,.empty-dashboard-state strong{color:var(--ink);font-size:14px}.empty-state p,.empty-dashboard-state small{max-width:400px;color:var(--muted);margin:0;font-size:12px}.empty-state .button{margin-top:8px}.detail-list dd,.profile-hero h2,.academic-note,.heading-copy,.topic-copy,.modern-subtopics,.guardian-child-banner,.portal-homework-row{overflow-wrap:anywhere}.profile-hero{background:var(--card);border-top:3px solid var(--primary);min-height:160px}.profile-avatar{width:64px;height:64px;font-size:21px}.profile-hero>div{min-width:0}.detail-list{margin:0 20px 20px}.detail-list dt{font-size:12px}.detail-list dd{max-width:65%;font-size:13px}.academic-context{border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:var(--radius);background:#fff;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:20px;padding:18px 20px;display:flex}.academic-context>div{flex:160px;min-width:0}.academic-context small,.academic-context strong{display:block}.academic-context small{color:var(--muted);margin-bottom:4px}.progress-indicator{min-width:120px;color:var(--primary);align-items:center;gap:9px;font-size:12px;display:inline-flex}.progress-indicator progress{appearance:none;width:90px;height:6px;color:var(--primary);background:var(--line);border:0;border-radius:4px;overflow:hidden}progress::-webkit-progress-bar{background:var(--line);border-radius:4px}progress::-webkit-progress-value{background:var(--primary);border-radius:4px}progress::-moz-progress-bar{background:var(--primary)}.progress-indicator.is-complete{color:var(--green)}.is-complete progress::-webkit-progress-value{background:var(--green)}.is-complete progress::-moz-progress-bar{background:var(--green)}.progress-indicator.is-pending{color:var(--muted)}.curriculum-stats{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.8fr)}.curriculum-stat-note{background:var(--surface-subtle);display:block}.curriculum-workspace{grid-template-columns:250px minmax(0,1fr)}.workspace-header{flex-wrap:wrap}.subject-rail-item strong{font-weight:600}.modern-topic summary{min-width:0}.topic-index,.subtopic-check{flex-shrink:0}.modern-subtopics>div{flex-wrap:wrap;min-width:0}.progress-edit{grid-template-columns:76px minmax(100px,1fr) auto;align-items:center;gap:8px;width:min(100%,380px);display:grid}.progress-row{flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0;display:flex}.progress-row .progress-copy{flex:180px}.progress-copy small{display:block}.progress-subject{margin-bottom:20px;padding:20px}.progress-subject .modern-subtopics{margin-left:0}.progress-page .curriculum-filters{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.progress-history{margin-top:22px;padding:20px}.history-copy{flex:1}.history-copy small{display:block}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.pagination-row{border-top:1px solid var(--line);justify-content:flex-end;padding:16px 20px;display:flex}.pagination-row nav{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.pagination-row a,.pagination-row span[aria-current]{border:1px solid var(--line);border-radius:5px;padding:6px 10px;display:inline-flex}.pagination-row svg{width:16px;height:16px}.toast{z-index:80;right:20px;bottom:max(20px, env(safe-area-inset-bottom));max-width:calc(100vw - 40px);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-floating);opacity:0;pointer-events:none;background:#fff;padding:14px 18px;position:fixed}.toast.show{opacity:1}.app-shell{min-height:100dvh}.skip-link{z-index:100;color:#fff;background:var(--primary);border-radius:var(--radius);padding:12px 18px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.sidebar{z-index:60;width:var(--sidebar);color:#c0cede;background:var(--navy);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3c5068 transparent;flex-direction:column;padding:24px 16px 16px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand-row{justify-content:space-between;align-items:center;padding:0 12px 26px;display:flex}.brand{color:#fff;align-items:center;gap:12px;display:flex}.brand-logo{object-fit:contain;object-position:center;mix-blend-mode:screen;background:0 0;border-radius:5px;width:142px;height:78px;display:block}.brand-mark{color:#fff;border:1px solid #52647a;border-radius:6px;place-items:center;width:38px;height:42px;font-size:27px;font-weight:600;display:grid}.brand-word{letter-spacing:.12em;font-size:21px;font-weight:600;display:block}.brand small{color:#a7b9cd;letter-spacing:.17em;margin-top:1px;font-size:9px;display:block}.main-nav{flex-direction:column;gap:3px;display:flex}.nav-label{color:#94a9c1;letter-spacing:.12em;margin:22px 12px 9px;font-size:10px;font-weight:600}.nav-label:first-child{margin-top:0}.nav-item{color:#c0cede;min-height:38px;font-size:13px;font-weight:var(--weight-label);border-radius:6px;align-items:center;gap:11px;padding:8px 12px;line-height:1.4;display:flex}.nav-item>span{min-width:0}.sidebar .ui-icon{filter:brightness(0)invert();opacity:.65;flex-basis:18px;width:18px;height:18px}.nav-item:hover{color:#fff;background:var(--navy-raised)}.nav-item.active{color:#fff;background:#294465;box-shadow:inset 3px 0 #a5c5ed}.nav-item.active .ui-icon{opacity:1}.nav-active-dot{background:#ddad79;border-radius:50%;flex:0 0 5px;width:5px;height:5px;margin-left:auto}.sidebar-footer{align-items:flex-start;gap:10px;margin-top:auto;padding:24px 12px 4px;font-size:12px;display:flex}.sidebar-footer small{color:#9aadc3;margin-top:2px;font-size:11px;display:block}.workspace-dot{background:#79b595;border-radius:50%;width:6px;height:6px;margin-top:6px}.main-content{margin-left:var(--sidebar);min-width:0;min-height:100dvh}.topbar{z-index:30;min-height:var(--topbar);background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:10px 32px;display:flex;position:sticky;top:0}.topbar-left,.topbar-actions{align-items:center;gap:20px;min-width:0;display:flex}.topbar-left{flex:1}.topbar-actions{flex:none;gap:12px;position:relative}.workspace-label{color:var(--muted);white-space:nowrap;font-size:12px}.search-box{flex:1;align-items:center;gap:8px;min-width:0;max-width:300px;display:flex}.search-box .ui-icon{opacity:.55;flex-basis:17px;width:17px;height:17px}.search-box input[type=search]{background:0 0;border:0;width:100%;min-height:36px;padding:6px 0;font-size:12px}kbd{border:1px solid var(--line);color:var(--muted);font:10px var(--font-ui);white-space:nowrap;border-radius:4px;padding:1px 5px}.icon-button{background:0 0;border:0;border-radius:6px;flex:0 0 40px;place-items:center;width:40px;height:40px;padding:0;display:inline-grid}.icon-button:hover{background:var(--primary-soft)}.sidebar .icon-button:hover{background:var(--navy-raised)}.menu-toggle,.sidebar-close{display:none}.topbar-divider{background:var(--line);width:1px;height:26px}.user-menu{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.user-menu>.ui-icon{opacity:.6;flex-basis:14px;width:14px;height:14px}.avatar,.student-avatar{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:8px;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.user-photo{object-fit:cover}.user-copy{max-width:180px;display:grid}.user-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:var(--weight-heading);overflow:hidden}.user-copy small{color:var(--muted);font-size:10px}.popover{z-index:70;border:1px solid var(--line);border-radius:var(--radius);width:min(260px,100vw - 32px);max-height:calc(100dvh - 90px);box-shadow:var(--shadow-floating);background:#fff;padding:6px;position:absolute;top:calc(100% + 16px);right:0;overflow:auto}.popover-title,.popover a,.logout-button{overflow-wrap:anywhere;padding:10px 12px;font-size:13px;display:block}.popover-title{border-bottom:1px solid var(--line)}.popover a:hover{background:var(--primary-soft);border-radius:5px}.logout-button{text-align:left;width:100%;color:var(--coral);background:0 0;border:0}.page-content{min-width:0;max-width:1600px;margin:0 auto;padding:30px 32px 24px}.page-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:24px;padding-top:18px;font-size:11px;display:flex}.sidebar-backdrop{z-index:50;background:#0d1c2d73;position:fixed;inset:0}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{min-width:0;padding:18px 20px}.stat-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.stat-top p{color:var(--muted);margin:0;font-size:12px}.stat-icon{background:var(--primary-soft);border-radius:7px;flex:none;place-items:center;width:32px;height:32px;display:grid}.stat-icon .ui-icon{width:17px;height:17px}.tone-orange{background:var(--warning-soft)}.tone-green{background:var(--success-soft)}.stat-card>strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:30px;font-weight:600;line-height:1.2;display:block}.stat-card>small{color:var(--muted);margin-top:9px;font-size:11px;display:block}.dashboard-grid,.lower-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;display:grid}.dashboard-grid .panel,.lower-grid .panel{margin-bottom:20px}.task-list,.focus-list{padding:0 20px}.task-row,.focus-row{border-top:1px solid var(--line);align-items:center;gap:14px;padding:16px 0;display:flex}.task-time{min-width:45px;color:var(--primary);font-variant-numeric:tabular-nums;align-self:flex-start;font-size:12px;font-weight:600}.task-copy,.focus-main{flex:1;min-width:0;display:grid}.task-copy strong,.focus-main strong{overflow-wrap:anywhere;font-size:13px}.task-copy small,.focus-main small{color:var(--muted);margin-top:4px;font-size:12px}.task-arrow{color:var(--muted)}.focus-count{color:var(--orange);background:var(--warning-soft);white-space:nowrap;border-radius:5px;padding:5px 9px;font-size:11px}.attendance-body{flex-wrap:wrap;align-items:center;gap:24px;padding:8px 20px 24px;display:flex}.donut{background:conic-gradient(var(--green) 0 var(--attendance-rate,0%), var(--line) var(--attendance-rate,0%) 100%);border-radius:50%;flex:0 0 116px;place-items:center;width:116px;height:116px;display:grid;position:relative}.donut:before{content:"";background:#fff;border-radius:50%;width:94px;height:94px;position:absolute}.donut>div{z-index:1;text-align:center;display:grid}.donut strong{font-size:24px}.donut small{color:var(--muted);font-size:11px}.attendance-legend{color:var(--muted);gap:8px;font-size:12px;display:grid}.legend-dot{background:var(--line);border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.present{background:var(--green)}.absent{background:var(--orange)}.section-caption{color:var(--muted);letter-spacing:.12em;align-items:center;gap:10px;margin-bottom:14px;font-size:10px;font-weight:600;display:flex}.section-caption:after{content:"";background:var(--line);flex:1;height:1px}.progress-overview{flex-wrap:wrap;align-items:center;gap:16px;padding:12px 20px 24px;display:flex}.progress-overview>strong{letter-spacing:-.04em;font-size:42px;font-weight:500}.progress-overview>div{flex:1;min-width:140px}.progress-overview p{color:var(--muted);margin:8px 0 0;font-size:12px}.progress-overview .progress-indicator{width:100%}.progress-overview progress{flex:1}.dashboard-callout{border-radius:var(--radius);background:#fdf8f1;border:1px solid #ecdcc9;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:24px;padding:14px 18px;display:flex}.dashboard-callout>div{flex:1;min-width:180px}.dashboard-callout strong{font-size:13px}.dashboard-callout p{color:var(--muted);margin:3px 0 0;font-size:12px}.auth-shell{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100dvh;display:grid}.auth-visual{color:#fff;background:var(--navy);flex-direction:column;justify-content:space-between;min-height:100dvh;padding:clamp(32px,5vw,76px);display:flex;position:relative;overflow:hidden}.auth-brand{color:#fff;align-items:center;display:inline-flex}.auth-logo{object-fit:contain;object-position:center;mix-blend-mode:screen;background:0 0;border-radius:8px;width:194px;height:88px;display:block}.visual-copy{z-index:1;padding:80px 0;position:relative}.visual-copy .eyebrow{color:#b3c7dd;font-size:11px}.visual-copy h1{letter-spacing:-.045em;margin:24px 0;font-size:clamp(36px,3.9vw,58px);font-weight:500;line-height:1.13}.visual-copy h1 em{color:#dcaf7e;font-style:normal}.visual-copy>p:last-of-type{color:#b3c7dd;max-width:410px;margin:0;font-size:14px;line-height:1.8}.auth-principles{border-top:1px solid #354b62;gap:16px;margin-top:38px;padding-top:28px;display:grid}.auth-principles>div{color:#cedae6;align-items:center;gap:14px;font-size:13px;display:flex}.auth-principles span{color:#dcaf7e;letter-spacing:.06em;font-size:10px}.visual-footer{color:#9aafc6;border-top:1px solid #354b62;justify-content:space-between;gap:16px;padding-top:24px;font-size:11px;display:flex}.auth-form-wrap{background:#fafbfc;flex-direction:column;justify-content:center;align-items:center;padding:48px;display:flex;position:relative}.auth-form-card{width:100%;max-width:390px;padding:32px 0}.auth-form-card h2{letter-spacing:-.035em;margin:10px 0;font-size:29px;font-weight:600}.form-intro{color:var(--muted);margin-bottom:34px;font-size:13px}.auth-form-card form>label{margin:20px 0 8px;font-size:12px;font-weight:600;display:block}.input-wrap{position:relative}.input-wrap input{width:100%;min-height:48px;padding-left:42px}.input-symbol{color:var(--muted);position:absolute;top:13px;left:15px}.input-symbol .ui-icon{opacity:.6;width:18px;height:18px}.form-options{justify-content:space-between;align-items:flex-start;gap:16px;margin:20px 0 26px;display:flex}.check-label{white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.check-label input{margin:0}.form-help-text{text-align:right;color:var(--muted);max-width:180px;font-size:11px}.submit-button{background:var(--primary);color:#fff;border:0;border-radius:6px;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.submit-button:hover{background:var(--primary-dark)}.form-note{border-top:1px solid var(--line);color:var(--muted);margin:28px 0 0;padding-top:22px;font-size:12px}.auth-copyright{color:var(--muted);margin:0;font-size:11px;position:absolute;bottom:28px}.form-alert{color:var(--coral);background:var(--danger-soft);border:1px solid #efd6d3;border-radius:6px;padding:12px;font-size:13px}.mobile-brand{display:none}@media (width<=800px){.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:auto;padding:28px 32px}.visual-copy{padding:28px 0 4px}.visual-copy h1{margin:12px 0;font-size:32px}.visual-copy h1 br,.visual-copy>p:last-of-type,.visual-footer,.auth-principles{display:none}.auth-form-wrap{padding:28px 24px 72px}.auth-form-card{padding:0}.auth-copyright{bottom:22px}}@media (width<=480px){.auth-visual{padding:24px}.auth-logo{width:168px;height:76px}.visual-copy{padding-top:24px}.visual-copy h1{font-size:27px}.visual-copy .eyebrow{font-size:9px}.auth-form-card h2{font-size:25px}}.landing-page{--gold:#d7a84f;--gold-light:#f4d58a;--dark:#11151b;--dark-soft:#1a222d;--paper:#f7f5f0;color:#182333;background:var(--paper)}.landing-page main{flex-direction:column;display:flex}.landing-hero{order:-2}.landing-coach-section{order:-1}.landing-page *{box-sizing:border-box}.landing-container{width:min(1180px,100% - 40px);margin:0 auto}.landing-nav{z-index:5;color:#fff;padding:22px 0;position:absolute;inset:0 0 auto}.landing-nav-inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.landing-logo{object-fit:contain;object-position:left center;mix-blend-mode:screen;background:0 0;width:156px;height:84px}.landing-nav-links{align-items:center;gap:26px;font-size:13px;font-weight:650;display:flex}.landing-nav-links a{color:#e3e8ee;transition:color .2s}.landing-nav-links a:hover{color:var(--gold-light)}.landing-nav-actions{align-items:center;gap:10px;display:flex}.landing-link-button{color:#fff;background:linear-gradient(#ffffff26,#ffffff08);border:1px solid #ffffff61;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-size:12px;font-weight:750;transition:transform .16s,box-shadow .16s,filter .16s;display:inline-flex;box-shadow:0 5px #060a0f6b,0 12px 24px #0000002e,inset 0 1px #ffffff40}.landing-link-button:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 7px #060a0f6b,0 16px 28px #00000038,inset 0 1px #ffffff52}.landing-link-button:active{transform:translateY(3px);box-shadow:0 2px #060a0f6b,0 5px 12px #0000002e,inset 0 1px #ffffff2e}.landing-link-button .ui-icon{filter:brightness(0)invert();opacity:.9;width:16px;height:16px}.landing-link-button--gold{color:#17130d;background:linear-gradient(#f4d58a,#d7a84f);border-color:#b3832d;box-shadow:0 5px #9a6c1b,0 12px 24px #66461342,inset 0 1px #ffffffa8}.landing-link-button--gold:hover{box-shadow:0 7px #9a6c1b,0 16px 28px #6646134d,inset 0 1px #ffffffb8}.landing-link-button--gold .ui-icon{filter:brightness(0)saturate()}.landing-hero{color:#fff;background:var(--dark);align-items:center;min-height:720px;display:flex;position:relative;overflow:hidden}.landing-hero:after{content:"";background:linear-gradient(90deg,#080b0ff5 0%,#080b0fc4 43%,#080b0f1f 100%);position:absolute;inset:0}.landing-hero-media{object-fit:cover;object-position:center;opacity:.9;width:100%;height:100%;position:absolute;inset:0}.landing-hero-content{z-index:1;width:min(600px,100%);padding:150px 0 110px;position:relative}.landing-eyebrow{color:var(--gold-light);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 18px;font-size:11px;font-weight:750;display:flex}.landing-eyebrow:before{background:var(--gold);content:"";width:28px;height:1px}.landing-hero h1{color:#fff;letter-spacing:-.055em;max-width:620px;margin:0 0 22px;font-size:clamp(42px,6vw,76px);font-weight:700;line-height:1.02}.landing-hero h1 em{color:var(--gold-light);font-style:normal}.landing-hero-copy{color:#c6d0db;max-width:500px;margin:0 0 30px;font-size:17px;line-height:1.7}.landing-hero-actions{flex-wrap:wrap;gap:12px;display:flex}.landing-hero-note{color:#9baaba;margin-top:18px;font-size:11px}.landing-hero-badges{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.landing-hero-badges span{color:#c5d0dc;background:#ffffff0d;border:1px solid #ffffff29;border-radius:6px;align-items:center;gap:8px;padding:8px 11px;font-size:11px;display:inline-flex}.landing-hero-badges b{color:var(--gold-light);letter-spacing:.08em;font-size:10px}.landing-section{padding:100px 0}.landing-section--dark{color:#fff;background:var(--dark-soft)}.landing-section-heading{max-width:650px;margin-bottom:44px}.landing-section-heading h2{letter-spacing:-.045em;margin:0 0 12px;font-size:clamp(30px,4vw,48px);line-height:1.1}.landing-section-heading p{color:#667386;margin:0;font-size:16px;line-height:1.7}.landing-section--dark .landing-section-heading p{color:#aab7c5}.landing-method-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.landing-method-card{background:#fff;border:1px solid #e4dfd5;border-radius:12px;min-height:210px;padding:25px}.landing-method-icon,.landing-track-icon{color:#9a6c1b;background:#fff8e9;border:1px solid #d7a84f57;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.landing-method-icon .ui-icon,.landing-track-icon .ui-icon{filter:sepia()saturate(3)hue-rotate(355deg)brightness(.72);width:20px;height:20px}.landing-method-card strong{margin:16px 0 8px;font-size:18px;display:block}.landing-method-card p{color:#667386;margin:0;font-size:13px;line-height:1.65}.landing-method-number{color:#604819;background:#f6e8c9;border-radius:50%;place-items:center;width:35px;height:35px;font-size:12px;font-weight:800;display:grid}.landing-dual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.landing-track-card{color:#fff;background:#1c2837;border-radius:14px;min-height:315px;padding:32px;position:relative;overflow:hidden}.landing-track-card:after{content:"";border:1px solid #d7a84f59;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-75px;right:-55px;box-shadow:0 0 0 30px #d7a84f0d,0 0 0 60px #d7a84f0a}.landing-track-card--light{color:#1b2a3d;background:#eee8dc}.landing-track-card h3{margin:18px 0 10px;font-size:27px}.landing-track-card--light .landing-track-icon{color:#70501c;background:#f8f0df}.landing-track-link{align-items:center;gap:5px;display:inline-flex}.landing-track-link .ui-icon{filter:sepia()saturate(2)hue-rotate(355deg)brightness(.78);width:15px;height:15px}.landing-track-card p{color:#b9c4d0;max-width:380px;margin:0 0 25px;font-size:14px;line-height:1.7}.landing-track-card--light p{color:#667386}.landing-track-link{color:var(--gold-light);font-size:12px;font-weight:750}.landing-track-card--light .landing-track-link{color:#9a6c1b}.landing-feature-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:70px;display:grid}.landing-feature-image{aspect-ratio:4/3;object-fit:cover;border-radius:14px;width:100%;box-shadow:0 18px 50px #11151b2e}.landing-feature-list{gap:18px;display:grid}.landing-feature-item{grid-template-columns:32px 1fr;align-items:start;gap:13px;display:grid}.landing-feature-item>span{color:#70501c;background:#f3e4c3;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.landing-feature-item>span .ui-icon{filter:sepia()saturate(2)hue-rotate(355deg)brightness(.72);width:16px;height:16px}.landing-feature-item strong{margin-bottom:4px;font-size:15px;display:block}.landing-feature-item p{color:#667386;margin:0;font-size:13px;line-height:1.55}.landing-coach-layout{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:70px;display:grid}.landing-coach-image{aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:14px;width:100%;box-shadow:0 18px 50px #11151b2e}.landing-coach-copy h2{letter-spacing:-.045em;margin:0 0 14px;font-size:clamp(30px,4vw,48px);line-height:1.1}.landing-coach-copy>p{color:#667386;margin:0 0 26px;font-size:15px;line-height:1.75}.landing-quote{border-left:3px solid var(--gold);color:#27364a;background:#eee8dc;margin:30px 0 0;padding:20px 22px;font-size:14px;line-height:1.7}.landing-gallery{grid-template-columns:1.15fr .85fr .85fr;gap:16px;display:grid}.landing-gallery figure{background:#182333;border-radius:12px;min-height:300px;margin:0;position:relative;overflow:hidden}.landing-gallery figure:nth-child(2),.landing-gallery figure:nth-child(3){min-height:240px}.landing-gallery img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.landing-gallery figure:hover img{transform:scale(1.04)}.landing-gallery figcaption{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1017b8;border:1px solid #ffffff2e;border-radius:7px;padding:10px 12px;font-size:11px;font-weight:700;position:absolute;bottom:14px;left:14px;right:14px}.landing-faq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.landing-faq{background:#fff;border:1px solid #e4dfd5;border-radius:10px;padding:20px 22px}.landing-faq strong{margin-bottom:7px;font-size:14px;display:block}.landing-faq p{color:#667386;margin:0;font-size:13px;line-height:1.65}.landing-contact{color:#fff;background:linear-gradient(120deg,#131a23,#253449);border-radius:16px;grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:36px;padding:55px;display:grid}.landing-contact h2{letter-spacing:-.04em;margin:0 0 10px;font-size:clamp(28px,4vw,44px)}.landing-contact p{color:#b9c4d0;max-width:570px;margin:0;line-height:1.7}.landing-contact-side{gap:10px;display:grid}.landing-contact-side a{border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:50px;font-size:13px;font-weight:750;transition:transform .16s,box-shadow .16s;display:flex;box-shadow:0 5px #080c126b,0 12px 22px #0003,inset 0 1px #ffffff47}.landing-contact-side a:hover{transform:translateY(-2px);box-shadow:0 7px #080c126b,0 16px 26px #0000003d,inset 0 1px #ffffff57}.landing-contact-side a:active{transform:translateY(3px);box-shadow:0 2px #080c126b,0 5px 10px #0000002e}.landing-contact-side .ui-icon{filter:brightness(0)invert();width:17px;height:17px}.landing-contact-side a:first-child .ui-icon{filter:brightness(0)saturate()}.landing-contact-side a:first-child{color:#1b160d;background:var(--gold)}.landing-contact-side a:last-child{color:#fff;border:1px solid #ffffff47}.landing-footer{color:#9da9b6;background:#0c1015;padding:28px 0;font-size:11px}.landing-footer-inner{flex-wrap:wrap;justify-content:space-between;gap:14px;display:flex}.landing-social{color:var(--gold-light)}.landing-whatsapp{z-index:10;color:#082b18;background:linear-gradient(135deg,#b4efc4,#6dcc91);border:1px solid #ffffffb3;border-radius:30px;align-items:center;gap:10px;min-height:52px;padding:7px 11px 7px 7px;font-size:12px;font-weight:800;transition:transform .2s,box-shadow .2s,filter .2s;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 14px 30px #0826143d,inset 0 1px #ffffffbf}.landing-whatsapp:hover{filter:saturate(1.08);transform:translateY(-3px);box-shadow:0 18px 36px #0826144d,inset 0 1px #ffffffbf}.landing-whatsapp:after{content:"";background:#27a95d;border:2px solid #dfffe7;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:4px}.landing-whatsapp-icon{color:#fff;background:#159447;border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;line-height:1;display:grid;box-shadow:inset 0 -2px #00451f2e}.landing-whatsapp-icon .ui-icon{filter:brightness(0)invert();width:20px;height:20px}.landing-whatsapp b{color:#13723a;background:#ffffff8c;border-radius:50%;place-items:center;width:25px;height:25px;font-size:14px;display:grid}.landing-whatsapp b .ui-icon{filter:sepia()saturate(2)hue-rotate(80deg)brightness(.65);width:15px;height:15px}@media (width<=800px){.landing-nav-links,.landing-nav-actions .landing-link-button:first-child{display:none}.landing-logo{width:130px;height:72px}.landing-container{width:min(100% - 28px,560px)}.landing-hero{min-height:700px}.landing-hero:after{background:linear-gradient(90deg,#080b0ff0,#080b0f9e)}.landing-hero-content{padding:140px 0 100px}.landing-hero h1{font-size:clamp(40px,12vw,60px)}.landing-hero-copy{font-size:15px}.landing-section{padding:72px 0}.landing-method-grid,.landing-dual-grid,.landing-feature-layout,.landing-coach-layout,.landing-contact{grid-template-columns:1fr}.landing-method-card{min-height:0}.landing-feature-layout,.landing-coach-layout{gap:30px}.landing-contact{padding:30px 24px}.landing-contact-side{width:100%}.landing-gallery,.landing-faq-grid{grid-template-columns:1fr}.landing-gallery figure,.landing-gallery figure:nth-child(2),.landing-gallery figure:nth-child(3){min-height:260px}.landing-whatsapp{border-width:2px;border-radius:50%;justify-content:center;width:58px;height:58px;min-height:58px;padding:0;bottom:16px;right:16px}.landing-whatsapp:after,.landing-whatsapp b,.landing-whatsapp>span:nth-child(2){display:none}.landing-whatsapp-icon{width:44px;height:44px;font-size:23px}}}@layer responsive{@media (width<=1200px){.page-heading{flex-wrap:wrap;gap:12px}.heading-actions{padding-top:0}.workspace-label{display:none}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-workspace{grid-template-columns:220px minmax(0,1fr)}.curriculum-import-compact{flex-wrap:wrap}.payment-form,.calendar-agenda.is-week{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1280px){.latest-exam-summary{flex-wrap:wrap;align-items:flex-start}.latest-exam-summary b{text-align:left;width:100%}}@media (width<=1024px){.main-content{margin-left:0}.sidebar{visibility:hidden;width:min(300px,100vw - 48px);transition:transform .2s,visibility .2s;transform:translate(-100%)}.sidebar.open{visibility:visible;transform:translate(0)}.menu-toggle,.sidebar-close{display:inline-grid}html.sidebar-open,html.sidebar-open body{overflow:hidden}.topbar{padding:10px 24px}.page-content{padding:26px 24px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.topbar-left{gap:12px}.curriculum-workspace{grid-template-columns:230px minmax(0,1fr)}.student-filters .filter-search{flex-basis:100%}}@media (width<=800px){.latest-exam-summary{flex-wrap:wrap;align-items:flex-start}.latest-exam-summary b{text-align:left;width:100%}.stat-grid,.finance-summary-grid,.attendance-summary-grid,.report-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.lower-grid,.student-profile-grid,.portal-grid,.guardian-dashboard-grid,.report-grid,.meeting-detail-grid,.settings-grid,.curriculum-workspace{grid-template-columns:minmax(0,1fr)}.settings-card:nth-child(3),.full-profile-card{grid-column:auto}.subject-list{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.curriculum-stat-note{grid-column:1/-1}.attendance-form{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{gap:16px}.report-hero{flex-wrap:wrap;gap:16px}.report-actions,.calendar-toolbar,.calendar-toolbar-actions,.meeting-filters{flex-wrap:wrap}}@media (width<=600px){.topbar{gap:8px;min-height:62px;padding:9px 14px}.topbar-actions{gap:4px}.topbar-left{gap:5px}.topbar-divider,.user-copy,.user-menu>.ui-icon,.search-box kbd{display:none}.search-box{gap:6px}.search-box>.ui-icon{display:none}.search-box input[type=search]{font-size:16px}.workspace-label{display:inline}[data-panel-role=teacher] .workspace-label{display:none}.page-content{padding:24px 14px}.page-heading{flex-direction:column;align-items:stretch;gap:14px}.heading-actions{width:100%}.heading-actions .button,.heading-actions form{flex:130px}.heading-actions form .button{width:100%}.button{min-height:44px}.form-grid,.attendance-form,.payment-form,.report-filters,.account-credentials{grid-template-columns:minmax(0,1fr)}.full-width{grid-column:auto}input:not([type=checkbox]):not([type=radio]),select,textarea,.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}.form-section,.settings-card,.detail-content{padding:18px}.panel-header{padding:18px 16px 14px}.form-actions .button{flex:130px}.student-filters,.curriculum-filters{gap:10px;padding:14px}.student-filters label,.curriculum-filters label{flex:125px}.student-filters .filter-search{flex-basis:100%}.student-filters .filter-submit{width:100%}.student-summary{gap:18px;padding:16px}.student-summary>div+div{padding-left:16px}.student-summary p{width:100%;margin:0}.student-list-panel .table-scroll-note{display:block}.subject-list{grid-template-columns:minmax(0,1fr)}.curriculum-stats{gap:8px}.curriculum-stats>div{flex-wrap:wrap;padding:12px}.curriculum-stat-icon{display:none}.curriculum-stats small{font-size:11px}.detail-header,.topic-timeline{padding-left:16px;padding-right:16px}.modern-subtopics{margin-left:8px;padding:12px}.modern-subtopics>div>span:not(.subtopic-check){overflow-wrap:anywhere;min-width:0}.progress-subject{padding:16px}.progress-edit{grid-template-columns:72px minmax(0,1fr);width:100%}.progress-edit .button{grid-column:1/-1}.calendar-agenda.is-week,.calendar-agenda{grid-template-columns:minmax(0,1fr)}.calendar-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.calendar-toolbar-actions{gap:8px;width:100%}.calendar-toolbar-actions select{min-width:0;max-width:100%}.calendar-period{flex-wrap:wrap;max-width:100%}.calendar-event{min-width:0}.calendar-event .event-status{white-space:normal;max-width:100%}.calendar-day-block>header{flex-wrap:wrap;gap:8px}.meeting-filters,.meeting-filters input,.meeting-filters select{width:100%;min-width:0}.date-navigation{gap:8px;width:100%}.date-navigation strong{min-width:0;font-size:13px}.program-item-main,.guardian-homework-row>div,.guardian-child-banner>div{min-width:0}.student-program-item,.portal-homework-row,.guardian-homework-row,.installment-detail-head{flex-wrap:wrap}.latest-exam-summary{flex-flow:column wrap;align-items:flex-start}.latest-exam-summary>div{flex:180px;min-width:0}.latest-exam-summary b{white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:21px}.program-target{margin-left:auto}.guardian-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.child-switcher,.child-switcher label{width:100%;min-width:0;display:grid}.report-actions,.report-actions .button{flex:120px}.export-groups{grid-template-columns:1fr}.export-groups>div{flex-wrap:wrap;gap:8px}.archive-actions{flex-wrap:wrap}.popover{right:0}.toast{left:14px;right:14px;bottom:max(14px, env(safe-area-inset-bottom));max-width:none}}@media (width<=380px){.student-summary>div+div{border-left:0;padding-left:0}.stat-card{padding:14px}.stat-card>strong{font-size:25px}.stat-top{gap:6px}.stat-icon{width:28px;height:28px}.profile-hero{flex-wrap:wrap}.curriculum-heading .heading-actions{display:flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}}
