:root{--ink:#172520;--ink-soft:#4f625b;--muted:#6c7b76;--canvas:#f4f7f5;--surface:#fff;--surface-soft:#f8faf9;--line:#dce5e1;--line-strong:#c6d4cf;--primary:#116b62;--primary-strong:#0a554e;--primary-soft:#e5f3f0;--focus:#52a99f;--danger:#b42318;--radius-sm:9px;--radius-md:14px;--radius-lg:20px;--shadow-sm:0 1px 2px #112b230d, 0 5px 16px #112b230d;--shadow-md:0 14px 35px #112b2317;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit;transition:border-color .16s,box-shadow .16s,background-color .16s,color .16s,transform .16s}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #52a99f4d}input:hover,select:hover,textarea:hover{border-color:#9eb5ad!important}input:focus,select:focus,textarea:focus{outline:0;box-shadow:0 0 0 3px #52a99f24;border-color:var(--focus)!important}button:disabled{cursor:not-allowed;opacity:.48}.setup-shell{background:radial-gradient(circle at 18% 12%,#bce3da73,#0000 34%),radial-gradient(circle at 88% 88%,#dae8e199,#0000 30%),linear-gradient(145deg,#f8fbf9 0%,#edf4f1 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.setup-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #ffffffc7;border-radius:24px;width:min(560px,100%);padding:38px;position:relative;box-shadow:0 28px 70px #11423621,inset 0 1px #fff}.setup-card h1{color:var(--primary-strong);letter-spacing:-.035em;margin:14px 0 30px;padding-right:116px;font-size:clamp(30px,6vw,40px);line-height:1.08}.setup-intro{color:var(--ink-soft);margin:0 0 26px;font-size:15px}.setup-card p{line-height:1.55}.eyebrow{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.auth-form{gap:11px;display:grid}.auth-form label{color:#40544d;font-size:13px;font-weight:720}.auth-form input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;font:inherit;background:#fcfefd;padding:12px 13px}.auth-form select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;font:inherit;background:#fff;padding:12px 13px}.auth-form.compact{margin-top:12px}.auth-form small{color:#667085}.journey-intro{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--ink-soft);margin:0 0 4px;padding:11px 13px;font-size:13px}button{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:#fff;font:inherit;cursor:pointer;padding:10px 16px;font-weight:700;box-shadow:0 1px 2px #0f463d1f}button:not(:disabled):hover{background:var(--primary-strong);border-color:var(--primary-strong);transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(0)}.secondary{border-color:var(--line-strong);color:#344b43;background:#fff;box-shadow:0 1px 2px #112b230d}.secondary:not(:disabled):hover{background:var(--surface-soft);color:var(--primary-strong);border-color:#9bb8af}.text-button{color:var(--primary);box-shadow:none;background:0 0;border:0;padding-inline:0}.text-button:not(:disabled):hover{color:var(--primary-strong);text-underline-offset:3px;background:0 0;border:0;text-decoration:underline;transform:none}.notice,.error{border-radius:var(--radius-sm);margin-top:18px;padding:11px 13px;font-size:13px;font-weight:650}.notice{color:#067647;background:#edfdf3;border:1px solid #a9dfc0}.error{color:var(--danger);background:#fff1f0;border:1px solid #f1b7b2}.setup-card details{color:var(--ink-soft);margin-top:12px}.setup-card summary{cursor:pointer;width:fit-content;color:var(--primary);font-size:13px;font-weight:700}.setup-key{overflow-wrap:anywhere;letter-spacing:.08em;background:#f4f7f9;border:1px solid #b8c2cc;border-radius:8px;padding:12px;font-size:15px}.totp-qr{border:10px solid #fff;border-radius:8px;justify-self:center;width:240px;max-width:100%;height:auto}.manual-key{gap:10px;display:grid}.manual-key .setup-key{margin-top:10px;display:block}.auth-stage{animation:.28s both auth-stage-in}@keyframes auth-stage-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.language-switch{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;gap:2px;padding:3px;display:inline-flex;position:absolute;top:24px;right:24px;box-shadow:0 1px 3px #112b2312}.language-switch button{min-width:45px;height:32px;color:var(--muted);box-shadow:none;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.language-switch button:not(:disabled):hover{color:var(--ink);background:#eaf3f0;border:0;transform:none}.language-switch button.active{color:var(--primary-strong);background:#fff;box-shadow:0 1px 5px #11423624}.language-switch small{letter-spacing:.04em;font-size:9px;font-weight:850}.language-switch.compact{box-shadow:none;background:#ffffff14;border-color:#ffffff38;position:static}.language-switch.compact button{color:#d8efec;min-width:38px;height:28px;padding-inline:6px}.language-switch.compact button.active{color:var(--primary-strong);background:#fff}.verification-wait{text-align:center}.verification-wait h2{color:var(--ink);margin:2px 0 0}.verification-wait p{color:var(--ink-soft);margin:2px 0 10px}.mail-illustration{background:var(--primary-soft);width:58px;height:58px;color:var(--primary);border-radius:18px;place-items:center;margin:0 auto 8px;font-size:28px;display:grid}.waiting-indicator{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--ink-soft);justify-content:center;align-items:center;gap:10px;margin:8px 0 2px;padding:12px;font-size:13px;font-weight:650;display:flex}.spinner{border:2px solid #b8d7d1;border-top-color:var(--primary);border-radius:50%;flex:none;width:17px;height:17px;animation:.8s linear infinite spinner}@keyframes spinner{to{transform:rotate(360deg)}}.verification-success{border-radius:var(--radius-sm);color:#067647;background:#edfdf3;border:1px solid #a9dfc0;align-items:center;gap:11px;margin-bottom:8px;padding:13px;display:flex}.verification-success>span{color:#fff;background:#12b76a;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-weight:850;display:grid}.verification-success div{gap:2px;display:grid}.verification-success small{color:#287a58}.email-action-card{min-height:370px}.email-action-result{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:230px;animation:.28s both auth-stage-in;display:flex}.email-action-result h2{color:var(--ink);margin:18px 0 4px}.email-action-result p{max-width:400px;color:var(--ink-soft);margin:4px auto 22px}.spinner.large{border-width:3px;width:36px;height:36px}.result-icon{color:#fff;background:#12b76a;border-radius:50%;place-items:center;width:58px;height:58px;font-size:28px;font-weight:850;display:grid;box-shadow:0 8px 24px #12b76a38}.error-state .result-icon{background:var(--danger);box-shadow:0 8px 24px #b4231833}.button-link{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:#fff;padding:11px 17px;font-weight:750;text-decoration:none;box-shadow:0 1px 2px #0f463d1f}.button-link:hover{background:var(--primary-strong)}.secondary-link{border-color:var(--line-strong);color:var(--ink);background:#fff}.secondary-link:hover{background:var(--surface-soft)}.registration-progress{grid-template-columns:repeat(4,1fr);margin:0 0 24px;padding:0;list-style:none;display:grid}.registration-progress li{color:#98a7a1;justify-items:center;gap:5px;display:grid;position:relative}.registration-progress li:before{content:"";z-index:0;background:var(--line);width:100%;height:2px;position:absolute;top:13px;left:-50%}.registration-progress li:first-child:before{display:none}.registration-progress li.active:before{background:#83c5ba}.registration-progress li>span{z-index:1;border:2px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:850;display:grid;position:relative}.registration-progress li.active{color:var(--primary)}.registration-progress li.active>span{border-color:var(--primary);background:var(--primary-soft)}.registration-progress li[aria-current=step]>span{background:var(--primary);color:#fff;box-shadow:0 0 0 4px var(--primary-soft)}.registration-progress small{font-size:10px;font-weight:750}.journey-result{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:280px;animation:.28s both auth-stage-in;display:flex}.journey-result h2{color:var(--ink);margin:18px 0 5px}.journey-result p{max-width:480px;color:var(--ink-soft);margin:4px auto 8px;line-height:1.6}.journey-result>small{color:var(--muted)}.form-reassurance{margin:-2px 0 3px;line-height:1.45;color:var(--muted)!important}.pending-icon{background:#e9a23b;font-size:23px;box-shadow:0 8px 24px #e9a23b3b}.journey-actions{gap:8px;margin-top:20px;display:flex}.admin-panel{text-align:left;margin-top:26px}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading h2{color:var(--ink);letter-spacing:-.02em;margin:5px 0 0;font-size:24px}.admin-section{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);margin-top:18px;padding:20px}.admin-section h2,.admin-section h3{color:#213b33;letter-spacing:-.012em;margin:0 0 12px}.settings-row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.settings-row>label{color:#40544d;gap:7px;font-size:13px;font-weight:650;display:grid}.settings-row input[type=password]{border:1px solid #cbd5df;border-radius:8px;padding:9px}.settings-row input:not([type=checkbox]),.settings-row select{background:#fff;border:1px solid #cbd5df;border-radius:8px;padding:9px}.create-staff{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:#fff;margin-bottom:14px;padding:11px 14px}.create-staff summary{cursor:pointer;color:var(--primary);font-weight:750}.create-staff[open] summary{margin-bottom:14px}.pending-row{border-top:1px solid #eaecf0;grid-template-columns:minmax(220px,1fr) 120px 150px auto auto;align-items:center;gap:10px;padding:12px 0;display:grid}.pending-row select,table select{background:#fff;border:1px solid #cbd5df;border-radius:7px;padding:7px}.row-actions{gap:6px;display:flex}.danger{border-color:var(--danger);background:var(--danger)}.danger:not(:disabled):hover{background:#8f1c13;border-color:#8f1c13}.count-badge{color:#0f6b62;background:#e7f4f2;border-radius:999px;place-items:center;min-width:24px;height:24px;font-size:12px;display:inline-grid}.muted{color:var(--muted)}.table-scroll{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e8eeeb;padding:11px 10px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;background:#f6f9f7;font-size:10px}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f9fcfa}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}@media (width>=900px){.setup-card:has(.admin-panel){width:min(1180px,100%)}}@media (width<=800px){.pending-row{grid-template-columns:1fr 1fr}.pending-row>div:first-child{grid-column:1/-1}}.app-shell{background:linear-gradient(180deg, #edf4f1 0, var(--canvas) 190px);min-height:100vh}.app-header{z-index:20;color:#fff;background:linear-gradient(110deg,#0b554e 0%,#116b62 55%,#17786d 100%);border-bottom:1px solid #ffffff1f;align-items:center;gap:24px;min-height:72px;padding:0 26px;display:flex;position:sticky;top:0;box-shadow:0 8px 26px #1142362e}.brand{white-space:nowrap;letter-spacing:-.015em;align-items:center;gap:10px;font-weight:820;display:flex}.brand-mark{color:#fff;letter-spacing:-.04em;background:linear-gradient(145deg,#ffffff3d,#ffffff14);border:1px solid #ffffff73;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:850;display:inline-grid;box-shadow:inset 0 1px #ffffff40,0 5px 14px #042d2733}.setup-brand .brand-mark{color:#fff;background:linear-gradient(145deg,#177a6f,#0a554e);border-color:#91c8c1;border-radius:14px;width:46px;height:46px;font-size:15px;box-shadow:0 9px 22px #116b6238}.app-header nav{align-items:center;gap:4px;display:flex}.app-header nav button{color:#d8efec;min-height:40px;box-shadow:none;background:0 0;border:0;border-radius:10px;padding:0 14px;font-size:13px}.app-header nav button:not(:disabled):hover{color:#fff;background:#ffffff1a;border-color:#0000;transform:none}.app-header nav button.active{color:var(--primary-strong);background:#fff;box-shadow:0 5px 14px #042d272e}.account-chip{align-items:center;gap:12px;margin-left:auto;display:flex}.account-chip span{text-align:right;font-size:13px;display:grid}.account-chip small{color:#cce4e1;margin-top:2px}.account-chip button{color:#fff;background:#ffffff17;border-color:#ffffff47;padding:7px 11px}.account-chip button:not(:disabled):hover{color:#fff;background:#ffffff29;border-color:#ffffff7a}.app-content{width:min(1480px,100% - 44px);margin:28px auto 48px}.wide-card,.students-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:26px}.page-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.page-heading h1{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(25px,3vw,32px);line-height:1.15}.page-heading p{color:var(--muted);margin:6px 0 0}.heading-actions{flex-wrap:wrap;gap:8px;display:flex}.filter-bar{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:22px 0 16px;padding:12px;display:flex}.filter-bar input,.filter-bar select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;min-width:190px;padding:10px 11px}.filter-bar input{flex:1;min-width:260px}.check{color:#475467;align-items:center;gap:7px;font-size:13px;display:flex}.fetched{color:#667085;margin-left:auto;font-size:12px}.student-list{gap:9px;display:grid}.student-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #112b2308}.student-card:hover{border-color:#bfd2cb;box-shadow:0 6px 18px #11423612}.student-card.archived{opacity:.8;background:#f8fafb}.student-summary{color:#344054;text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:24px minmax(190px,1.5fr) 1fr .8fr 1fr auto;align-items:center;gap:12px;width:100%;padding:13px 16px;font-weight:500;display:grid}.student-summary:hover{background:#f2f8f6}.student-summary strong,.student-summary small{display:block}.student-summary small{color:#667085;margin-top:2px;font-size:11px}.chevron{color:#667085}.archive-badge{color:#7a2e0e;background:#ffead5;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700}.student-details{border-top:1px solid var(--line);background:#f8fbfa;padding:20px}.student-details dl{grid-template-columns:repeat(4,minmax(140px,1fr));gap:16px 24px;margin:0 0 18px;display:grid}.student-details dl div{min-width:0}.student-details dt{color:#667085;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:700}.student-details dd{overflow-wrap:anywhere;margin:0}.empty{border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--muted);text-align:center;background:linear-gradient(#fbfdfc,#f6faf8);margin-top:10px;padding:62px 20px}.modal-backdrop{z-index:50;background:#0f172a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.student-modal{border-radius:var(--radius-lg);background:#fff;border:1px solid #ffffffb3;width:min(1050px,100%);max-height:calc(100vh - 48px);padding:26px;overflow-y:auto;box-shadow:0 28px 80px #0f2a2247}.student-modal h2{margin:0}.icon-button{color:#344054;background:0 0;border:0;padding:2px 10px;font-size:26px}.student-form{gap:16px;margin-top:20px;display:grid}.student-form fieldset{border:1px solid var(--line);background:#fbfdfc;border-radius:12px;margin:0;padding:18px}.student-form legend{color:#116b62;padding:0 7px;font-size:13px;font-weight:800}.form-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:13px;display:grid}.student-form label{color:#475467;gap:5px;font-size:12px;font-weight:700;display:grid}.student-form input,.student-form select,.student-form textarea{color:#17202b;background:#fff;border:1px solid #cbd5df;border-radius:7px;width:100%;padding:9px 10px}.form-actions{justify-content:flex-end;display:flex}@media (width<=900px){.app-header{flex-wrap:wrap;gap:8px 12px;padding:10px 12px}.brand>span:last-child{display:none}.brand-mark{width:32px;height:32px}.app-header nav{scrollbar-width:none;order:3;width:100%;overflow-x:auto}.app-header nav::-webkit-scrollbar{display:none}.app-header nav button{flex:none;min-height:36px}.account-chip span{display:none}.student-summary{grid-template-columns:20px 1fr auto}.student-summary>span:nth-child(4),.student-summary>span:nth-child(5){display:none}.student-details dl,.form-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media (width<=560px){.app-content{width:calc(100% - 20px);margin:10px auto}.students-panel,.wide-card{border-radius:15px;padding:16px}.setup-shell{padding:14px}.setup-card{border-radius:20px;padding:26px 22px}.setup-card h1{padding-right:96px;font-size:29px}.language-switch{top:18px;right:18px}.language-switch button{min-width:39px;padding-inline:6px}.registration-progress small{font-size:8px}.page-heading{flex-direction:column;align-items:flex-start}.student-details dl,.form-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tracking-panel{padding:24px}.tracking-legend{color:#667085;align-items:center;gap:7px;font-size:12px;display:inline-flex}.tracking-scroll{border:1px solid #dbe2e8;border-radius:10px;overflow-x:auto}.tracking-table{min-width:1050px;font-size:12px}.tracking-table th,.tracking-table td{vertical-align:middle;border-right:1px solid #e6eaee}.tracking-table thead th{background:#f7f9fa}.tracking-table th:nth-child(3){color:#8a4b08;background:#fff8e6}.tracking-table th:last-child,.tracking-table td:last-child{border-right:0}.tracking-name{min-width:170px}.tracking-name strong,.tracking-name small{display:block}.tracking-name small{color:#667085;margin-top:3px}.display-level{text-align:center;width:145px}.display-level select,.registered-cell select{background:#fff;border:1px solid #b8c2cc;border-radius:999px;padding:6px 9px}.lesson-cell{white-space:normal;min-width:300px}.lesson-chip{cursor:pointer;background:#fff;border:1px solid #cdd5dd;border-radius:999px;align-items:center;gap:5px;margin:2px;padding:4px 9px 4px 6px;display:inline-flex}.lesson-chip.completed{color:#067647;background:#ecfdf3;border-color:#79d5a1}.lesson-chip input{accent-color:#0f8a61;margin:0}.lesson-chip:has(input:disabled){cursor:default;opacity:.78}.registered-head{text-align:center;width:82px;min-width:82px;padding-inline:6px!important}.registered-head>span:first-child{font-size:10px}.info-tip{cursor:help;margin-left:4px}.registered-cell{text-align:center;white-space:nowrap;background:#fbfcfd;width:82px;border-left:2px solid #b9c6cf!important;padding-inline:6px!important}.compact-level{text-align:center;width:42px;padding:5px 4px!important}.promotion-dot{background:#12b76a;border-radius:50%;width:9px;height:9px;margin-left:7px;display:inline-block;box-shadow:0 0 0 3px #d1fadf}.attendance-panel{position:relative}.attendance-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 14px;display:flex}.attendance-toolbar>strong{text-align:center;min-width:190px}.attendance-toolbar select{background:#fff;border:1px solid #cbd5df;border-radius:8px;padding:8px}.view-tabs{gap:3px;display:flex}.view-tabs button{color:#475467;background:#fff;border-color:#b8c2cc}.view-tabs button.active{color:#116b62;background:#e7f4f2;border-color:#116b62}.attendance-legend{flex-wrap:wrap;gap:10px;margin-left:auto;font-size:12px;font-weight:700;display:flex}.status-g{color:#067647}.status-k{color:#b42318}.status-i{color:#b54708}.status-d{color:#175cd3}.attendance-scroll{border:1px solid #dbe2e8;border-radius:9px;max-height:70vh;overflow:auto}.attendance-table{width:max-content;min-width:100%}.attendance-table thead{z-index:4;position:sticky;top:0}.attendance-table th{text-align:center;background:#f7f9fa;min-width:36px;padding:6px 5px}.attendance-table thead th:first-child,.attendance-table tbody th{z-index:3;text-align:left;background:#fff;min-width:170px;padding-left:10px;position:sticky;left:0}.attendance-table thead th:first-child{z-index:5;background:#f7f9fa}.attendance-table th small{font-size:9px;display:block}.attendance-cell{text-align:center;cursor:pointer;width:36px;height:34px;font-weight:800;position:relative;padding:2px!important}.attendance-cell:hover{outline-offset:-2px;outline:2px solid #8bc9c2}.attendance-cell.sunday{cursor:default;background:#eef1f4}.attendance-cell.off{cursor:default;background:repeating-linear-gradient(135deg,#f5f0e8,#f5f0e8 5px,#ebe4d8 5px 10px)}.attendance-cell.status-g,.attendance-badge.status-g{color:#067647;background:#dcfae6}.attendance-cell.status-k,.attendance-badge.status-k{color:#b42318;background:#fee4e2}.attendance-cell.status-i,.attendance-badge.status-i{color:#b54708;background:#fef0c7}.attendance-cell.status-d,.attendance-badge.status-d{color:#175cd3;background:#dbeafe}.attendance-cell.has-note{box-shadow:inset 0 0 0 2px #f79009}.attendance-cell.selected{outline-offset:-3px;z-index:2;outline:3px solid #116b62}.attendance-cell i{color:#d92d20;font-size:7px;position:absolute;top:0;right:0}.yurt-row td{z-index:2;color:#116b62;background:#dff2ef;padding:7px 10px;font-weight:800;position:sticky;top:33px}.attendance-editor{background:#fff;border:1px solid #83bdb7;border-radius:12px;margin:12px 0 18px;overflow:hidden;box-shadow:0 8px 22px #0f172a1f}.attendance-editor header{background:#e7f4f2;justify-content:space-between;padding:11px 15px;display:flex}.attendance-editor header span{display:grid}.attendance-editor header small{color:#667085;text-transform:uppercase;font-size:10px}.attendance-editor-body{flex-wrap:wrap;align-items:center;gap:10px;padding:13px 15px;display:flex}.attendance-editor-body select,.attendance-editor-body input{border:1px solid #cbd5df;border-radius:8px;padding:8px 10px}.attendance-editor-body input{flex:1;min-width:240px}.attendance-badge{border-radius:999px;padding:6px 10px;font-weight:800}.warning-trigger{z-index:30;background:#d92d20;border-color:#d92d20;border-radius:999px;position:fixed;top:100px;right:20px;box-shadow:0 5px 18px #b423184d}.warning-scrim{z-index:39;visibility:hidden;opacity:0;background:#280a0a1a;transition:all .2s;position:fixed;inset:0}.warning-scrim.open{visibility:visible;opacity:1}.warning-drawer{z-index:40;background:#fff5f5f5;border-left:1px solid #f0aaa5;width:min(370px,90vw);padding:18px;transition:transform .25s;position:fixed;top:66px;bottom:0;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-10px 0 35px #460f0f2e}.warning-drawer.open{transform:translate(0)}.warning-drawer header{justify-content:space-between;align-items:center;display:flex}.warning-drawer h2{color:#b42318}.warning-drawer>button{color:#7a271a;text-align:left;background:#fff;border-color:#f1b4b0;gap:2px;width:100%;margin:5px 0;display:grid}.warning-drawer>button small{color:#667085}.flashing{animation:.7s 3 attendance-flash}@keyframes attendance-flash{50%{outline:4px solid #d92d20;transform:scale(1.18)}}.year-layout{grid-template-columns:180px 1fr;align-items:start;gap:16px;display:grid}.year-index{background:#f9fbfb;border:1px solid #dbe2e8;border-radius:9px;gap:3px;max-height:calc(100vh - 100px);padding:10px;display:grid;position:sticky;top:85px;overflow-y:auto}.year-index button{color:#116b62;text-align:left;background:0 0;border:0;padding:6px;font-size:11px}.year-yurt{z-index:5;color:#116b62;background:#dff2ef;margin:0 0 8px;padding:8px 12px;font-size:17px;position:sticky;top:66px}.student-year{border:1px solid #dbe2e8;border-radius:10px;margin-bottom:16px;padding:13px;scroll-margin-top:110px}.student-year>header{justify-content:space-between;margin-bottom:10px;display:flex}.student-year>header span{color:#667085;font-size:12px}.month-grid{grid-template-columns:repeat(4,minmax(170px,1fr));gap:9px;display:grid}.mini-month{table-layout:fixed;font-size:9px}.mini-month caption{color:#116b62;padding:4px;font-weight:800}.mini-month th,.mini-month td{text-align:center;width:14.28%;height:23px;padding:0}.mini-month .attendance-cell{width:auto;height:23px}.mini-month .attendance-cell small{opacity:.7;font-size:7px;font-weight:500;position:absolute;top:1px;left:2px}.off-periods{margin-top:18px}.off-periods h2{color:#116b62;margin:0}.off-periods .page-heading p{color:#667085;margin:3px 0}.period-list{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.period-list>span{background:#f2f4f7;border-radius:999px;padding:6px 9px;font-size:12px}.period-list button{color:#b42318;background:0 0;border:0;margin-left:5px;padding:0 4px}.period-form{border-top:1px solid #e4e7ec;margin-top:16px;padding-top:14px}.range-nav{justify-content:space-between;display:flex}.range-calendars{grid-template-columns:1fr 1fr;gap:16px;max-width:740px;margin:8px auto 14px;display:grid}.range-month{table-layout:fixed}.range-month caption{padding:7px;font-weight:800}.range-month th,.range-month td{text-align:center;width:14.28%;padding:2px}.range-month td button{color:#344054;background:0 0;border:0;width:100%;padding:6px}.range-month td.in-range{background:#dff2ef}.range-month td.range-start,.range-month td.range-end{background:#116b62}.range-month td.range-start button,.range-month td.range-end button{color:#fff}.period-form fieldset{border:1px solid #dbe2e8;border-radius:8px;flex-wrap:wrap;gap:14px;display:flex}.period-fields{gap:8px;display:flex}.period-fields input{border:1px solid #cbd5df;border-radius:8px;flex:1;padding:9px}@media (width<=1000px){.month-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.year-layout{grid-template-columns:1fr}.year-index{flex-wrap:wrap;max-height:none;display:flex;position:static}}@media (width<=650px){.month-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.range-calendars{grid-template-columns:1fr}.attendance-legend{width:100%;margin-left:0}.period-fields{flex-direction:column}}.settings-page h1{color:#116b62}.settings-page h2{font-size:18px}.settings-page table input,.settings-page table select{background:#fff;border:1px solid #cbd5df;border-radius:7px;padding:7px}.level-tabs{flex-wrap:wrap;gap:5px;margin-bottom:14px;display:flex}.level-tabs button.active{color:#fff;background:#116b62}.curriculum-editor{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:14px;display:grid}.curriculum-editor section{border:1px solid #dbe2e8;border-radius:9px;padding:14px}.curriculum-editor h3{margin-top:0}.curriculum-editor section>div{gap:5px;margin-bottom:6px;display:flex}.curriculum-editor input{border:1px solid #cbd5df;border-radius:7px;flex:1;padding:8px}.curriculum-editor .danger{padding:5px 10px}@media (width<=650px){.curriculum-editor{grid-template-columns:1fr}}
