.assignment-modal{width:min(680px,100%)}.assignment-columns{grid-template-columns:1fr 1fr;gap:18px;margin-top:22px;display:grid}.assignment-columns fieldset{border:1px solid var(--border);border-radius:var(--radius-md);background:#fafafa;min-width:0;padding:16px}.assignment-columns legend{font-family:var(--font-display);color:var(--primary);text-transform:uppercase;letter-spacing:.5px;padding:0 8px;font-size:11.5px;font-weight:800}.assignment-choice{border-radius:var(--radius-sm);border:1px solid var(--border);transition:var(--transition);cursor:pointer;background:#fff;align-items:center;gap:10px;padding:10px 12px;margin:8px 0!important;font-weight:600!important;display:flex!important}.assignment-choice:hover{background:#f4f4f5;border-color:#e4e4e7}.assignment-choice input{accent-color:var(--primary);width:17px!important;height:17px!important;margin:0!important}.assignment-choice span{color:var(--ink);font-size:13px}.assignment-columns small{color:var(--muted);padding:10px 4px 4px;font-size:12px;display:block}.modal select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--ink);box-shadow:var(--shadow-xs);transition:var(--transition);background:#fff;margin-top:6px;padding:11px 14px;font-size:14px}.modal select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.weekday-fieldset{border:1px solid var(--border);border-radius:var(--radius-md);background:#fafafa;margin-top:18px;padding:16px}.weekday-fieldset legend{font-family:var(--font-display);color:var(--primary);text-transform:uppercase;letter-spacing:.5px;padding:0 8px;font-size:11.5px;font-weight:800}.weekday-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:8px;display:grid}.bulk-modal{width:min(1120px,100vw - 32px)}.bulk-entry-table{border:1px solid var(--border);border-radius:var(--radius-md);margin:18px 0 12px;overflow-x:auto}.bulk-entry-row{border-top:1px solid var(--border);align-items:center;gap:8px;min-width:720px;padding:10px;display:grid}.bulk-class .bulk-entry-row{grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) 42px;min-width:520px}.bulk-teacher .bulk-entry-row{grid-template-columns:minmax(190px,1.1fr) minmax(220px,1.25fr) minmax(170px,1fr) minmax(170px,1fr) 42px}.bulk-seder .bulk-entry-row{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) 115px 115px minmax(210px,1.3fr) 42px}.bulk-entry-row:first-child{border-top:0}.bulk-entry-head{color:var(--muted);letter-spacing:.45px;background:#f4f4f5;font-size:11px}.bulk-entry-row input{min-width:0;margin:0!important}.bulk-remove{width:36px;height:36px;color:#dc2626!important;padding:0!important}.bulk-add-row{margin-bottom:4px}.bulk-weekdays{grid-template-columns:repeat(4,minmax(42px,1fr));gap:5px;display:grid}.bulk-weekdays button{border:1px solid var(--border);min-height:32px;color:var(--muted);background:#fff;border-radius:7px;padding:5px 7px;font-size:11px;font-weight:800}.bulk-weekdays button.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary);box-shadow:0 0 0 1px var(--primary-glow)}@media (width<=640px){.assignment-modal,.bulk-modal{width:100%}.assignment-columns{grid-template-columns:1fr}.weekday-grid{grid-template-columns:repeat(2,1fr)}.bulk-entry-table{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;max-width:100%}.bulk-add-row{width:100%}}.parent-details{border:1px solid var(--border);border-radius:var(--radius-md);background:#fafafa;margin:14px 0;padding:14px}.parent-details legend{color:var(--ink);padding:0 8px;font-weight:800}.parent-fields{grid-template-columns:110px 1fr 1fr;gap:12px;display:grid}.new-code-box{border:1px solid var(--border);border-radius:var(--radius-md);background:#f4f4f5;grid-template-columns:minmax(150px,1fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.new-code-box code{color:#fff;overflow-wrap:anywhere;background:#17243d;border-radius:10px;grid-column:1/-1;padding:10px 12px;font-size:15px}.student-create-modal,.student-edit-modal{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:calc(100dvh - 40px);overflow-y:auto}.student-create-modal .modal-action,.student-edit-modal .modal-action{margin-bottom:2px}@media (width<=680px){.parent-fields{grid-template-columns:1fr}}.management-form{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:20px;padding:24px 26px}.form-grid{grid-template-columns:repeat(2,minmax(180px,1fr));gap:16px;margin:18px 0;display:grid}.management-form label{color:var(--ink-secondary);font-weight:700;font-size:13px!important}.management-form input,.management-form select,.management-form textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--ink);box-shadow:var(--shadow-xs);transition:var(--transition);background:#fff;margin-top:6px;padding:10px 14px;display:block;font-size:14px!important}.management-form input:focus,.management-form select:focus,.management-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.management-form textarea{resize:vertical;min-height:120px}.score-field{display:block}.email-history-filters{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.email-history-filters>strong{align-self:center;margin-right:auto}.email-history-filters label{min-width:min(190px,100%)}.email-history-filters select{width:100%}.score-input{border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);background:#fff;grid-template-columns:82px auto 82px;align-items:center;width:max-content;max-width:100%;margin-top:6px;display:grid;overflow:hidden}.score-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.score-input input{text-align:center;width:100%;min-width:0;box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important}.score-input span{color:var(--muted);font:700 18px/1 var(--font-display);padding:0 10px}.grade-export-actions{align-self:end;gap:8px;display:flex}.grade-export-actions button{white-space:nowrap}.grade-filters{grid-template-columns:repeat(5,minmax(140px,1fr)) auto;align-items:end;gap:14px;display:grid}.grade-filters>strong{font-family:var(--font-display);grid-column:1/-1;margin-bottom:2px;font-size:18px}.grade-filters>label{border:1px solid var(--border);border-radius:var(--radius-md);background:#f4f4f5;padding:12px;font-size:12px;font-weight:800;display:block}.grade-filters>label select,.grade-filters>label input{width:100%;margin-top:7px}.management-form>.primary{margin-left:auto;display:inline-flex}.management-form+.schools-panel{margin-top:20px}.grade-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.grade-entry-grid>.management-form{min-width:0;margin-bottom:0}.grade-entry-grid .form-grid{grid-template-columns:1fr}.report-accordion{gap:14px;display:grid}.report-accordion>article{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;overflow:hidden}.report-summary{text-align:left;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:76px;display:flex;background:#fff!important;border:0!important;padding:16px 18px!important}.report-summary>span{gap:8px;min-width:0;display:grid}.report-summary strong,.report-summary small{line-height:1.4;display:block}.report-summary small{color:var(--muted)}.report-content{border-top:1px solid var(--border);background:#fafafa;padding:18px}.export-tools{grid-template-columns:minmax(260px,1fr) auto auto auto auto;align-items:end;gap:14px 16px;display:grid}.export-tools>div:first-child{padding-right:48px}.export-tools>div:first-child strong,.export-tools>div:first-child small{display:block}.export-tools>div:first-child small{color:var(--muted);margin-top:6px}.export-tools label{border:1px solid var(--border);border-radius:var(--radius-md);background:#f4f4f5;min-width:150px;padding:12px;font-size:12px;font-weight:800}.export-tools label select,.export-tools label input{width:100%;margin-top:7px}.export-tools button{white-space:nowrap}.management-form .form-grid>.assignment-choice{border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);background:#fafafa;grid-column:1/-1;place-self:start stretch;gap:12px;align-items:center!important;margin:0!important;padding:14px 18px!important;display:flex!important}.management-form .form-grid>.assignment-choice:hover{background:#f4f4f5;border-color:#e4e4e7}.management-form .form-grid>.assignment-choice input{accent-color:var(--primary);flex:0 0 18px;padding:0;width:18px!important;height:18px!important;margin:0!important}.management-form .form-grid>.assignment-choice span{color:var(--ink);font-weight:650;line-height:1.4;font-size:14px!important}.attendance-filters{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:20px;padding:22px 24px}.filter-grid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-top:16px;display:grid}.filter-grid label{color:var(--ink-secondary);font-weight:700;font-size:13px!important}.filter-grid input,.filter-grid select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--ink);box-shadow:var(--shadow-xs);transition:var(--transition);background:#fff;margin-top:6px;padding:10px 12px;font-size:13.5px;display:block}.filter-grid input:focus,.filter-grid select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}@media (width<=1250px){.grade-filters{grid-template-columns:repeat(5,minmax(0,1fr))}.grade-export-actions{flex-wrap:wrap;grid-column:1/-1;max-width:100%}}@media (width<=1050px){.grade-entry-grid{grid-template-columns:1fr}.grade-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.grade-export-actions{grid-column:1/-1}.filter-grid{grid-template-columns:repeat(2,1fr)}.export-tools{grid-template-columns:1fr 1fr}.export-tools>div:first-child{grid-column:1/-1;padding-right:0}}@media (width<=720px){.form-grid{grid-template-columns:1fr}.management-form,.attendance-filters{padding:18px 14px}.grade-filters{grid-template-columns:1fr 1fr}.grade-filters>strong,.grade-export-actions{grid-column:1/-1}.grade-filters>label,.grade-filters>label select,.grade-filters>label input{min-width:0;max-width:100%}.period-filter:not(.grade-filters){grid-template-columns:1fr 1fr;gap:12px;display:grid}.period-filter:not(.grade-filters)>strong{font-family:var(--font-display);grid-column:1/-1;font-size:17px}.period-filter:not(.grade-filters)>label{border:1px solid var(--border);border-radius:var(--radius-md);background:#f4f4f5;min-width:0;padding:12px;font-size:12px;font-weight:800;display:block}.period-filter:not(.grade-filters) input,.period-filter:not(.grade-filters) select{width:100%;min-width:0;margin-top:7px;display:block}.report-summary{align-items:flex-start;padding:14px!important}.report-summary strong,.report-summary small,.report-content{overflow-wrap:anywhere}.report-content{padding:14px}.export-tools button,.management-form>.primary{justify-content:center;width:100%}}@media (width<=620px){.grade-filters,.filter-grid{grid-template-columns:1fr}.grade-filters>label,.grade-export-actions{grid-column:1}.grade-export-actions{grid-template-columns:1fr;display:grid}.grade-export-actions button{width:100%}.export-tools{grid-template-columns:1fr}.export-tools>div:first-child{grid-column:1}.export-tools label{min-width:0}.period-filter:not(.grade-filters){grid-template-columns:1fr}.period-filter:not(.grade-filters)>strong{grid-column:1}.score-input{grid-template-columns:minmax(70px,82px) auto minmax(70px,82px);width:100%}}.family-student-stats{gap:18px;display:grid}.family-student-stats>.panel>h3{font-family:var(--font-display);margin:0 0 16px;font-size:20px}.family-student-stats .stats{margin:0}.behavior-table .simple-row{grid-template-columns:52px minmax(210px,1.5fr) repeat(5,minmax(125px,1fr));min-width:max(100%,980px)}.behavior-table input[type=checkbox]{width:18px;height:18px}.behavior-counter{justify-content:center;align-items:center;gap:7px;display:inline-flex}.behavior-counter button{border-radius:9px;width:30px;min-width:30px;height:30px;padding:0;font-size:18px;line-height:1}.behavior-counter strong,.behavior-warning-count{text-align:center;font-variant-numeric:tabular-nums;min-width:24px}.sheet-controls{flex-wrap:wrap;align-items:flex-end;gap:16px;margin:18px 0;display:flex}.attendance-reminder{color:#604817;background:#fff8e8;border:1px solid #f2c66d;border-left:5px solid #e5a72f;border-radius:10px;margin:18px 0 12px;padding:14px 16px;line-height:1.5;box-shadow:0 4px 14px #97691314}.attendance-reminder strong{color:#8a5a00;font-weight:850}.sheet-controls label{color:var(--ink-secondary);flex-direction:column;gap:6px;font-weight:700;display:flex;font-size:13px!important}.sheet-controls input,.sheet-controls select,.attendance-row input,.attendance-row select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);box-shadow:var(--shadow-xs);transition:var(--transition);background:#fff;padding:10px 14px;font-size:14px!important}.sheet-controls input:focus,.sheet-controls select:focus,.attendance-row input:focus,.attendance-row select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.attendance-table{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;margin:20px 0;overflow-x:auto}.attendance-row{border-top:1px solid var(--border-light);grid-template-columns:minmax(190px,1.4fr) minmax(120px,.75fr) 80px minmax(140px,.8fr) 110px minmax(200px,1.4fr) 112px;align-items:center;gap:12px;min-width:1120px;padding:12px 18px;font-size:14px;transition:background-color .15s;display:grid}.late-notice-button{white-space:nowrap;padding:9px 10px}.late-notice-button:disabled{opacity:.45;cursor:not-allowed}.late-notice-button.sent{color:#15803d!important;background:#dcfce7!important;border-color:#22c55e!important}.attendance-cards{gap:10px;margin:18px 0;display:grid}.attendance-card{border:1px solid var(--border);background:#fff;border-radius:14px;grid-template-columns:minmax(170px,1fr) minmax(440px,2fr) 116px minmax(235px,1.15fr) 126px;align-items:center;gap:14px;padding:17px 18px;display:grid}.attendance-card.present{border-left:5px solid #22c55e}.attendance-card.late{border-left:5px solid #f59e0b}.attendance-card.absent{border-left:5px solid #ef4444}.attendance-card.absent_justified{border-left:5px solid #18181b}.attendance-student{flex-direction:column;display:flex}.attendance-student small{color:var(--muted);margin-top:3px}.status-choice{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.status-choice button{border:1px solid var(--border);background:#fafafa;border-radius:9px;min-height:46px;padding:10px 8px;font-size:14px;font-weight:800;line-height:1.2}.status-choice button.selected{background:var(--primary);border-color:var(--primary);color:#fff}.late-minutes{font-weight:800;margin:0!important;font-size:14px!important}.late-minutes input{width:100%;min-height:46px;margin-top:6px;padding:9px;font-size:16px;font-weight:800}.discipline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.discipline-actions>span{width:100%;color:var(--muted);font-size:14px;font-weight:800}.discipline-actions button{border:1px solid var(--border);background:#fff;border-radius:9px;min-height:44px;padding:10px 13px;font-size:14px;font-weight:800}.attendance-notice-modal{width:min(620px,100vw - 28px)}.attendance-notice-modal h2{padding-right:36px}.mail-preview{white-space:pre-wrap;color:#344865;background:#f4f4f5;border:1px solid #e4e4e7;border-radius:14px;padding:18px;line-height:1.65}.attendance-notice-modal .row-actions{justify-content:flex-end;margin-top:18px}.discipline-modal textarea{resize:vertical;width:100%}.attendance-notice-modal textarea{resize:vertical;width:100%;min-height:220px}.mail-preview-note{color:var(--muted);margin:8px 0 0;font-size:12px}@media (width<=1450px){.attendance-card{grid-template-columns:minmax(150px,1fr) minmax(380px,2fr) 116px}.discipline-actions{grid-column:1/3}.late-notice-button{grid-column:3}}@media (width<=720px){.attendance-card{grid-template-columns:1fr}.status-choice{grid-template-columns:repeat(2,1fr)}.discipline-actions,.late-notice-button{grid-column:auto}.late-notice-button{width:100%}}.direct-grade-panel{grid-column:1/-1}.direct-grade-settings{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr))!important;display:grid!important}.direct-grade-settings>label{min-width:0}.single-grade-disclosure{grid-column:1/-1}.single-grade-disclosure>summary{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;padding:14px 18px;font-weight:800;list-style:none}.single-grade-disclosure>summary::-webkit-details-marker{display:none}.single-grade-disclosure>summary:before{content:"＋";color:var(--primary);margin-right:9px}.single-grade-disclosure[open]>summary:before{content:"−"}@media (width<=1100px){.direct-grade-settings{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=620px){.direct-grade-settings{grid-template-columns:1fr!important}}.direct-grade-table{border:1px solid var(--border);border-radius:var(--radius-md);margin:18px 0;overflow-x:auto}.direct-grade-row{border-top:1px solid var(--border-light);grid-template-columns:minmax(210px,1.25fr) minmax(130px,.75fr) minmax(230px,.85fr) minmax(220px,1.4fr);align-items:center;gap:12px;min-width:870px;padding:11px 16px;display:grid}.direct-grade-row:first-child{border-top:0}.direct-grade-row>*{box-sizing:border-box;min-width:0}.direct-grade-row input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:10px 12px}.direct-grade-head{color:#52525b;letter-spacing:.7px;background:#fafafa;font-size:11.5px;font-weight:800}.direct-score{align-items:center;gap:10px;display:flex;margin:0!important}.direct-grade-row .direct-score input{text-align:center;flex:0 0 76px;width:76px;padding-inline:8px}.direct-score span{white-space:nowrap;color:var(--muted);font-size:13px;font-weight:800}.attendance-row>*{box-sizing:border-box;width:100%;min-width:0}.attendance-row.present{background:#f0fdf4}.attendance-row.late{background:#fffdf5}.attendance-row.absent{background:#fff5f5}.attendance-row.unmarked{background:#fafafa}.attendance-row:not(.attendance-head):hover{filter:brightness(.98)}.attendance-head{letter-spacing:.8px;text-transform:uppercase;color:#52525b!important;background:#fafafa!important;border-top:0!important;font-size:11.5px!important;font-weight:800!important}.attendance-row input:disabled{color:#a1a1aa;background:#f4f4f5;border-color:#e4e4e7}.arrival-check{place-items:center!important;width:80px!important;margin:0!important;display:grid!important}.arrival-check input{opacity:0;position:absolute;width:1px!important}.arrival-check span{color:#0000;width:32px;height:32px;transition:var(--transition);cursor:pointer;background:#fff;border:2px solid #e4e4e7;border-radius:9px;place-items:center;font-size:16px;font-weight:900;display:grid}.arrival-check input:checked+span{color:#fff;background:#10b981;border-color:#10b981;box-shadow:0 4px 14px #10b98159}.sheet-save{margin-top:20px}.attendance-summary{grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0;display:grid}.attendance-summary article{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:var(--transition);background:#fff;align-items:center;gap:14px;padding:16px 20px;display:flex}.attendance-summary article:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.attendance-summary strong{font-family:var(--font-display);font-size:26px;font-weight:800}.attendance-summary span{color:var(--muted);font-size:13px;font-weight:700}.attendance-summary .present strong{color:#059669}.attendance-summary .late strong{color:#d97706}.attendance-summary .absent strong{color:#dc2626}.attendance-summary .unmarked strong{color:#52525b}.attendance-section-title{font-family:var(--font-display);color:var(--ink);margin:24px 0 8px;font-size:16px;font-weight:800}.attendance-empty{text-align:center;color:var(--muted);padding:36px 20px;font-size:14px}.present-toggle{color:#18181b;border-radius:var(--radius-sm);width:100%;transition:var(--transition);background:#f4f4f5;border:1px solid #e4e4e7;padding:12px;font-size:13.5px;font-weight:750}.present-toggle:hover{background:#f4f4f5}.present-list{margin-top:14px}.event-list{margin-top:18px}.event-list article{border-top:1px solid var(--border-light);grid-template-columns:180px 1fr 2fr auto;align-items:center;gap:16px;padding:16px 0;display:grid}.event-list time{font-family:var(--font-mono);color:var(--primary);font-weight:600;font-size:13px!important}.event-list p{color:var(--muted);margin:0;font-size:13.5px!important}.event-list article button{border:1px solid var(--border);color:var(--primary);transition:var(--transition);background:#fff;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700}.event-list article button:hover{background:var(--primary-light);border-color:#e4e4e7}.upcoming{margin-bottom:22px}.upcoming-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px;display:grid}.upcoming-grid article{border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:var(--transition);background:#fff;padding:16px 18px}.upcoming-grid article:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.upcoming-grid time{font-family:var(--font-mono);color:var(--primary);font-size:12px;font-weight:700;display:block}.upcoming-grid time span,.upcoming-grid time small{display:block}.upcoming-grid time small{color:var(--muted);margin-top:3px;font-size:11px!important}.upcoming-grid strong{font-family:var(--font-display);color:var(--ink);margin:8px 0 4px;font-size:15px;font-weight:750;display:block}.upcoming-grid small{color:var(--muted);display:block;font-size:13px!important}.onboarding{margin-bottom:22px}.onboarding .panel-title>strong{background:var(--primary-light);color:var(--primary);border-radius:var(--radius-full);border:1px solid #e4e4e7;padding:6px 14px;font-size:12px;font-weight:700}.onboarding-steps{gap:12px;margin-top:20px;display:grid}.onboarding-steps article{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:var(--transition);background:#fff;grid-template-columns:42px 1fr auto;align-items:center;gap:16px;padding:16px 20px;display:grid}.onboarding-steps article:hover{box-shadow:var(--shadow-sm);border-color:#e4e4e7}.onboarding-steps article>span{background:var(--primary-light);width:38px;height:38px;color:var(--primary);border-radius:50%;place-items:center;font-size:14px;font-weight:800;display:grid}.onboarding-steps article.done>span{color:#059669;background:#ecfdf5}.onboarding-steps h3{font-family:var(--font-display);color:var(--ink);margin:0 0 4px;font-size:15px;font-weight:750}.onboarding-steps p{color:var(--muted);margin:0;line-height:1.5;font-size:13px!important}.calendar-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);align-items:start;gap:20px;display:grid}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-toolbar h2{text-transform:capitalize;font-family:var(--font-display);color:var(--ink);margin:0;font-size:24px;font-weight:800}.calendar-toolbar button{border:1px solid var(--border);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--ink);transition:var(--transition);background:#fff;place-items:center;font-size:20px;display:grid}.calendar-toolbar button:hover{background:var(--primary-light);color:var(--primary);border-color:#e4e4e7}.calendar-toolbar button.calendar-today{white-space:nowrap;width:auto;min-width:max-content;padding:0 13px;font-size:14px;font-weight:800}.school-branding .stamp-editor{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:22px;display:grid}.school-branding .stamp-preview{border:1px dashed var(--border);border-radius:var(--radius-md);background:#fafafa;place-items:center;min-height:120px;display:grid;overflow:hidden}.school-branding .stamp-preview img{object-fit:contain;width:100%;height:120px}.school-logo-upload{cursor:pointer;width:max-content;margin:8px 0 14px;display:inline-flex}.school-logo-upload input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.calendar-week,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-week strong{text-align:center;color:#52525b;border-bottom:1px solid var(--border);background:#fafafa;padding:12px;font-size:13px;font-weight:800}.calendar-day{border:1px solid var(--border-light);min-height:120px;transition:var(--transition);background:#fff;margin:-1px 0 0 -1px;padding:10px}.calendar-day.blank{background:#fafafa}.calendar-day>span{font-family:var(--font-display);color:var(--ink);margin-bottom:8px;font-size:16px;font-weight:800;display:block}.calendar-day>button{color:#18181b;text-align:left;white-space:nowrap;text-overflow:ellipsis;width:100%;transition:var(--transition);background:#f4f4f5;border:0;border-radius:6px;margin:4px 0;padding:6px 8px;font-size:12px;font-weight:650;line-height:1.35;display:block;overflow:hidden}.calendar-day>button:hover{background:#f4f4f5}.calendar-day.clickable{cursor:pointer}.calendar-day.clickable:hover{background:#f0f7ff;box-shadow:inset 0 0 0 2px #93c5fd}.calendar-day.clickable:focus-within{background:#e8f2ff;box-shadow:inset 0 0 0 2px #18181b}.calendar-day.today{background:#e9f3ff}.calendar-day.today.clickable:hover{background:#dcecff}.calendar-day.selected{background:#e0efff;box-shadow:inset 0 0 0 2px #18181b}.event-class-picker{border:1px solid var(--border);background:#f4f4f5;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;padding:12px;display:grid}.event-class-picker legend{color:var(--ink);padding:0 5px;font-weight:800}.event-class-picker label{border:1px solid var(--border-light);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;margin:0;padding:8px 10px;display:flex}.calendar-event-modal .event-class-picker input{flex:none;width:16px;height:16px;margin:0}@media (width<=620px){.event-class-picker{grid-template-columns:1fr}}.calendar-jump{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);background:#fff;padding:8px 12px;font-size:13.5px;font-weight:600}@media (width<=1000px){.calendar-layout{grid-template-columns:1fr}}@media (width<=768px){.sheet-controls{flex-direction:column;align-items:stretch}.attendance-summary{grid-template-columns:1fr 1fr}.sheet-controls label,.sheet-controls input,.sheet-controls select{width:100%;min-width:0}.attendance-table,.calendar-panel{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;max-width:100%}.event-list article,.upcoming-grid{grid-template-columns:1fr}.calendar-panel{overflow-x:auto}.calendar-toolbar{flex-wrap:wrap;gap:10px}.calendar-toolbar h2{flex:1 0 100%;font-size:21px}.onboarding-steps article{grid-template-columns:42px minmax(0,1fr);padding:14px}.onboarding-steps article button{grid-column:1/-1;width:100%}.school-branding .stamp-editor{grid-template-columns:1fr}.school-branding .stamp-preview{width:100%}.calendar-week,.calendar-grid{min-width:700px}}@media (width<=520px){.attendance-summary{grid-template-columns:1fr}.sheet-save{width:100%}}.late-notice-button .sent-at{margin-top:2px;font-size:10px;font-weight:600;line-height:1.2;display:block}.resend-warning{color:#8a5a00;background:#fff8e8;border:1px solid #f5c26b;border-radius:12px;margin:0 0 12px;padding:10px 14px}.attendance-notice-modal label input{width:100%}.autosave-status{color:#15803d;margin:6px 0 0;font-size:13px}.autosave-status.error{color:#b91c1c}.discipline-actions button.selected{color:#b91c1c;background:#fee2e2;border-color:#ef4444}.composer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:22px;display:grid}.composer-contacts .filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-list{background:#fff;border:1px solid #e4e4e7;border-radius:14px;max-height:420px;margin-top:12px;overflow:auto}.contact-row{cursor:pointer;border-bottom:1px solid #f4f4f5;align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.contact-row:last-child{border-bottom:0}.contact-row input{width:auto;margin-top:4px}.contact-row strong,.contact-row small{display:block}.contact-row small{color:var(--muted);font-size:12px}.contact-row.selected{background:#eef5ff}.chosen-chips,.variable-chips,.template-tabs{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.chip{color:#18181b;cursor:pointer;background:#f4f4f5;border:1px solid #e4e4e7;border-radius:999px;padding:4px 10px;font-size:12px}.composer-message textarea,.email-templates textarea{resize:vertical;width:100%}.email-warning{color:#8a5a00;background:#fff8e8;border:1px solid #f5c26b;border-radius:12px;margin:0 0 14px;padding:10px 14px}.mail-status{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.mail-status.sent{color:#15803d;background:#dcfce7}.mail-status.failed{color:#b91c1c;background:#fee2e2}.mail-body-row td{background:#f4f4f5}.mail-body-row .mail-preview{white-space:pre-wrap;margin:0;font-family:inherit}.template-tabs button.selected{color:#fff;background:#18181b}.muted{color:var(--muted)}.counter-help{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.6}.counter-badge{text-align:center;color:#344865;background:#eef2f8;border-radius:999px;min-width:28px;padding:3px 10px;font-weight:800;display:inline-block}.counter-badge.late{color:#9a5b00;background:#fff1d6}.counter-badge.warn{color:#b91c1c;background:#fee2e2}.counter-badge.absent{color:#3730a3;background:#e0e7ff}.counter-badge.justified{color:#15803d;background:#dcfce7}@media (width<=900px){.composer-grid,.composer-contacts .filter-grid{grid-template-columns:1fr}}.email-table .mail-body-row{grid-column:1/-1;padding:0 12px 12px}.email-table .mail-body-row .mail-preview{white-space:pre-wrap;margin:0;font-family:inherit}.composer-quick{margin-bottom:8px}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 18px;display:grid}.quick-actions button{color:#1f3a68;font:inherit;cursor:pointer;text-align:left;background:#fff;border:1px solid #e4e4e7;border-radius:16px;align-items:center;gap:10px;padding:14px 16px;display:flex;box-shadow:0 4px 14px #0f172a0d}.quick-actions button:hover{background:#f1f8ff;border-color:#2f96d3}.quick-actions span{font-size:22px}.quick-actions strong{font-size:14px}.settings-home{gap:18px;display:grid}.settings-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.settings-card{background:#fbfdff;border:1px solid #e3ebf6;border-radius:14px;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.settings-icon{color:#18181b;background:#eef5ff;border-radius:12px;place-items:center;width:44px;height:44px;font-size:20px;font-weight:800;display:grid}.settings-card strong,.settings-card small{display:block}.settings-card small{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.5}.settings-status{color:#344865;background:#eef2f8;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-style:normal}.settings-status.ok{color:#15803d;background:#dcfce7}.settings-status.warn{color:#9a5b00;background:#fff1d6}.settings-back{color:#18181b;cursor:pointer;font:inherit;background:#f4f4f5;border:1px solid #e4e4e7;border-radius:999px;margin:0 0 14px;padding:8px 14px}@media (width<=620px){.settings-card{grid-template-columns:44px 1fr}.settings-card button{grid-column:1/-1}}.pay-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 16px;display:grid}.pay-card{background:#fff;border:1px solid #e4e4e7;border-radius:14px;padding:12px 14px}.pay-card small{color:var(--muted);font-size:12px;display:block}.pay-card strong{font-size:20px}.pay-card.warn strong{color:#b91c1c}.pay-card.ok strong{color:#15803d}.pay-family{background:#fff;border:1px solid #e4e4e7;border-radius:14px;margin:0 0 12px;overflow:hidden}.pay-family-head{background:#f4f4f5;border-bottom:1px solid #e4e4e7;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 14px;display:flex}.pay-family-head span{color:var(--muted);font-size:13px}.pay-student{border-bottom:1px solid #f4f4f5;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 14px;display:flex}.pay-student:last-child{border-bottom:0}.pay-student-info{flex:200px;min-width:0}.pay-student-info small{color:var(--muted);display:block}.pay-months{flex-wrap:wrap;flex:2 320px;gap:6px;display:flex}.pay-month{text-align:center;cursor:pointer;background:#fafafa;border:1px solid #d5dfee;border-radius:10px;min-width:62px;padding:5px 8px;font-size:12px;line-height:1.3}.pay-month b{text-transform:capitalize;display:block}.pay-month.paid{color:#15803d;background:#dcfce7;border-color:#86efac}.pay-month.partial{color:#9a5b00;background:#fff1d6;border-color:#f5c26b}.pay-month.late{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.pay-month.upcoming{color:#52525b;background:#f4f4f5}.pay-legend{flex-wrap:wrap;gap:8px;margin:0 0 12px;font-size:12px;display:flex}.pay-legend .pay-month{cursor:default;min-width:0;padding:2px 8px}.pay-sync{background:#f4f4f5;border:1px solid #e4e4e7;border-radius:12px;margin:0 0 14px;padding:10px 14px}.pay-modal-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pay-modal textarea{width:100%}.pay-pick{border:1px solid #e4e4e7;border-radius:10px;max-height:180px;padding:6px 10px;overflow:auto}.pay-pick label{align-items:center;gap:8px;display:flex}.pay-pick input{width:auto}@media (width<=700px){.pay-modal-grid{grid-template-columns:1fr}}.pay-import{width:min(1060px,100%)}.pay-import .pay-import-text{width:100%;margin:8px 0;font-family:ui-monospace,monospace;font-size:13px}.pay-import-table{gap:6px;margin:12px 0;display:grid;overflow-x:auto}.pay-import-row{background:#fff;border:1px solid #e4e4e7;border-radius:10px;grid-template-columns:minmax(150px,1.2fr) minmax(220px,1.6fr) 96px 130px 120px 72px;align-items:center;gap:10px;min-width:820px;padding:8px 10px;display:grid}.pay-import-row.head{color:var(--muted);text-transform:uppercase;background:#f4f4f5;font-size:12px;font-weight:700}.pay-import-row.skipped{opacity:.5}.pay-import-row select,.pay-import-row input:not([type=checkbox]){border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:8px 10px;font-size:14px}.pay-import-name{grid-template-columns:1fr 1fr;gap:6px;margin-top:6px;display:grid}.pay-gc-banner{border:1px solid;border-radius:12px;margin:0 0 12px;padding:12px 14px;font-size:14px;line-height:1.4}.pay-gc-banner.on{color:#14532d;background:#dcfce7;border-color:#86efac}.pay-gc-banner.off{color:#7c4a00;background:#fff1d6;border-color:#f5c26b}.pay-help{background:#f4f4f5;border:1px solid #e4e4e7;border-radius:12px;margin:0 0 14px;padding:0 14px}.pay-help summary{cursor:pointer;align-items:center;min-height:44px;font-weight:700;display:flex}.pay-help ol{gap:6px;margin:0 0 8px;padding-left:22px;display:grid}.pay-help p{margin:0 0 8px}.pay-legend-help{gap:6px;margin:0 0 12px;padding:0;font-size:13px;list-style:none;display:grid}.pay-legend-help .pay-month{cursor:default;min-width:78px;margin-right:6px;display:inline-block}.pay-month,.pay-student .row-actions button,.pay-modal button,.pay-modal select,.pay-modal input:not([type=checkbox]),.payments-workspace .row-actions button,.payments-workspace .row-actions select{min-height:44px}.pay-noplan{align-items:center}.pay-noplan p{color:var(--muted);border:1px dashed #e4e4e7;border-radius:10px;margin:0;padding:8px 12px;font-size:13px}.pay-split-line{font-weight:600;color:#18181b!important}.pay-parts{justify-content:center;gap:3px;margin-top:3px;display:flex}.pay-parts i{border:1px solid;border-radius:6px;padding:1px 5px;font-size:11px;font-style:normal;font-weight:700}.pay-parts i.on{color:#fff;background:#15803d;border-color:#15803d}.pay-parts i.off{color:#71717a;background:#fff;border-color:#d5dfee}.pay-split-box{background:#f4f4f5;border:1px solid #e4e4e7;border-radius:12px;gap:8px;margin:4px 0 10px;padding:10px 12px;display:grid}.pay-split-box .check-row{align-items:center;gap:8px;min-height:44px;display:flex}.pay-split-box input[readonly]{background:#f4f4f5}.pay-part{border:1px solid #e4e4e7;border-radius:12px;margin:0 0 12px;padding:8px 12px}.pay-part.done{background:#f3fdf6;border-color:#86efac}.pay-part legend{padding:0 6px;font-weight:700}.pay-part label{display:block}.pay-part input,.pay-part select{width:100%}.pay-import-split{border-top:1px dashed #e4e4e7;grid-column:1/-1;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;padding-top:6px;display:grid}.pay-import-split label{color:var(--muted);font-size:12px}.pay-import-split-recap{grid-column:1/-1;margin:0;font-size:13px}.pay-legend .pay-month,.pay-legend-help .pay-month{min-height:0}.pay-error-banner{top:max(12px,env(safe-area-inset-top));z-index:300;color:#991b1b;background:#fef2f2;border:2px solid #dc2626;border-radius:14px;align-items:center;gap:14px;max-width:min(640px,100vw - 24px);padding:14px 18px;font-weight:700;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #00000040}.pay-error-banner button{color:#991b1b;background:#fff;border:1px solid #fca5a5;border-radius:10px;min-width:36px;min-height:36px;font-size:20px;line-height:1}.pay-card.aid{background:#faf8ff;border-color:#c4b5fd}.pay-card.aid.ok strong{color:#15803d}.pay-aid-cards{margin-top:-6px}.pay-aid-line{font-weight:600;color:#6d28d9!important}.pay-aid-mark{margin-top:2px}.pay-aid-mark i.on{color:#fff;background:#6d28d9;border-color:#6d28d9}.pay-aid-mark i.wait{color:#5b21b6;background:#ede9fe;border-color:#a78bfa}.pay-aid-mark i.part{color:#9a5b00;background:#fff1d6;border-color:#f5c26b}.pay-aid-mark i.off{color:#71717a;background:#fff;border-color:#d5dfee}.pay-aid-block{border-color:#c4b5fd}.pay-aid-block.done{background:#f3fdf6;border-color:#86efac}.pay-aid-panel summary{min-height:44px}.pay-aid-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin:0 0 12px;display:grid}.pay-aid-item{background:#fff;border:1px solid #ddd6fe;border-radius:12px;align-content:start;gap:6px;padding:10px 12px;display:grid}.pay-aid-item small{color:var(--muted)}.pay-aid-item dl{grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;display:grid}.pay-aid-item dt{color:var(--muted);font-size:12px}.pay-aid-item dd{margin:0;font-weight:700}.pay-aid-item dd.late,.pay-aid-item .pay-aid-late{color:#b91c1c}.pay-aid-item button{min-height:44px}.pay-aid-total,.pay-aid-funders>div{background:#f4f4f5;border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;margin:0 0 8px;padding:10px 12px;display:flex}.pay-aid-funders{gap:6px;margin:0 0 12px;display:grid}.pay-aid-funders>div{background:#faf8ff;margin:0}.bulk-students-modal{text-align:left;width:min(1280px,96vw);max-width:96vw;max-height:92vh;overflow:auto}.bulk-help{color:var(--muted);margin:0 0 12px;font-size:.92rem}.bulk-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.bulk-toolbar button{border:1px solid var(--border);background:var(--bg-card);color:var(--ink);cursor:pointer;font:inherit;border-radius:8px;padding:7px 12px;font-size:.88rem}.bulk-toolbar button:disabled{opacity:.5;cursor:default}.bulk-toolbar .bulk-link{color:var(--muted);border-style:dashed;margin-left:auto}.bulk-paste-box{gap:8px;margin-bottom:10px;display:grid}.bulk-paste-box textarea{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg-card);color:var(--ink);border-radius:8px;padding:8px}.bulk-notice{color:var(--primary);margin:0 0 8px;font-size:.88rem}.bulk-grid-wrap{border:1px solid var(--border);border-radius:10px;max-height:50vh;overflow:auto}.bulk-grid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.86rem}.bulk-grid th{z-index:1;background:var(--bg-card-subtle);color:var(--muted);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 6px;font-weight:600;position:sticky;top:0}.bulk-grid td{border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-light);background:var(--bg-card);padding:0}.bulk-grid input,.bulk-grid select{box-sizing:border-box;width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:0;min-height:34px;margin:0;padding:8px 6px}.bulk-grid input:focus,.bulk-grid select:focus{outline:2px solid var(--border-focus);outline-offset:-2px;background:var(--primary-light)}.bulk-grid .bulk-num{text-align:center;width:34px;color:var(--muted);padding:0 6px}.bulk-grid .bulk-status{white-space:normal;min-width:230px;max-width:340px;padding:4px 8px;font-size:.8rem}.bulk-row-error td{background:#fef2f2}.bulk-row-ok td.bulk-status{background:#f0fdf4}.bulk-grid td .bulk-cell-error{background:#fee2e2;box-shadow:inset 0 0 0 1.5px #ef4444}.bulk-msg-error{color:#b91c1c}.bulk-msg-ok{color:#15803d}.bulk-remove{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:1.2rem}.bulk-summary{background:var(--bg-card-subtle);border:1px solid var(--border);border-radius:10px;margin:12px 0 8px;padding:10px 12px;font-size:.92rem}.bulk-invite{align-items:flex-start;gap:8px;margin:8px 0;font-size:.9rem;display:flex}.bulk-invite input{width:auto;margin-top:3px}.bulk-invite small{color:var(--muted);display:block}.bulk-actions{justify-content:flex-end;align-items:center;gap:14px;margin-top:8px;display:flex}.bulk-progress{color:var(--muted);font-size:.9rem}@media (width<=700px){.bulk-students-modal{padding:14px}.bulk-toolbar .bulk-link{margin-left:0}}.documents-panel .doc-summary{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;display:flex}.documents-panel .doc-badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.documents-panel .doc-badge.ok{color:#15803d;background:#dcfce7}.documents-panel .doc-badge.partial{color:#9a5b00;background:#fff1d6}.documents-panel .doc-badge.wait{color:#b91c1c;background:#fee2e2}.documents-panel .doc-actions{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.documents-panel .danger{color:#b91c1c}.documents-panel .doc-text{background:#f4f4f5;border:1px solid #e4e4e7;border-radius:12px;margin:0 0 16px;padding:10px 14px}.documents-panel .doc-text pre,.documents-panel .doc-body{white-space:pre-wrap;margin:10px 0;font-family:inherit;line-height:1.6}.documents-panel .doc-body{background:#fff;border:1px solid #e4e4e7;border-radius:12px;max-height:420px;padding:14px;overflow:auto}.documents-panel .doc-form{gap:14px;max-width:820px;display:grid}.documents-panel .doc-form label,.documents-panel .doc-form fieldset{gap:6px;font-weight:600;display:grid}.documents-panel .doc-form input[type=text],.documents-panel .doc-form input:not([type]),.documents-panel .doc-form input[type=date],.documents-panel .doc-form textarea,.documents-panel .doc-search{width:100%}.documents-panel .doc-form fieldset{border:1px solid #e4e4e7;border-radius:12px;padding:12px 14px}.documents-panel .doc-radio{grid-template-columns:none;align-items:center;gap:8px;font-weight:500;display:flex!important}.documents-panel .doc-radio input,.documents-panel .doc-student-list input,.documents-panel .doc-chips input{width:auto}.documents-panel .doc-chips{flex-wrap:wrap;gap:6px;display:flex}.documents-panel .doc-chips .chip{align-items:center;gap:6px;font-weight:500;display:inline-flex}.documents-panel .doc-chips .chip.selected{color:#fff;background:#18181b}.documents-panel .doc-student-list{border:1px solid #f4f4f5;border-radius:10px;gap:4px;max-height:240px;padding:8px;display:grid;overflow:auto}.documents-panel .doc-student-list label{align-items:center;gap:8px;font-weight:500;display:flex}.documents-panel .doc-card{background:#fff;border:1px solid #e4e4e7;border-radius:14px;gap:10px;margin:0 0 14px;padding:14px 16px;display:grid}.documents-panel .doc-card header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.documents-panel .doc-card header small{color:var(--muted);display:block}.documents-panel .doc-sign{border-top:1px solid #f4f4f5;gap:10px;padding-top:10px;display:grid}.documents-panel .doc-card>button{justify-self:start}.documents-panel .doc-paper-head{border-bottom:2px solid #18181b;align-items:center;gap:14px;padding-bottom:12px;display:flex}.documents-panel .doc-paper-head img{object-fit:contain;flex:none;width:72px;height:72px}.documents-panel .doc-paper-head div{gap:2px;display:grid}.documents-panel .doc-paper-head strong{color:#18181b;font-size:18px}.documents-panel .doc-paper-head span{color:var(--muted);font-weight:600}.documents-panel .doc-identity{background:#f3f7ff;border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:10px 12px;display:grid}.documents-panel .doc-identity span{gap:1px;min-width:0;display:grid}.documents-panel .doc-identity small{color:var(--muted);font-size:12px}.documents-panel .doc-identity b{overflow-wrap:anywhere}.documents-panel .doc-paper .doc-body{border:0;max-height:none;padding:0;font-size:15px;overflow:visible}.documents-panel .doc-sign-title{margin:0;font-weight:700}.sig-pad{gap:8px;display:grid}.sig-surface{touch-action:none;background:#fff;border:2px dashed #9db4e3;border-radius:12px;height:190px;position:relative;overflow:hidden}.sig-surface canvas{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.sig-hint{color:#8a99b8;pointer-events:none;text-align:center;place-items:center;padding:0 16px;font-weight:600;display:grid;position:absolute;inset:0}.sig-line{pointer-events:none;border-bottom:1.5px solid #c7d3ea;position:absolute;bottom:34px;left:5%;right:5%}.sig-clear{justify-self:start}.documents-panel .doc-form input:not([type=checkbox]):not([type=radio]),.documents-panel .doc-form textarea,.documents-panel .doc-form select,.documents-panel .doc-search{border:1px solid var(--border);border-radius:var(--radius-sm,10px);width:100%;color:var(--ink);font:inherit;box-shadow:var(--shadow-xs,none);background:#fff;padding:11px 13px;font-size:15px;display:block}.documents-panel .doc-form input:focus,.documents-panel .doc-form textarea:focus,.documents-panel .doc-form select:focus,.documents-panel .doc-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow,#2f5bd62e);outline:none}.documents-panel .doc-form textarea{resize:vertical;line-height:1.55}.documents-panel .doc-form small.muted{font-weight:400;line-height:1.4}.documents-panel .doc-actions .primary,.documents-panel .sig-submit{padding:12px 22px;font-size:15px}.documents-panel .sig-submit{justify-self:start}.documents-panel .doc-badge.doc-kind-online{color:#18181b;background:#f4f4f5}.documents-panel .doc-badge.doc-kind-info{color:#075985;background:#e0f2fe}.documents-panel .doc-badge.doc-kind-external{color:#92400e;background:#fef3c7}.documents-panel .doc-kind-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.documents-panel .doc-kind-option{cursor:pointer;background:#fff;border:2px solid #e4e4e7;border-radius:14px;align-items:flex-start;gap:10px;min-height:76px;padding:12px 14px;font-weight:500;display:flex!important}.documents-panel .doc-kind-option input{flex:none;height:22px;margin-top:2px;width:22px!important}.documents-panel .doc-kind-option span{gap:4px;display:grid}.documents-panel .doc-kind-option strong{font-size:16px}.documents-panel .doc-kind-option small{color:var(--muted);font-weight:400;line-height:1.4}.documents-panel .doc-kind-option.selected{background:#f4f4f5;border-color:#18181b;box-shadow:0 0 0 3px #2f5bd624}.documents-panel .doc-files-section{gap:8px;margin:0 0 16px;display:grid}.documents-panel .doc-files-section h3{margin:0;font-size:16px}.documents-panel .doc-file-row{border-bottom:1px solid #f4f4f5;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 0;display:flex}.documents-panel .doc-file-row a{color:#18181b;overflow-wrap:anywhere;flex:1;min-width:160px;font-weight:700}.documents-panel .doc-file-add{text-align:center;cursor:pointer;color:#18181b;border:2px dashed #c9d7ee;border-radius:12px;justify-content:center;align-items:center;min-height:52px;padding:12px;font-weight:700;display:flex!important}.documents-panel .doc-file-add input{display:none!important}.documents-panel .doc-files-links{flex-wrap:wrap;gap:8px;display:flex}.documents-panel .doc-file-link{color:#18181b;background:#f4f4f5;border:1px solid #e4e4e7;border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:8px 14px;font-weight:700;text-decoration:none;display:inline-flex}.documents-panel .doc-offline{background:#fffbf0;border-color:#f3d28a}.documents-panel .doc-offline .doc-paper-head{border-bottom-color:#d9a21b}.documents-panel .doc-steps{gap:6px;margin:0;padding-left:22px;line-height:1.5;display:grid}.documents-panel .doc-status-line{font-size:15px}.documents-panel .doc-external-table .doc-note{border:1px solid var(--border);width:100%;min-height:44px;font:inherit;border-radius:10px;padding:8px 12px}.documents-panel .doc-actions button,.documents-panel .doc-file-row button,.documents-panel .doc-external-table button,.documents-panel .doc-card>button{min-height:44px}@media (width<=760px){.documents-panel .doc-kind-grid{grid-template-columns:1fr}}.documents-panel .doc-paper{background:#fff;border:1px solid #cfd9ea;border-radius:14px;gap:14px;padding:26px clamp(16px,4vw,40px) 30px;display:grid;box-shadow:0 2px 18px #14285a14}.documents-panel .doc-paper-brand{text-align:center;border-bottom:2px solid #18181b;justify-items:center;gap:2px;padding-bottom:16px;display:grid}.documents-panel .doc-paper-brand img{object-fit:contain;width:96px;height:96px}.documents-panel .doc-paper-brand strong{color:#18181b;font-size:22px}.documents-panel .doc-paper-brand span{color:var(--muted);font-weight:600}.documents-panel .doc-paper-title{text-align:center;margin:6px 0 0;font-size:21px}.documents-panel .doc-body-fmt{gap:3px;font-size:15.5px;line-height:1.6;display:grid}.documents-panel .doc-body-fmt p{margin:0}.documents-panel .doc-body-fmt .gap{height:8px}.documents-panel .doc-body-fmt h4{color:#1d4a9e;margin:14px 0 2px;font-size:16.5px;font-weight:800}.documents-panel .doc-body-fmt p.bullet{grid-template-columns:22px 1fr;padding-left:6px;display:grid}.documents-panel .doc-sign-area{border-top:2px dashed #b9c8e6;gap:12px;margin-top:14px;padding-top:18px;display:grid}.documents-panel .doc-sign-area .sig-surface{height:230px}.documents-panel .sig-slots{border-top:2px dashed #b9c8e6;gap:22px;margin-top:14px;padding-top:18px;display:grid}.documents-panel .sig-slot{gap:10px;display:grid}.documents-panel .sig-fields{color:var(--muted);gap:12px;font-size:14px;display:grid}.documents-panel .sig-fields span{align-items:flex-end;gap:8px;display:flex}.documents-panel .sig-fields i{border-bottom:1px solid #8b9bb8;flex:1;min-width:60px;height:18px}.documents-panel .sig-box{background:#fbfcff;border:2px dashed #7b92c8;border-radius:12px;max-width:460px;height:150px;padding:8px 12px}.documents-panel .sig-box small{color:var(--muted)}.enrollment-panel .enr-step{background:#fff;border:1px solid #e4e4e7;border-radius:14px;margin:0 0 16px;padding:14px 16px}.enrollment-panel .enr-step h3{align-items:center;gap:10px;margin:0 0 10px;font-size:16px;display:flex}.enrollment-panel .enr-step h3 span{color:#fff;background:#18181b;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;display:inline-grid}.enrollment-panel .enr-grid{grid-template-columns:2fr 1fr;gap:12px;display:grid}@media (width<=640px){.enrollment-panel .enr-grid{grid-template-columns:1fr}}.enrollment-panel .enr-docs{max-height:200px;margin:0 0 12px}.enrollment-panel .enr-new-doc{border-top:1px solid #f4f4f5;padding-top:12px}.enrollment-panel .enr-file{border-bottom:1px solid #f4f4f5;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.enrollment-panel .enr-file a{color:#18181b;flex:1;min-width:160px;font-weight:700}.enrollment-panel .enr-upload{text-align:center;cursor:pointer;color:#18181b;border:2px dashed #c9d7ee;border-radius:12px;margin-top:12px;padding:14px;font-weight:700;display:block}.enrollment-panel .enr-upload input{display:none}.enrollment-panel .enr-footer{border-top:1px solid #f4f4f5;padding-top:12px}.enrollment-panel .enr-message{white-space:pre-wrap;background:#f4f4f5;border-left:4px solid #18181b;border-radius:6px;margin:0;padding:10px 12px}.enrollment-panel .enr-links{flex-wrap:wrap;gap:8px;display:flex}.enrollment-panel .enr-link{color:#18181b;background:#f4f4f5;border:1px solid #e4e4e7;border-radius:10px;padding:8px 12px;font-weight:600;text-decoration:none}.enrollment-panel .enr-pay{color:#fff;background:#15803d;border-radius:10px;justify-self:start;padding:10px 16px;font-weight:700;text-decoration:none}.enrollment-panel .enr-brand{align-items:center;gap:14px;display:flex}.enrollment-panel .enr-brand img{object-fit:contain;flex:none;width:56px;height:56px}@media (width<=760px){.enrollment-panel .enr-file{align-items:flex-start}.enrollment-panel .enr-file a{flex-basis:100%}.enrollment-panel .doc-actions>button{flex:220px}}.enr-student-access{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.enr-student-access input{flex:none;margin-top:3px}.enr-student-access span{gap:2px;display:grid}:root{--background:#fff;--foreground:#09090b;--card:#fff;--card-foreground:#09090b;--popover:#fff;--muted-bg:#f4f4f5;--accent:#f4f4f5;--accent-foreground:#18181b;--destructive:#dc2626;--ring:#a1a1aa;--input:#e4e4e7;--success:#16a34a;--warning-c:#d97706;--radius:.5rem;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg-app:#fafafa;--bg-card:#fff;--bg-card-subtle:#fafafa;--primary:#18181b;--primary-hover:#27272a;--primary-light:#f4f4f5;--primary-glow:#18181b1f;--ink:#09090b;--ink-secondary:#3f3f46;--muted:#71717a;--muted-light:#a1a1aa;--border:#e4e4e7;--border-light:#f4f4f5;--border-focus:#a1a1aa;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #00000014, 0 1px 2px -1px #00000014;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #00000014;--shadow-modal:0 20px 25px -5px #0000001f, 0 8px 10px -6px #0000001a;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--transition:all .15s ease}body{font-family:var(--font-sans);letter-spacing:-.003em;background:var(--bg-app);color:var(--foreground);font-size:14px}body h1,body h2,body h3,body .welcome h1,body .panel-title h2,body .modal h2{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--foreground)}body ::selection{background:#e4e4e7}body :focus-visible{box-shadow:0 0 0 2px var(--background), 0 0 0 4px var(--ring);outline:2px solid #0000}body .primary,body .secondary,body .panel button,body .simple-row button,body .panel-title button,body .row-actions button,body .modal-action,body .login-submit{white-space:nowrap;border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;height:36px;padding:0 16px;font-size:14px;font-weight:500;line-height:1;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex;transform:none}body .primary,body .panel-title>button,body .panel-title .row-actions>button:not(.secondary):not(.danger-link),body .modal-action,body .login-submit{background:var(--primary);color:#fafafa;border:1px solid var(--primary);box-shadow:var(--shadow-xs)}body .primary:hover,body .panel-title>button:hover,body .panel-title .row-actions>button:not(.secondary):not(.danger-link):hover,body .modal-action:hover,body .login-submit:hover{background:var(--primary-hover);color:#fafafa;box-shadow:var(--shadow-xs);transform:none}body .secondary,body .row-actions button,body .panel button.secondary{background:var(--background);color:var(--foreground);border:1px solid var(--input);box-shadow:var(--shadow-xs)}body .secondary:hover,body .row-actions button:hover,body .panel button.secondary:hover{background:var(--accent);color:var(--accent-foreground);border-color:var(--input)}body .danger-link,body .row-actions button.danger-link,body .secondary.danger{background:var(--background);border:1px solid #fecaca;text-decoration:none;color:var(--destructive)!important}body .danger-link:hover,body .row-actions button.danger-link:hover,body .secondary.danger:hover{background:#fef2f2;text-decoration:none}body button:disabled,body .primary:disabled,body .secondary:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}body .simple-row button,body .row-actions button{height:32px;padding:0 12px;font-size:13px}body .simple-row>span:last-child>.row-actions button{height:32px;padding:0 8px;font-size:12.5px}body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),body select,body textarea{background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-sm);min-height:36px;box-shadow:var(--shadow-xs);padding:6px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}body textarea{min-height:72px;line-height:1.5}body input::placeholder,body textarea::placeholder{color:var(--muted)}body input:focus,body select:focus,body textarea:focus,body .search:focus-within{border-color:var(--ring);outline:none;box-shadow:0 0 0 3px #18181b14}body input[type=checkbox],body input[type=radio]{accent-color:var(--primary);width:16px;height:16px}body label{color:var(--foreground);font-size:14px;font-weight:500}body select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}body input[type=file]{font-size:14px}body .panel,body .stats article,body .login-card,body .public-features article{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs)}body .panel{margin-bottom:20px;padding:24px}body .panel:hover{border-color:var(--border)}body .panel-title{margin-bottom:16px}body .panel-title h2{font-size:18px;font-weight:600;line-height:1.3}body .panel-title h2 small{color:var(--muted);font-size:13px;font-weight:500}body .panel-title p{color:var(--muted);font-size:14px!important}body .eyebrow{color:var(--muted);letter-spacing:.04em;font-size:12px;font-weight:500}body .welcome h1{letter-spacing:-.03em;font-size:28px;font-weight:700}body .welcome p{color:var(--muted)}body .simple-table,body .school-table,body .student-table{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none;margin-top:16px}body .simple-row,body .school-row,body .table-row{background:var(--card);border-top:1px solid var(--border);color:var(--foreground);padding:12px 16px;font-size:14px!important}body .simple-row:nth-child(2n),body .school-row:nth-child(2n){background:var(--card)}body .simple-row:not(.simple-head):hover,body .school-row:not(.school-head):hover{background:#fafafa}body .simple-head,body .school-head,body .table-head{padding-top:10px;padding-bottom:10px;color:var(--muted)!important;letter-spacing:.02em!important;text-transform:none!important;border-bottom:1px solid var(--border)!important;background:#fafafa!important;font-size:12px!important;font-weight:500!important}body .student-link,body .entity-link{color:var(--foreground);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);font-weight:500}body .student-link:hover,body .entity-link:hover{-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}body .school-row code,body .stacked-values code,body code{background:var(--muted-bg);color:var(--foreground);border:0;border-radius:4px;font-size:12.5px}body .school-avatar{background:var(--muted-bg);color:var(--foreground);border:1px solid var(--border);border-radius:999px}body .schools-empty{border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--card)}body .doc-badge,body .nav-badge,body .badge{border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}body .documents-panel .doc-badge.ok{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}body .documents-panel .doc-badge.partial{color:#b45309;background:#fffbeb;border-color:#fde68a}body .documents-panel .doc-badge.wait{color:#b91c1c;background:#fef2f2;border-color:#fecaca}body .documents-panel .doc-badge.doc-kind-online{background:var(--muted-bg);color:var(--foreground);border-color:var(--border)}body .documents-panel .doc-badge.doc-kind-info{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}body .documents-panel .doc-badge.doc-kind-external{color:#b45309;background:#fffbeb;border-color:#fde68a}body .nav-badge{background:var(--destructive);color:#fff;padding:0 6px}body .chip,body .filter{border:1px solid var(--input);background:var(--background);color:var(--foreground);height:auto;box-shadow:var(--shadow-xs);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:500}body .chip:hover,body .filter:hover{background:var(--accent)}body .chip.selected,body .documents-panel .doc-chips .chip.selected,body .filter.active{background:var(--primary);color:#fafafa;border-color:var(--primary)}body .chip.selected input,body .chip input{accent-color:#fff}body .warning,body .email-warning{color:#92400e;border-radius:var(--radius-lg);background:#fffbeb;border:1px solid #fde68a;font-size:14px;font-weight:400}body .form-error[role=alert],body .login-error{color:#991b1b;border-radius:var(--radius-lg);background:#fef2f2;border:1px solid #fecaca;font-weight:500}body .modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#09090bcc}body .modal{background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);padding:24px}body .modal h2{font-size:18px;font-weight:600}body .modal>p,body .modal p.muted{color:var(--muted);font-size:14px}body .modal-close{border-radius:var(--radius-sm);color:var(--muted);background:0 0;width:32px;height:32px}body .modal-close:hover{background:var(--accent);color:var(--foreground)}body .modal-symbol{background:var(--muted-bg);color:var(--foreground);border-radius:var(--radius-lg)}body .credential-box{background:var(--muted-bg);border:1px solid var(--border);border-radius:var(--radius-lg)}body .toast{background:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-weight:500}body .toast.toast-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}body .pay-error-banner{border-radius:var(--radius-lg);border:1px solid #fecaca}body .sidebar{color:var(--foreground);border-right:1px solid var(--border);box-shadow:none;scrollbar-color:#d4d4d8 transparent;background:#fafafa;padding:16px 12px}body .brand strong,body .brand-name strong,body .yeshiva-brand .brand-name strong{color:var(--foreground);letter-spacing:-.01em;font-weight:600}body .brand small,body .brand-name small{color:var(--muted)}body .school-pill,body .gmail-card,body .profile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none;color:var(--foreground)}body .school-pill small,body .gmail-card small,body .profile small{color:var(--muted)}body .school-pill strong,body .gmail-card strong,body .profile strong{color:var(--foreground)}body .school-icon{background:var(--muted-bg);color:var(--foreground);border:0}body .nav-label,body .nav-section-label{color:var(--muted);letter-spacing:0;text-transform:none;padding:0 8px;font-size:12px;font-weight:500}body .nav-item{color:var(--ink-secondary);border-radius:var(--radius-sm);height:36px;box-shadow:none;background:0 0;border:0;gap:10px;padding:0 8px;font-size:14px;font-weight:500;transform:none}body .nav-item:hover{background:var(--accent);color:var(--foreground);transform:none}body .nav-item.active{color:var(--foreground);box-shadow:none;background:#e4e4e7;border:0;font-weight:600}body .nav-icon{opacity:1;width:18px;height:18px;color:var(--muted)}body .nav-item.active .nav-icon,body .nav-item:hover .nav-icon{color:var(--foreground)}body .nav-icon svg{stroke-width:2px;width:16px;height:16px}body .avatar{background:var(--primary);color:#fafafa;border-radius:999px}body .topbar{border-bottom:1px solid var(--border);background:#ffffffd9;height:56px;padding:0 24px}body .search{border-radius:var(--radius-sm);border:1px solid var(--input);height:36px;box-shadow:var(--shadow-xs)}body .search-results{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}body .search-results button{height:auto;box-shadow:none;color:var(--foreground);background:0 0;border:0;justify-content:flex-start}body .search-results button:hover{background:var(--accent)}body .stats article{padding:20px}body .stats article:hover{box-shadow:var(--shadow-sm);border-color:var(--border);transform:none}body .stat-icon,body .stat-icon.blue,body .stat-icon.purple,body .stat-icon.amber,body .stat-icon.green{background:var(--muted-bg);color:var(--foreground);border-radius:var(--radius-sm)}body .student-profile-stats article{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none}body .login-card input{height:40px}body .login-brand{background:#09090b}body .public-primary,body .public-cta a{background:var(--primary);color:#fafafa;border-radius:var(--radius-sm);box-shadow:var(--shadow-xs)}body .public-secondary{background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs)}body .public-header{border-bottom:1px solid var(--border)}body .faq-list details{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card)}@media (pointer:coarse){body .primary,body .secondary,body .panel button,body .simple-row button,body .panel-title button,body .row-actions button,body .modal-action,body .login-submit,body .nav-item{height:auto;min-height:44px}body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),body select,body textarea{min-height:44px}body input[type=checkbox],body input[type=radio]{width:22px;height:22px}}body .search input{box-shadow:none;background:0 0;border:0;border-radius:0;height:100%;min-height:0;padding:0}body .search input:focus{box-shadow:none}body .sidebar .nav-section-label,body .sidebar .nav-label{color:var(--muted)}body .quick-actions button{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);color:var(--foreground);box-shadow:var(--shadow-xs);height:auto;padding:12px 14px;font-weight:500}body .quick-actions button:hover{background:var(--accent);border-color:var(--border)}body .quick-actions span{border-radius:var(--radius-sm);background:var(--muted-bg);flex:none;place-items:center;width:32px;height:32px;font-size:14px;display:grid}body .quick-actions strong{white-space:normal;text-align:left;font-size:14px;font-weight:500}body .settings-group .panel-title{margin-bottom:8px}body .welcome-actions{align-items:flex-start}body svg.lucide{flex:none;max-width:none}body .sidebar .nav-label,body .sidebar .nav-section-label{color:var(--muted)!important}body .search input{border-radius:0;height:100%;box-shadow:none!important;background:0 0!important;border:0!important;min-height:0!important;padding:0!important}@media (width<=1180px){body .stack-table .simple-row{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-xs);grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important}body .stack-table .simple-row>span[data-label]:not([data-label=""]):before{letter-spacing:0;text-transform:none;color:var(--muted);font-size:12px;font-weight:500}body .stack-table .simple-row>span.cell-main{font-size:16px;font-weight:600}}@media (width<=640px){body .stack-table .simple-row{grid-template-columns:1fr!important}}body .student-class-filter{color:var(--foreground);font-size:14px;font-weight:500}body .student-class-filter select{min-width:170px;font-size:14px}@media (width<=900px){body .topbar{height:auto;min-height:56px;margin-bottom:4px;padding:8px 12px 10px}body .welcome-actions{flex-wrap:wrap;gap:8px;display:flex}body .welcome-actions>button{flex:140px}body .stack-table .simple-row>span[data-label]:not([data-label=""]):before{letter-spacing:0!important;text-transform:none!important;font-size:12px!important;font-weight:500!important}}body .stack-table .simple-row>span[data-label]:not([data-label=""]):before{text-transform:none!important;letter-spacing:0!important;font-size:12px!important;font-weight:500!important}body select{font-weight:400}body .login-brand h1 em{-webkit-text-fill-color:#a1a1aa;color:#a1a1aa;background:0 0}body .login-kicker,body .login-brand-inner>p{color:#a1a1aa}body .preview-body aside{background:#18181b}body .login-card .password-field button{background:var(--muted-bg);color:var(--foreground);border-radius:var(--radius-sm);height:28px}body .student-actions{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}body .student-access{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);gap:6px;margin:12px 0;padding:12px 14px;font-size:13.5px;display:grid}body .student-access p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}body .student-access strong{min-width:64px;color:var(--foreground);font-weight:500}body .student-actions>button{border:1px solid var(--input);border-radius:var(--radius-sm);background:var(--background);height:36px;color:var(--foreground);box-shadow:var(--shadow-xs);align-items:center;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}body .student-actions>button:hover{background:var(--accent)}body .student-actions .danger-link{color:var(--destructive);border-color:#fecaca}body .simple-table.stack-table.students-list{gap:0;display:block!important;overflow:hidden!important}body .stack-table.students-list .simple-row.simple-head{display:grid!important}body .stack-table.students-list .simple-row{border:0;border-top:1px solid var(--border);box-shadow:none;border-radius:0;align-items:center;gap:12px;padding:10px 16px;grid-template-columns:32px minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.6fr) auto!important;min-width:0!important;display:grid!important}body .stack-table.students-list .simple-row.simple-head{border-top:0;padding-top:8px;padding-bottom:8px}body .stack-table.students-list .simple-row>span:before{display:none!important}body .stack-table.students-list .simple-row>span.cell-main{grid-column:auto;font-size:14px}body .stack-table.students-list .simple-row>span:has(>input[type=checkbox]){grid-column:auto}body .stack-table.students-list .simple-row button{height:32px;min-height:32px;padding:0 12px;font-size:13px}body .stack-table.students-list .student-link{text-align:left;height:auto;min-height:0;box-shadow:none;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;text-decoration:none}body .stack-table.students-list .student-link:hover{text-decoration:underline}body .stack-table.students-list .muted{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}@media (pointer:coarse){body .stack-table.students-list .simple-row button{height:40px;min-height:40px}}@media (width<=640px){body .stack-table.students-list .simple-row,body .stack-table.students-list .simple-row.simple-head{row-gap:0;grid-template-columns:32px minmax(0,1fr) auto!important}body .stack-table.students-list .simple-row.simple-head{display:none!important}body .stack-table.students-list .simple-row>span:first-child{grid-row:1/span 2}body .stack-table.students-list .simple-row>span:nth-child(2){grid-area:1/2}body .stack-table.students-list .simple-row>span:nth-child(3){color:var(--muted);grid-area:2/2;font-size:12.5px}body .stack-table.students-list .simple-row>span:nth-child(4){display:none}body .stack-table.students-list .simple-row>span:nth-child(5){grid-area:1/3/span 2}}body .stack-table.students-list .simple-row>span{min-width:0}body .stack-table.students-list .simple-row .student-link{overflow-wrap:anywhere;justify-content:flex-start;margin:0;line-height:1.3;white-space:normal!important;padding:0!important}body .stack-table.students-list .simple-row>span:nth-child(3){overflow-wrap:anywhere}body .login-card .login-card-logo{justify-content:center;margin:0 0 18px;display:flex}body .login-card .login-card-logo img{width:112px;height:auto;display:block}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent;overflow-wrap:break-word}img,video,canvas,svg{max-width:100%}button,a,select,label,summary,input[type=checkbox],input[type=radio]{touch-action:manipulation}@supports (height:100dvh){.app{min-height:100dvh}.remark-modal{max-height:calc(100dvh - 32px)}}.modal-backdrop{overscroll-behavior:contain;padding:max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));display:flex;overflow-y:auto}.modal-backdrop>.modal,.modal-backdrop>section,.modal-backdrop>div{margin:auto}.modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-width:100%;max-height:calc(100dvh - 40px);overflow-y:auto}.filter-grid input[type=checkbox],.filter-grid input[type=radio],.panel label>input[type=checkbox],.panel label>input[type=radio]{width:auto;box-shadow:none;flex:none;margin-top:0;display:inline-block}.filter-grid .check-row{align-self:end;align-items:center;gap:10px;min-height:44px;display:flex}.topbar,.sidebar{padding-top:max(0px, env(safe-area-inset-top))}.content{padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right))}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{min-height:44px;font-size:16px!important}button,.primary,.secondary,summary{min-height:44px}input[type=checkbox],input[type=radio]{accent-color:#18181b;width:22px;height:22px}.row-actions button,.simple-row button,.chip{min-height:40px;padding-inline:14px}select{padding-right:32px}}@media (width>=901px) and (width<=1100px){.sidebar{width:228px}.content{width:calc(100% - 228px);margin-left:228px}}@media (width>=721px) and (width<=1280px){.attendance-card{grid-template-columns:minmax(0,1fr) 124px}.attendance-card .status-choice{order:2;grid-column:1/-1}.attendance-card .attendance-student{order:1;min-width:0}.attendance-card .late-minutes{order:1}.attendance-card .discipline-actions{order:3;grid-column:1}.attendance-card .late-notice-button{order:3;grid-column:2}}.simple-table,.table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.filter-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.panel-title{flex-wrap:wrap;gap:12px}.panel-title>.row-actions,.panel-title>button{flex:none}}@media (width>=721px) and (width<=1300px){.export-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.export-tools>div:first-child{grid-column:1/-1;padding-right:0}.export-tools button{width:100%}}.panel-title button,.panel-title .row-actions button{white-space:nowrap}.panel-title .row-actions{flex-wrap:wrap;flex:none}.archived-students{margin-top:16px}.archived-list{gap:6px;margin-top:12px;display:grid}.archived-row{border:1px solid var(--border);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.alert-recipients-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0 0;display:flex}.alert-modes{border:1px solid var(--border);border-radius:12px;gap:6px;margin:12px 0;padding:10px 14px;display:grid}.modal .alert-modes label{align-items:center;gap:12px;margin:0;display:flex}.modal .alert-modes input[type=radio]{width:22px;height:22px;box-shadow:none;flex:none;margin:0;padding:0}.toast.toast-error{background:#991b1b;border-color:#fecaca;max-width:min(520px,100vw - 24px)}.panel-title{flex-wrap:wrap;gap:12px 16px}.panel-title>div:first-child{flex:240px;min-width:0}.panel-title .row-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;max-width:100%}@media (width<=1180px){.simple-table.stack-table{gap:10px;width:100%!important;min-width:0!important;display:grid!important;overflow:visible!important}.stack-table .simple-row.simple-head{display:none!important}.stack-table .simple-row{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:start;gap:10px 18px;padding:14px 16px;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;min-width:0!important;display:grid!important}.stack-table .simple-row>span{overflow-wrap:anywhere;min-width:0}.stack-table .simple-row>span[data-label]:not([data-label=""]):before{content:attr(data-label);letter-spacing:.05em;color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:800;display:block}.stack-table .simple-row>span.cell-main{grid-column:1/-1;font-size:17px}.stack-table .simple-row>span.cell-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex!important}.stack-table .simple-row>span.cell-actions:before{flex-basis:100%}.stack-table .simple-row>span.cell-actions>.row-actions{flex-wrap:wrap;gap:8px;display:flex!important}.stack-table .simple-row>span:has(>input[type=checkbox]){grid-column:1/-1}}@media (width<=640px){.stack-table .simple-row{grid-template-columns:1fr!important}}@media (width<=1280px){.filter-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}@media (width<=1180px){.stack-table .simple-row>span.cell-actions button{flex:none;width:auto!important}}
