:root{font-family:"DM Sans",Arial,sans-serif;color:#192b3a;background:#f5f6f8;font-synthesis:none;text-rendering:optimizeLegibility;--navy:#113f67;--blue:#1d5c8b;--mint:#c8f0dd;--green:#207554;--muted:#73818e;--line:#e7ebef;--paper:#fff;--shadow:0 12px 35px rgba(24,49,71,.055)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 90% 0%,#eef7f3 0,transparent 27rem),#f5f6f8}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topbar{height:72px;padding:0 max(24px,calc((100% - 1160px)/2));background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f2}.brand{display:inline-flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;background:var(--navy);color:#d5f8e3;border-radius:13px;width:39px;height:39px;font:800 21px Manrope,sans-serif}.brand b{font:800 17px Manrope,sans-serif;letter-spacing:.09em;color:var(--navy);display:block}.brand small{display:block;font-size:8px;letter-spacing:.15em;color:#8a969e;margin-top:1px}.page{max-width:1160px;margin:0 auto;padding:44px 24px 90px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px 24px}.welcome{max-width:1040px;width:100%;display:grid;grid-template-columns:1fr 410px;align-items:center;gap:86px}.welcome-copy{padding:10px 0 20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:#4b8b73}.welcome h1,.page-heading h1{font:800 clamp(36px,5vw,56px)/1.12 Manrope,sans-serif;letter-spacing:-.045em;color:#18364e;margin:17px 0}.welcome h1 span,.page-heading h1 span{color:#328c69}.welcome-copy>p{max-width:410px;line-height:1.75;color:#75838d;font-size:16px}.welcome-art{display:flex;align-items:center;gap:10px;margin-top:50px;color:#548672;font-size:10px;font-weight:700;letter-spacing:.16em}.welcome-art span:first-child{font-size:26px;color:#f3b45f;margin-right:5px}.welcome-art span:not(:first-child){padding:10px 13px;border:1px solid #dfebe5;border-radius:30px;background:#ffffff8a}.card{background:var(--paper);border:1px solid #edf0f2;border-radius:18px;padding:25px;box-shadow:var(--shadow)}.auth-card{padding:9px 30px 30px;border-radius:20px}.tabbar{display:flex;gap:12px;border-bottom:1px solid var(--line)}.tab{border:0;background:none;padding:19px 10px 14px;color:#8b969e;cursor:pointer;font-size:13px;font-weight:600;border-bottom:2px solid transparent}.tab.active{color:var(--navy);border-bottom-color:#3b966f}.tab-panel{display:none;padding-top:21px}.tab-panel.active{display:block}.tab-panel h2{font:700 24px Manrope,sans-serif;margin:0 0 6px}.muted{color:var(--muted);line-height:1.65}.tab-panel>.muted{font-size:13px;margin:0 0 22px}.stack{display:flex;flex-direction:column;gap:15px}.stack label{font-size:12px;font-weight:600;color:#445563}.stack input,.stack select,.stack textarea,.feedback-card textarea{display:block;margin-top:7px;width:100%;min-height:45px;padding:11px 13px;border:1px solid #e2e7eb;border-radius:9px;background:#fff;color:#203341;outline:0}.stack textarea,.feedback-card textarea{resize:vertical;line-height:1.5}.stack input:focus,.stack select:focus,.stack textarea:focus,.feedback-card textarea:focus{border-color:#5da886;box-shadow:0 0 0 3px #5da8861c}.button{border:0;border-radius:9px;padding:12px 17px;min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;font-weight:700;font-size:12px;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--navy);color:#fff}.button-primary:hover{background:#1a537a}.button-primary span{font-size:17px;line-height:10px}.button-quiet{background:#f3f6f7;color:#435563;padding:9px 14px;min-height:36px}.button-outline{background:#fff;color:#355b70;border:1px solid #dbe4e9}.button-small{min-height:34px;padding:8px 11px;font-size:11px}.full{width:100%;margin-top:4px}.hint{font-size:11px;text-align:center;color:#8c979f;margin:17px 0 0}.hint-inline{font-size:10px;color:#909ba3;font-weight:400}.alerts{margin-bottom:20px}.alert{padding:12px 15px;border-radius:9px;margin-bottom:8px;font-size:13px}.alert-success{color:#256847;background:#e7f5ec}.alert-error{color:#9b3e3e;background:#fff0ed}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px}.page-heading h1{font-size:37px;margin:10px 0}.page-heading .muted{margin:0;font-size:14px}.date-chip{font-size:11px;font-weight:600;color:#5a6e7c;background:#fff;padding:10px 14px;border:1px solid var(--line);border-radius:9px}.quick-nav{display:flex;gap:9px;overflow:auto;margin:0 0 35px;padding-bottom:2px}.quick-nav a{white-space:nowrap;font-size:11px;font-weight:600;color:#526673;background:#fff;border:1px solid #e9edef;border-radius:20px;padding:9px 14px}.quick-nav a:hover{color:var(--green);border-color:#b9decc}.section{margin-top:35px;scroll-margin-top:22px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-heading h2{font:700 23px Manrope,sans-serif;margin:6px 0 0;letter-spacing:-.03em}.section-heading .count{font:600 11px "DM Sans",sans-serif;color:#62806f;background:#e4f2e9;border-radius:20px;padding:5px 9px;vertical-align:middle;margin-left:5px}.columns{display:grid;grid-template-columns:minmax(285px,.78fr) minmax(0,1.35fr);gap:17px}.columns>.card{min-width:0}.card h3{font:700 16px Manrope,sans-serif;margin:0 0 7px}.small{font-size:11px}.card>p.muted{margin:0 0 19px}.roster-card{min-height:100%}.table-wrap{overflow-x:auto;margin:9px -2px 0}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}th{color:#8b969d;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;padding:11px 9px;border-bottom:1px solid var(--line)}td{padding:12px 9px;border-bottom:1px solid #f0f2f4;white-space:nowrap}td small{display:block;color:#89949b;font-size:10px;margin-top:3px}.student-id{color:#39795f;font-size:10px;font-weight:700;letter-spacing:.02em}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:180px;color:#697983}.empty p{font-size:12px;color:#909ba2;line-height:1.6;margin:6px 0}.empty b{font-size:13px}.empty-icon{color:#65a481;font-size:26px;margin-bottom:12px}.attendance-list{border-top:1px solid var(--line);margin:4px 0 0}.attendance-row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #f0f2f4}.avatar{flex:none;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#e7f4eb;color:#38775c;font:700 13px Manrope,sans-serif}.student-name{flex:1}.student-name b{display:block;font-size:12px}.student-name small{display:block;color:#8c969e;font-size:10px;margin-top:4px}.attendance-row select{width:122px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:11px}.date-label{max-width:230px}.subsection{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.subsection h3{margin-bottom:8px}.pill{display:inline-flex;align-items:center;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:700;white-space:nowrap}.pill-present,.pill-done{color:#26734e;background:#e4f4e9}.pill-absent{color:#a75249;background:#fff0ec}.pill-pending{color:#98713a;background:#fff3d9}.homework-list{display:flex;flex-direction:column;gap:10px}.homework-item{padding:14px;border:1px solid #edf0f2;border-radius:11px}.item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.homework-item>b{display:block;font-size:12px}.homework-item>small{display:block;color:#8b969e;font-size:10px;margin-top:5px}.homework-item>p{font-size:11px;line-height:1.5;color:#647581;white-space:pre-wrap;margin:9px 0}.subject-icon{display:grid;place-items:center;border-radius:9px;background:#eef6f1;color:#438267;width:31px;height:31px;font-size:15px}.feedback-list{display:flex;flex-direction:column}.feedback-item{display:flex;gap:12px;padding:12px 2px;border-bottom:1px solid #eff1f3}.feedback-item:last-child{border:0}.avatar-soft{background:#f4eddf;color:#997846}.feedback-item b{font-size:12px}.feedback-item small{display:block;color:#8b969e;font-size:10px;margin-top:4px}.feedback-item p{margin:8px 0 2px;font-size:12px;line-height:1.6;color:#566773}.student-switcher{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}.student-choice{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e7ecee;border-radius:12px;padding:10px 13px;min-width:225px}.student-choice.selected{border-color:#79b294;box-shadow:0 0 0 2px #79b2941a}.student-choice b,.student-choice small{display:block}.student-choice b{font-size:11px}.student-choice small{font-size:9px;color:#89959b;margin-top:4px}.choice-arrow{margin-left:auto;color:#7f9a8a}.student-banner{position:relative;overflow:hidden;display:flex;align-items:center;gap:17px;padding:23px 26px;border-radius:16px;background:linear-gradient(110deg,#113f67,#1c6482);color:#fff;margin-bottom:16px}.avatar-large{width:55px;height:55px;font-size:20px;color:#1a5a56;background:#c8f0dd}.student-banner .eyebrow{color:#c3e7d5;font-size:9px}.student-banner h2{font:700 21px Manrope,sans-serif;margin:5px 0}.student-banner p{margin:0;color:#d0e2e8;font-size:11px}.dot{margin:0 4px}.banner-star{position:absolute;right:30px;top:-25px;color:#ffffff14;font-size:155px}.parent-columns{grid-template-columns:.85fr 1.15fr}.card-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-title-row h3{margin:4px 0 0;font-size:18px}.activity-list{border-top:1px solid #edf0f2}.activity-row{display:flex;align-items:center;gap:9px;padding:12px 2px;border-bottom:1px solid #f0f2f4;font-size:11px;color:#5e6e78}.activity-row .pill{margin-left:auto}.activity-dot{width:7px;height:7px;border-radius:50%;background:#8d969b}.dot-present{background:#53a77a}.dot-absent{background:#d88170}.empty.compact{min-height:95px}.parent-homework{padding:13px}.parent-homework form{margin-top:11px}.parent-homework .item-top small{font-size:9px;color:#859098}.feedback-card{margin-top:17px;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}.feedback-card h3{font-size:19px;margin:6px 0}.feedback-card .muted{margin:0}.feedback-card .stack{gap:10px}.feedback-card textarea{margin:0;font-size:12px}.empty-state{max-width:560px;margin:45px auto;text-align:center;padding:42px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:820px){.welcome{grid-template-columns:1fr 370px;gap:35px}.welcome h1{font-size:42px}.columns{grid-template-columns:1fr 1.2fr}}
@media(max-width:650px){.topbar{height:62px;padding:0 18px}.page{padding:30px 17px 65px}.auth-page{padding:26px 17px;align-items:start}.welcome{display:flex;flex-direction:column;gap:25px;max-width:430px;align-items:stretch}.welcome-copy{padding:8px 3px 0}.welcome h1{font-size:38px;margin:12px 0}.welcome-copy>p{font-size:13px;margin:0}.welcome-art{margin-top:18px}.welcome-art span:not(:first-child){padding:7px 9px}.auth-card{padding:7px 20px 23px}.page-heading{align-items:flex-start}.page-heading h1{font-size:29px}.page-heading .muted{font-size:12px;max-width:300px}.date-chip{font-size:9px;padding:8px 9px;margin-top:18px}.quick-nav{margin-bottom:28px}.section{margin-top:27px}.section-heading h2{font-size:20px}.columns,.parent-columns{grid-template-columns:1fr;gap:12px}.card{padding:19px;border-radius:14px}.roster-card{min-height:185px}.attendance-row{gap:9px}.attendance-row select{width:108px}.hint-inline{line-height:1.5}.student-banner{padding:18px}.banner-star{right:12px}.student-choice{flex:1;min-width:100%}.feedback-card{grid-template-columns:1fr;gap:14px}.empty-state{margin:24px auto}.table-wrap{margin-left:-8px;margin-right:-8px}}
@media(min-width:651px) and (max-width:900px){.welcome{grid-template-columns:1fr 350px;gap:25px}.welcome h1{font-size:40px}.welcome-art{margin-top:25px}}
.homework-edit{padding:0;overflow:hidden}
.homework-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;list-style:none}
.homework-summary::-webkit-details-marker{display:none}
.homework-summary-copy{min-width:0}
.homework-summary-copy b,.homework-summary-copy small{display:block}
.homework-summary-copy b{overflow-wrap:anywhere;font-size:12px}
.homework-summary-copy small{margin-top:5px;color:#71839a;font-size:10px}
.homework-edit-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e5f5fb;color:#242666;font-size:19px}
.homework-summary:hover .homework-edit-icon,.homework-edit[open] .homework-edit-icon{background:#272566;color:#fff}
.homework-edit-content{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:0 14px 14px}
.homework-edit-content>small{color:#71839a;font-size:10px}
.homework-edit-content form{flex-basis:100%;padding-top:10px;border-top:1px solid #d7e8f5}

:root{font-family:"Trebuchet MS",Arial,sans-serif;color:#172c4b;background:#eaf4ff;--navy:#19183f;--blue:#3934b5;--mint:#d8f4f8;--green:#147eaa;--muted:#526984;--line:#d2e5f5;--paper:#f8fcff;--shadow:0 12px 32px rgba(33,73,119,.10);--gold:#ffda43;--orange:#ff9144;--cyan:#38b8cd}
body{color:#172c4b;background:radial-gradient(ellipse at 88% 0%,#d1edff 0,transparent 33rem),radial-gradient(ellipse at 4% 92%,#e6f6ff 0,transparent 27rem),#eaf4ff;font-family:"Trebuchet MS",Arial,sans-serif}
button,input,select,textarea{font-family:inherit}
.topbar{background:#f4faff;border-bottom-color:#cfe4f5}
.brand-logo{width:94px;height:47px;object-fit:cover;object-position:center 52%;border-radius:3px}
.button-quiet{color:#243b66;background:#e3f2fc}
.page-heading h1,.welcome h1,.section-heading h2,.card h3,.student-banner h2,.tab-panel h2{font-family:"Trebuchet MS",Arial,sans-serif;letter-spacing:-.025em}
.page-heading h1,.welcome h1{color:#19183f}
.page-heading h1 span,.welcome h1 span{color:#167eaa}
.eyebrow{color:#137e9f}
.muted,.page-heading .muted{color:#526984}
.card{background:rgba(248,252,255,.94);border-color:#cee3f3;box-shadow:var(--shadow)}
.quick-nav a,.date-chip{background:#f4faff;color:#243d67;border-color:#cfe4f5}
.quick-nav a:hover{color:#19183f;border-color:#38b8cd;background:#e1f5fb}
.section-heading .count{color:#255190;background:#d9efff}
.stack label{color:#263d5d}
.stack input,.stack select,.stack textarea,.feedback-card textarea,.attendance-row select{color:#172c4b;background:#f4faff;border-color:#c9dfef}
.stack input::placeholder,.stack textarea::placeholder,.feedback-card textarea::placeholder{color:#7288a0}
.stack input:focus,.stack select:focus,.stack textarea:focus,.feedback-card textarea:focus{border-color:#1ba6c3;box-shadow:0 0 0 3px #38b8cd24}
.button-primary{color:#fff;background:#272566}
.button-primary:hover{background:#3934a5}
.button-outline{color:#242666;border-color:#bfd6ec;background:#edf7ff}
.hint-inline,.hint{color:#627991}
.student-id{color:#126b96}
th{color:#4a6685;border-bottom-color:#d7e7f4}
td,.attendance-row,.feedback-item,.activity-row{border-bottom-color:#e2edf6}
.subsection,.activity-list{border-color:#d5e7f4}
.student-banner{background:linear-gradient(115deg,#19183f 0%,#3934a8 54%,#168eb5 100%)}
.student-banner .eyebrow{color:#a9eff6}
.student-banner p{color:#e2f7ff}
.avatar{background:#d8f3fa;color:#145c8d}
.avatar-large{background:#c8eff5;color:#155480}
.avatar-soft{background:#fff1d4;color:#87501f}
.subject-icon{background:#e6f4ff;color:#32328f}
.activity-dot.dot-present{background:#24a4be}
.activity-dot.dot-absent{background:#f28a50}
.pill-present,.pill-done{color:#11657d;background:#d9f3f5}
.pill-absent{color:#914521;background:#fff0e4}
.pill-pending{color:#79570a;background:#fff4d1}
.student-choice{background:#f4faff;border-color:#cfe4f5}
.student-choice.selected{border-color:#26a4bd;background:#e7f8fc;box-shadow:0 0 0 2px #38b8cd24}
.choice-arrow{color:#167eaa}
.homework-item{background:#f7fbff;border-color:#d7e8f5}
.student-switcher .avatar{background:#d8f3fa}
.alert-success{color:#145f77;background:#dff4f5}
.alert-error{color:#844620;background:#fff0e4}

.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:35px 20px;background:radial-gradient(ellipse at 50% 0%,#d0edff 0,transparent 40rem),#eaf4ff}
.welcome{display:block;width:min(100%,430px);max-width:430px;margin:0}
.welcome-copy{position:fixed;z-index:2;top:18px;left:20px;padding:0}
.welcome-logo{display:block;width:116px;height:116px;object-fit:contain;margin:0;border-radius:0;background:transparent;box-shadow:none}
.auth-card{width:100%;padding:10px 30px 29px;border:1px solid #b9d9ef;border-top:4px solid #ffda43;border-radius:19px;background:linear-gradient(155deg,#fafdff 0%,#e8f5ff 100%);box-shadow:0 18px 45px rgba(34,73,119,.17);color:#172c4b}
.auth-card .tabbar{border-bottom-color:#c6dfef}
.auth-card .tab{color:#5b718d}
.auth-card .tab.active{color:#19183f;border-bottom-color:#22a7c3}
.auth-card .tab-panel h2{color:#19183f}
.auth-card .muted{color:#526984}
.auth-card .stack label{color:#263d5d}
.auth-card .hint,.auth-card .hint-inline{color:#627991}
.auth-card .stack input{color:#172c4b;background:#f8fcff;border-color:#c3dced}
.auth-card .stack input::placeholder{color:#7288a0}
.auth-card .stack input:focus{border-color:#1ba6c3;box-shadow:0 0 0 3px #38b8cd24}
.auth-card .button-primary{color:#fff;background:linear-gradient(100deg,#262365,#3934a5);box-shadow:0 5px 15px #3934a52b}
.auth-card .button-primary:hover{background:linear-gradient(100deg,#167eaa,#25a9c3)}
.auth-card .button-primary span{color:#ffda43}
.forgot-link{display:block;margin-top:13px;text-align:center;color:#176f9b;font-size:12px;font-weight:700}
.forgot-link:hover{color:#24266f;text-decoration:underline}
.reset-wrap{width:min(100%,450px);margin:20px auto}
.reset-logo{display:flex;justify-content:center;margin:0 auto 17px}
.reset-logo img{width:144px;height:96px;object-fit:cover;object-position:center 52%;border-radius:5px}
.reset-card{padding:27px 30px 25px}
.reset-card h1{margin:8px 0;font:700 25px "Trebuchet MS",Arial,sans-serif;color:#19183f}
.reset-card>.muted{font-size:13px;margin:0 0 20px}
.back-link{margin-top:20px}
.score-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.test-list{display:flex;flex-direction:column;gap:10px}
.test-item{padding:13px;border:1px solid #d7e8f5;border-radius:10px;background:#f7fbff}
.test-item>b{display:block;font-size:12px;color:#19183f}
.test-item>small{display:block;color:#4d6c8a;font-size:10px;margin-top:5px}
.test-item>p{font-size:11px;line-height:1.6;color:#344c68;white-space:pre-wrap;margin:8px 0 0}
.parent-academic{margin-top:15px}
.teacher-notes{margin-top:15px}
@media(max-width:650px){.reset-wrap{margin:5px auto}.reset-logo img{width:118px;height:80px}.reset-card{padding:22px 19px}.score-inputs{gap:8px}}
@media(max-width:650px){.topbar{height:64px;padding:0 16px}.topbar .brand-logo{width:78px;height:40px}.page{padding:26px 16px 58px}.auth-page{padding:120px 16px 26px}.welcome{width:100%;max-width:430px}.welcome-copy{top:12px;left:14px}.welcome-logo{width:88px;height:88px}.auth-card{padding:8px 20px 24px}.page-heading h1{font-size:28px}.muted,.page-heading .muted{color:#526984}}

:root{--navy:#19183f;--blue:#3934b5;--mint:#cceff1;--green:#23a4be;--muted:#73758d;--line:#e6e5f0;--paper:#fff;--shadow:0 12px 35px rgba(29,26,77,.09);--gold:#ffda43;--orange:#ff9144;--cyan:#38b8cd}
body{background:radial-gradient(ellipse at 91% 0%,#eeedff 0,transparent 29rem),radial-gradient(ellipse at 5% 80%,#fff6e7 0,transparent 24rem),#f7f7fb}
.topbar{height:78px;border-bottom-color:#e7e5f1;background:rgba(255,255,255,.96)}
.topbar .brand{height:72px;gap:0;align-items:flex-start;justify-content:center;flex-direction:column}
.brand-logo{display:block;width:104px;height:48px;object-fit:cover;object-position:center 53%;border-radius:4px}
.brand-tagline{font-size:7px;font-weight:800;letter-spacing:.09em;color:#3733a4;margin-top:-1px;white-space:nowrap}
.brand-tagline i,.brand-promise i{font-style:normal;color:var(--orange);padding:0 1px}
.brand-mark{background:var(--navy);color:var(--gold)}
.brand b{color:var(--navy)}
.eyebrow{color:#2593ad}
.welcome h1,.page-heading h1{color:#201f55}
.welcome h1 span,.page-heading h1 span{color:#299db9}
.welcome-logo{display:block;width:min(100%,430px);height:205px;object-fit:cover;object-position:center 52%;border-radius:13px;background:#17163f;box-shadow:0 14px 30px rgba(28,26,86,.15);margin:0 0 15px}
.brand-promise{display:inline-block;color:#3934a3;margin:3px 0 0}
.welcome-art{color:#34329c}
.welcome-art span:first-child{color:var(--gold)}
.welcome-art span:not(:first-child){border-color:#e6d992;background:#fffdf7}
.card{border-color:#e9e8f0}
.auth-card{border-top:3px solid var(--gold)}
.tab.active{color:var(--navy);border-bottom-color:var(--cyan)}
.stack input:focus,.stack select:focus,.stack textarea:focus,.feedback-card textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #38b8cd26}
.button-primary{background:var(--navy)}
.button-primary:hover{background:#302d82}
.button-quiet{background:#f0effb;color:#383675}
.button-outline{color:#34348d;border-color:#dcdbee}
.alert-success{color:#18687a;background:#e4f7f8}
.alert-error{color:#9b5035;background:#fff2e8}
.date-chip{color:#373475;border-color:#e4e2f0}
.quick-nav a:hover{color:#29268c;border-color:var(--gold)}
.section-heading .count{color:#284998;background:#e9f6fb}
.student-id{color:#177c94}
.empty-icon{color:#31a9c0}
.avatar{background:#e4f6f8;color:#1a8197}
.pill-present,.pill-done{color:#147286;background:#e2f6f7}
.pill-absent{color:#a15331;background:#fff0e5}
.pill-pending{color:#896516;background:#fff4d9}
.subject-icon{background:#eeefff;color:#403baa}
.avatar-soft{background:#fff2db;color:#aa7220}
.student-choice.selected{border-color:#44b1c2;box-shadow:0 0 0 2px #38b8cd1e}
.choice-arrow{color:#3a3aa0}
.student-banner{background:linear-gradient(112deg,#19183f 0%,#302d91 55%,#167eaa 100%)}
.avatar-large{color:#145e83;background:#cceff1}
.student-banner .eyebrow{color:#74dbea}
.student-banner p{color:#e0e3ff}
.banner-star{color:#ffdb431f}
.activity-dot.dot-present{background:#31b4c9}
.activity-dot.dot-absent{background:var(--orange)}
.welcome-art span:not(:first-child):hover{border-color:var(--orange)}
