.newsletter-archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}.newsletter-archive-list button{text-align:left;color:var(--text,#e7f4f3);background:#10252b;border:1px solid #2b4a51;border-radius:20px;padding:24px;cursor:pointer}.newsletter-archive-list button:hover,.newsletter-archive-list button[aria-pressed=true]{border-color:#71e7da}.newsletter-archive-list h2{font-size:1.4rem;margin:12px 0}.newsletter-archive-list time{color:#71e7da}.newsletter-archive-list span{display:block;margin-top:20px;font-weight:700}.newsletter-reader iframe{width:100%;height:78vh;min-height:520px;border:1px solid #2b4a51;border-radius:16px;background:#fff}.newsletter-publication-controls{padding:20px;margin:20px 0;border:1px solid #2b4a51;border-radius:16px}.newsletter-publication-controls label{display:block;margin:12px 0}.newsletter-publication-controls input{margin-left:12px}.newsletter-publication-controls .button{margin:6px 10px 6px 0}@media(max-width:640px){.newsletter-archive-list{grid-template-columns:1fr}.newsletter-reader iframe{min-height:440px}.newsletter-publication-controls input{display:block;margin:8px 0}}.ratings-page{max-width:1040px}.ratings-page>h1{font-size:clamp(2.3rem,6vw,4rem)}.rating-panel{padding:clamp(18px,4vw,34px);margin-block:26px;border:1px solid var(--line);border-radius:22px;background:#0b1f27}.rating-panel h2{font-size:clamp(1.5rem,4vw,2.3rem)}.rating-panel p{color:var(--muted)}.rating-session-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.rating-status{border:1px solid var(--line);border-radius:99px;padding:6px 12px;white-space:nowrap;color:var(--muted)}.rating-status.open{color:var(--mint);border-color:var(--mint)}.rating-choices{border:0;padding:0;margin:28px 0;min-width:0}.rating-choices legend{margin-bottom:14px;font-weight:700;font-size:1.15rem}.rating-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rating-choice{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;border:2px solid var(--line);border-radius:16px;padding:18px 8px;cursor:pointer;font-size:.85rem;background:#06161c}.rating-choice.selected{border-color:var(--cyan);background:#123139}.rating-choice:focus-within{outline:3px solid var(--mint);outline-offset:3px}.rating-choice input{accent-color:var(--cyan);width:18px;height:18px}.rating-stars{color:var(--mint);letter-spacing:.04em;font-size:clamp(1rem,2.7vw,1.6rem)}.rating-field{display:flex;flex-direction:column;gap:8px;margin:22px 0;font-weight:700}.rating-field span{font-size:.83rem;color:var(--muted);font-weight:400}.rating-field textarea,.rating-field input,.rating-field select{width:100%;max-width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#06161c;color:var(--ink);font:inherit;font-weight:400}.rating-field textarea{resize:vertical}.rating-field :focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.ratings-page button{cursor:pointer}.ratings-page button:disabled{opacity:.5;cursor:not-allowed}.rating-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.rating-admin-form.compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:18px 0}.rating-admin-form.compact .rating-field{margin:0}.ratings-page .button.warning{border-color:#ff8da1;color:#ffd4dc;background:transparent}.rating-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.rating-totals strong{display:block;color:var(--mint);font-size:1.3rem}.rating-response{border-top:1px solid var(--line);padding:18px 0}.rating-response h4{font-size:1.1rem;margin:0}.rating-response h5{font-size:.9rem;margin:16px 0 5px;color:var(--cyan)}.rating-response p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.rating-response-mover{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:16px;padding:14px;border-radius:12px;background:#06161c}.rating-response-mover .rating-field{margin:0}@media(max-width:640px){.rating-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rating-totals{grid-template-columns:1fr;gap:0}.rating-admin-form.compact,.rating-response-mover{grid-template-columns:1fr}}.admin-operations{padding-top:64px;padding-bottom:100px}.admin-operations>h1{max-width:1000px;margin:.1em 0 .35em;font-size:clamp(3.6rem,7vw,6.8rem);letter-spacing:-.065em;line-height:.94}.admin-operations>.lead{max-width:780px}.admin-alert,.admin-success{padding:13px 16px;border-radius:12px;font-weight:750}.admin-alert{border:1px solid #f47a62;background:#f47a621f;color:#ffd8d0}.admin-success{border:1px solid #72e5bd;background:#72e5bd1a;color:#bff8e5}.admin-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:36px 0}.admin-summary-grid article{display:grid;gap:4px;padding:20px;border:1px solid rgba(124,188,201,.35);border-radius:16px;background:#0a1d25}.admin-summary-grid strong{font-size:2rem;color:#71e7da}.admin-summary-grid span{color:#abc2c7;font-size:.84rem}.student-directory-layout{display:block}.student-directory-list,.newsletter-drafts,.newsletter-fields,.recipient-preview,.newsletter-test{border:1px solid rgba(124,188,201,.35);border-radius:20px;background:#0a1d25}.student-directory-list{padding:20px}.admin-search{display:grid;gap:8px;font-weight:800}.admin-search input,.newsletter-fields input,.newsletter-fields select,.newsletter-fields textarea,.newsletter-test input{width:100%;border:1px solid rgba(132,188,199,.45);border-radius:10px;padding:11px 12px;background:#07151b;color:#fff;font:inherit}.admin-result-count{margin:14px 0 8px;color:#9eb8be;font-size:.84rem}.student-list-scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:760px;overflow:auto}.student-list-scroll>button{display:grid;width:100%;grid-template-columns:45px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid rgba(124,188,201,.18);border-radius:12px;background:#07171e;color:#eff9fa;text-align:left;cursor:pointer}.student-list-scroll>button.selected{background:#5ce1de1f}.student-list-scroll strong,.student-list-scroll small{display:block}.student-list-scroll small{margin-top:3px;color:#9eb8be}.student-list-avatar,.student-detail-avatar{display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#69e2e2,#86f0c7);color:#06242d;font-weight:900}.student-list-avatar{width:42px;height:42px}.student-list-avatar img,.student-detail-avatar img{width:100%;height:100%;object-fit:cover}.admin-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#9db2b926;color:#bfd0d4;font-size:.7rem;font-weight:900;white-space:nowrap}.admin-status.good{background:#72e5bd24;color:#86efc9}.admin-status.warn{background:#f3be4a24;color:#f5cf72}.student-detail-dialog{width:min(720px,calc(100vw - 24px));max-width:none;height:100dvh;max-height:none;margin:0 0 0 auto;padding:0;border:0;border-left:1px solid rgba(124,188,201,.45);background:#081a22;color:#eff9fa;box-shadow:-25px 0 70px #00000073}.student-detail-dialog::backdrop{background:#01090db8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.student-detail{min-height:100%;padding:28px}.student-detail-close{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 22px;color:#8aaab1;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.student-detail-close button{border:1px solid rgba(132,188,199,.45);border-radius:999px;padding:8px 12px;background:transparent;color:#fff;font:inherit;cursor:pointer}.student-detail-heading{display:flex;gap:17px;align-items:center;padding-bottom:24px;border-bottom:1px solid rgba(124,188,201,.22)}.student-detail-avatar{width:74px;height:74px;font-size:1.8rem}.student-detail h2,.student-detail h3{margin:0}.student-detail-heading p{margin:5px 0 0;color:#9eb8be}.student-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:26px 0}.student-detail-grid section{padding:20px;border-radius:15px;background:#07171e}.student-detail-grid h3,.attendance-detail h3{margin-bottom:15px}.student-detail dl{display:grid;gap:13px;margin:0}.student-detail dl div{display:grid;gap:3px}.student-detail dt{color:#87a8b0;font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.student-detail dd{margin:0;overflow-wrap:anywhere}.attendance-detail>div{display:flex;align-items:center;justify-content:space-between}.attendance-detail table{width:100%;border-collapse:collapse}.attendance-detail th,.attendance-detail td{padding:9px 6px;border-bottom:1px solid rgba(124,188,201,.18);text-align:left}.attendance-detail th{color:#83a5ad;font-size:.76rem;text-transform:uppercase}.newsletter-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start;margin-top:34px}.newsletter-drafts{padding:18px}.newsletter-side-heading{display:flex;align-items:center;justify-content:space-between}.newsletter-side-heading h2{margin:0}.newsletter-side-heading button,.newsletter-drafts>button{border:0;background:transparent;color:#eff9fa;cursor:pointer}.newsletter-side-heading button{color:#79e7db;font-weight:900}.newsletter-drafts>button{display:grid;width:100%;gap:5px;padding:14px 8px;border-bottom:1px solid rgba(124,188,201,.18);text-align:left}.newsletter-drafts>button.selected{border-radius:10px;background:#5ce1de1f}.newsletter-drafts span{color:#91aeb5;font-size:.78rem}.newsletter-workspace{display:grid;gap:20px}.newsletter-fields,.recipient-preview,.newsletter-test{padding:24px}.newsletter-fields{display:grid;gap:16px}.newsletter-fields label{display:grid;gap:7px;color:#d6e7e9;font-weight:750}.newsletter-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.newsletter-fields textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.newsletter-upload input{padding:8px}.newsletter-actions{display:flex;gap:10px}.recipient-preview>div:first-child{display:flex;justify-content:space-between;align-items:center}.recipient-preview h2,.newsletter-test h2{margin:0}.recipient-preview>div>strong{color:#83efcd}.recipient-preview>p,.newsletter-test p{color:#9eb8be}.recipient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto}.recipient-list>span{display:grid;padding:10px;border-radius:10px;background:#07171e;overflow-wrap:anywhere;font-size:.82rem}.recipient-list small{margin-top:3px;color:#75dfd7;text-transform:uppercase}.newsletter-test>div{display:flex;gap:10px}.newsletter-test input{min-width:0}.newsletter-preview{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;margin-top:30px}.newsletter-preview>div{padding:18px;border:1px solid rgba(124,188,201,.35);border-radius:20px;background:#0a1d25}.newsletter-preview h2{margin:0 0 12px;font-size:1.15rem}.newsletter-preview iframe{width:100%;height:600px;border:0;border-radius:10px;background:#fff}.newsletter-safety{margin-top:20px;color:#a9c0c5;font-size:.86rem}.admin-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.student-sort-panel{margin-top:16px;padding:15px;border:1px solid rgba(124,188,201,.25);border-radius:14px;background:#07171e}.student-sort-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.student-sort-heading h2{margin:0;font-size:1rem}.student-sort-heading p{margin:4px 0 0;color:#91aeb5;font-size:.78rem}.student-sort-heading>button{border:0;background:transparent;color:#7deae5;font:inherit;font-weight:850;cursor:pointer}.student-sort-heading>button:disabled{opacity:.4;cursor:default}.student-sort-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:13px}.student-sort-options>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;gap:5px;align-items:center;padding:8px;border:1px solid rgba(124,188,201,.2);border-radius:10px}.student-sort-options>div.active{border-color:#72e5d9a6;background:#72e5d912}.sort-priority{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#84bcc71f;color:#95b3ba;font-size:.72rem;font-weight:900}.student-sort-options .active .sort-priority{background:#72e5d9;color:#06242d}.student-sort-options strong{font-size:.76rem}.student-sort-options button{display:flex;gap:3px;align-items:center;border:1px solid rgba(132,188,199,.3);border-radius:8px;padding:6px;background:transparent;color:#9cb7bd;font:inherit;font-size:.72rem;cursor:pointer}.student-sort-options button.selected{border-color:#72e5d9;background:#72e5d9;color:#06242d}.student-sort-options button span{display:none}@media(max-width:1100px){.student-sort-options{grid-template-columns:1fr 1fr}.student-sort-options>div:last-child{grid-column:1/-1}.student-sort-options button span{display:inline}}@media(max-width:900px){.admin-summary-grid{grid-template-columns:1fr 1fr}.student-list-scroll,.newsletter-layout,.newsletter-preview,.student-detail-grid,.newsletter-field-row{grid-template-columns:1fr}.newsletter-preview .phone-email-preview{max-width:380px}.admin-choices{grid-template-columns:1fr 1fr}}@media(max-width:600px){.admin-operations{padding-top:48px}.admin-operations>h1{font-size:clamp(3rem,15vw,5rem)}.admin-summary-grid,.recipient-list,.admin-choices,.student-sort-options{grid-template-columns:1fr}.student-sort-options>div:last-child{grid-column:auto}.student-list-scroll{max-height:620px}.student-detail{padding:20px}.student-detail-dialog{width:100vw}.newsletter-test>div{align-items:stretch;flex-direction:column}.newsletter-preview .phone-email-preview{max-width:none}}.account-invitation{margin-bottom:26px;padding:20px;border:1px solid rgba(114,229,217,.28);border-radius:15px;background:#07171e}.account-invitation-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.account-invitation-heading p{margin:5px 0 0;color:#9eb8be;font-size:.82rem}.account-invitation>p{color:#aec5ca}.invitation-send-steps ol{display:grid;gap:12px;margin:17px 0;padding:0;list-style:none}.invitation-send-steps li{display:grid;grid-template-columns:minmax(190px,auto) 1fr;gap:12px;align-items:center}.invitation-send-steps li span{color:#9eb8be;font-size:.82rem}.text-action{border:0;padding:6px 0;background:transparent;color:#7deae5;font:inherit;font-weight:850;cursor:pointer}.text-action.danger{display:block;margin-top:13px;color:#ff987f}.admin-status.sent{background:#f3be4a24;color:#ffd04f}.admin-status.missing{background:#f4685d26;color:#ff8f82}.invitation-mark-sent{display:block;margin-top:13px}.student-roster-actions{margin-top:26px;padding:20px;border:1px solid rgba(124,188,201,.28);border-radius:15px;background:#07171e}.student-roster-actions p{color:#aec5ca}.button.danger{border-color:#ff806b;background:#f4685d1f;color:#ffab9e}.admin-status.invalid{background:#c084fc29;color:#d8a7ff}.contact-email{display:inline-block;margin-left:9px;color:#7deae5;font-size:.78rem;font-weight:850}.contact-both{display:inline-flex;margin-top:16px;text-decoration:none}@media(max-width:600px){.invitation-send-steps li{grid-template-columns:1fr}.invitation-send-steps li span{margin-top:-7px}}.school-dashboard{margin:44px 0 34px}.school-dashboard-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.school-dashboard-heading .eyebrow{margin:0 0 5px}.school-dashboard-heading h2{margin:0;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.045em}.school-dashboard-heading p:last-child{margin:7px 0 0;color:#9eb8be}.school-dashboard-heading>span{padding:8px 12px;border-radius:999px;background:#71e7da1f;color:#8aeee3;font-weight:850;white-space:nowrap}.school-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.school-card-grid>button{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:18px;border:1px solid rgba(124,188,201,.3);border-radius:17px;background:#0a1d25;color:#eff9fa;text-align:left;cursor:pointer}.school-card-grid>button:hover,.school-card-grid>button.selected{border-color:#71e7da;background:linear-gradient(145deg,#205c61a6,#0a1d25)}.school-card-grid>button>span{align-self:end;color:#c6dade;font-size:.85rem;font-weight:850}.school-card-grid>button>strong{grid-row:1/3;grid-column:2;font-size:2.45rem;color:#71e7da}.school-card-grid>button>small{color:#8eabb1}.school-card-grid dl{display:grid;grid-template-columns:repeat(3,1fr);grid-column:1/-1;gap:7px;margin:16px 0 0;padding-top:13px;border-top:1px solid rgba(124,188,201,.2)}.school-card-grid dl div{display:grid;gap:2px}.school-card-grid dt{color:#7f9da4;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}.school-card-grid dd{margin:0;font-weight:900}.attendance-graphs{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:14px;margin-top:14px}.attendance-graphs>article,.never-attended{padding:20px;border:1px solid rgba(124,188,201,.3);border-radius:18px;background:#0a1d25}.graph-heading h3,.never-attended h3{margin:0;font-size:1.15rem}.graph-heading p,.never-attended-heading p{margin:5px 0 0;color:#91adb3;font-size:.81rem}.attendance-chart-wrap{overflow-x:auto;margin-top:12px}.attendance-line-chart{display:block;width:100%;min-width:560px;height:auto}.attendance-line-chart text{fill:#8daab1;font-size:11px}.chart-grid{stroke:#7cbcc929;stroke-width:1}.chart-series polyline{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-series circle{stroke:#0a1d25;stroke-width:3}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:4px;color:#acc3c8;font-size:.74rem}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:9px;height:9px;border-radius:50%}.chart-empty{margin-top:14px;padding:22px;border-radius:12px;background:#07171e;color:#9eb8be}.attendance-reach-chart{display:grid;gap:20px;margin-top:23px}.attendance-reach-chart>div>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:.8rem}.attendance-reach-chart span{color:#a9c0c5}.reach-track{height:13px;overflow:hidden;border-radius:999px;background:#07151b}.reach-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#37bab6,#71e7da)}.never-attended{margin-top:14px}.never-attended-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.never-attended-heading>strong{display:grid;place-items:center;min-width:44px;height:44px;border-radius:50%;background:#f47a6224;color:#ff9c89;font-size:1.25rem}.follow-up-list{display:grid;gap:8px;margin-top:17px}.follow-up-row{display:grid;grid-template-columns:minmax(180px,1fr) 180px minmax(220px,1.2fr) auto 42px;gap:10px;align-items:end;padding:11px;border-radius:12px;background:#07171e}.follow-up-student{display:grid;gap:3px;border:0;padding:7px;background:transparent;color:#eff9fa;text-align:left;cursor:pointer}.follow-up-student span{color:#8faab0;font-size:.74rem}.follow-up-row label{display:grid;gap:5px;color:#87a5ac;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.follow-up-row select,.follow-up-row input{min-width:0;width:100%;height:41px;border:1px solid rgba(132,188,199,.35);border-radius:9px;padding:8px;background:#0a2029;color:#eff9fa;font:inherit;text-transform:none;letter-spacing:normal}.follow-up-row .button{height:41px;padding:8px 13px}.follow-up-saved{align-self:center;color:#83efcd;font-size:.72rem;font-weight:850}@media(max-width:1050px){.attendance-graphs{grid-template-columns:1fr}.follow-up-row{grid-template-columns:1fr 1fr}.follow-up-student{grid-column:1/-1}.follow-up-saved{align-self:center}}@media(max-width:650px){.school-dashboard-heading{align-items:start;flex-direction:column}.school-dashboard-heading>span{white-space:normal}.school-card-grid,.follow-up-row{grid-template-columns:1fr}.follow-up-student{grid-column:auto}.follow-up-saved{min-height:0}.attendance-graphs>article,.never-attended{padding:16px}}.password-reset-queue{margin:40px 0;padding:22px;border:1px solid rgba(192,132,252,.35);border-radius:20px;background:linear-gradient(145deg,#41235359,#0a1d25)}.password-reset-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.password-reset-heading .eyebrow{margin:0 0 4px;color:#d8a7ff}.password-reset-heading h2{margin:0;font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.04em}.password-reset-heading p:last-child{margin:6px 0 0;color:#a9bec4}.password-reset-heading>strong{display:grid;place-items:center;min-width:48px;height:48px;border-radius:50%;background:#c084fc29;color:#d8a7ff;font-size:1.25rem}.password-reset-list{display:grid;gap:10px;margin-top:18px}.password-reset-list>article{display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(250px,.9fr) auto auto;gap:12px;align-items:center;padding:14px;border-radius:13px;background:#07171e}.password-reset-list>article>div:first-child{display:grid;gap:3px}.password-reset-list span,.password-reset-list small{color:#91adb3;font-size:.76rem}.reset-recipient{display:grid;gap:5px;color:#8ba8af;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.reset-recipient select{min-width:0;width:100%;border:1px solid rgba(132,188,199,.4);border-radius:9px;padding:9px;background:#0a2029;color:#eff9fa;font:inherit;text-transform:none;letter-spacing:normal}.reset-send-steps{display:flex;gap:7px;flex-wrap:wrap}.reset-send-steps .button,.password-reset-list>article>.button{padding:9px 12px;font-size:.76rem}.password-reset-list .text-action{font-size:.76rem}@media(max-width:1100px){.password-reset-list>article{grid-template-columns:1fr auto}.reset-recipient,.reset-send-steps,.password-reset-list>article>.button{grid-column:1/-1}.reset-send-steps .button{flex:1}}@media(max-width:600px){.password-reset-queue{padding:16px}.password-reset-heading{align-items:start}.password-reset-list>article{grid-template-columns:1fr}.password-reset-list>article>.admin-status{justify-self:start}.reset-send-steps{display:grid}.password-reset-list>article>.text-action{justify-self:start}}.attendance-chart-point{cursor:pointer;outline:none}.attendance-chart-point:focus .attendance-visible-point,.attendance-chart-point:hover .attendance-visible-point{stroke:#fff;stroke-width:3}.attendance-roster-dialog{width:min(900px,calc(100vw - 24px));max-height:90dvh;border:1px solid #42646c;border-radius:22px;background:#081a22;color:#eff9fa;padding:0}.attendance-roster-dialog::backdrop{background:#01090dbf}.attendance-roster-panel{padding:28px}.attendance-roster-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.attendance-roster-heading h2{font-size:1.8rem;margin:8px 0}.attendance-roster-heading .eyebrow{margin:0}.attendance-roster-heading .button{white-space:nowrap}.attendance-session-choice{display:grid;gap:8px;font-weight:750;margin:20px 0}.attendance-session-choice select,.attendance-email-fields input{width:100%;border:1px solid #42646c;border-radius:10px;padding:11px;background:#07151b;color:#fff;font:inherit}.attendance-email-form{background:#0d252d;border:1px solid #42646c;border-radius:16px;padding:20px;margin:22px 0}.attendance-email-form h3{margin-top:0}.attendance-email-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.attendance-email-fields label{display:grid;gap:8px;font-weight:750}.attendance-email-subject{overflow-wrap:anywhere}.attendance-email-form details{margin-top:18px}.attendance-email-form summary{cursor:pointer}.attendance-email-form iframe{width:100%;height:400px;background:#fff;border:0;border-radius:10px;margin-top:12px}.attendance-session-roster{margin:24px 0}.attendance-session-roster table{width:100%;border-collapse:collapse}.attendance-session-roster th,.attendance-session-roster td{text-align:left;padding:10px;border-bottom:1px solid #29454e}.attendance-roster-dialog button:disabled{opacity:.55;cursor:default}@media(max-width:600px){.attendance-roster-panel{padding:18px}.attendance-roster-heading{display:block}.attendance-email-fields{grid-template-columns:1fr}.attendance-roster-heading .button{margin-top:12px}}.student-list-scroll>button.inactive{background:#192126;border-color:#424b50;color:#b9c1c5}.student-list-scroll>button.inactive small{color:#a1adb3}.student-list-scroll>button.inactive .student-list-avatar{background:#637077;color:#f0f3f4}.student-list-scroll>button.inactive .student-list-avatar img{filter:grayscale(1)}.student-list-scroll>button.inactive .admin-status{background:#343e44;color:#c7cfd3}.student-list-scroll>button.inactive:hover{background:#232d33}.student-list-scroll>button.inactive.selected{border-color:#a4b6bf}.student-list-scroll>button.inactive:focus-visible{outline:3px solid #71e7da;outline-offset:2px}.show-inactive{display:flex;align-items:center;gap:10px;margin:16px 0;color:#d6e7e9}.show-inactive input{width:18px;height:18px;accent-color:#71e7da}.attendance-email-fields select,.attendance-session-choice input{width:100%;padding:12px;border:1px solid #49626b;border-radius:10px;background:#07151b;color:#eff9fa;font:inherit}.attendance-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.attendance-title-row h3{margin:0}.attendance-title-row .monthly-summary-action{font-size:.8rem;padding:9px 14px;white-space:nowrap;flex-shrink:0}@media(max-width:600px){.attendance-title-row{align-items:flex-start;flex-direction:column;gap:12px}}.student-preview-banner{position:sticky;top:72px;z-index:20;display:flex;align-items:center;justify-content:center;gap:18px;padding:11px 24px;background:#f3d15d;color:#071a21;font-size:.9rem}.student-preview-banner a{color:#071a21;font-weight:900;text-decoration:underline}.student-dashboard,.lab-library{padding-top:clamp(70px,8vw,116px);padding-bottom:100px}.student-dashboard>h1,.lab-library>h1,.lab-admin>h1{max-width:1000px;margin:.1em 0 .8em;font-size:clamp(3.6rem,7vw,6.8rem);letter-spacing:-.065em;line-height:.94}.student-next h2,.dashboard-lab h2{font-size:clamp(2rem,3.2vw,3.2rem);margin:0 0 20px;letter-spacing:-.04em}.student-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.student-action{min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;border:1px solid rgba(100,224,224,.7);border-radius:22px;background:linear-gradient(130deg,#063946f0,#07181ff5);color:#f4fbfc;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}.student-action.ratings{border-color:#ee56c6b8;background:linear-gradient(130deg,#27132ef0,#0e161ff7)}.student-action:hover,.student-action:focus-visible{transform:translateY(-3px);box-shadow:0 18px 45px #0000004d}.student-action h3{margin:0 0 8px;font-size:clamp(1.55rem,2.2vw,2.25rem)}.student-action p{margin:0;color:#bad0d5}.student-action>span{flex:0 0 auto;padding:12px 18px;border-radius:999px;background:linear-gradient(90deg,#63e4ef,#88f2c8);color:#071a21;font-weight:900}.student-next{margin-bottom:64px}.dashboard-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.dashboard-section-heading .eyebrow{margin-bottom:5px}.lab-card-grid,.lab-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.lab-card{position:relative;display:flex;min-width:0;min-height:330px;flex-direction:column;overflow:hidden;border:1px solid rgba(123,190,204,.42);border-radius:18px;background:#081a22;color:#f2fbfc;text-decoration:none;transition:transform .18s,border-color .18s}.lab-card:hover,.lab-card:focus-visible{transform:translateY(-3px);border-color:#67e9e8}.lab-card.unavailable{opacity:.78}.lab-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.lab-card-copy{padding:20px 20px 12px}.lab-card-copy h3{margin:6px 0 15px;font-size:1.35rem}.lab-format{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#67e9e8}.lab-tags{display:flex;flex-wrap:wrap;gap:8px}.lab-tags span{padding:5px 9px;border:1px solid rgba(96,226,226,.45);border-radius:999px;color:#c5dbdf;font-size:.76rem}.lab-card-action{margin:auto 20px 18px;color:#8ff1ce;font-weight:850}.lab-notice{color:#b8cdd2;font-size:.88rem}.lab-library .lead{max-width:740px}.lab-filters{display:flex;justify-content:space-between;gap:18px;margin:44px 0 30px;border-top:1px solid rgba(129,177,187,.25);border-bottom:1px solid rgba(129,177,187,.25);padding:16px 0}.lab-filters>div{display:flex;flex-wrap:wrap;gap:8px}.lab-filters button{border:1px solid rgba(129,177,187,.42);border-radius:999px;padding:9px 13px;background:transparent;color:#c7d9dc;font:inherit;font-weight:750;cursor:pointer}.lab-filters button.active{background:#71e7da;color:#071a21;border-color:#71e7da}.lab-library-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.lab-admin{padding-top:64px;padding-bottom:100px}.lab-admin-layout{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:28px;align-items:start}.lab-admin-list,.lab-editor{border:1px solid rgba(124,188,201,.35);border-radius:20px;background:#0a1d25;padding:24px}.lab-admin-list h2,.lab-editor h2{margin-top:0}.lab-admin-list button{display:flex;width:100%;flex-direction:column;gap:3px;margin:0;padding:14px 10px;border:0;border-bottom:1px solid rgba(124,188,201,.2);background:transparent;color:#eff9fa;text-align:left;cursor:pointer}.lab-admin-list button span{color:#9bb7bd;font-size:.82rem}.lab-admin-list button.selected{background:#5ce1de1a}.lab-admin-list button.add{margin-top:12px;border:1px solid #66deda;border-radius:12px;color:#7deae5}.lab-editor{display:grid;gap:16px}.lab-editor label{display:grid;gap:7px;color:#d6e7e9;font-weight:750}.lab-editor input,.lab-editor select,.lab-editor textarea{width:100%;border:1px solid rgba(132,188,199,.45);border-radius:10px;padding:11px 12px;background:#07151b;color:#fff;font:inherit}.lab-editor-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lab-checks{display:flex;flex-wrap:wrap;gap:20px}.lab-checks label{display:flex;grid-template-columns:none;align-items:center;gap:8px}.lab-checks input{width:auto}.lab-admin .button{justify-self:start}@media(max-width:800px){.student-preview-banner{position:static;align-items:flex-start;flex-direction:column;gap:4px}.student-dashboard,.lab-library{padding-top:54px}.student-dashboard>h1,.lab-library>h1,.lab-admin>h1{font-size:clamp(3rem,15vw,5rem)}.student-action-grid,.lab-card-grid,.lab-admin-layout{grid-template-columns:1fr}.student-action{min-height:130px;padding:22px}.dashboard-section-heading{align-items:flex-start;flex-direction:column}.lab-library-grid{grid-template-columns:1fr}.lab-filters{align-items:flex-start;flex-direction:column}.lab-editor-row{grid-template-columns:1fr}}.lab-editor-actions{display:flex;flex-wrap:wrap;gap:10px}.lab-editor-actions .button{margin:0}@media(min-width:801px){.student-dashboard{padding-top:72px;padding-bottom:80px}.student-dashboard>h1{font-size:clamp(3.8rem,5vw,4.9rem);margin-bottom:.72em}.student-next h2,.dashboard-lab h2{font-size:clamp(2rem,2.8vw,2.7rem)}.student-action{min-height:125px;padding:24px 30px}.student-next{margin-bottom:48px}.dashboard-lab .lab-card{min-height:290px}}.lab-lead-break{display:block}@media(max-width:800px){.lab-lead-break{display:inline}}
