:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--tt-bg:#141210;--tt-surface:#1d1b18;--tt-surface-raised:#24211d;--tt-surface-overlay:#2c2925;--tt-surface-muted:#1a1815;--tt-text:#f5f3ee;--tt-muted:#8e887d;--tt-muted-strong:#b9b1a5;--tt-line:#2c2925;--tt-line-strong:#f5f3ee29;--tt-cover-bg:#1f1c19;--tt-pad:#191714;--tt-accent:#e07a55;--tt-accent-strong:#f19a76;--tt-accent-dim:#e07a5524;--tt-logo-ink:#f0ece2;--tt-logo-tile:#15140f;--font-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--tt-bg:#f7f6f3;--tt-surface:#fff;--tt-surface-raised:#f0eee8;--tt-surface-overlay:#e6e3dc;--tt-surface-muted:#efece5;--tt-text:#14110d;--tt-muted:#7c7770;--tt-muted-strong:#5c554d;--tt-line:#ebe8e1;--tt-line-strong:#14110d24;--tt-cover-bg:#efece5;--tt-pad:#e6e3dc;--tt-accent:#c75d3a;--tt-accent-strong:#a8472d;--tt-accent-dim:#c75d3a24;--tt-logo-ink:#1a1a18;--tt-logo-tile:#f0ece2}:root{--surface-base:var(--tt-bg);--surface-card:var(--tt-surface);--surface-nav:var(--tt-surface-muted);--surface-raised:var(--tt-surface-raised);--surface-overlay:var(--tt-surface-overlay);--text-primary:var(--tt-text);--text-secondary:var(--tt-muted-strong);--text-tertiary:var(--tt-muted);--border-default:var(--tt-line);--border-strong:var(--tt-line-strong);--brand-primary:var(--tt-accent);--brand-accent:var(--tt-accent-strong);--brand-primary-dim:var(--tt-accent-dim);--button-on-accent:var(--tt-bg);--status-success:#8faf7d;--status-error:#d86d66;--status-info:#7ba6c7;--status-gold:#d7a748;--bg-base:var(--surface-base);--bg-surface:var(--surface-card);--bg-elevated:var(--surface-raised);--bg-highlight:var(--surface-overlay);--accent:var(--brand-primary);--accent-dim:var(--brand-primary-dim);--text-muted:var(--text-tertiary);--border:var(--border-default);--success:var(--status-success);--error:var(--status-error);--info:var(--status-info);--gold:var(--status-gold)}*{box-sizing:border-box}body{background:var(--surface-base);min-width:320px;min-height:100svh;color:var(--text-primary);font-family:var(--font-body);margin:0}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:232px minmax(0,1fr);min-height:100svh;display:grid}.sidebar{background:var(--surface-nav);border-right:1px solid var(--border-default);padding:20px 14px}.brand{border-bottom:1px solid var(--border-default);padding:0 8px 20px}.brand h1{font-family:var(--font-display);margin:0;font-size:19px}.brand p{color:var(--text-tertiary);margin:3px 0 0;font-size:12px}.nav{gap:6px;padding:16px 0;display:grid}.nav button{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;display:flex}.nav button.active{background:var(--brand-primary-dim);color:var(--brand-primary)}.main{padding:28px;overflow:auto}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h2{font-family:var(--font-display);margin:0;font-size:28px}.page-head p{color:var(--text-tertiary);margin:4px 0 0}.grid{gap:14px;display:grid}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;padding:16px}.metric-label{color:var(--text-tertiary);font-size:12px}.metric-value{font-family:var(--font-display);margin-top:7px;font-size:30px}.table{border-collapse:collapse;width:100%;overflow:hidden}.table th,.table td{border-bottom:1px solid var(--border-default);text-align:left;padding:12px 10px}.table th{color:var(--text-tertiary);font-size:12px;font-weight:600}.bar{background:var(--surface-raised);border-radius:999px;height:8px;overflow:hidden}.bar span{background:var(--brand-primary);height:100%;display:block}.login-wrap{justify-content:center;align-items:center;min-height:100svh;padding:20px;display:flex}.login-card{width:min(380px,100%)}.field{gap:5px;margin-top:14px;display:grid}.field span{color:var(--text-secondary);font-size:12px}.field input,.field select,.field textarea,select,textarea{background:var(--surface-base);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:6px;padding:10px 11px}.secondary-button{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:9px 13px;font-weight:700}.primary-button{background:var(--brand-primary);color:var(--button-on-accent);cursor:pointer;border:0;border-radius:6px;padding:10px 14px;font-weight:700}.ghost-button{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:500}.danger-button{border:1px solid var(--status-error);color:var(--status-error);cursor:pointer;background:0 0;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:500}.theme-choice{background:var(--surface-base);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;text-transform:capitalize;border-radius:6px;padding:9px 13px;font-weight:700}.theme-choice[data-active=true]{background:var(--brand-primary-dim);border-color:var(--brand-primary);color:var(--brand-primary)}.muted{color:var(--text-tertiary)}.error{color:var(--status-error)}.status-chip{background:var(--surface-raised);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:999px;padding:7px 11px}.status-chip.success{border-color:var(--status-success);color:var(--status-success)}.communications-tabs{gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.communications-tabs button{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;text-transform:capitalize;background:0 0;border-radius:6px;padding:8px 12px}.communications-tabs button.active{background:var(--brand-primary-dim);border-color:var(--brand-primary);color:var(--brand-primary)}.communications-overview,.safeguarding-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:14px;display:grid}.communications-layout{grid-template-columns:minmax(260px,.65fr) minmax(480px,1.35fr);gap:14px;min-height:650px;display:grid}.conversation-list{overflow:auto}.conversation-list h3,.card h3{margin-top:0}.conversation-list button{color:var(--text-primary);text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;gap:5px;width:100%;padding:11px;display:grid}.conversation-list button.active{background:var(--brand-primary-dim);border-color:var(--brand-primary)}.conversation-list small{color:var(--text-tertiary)}.coordinator-chat{grid-template-rows:auto auto 1fr auto;padding:0;display:grid;overflow:hidden}.coordinator-chat>header{justify-content:space-between;padding:15px;display:flex}.coordinator-chat header h3,.coordinator-chat header p{margin:0}.coordinator-chat header p{color:var(--text-tertiary);margin-top:4px;font-size:12px}.monitoring-banner{background:color-mix(in srgb, var(--status-warning) 10%, var(--surface-card));border-block:1px solid var(--status-warning);padding:11px 15px}.monitoring-banner p{margin:4px 0;font-size:11px;line-height:1.5}.message-list{padding:14px;overflow:auto}.message-list article{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:7px;margin-bottom:9px;padding:10px}.message-list article small{color:var(--text-tertiary)}.message-list article p{white-space:pre-wrap;margin:5px 0}.chat-compose{border-top:1px solid var(--border-default);grid-template-columns:1fr auto;gap:9px;padding:12px;display:grid}.chat-compose textarea{resize:vertical;min-height:70px}.announcement-form,.policy-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.announcement-form h3,.announcement-form .wide,.policy-form h3,.policy-form>p{grid-column:1/-1}.announcement-form label,.policy-form label{gap:5px;display:grid}.announcement-form input,.policy-form input{background:var(--surface-base);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:6px;padding:10px}.announcement-form textarea,.policy-form textarea{resize:vertical;min-height:120px}.check{flex-direction:row;align-items:center!important;display:flex!important}.recipient-preview{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:7px;gap:4px;padding:10px;display:grid}.recipient-preview span{color:var(--text-tertiary);font-size:12px}.announcement-history{border-top:1px solid var(--border-default);margin-top:8px;padding-top:14px}.actions{gap:7px;display:flex}.case-row{border-top:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.case-row p{color:var(--text-secondary);margin:4px 0}.case-row small{color:var(--text-tertiary)}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.readiness{align-items:center;gap:9px;padding:8px 0;display:flex}.readiness strong{color:var(--status-error)}.readiness.ok strong{color:var(--status-success)}.assignment-editor{border-top:1px solid var(--border-default);grid-template-columns:110px 1fr auto;align-items:center;gap:8px;padding:9px 0;display:grid}.assignment-editor small{color:var(--text-tertiary);grid-column:2/-1}@media (width<=1000px){.communications-layout,.communications-overview,.safeguarding-grid,.setup-grid,.announcement-form,.policy-form{grid-template-columns:1fr}.announcement-form h3,.announcement-form .wide,.policy-form h3,.policy-form>p{grid-column:auto}}.success-message{color:var(--status-success,#6f9468)}.attendance-page-head{align-items:center;margin-bottom:12px}.rollout-status{border:1px solid var(--border-default);color:var(--text-tertiary);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.rollout-status.enabled{border-color:var(--status-success,#6f9468);color:var(--status-success,#6f9468)}.attendance-tabs{border-bottom:1px solid var(--border-default);gap:6px;margin-bottom:18px;display:flex}.attendance-tabs button{color:var(--text-tertiary);cursor:pointer;text-transform:capitalize;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 13px;font-weight:800}.attendance-tabs button.active{border-color:var(--brand-primary);color:var(--brand-primary)}.rollout-callout{max-width:680px}.rollout-callout h3{margin-top:0}.rollout-callout p{color:var(--text-secondary);line-height:1.55}.attendance-operation-bar{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.attendance-operation-bar .field{min-width:180px;margin:0}.working-day{color:var(--status-success,#6f9468);border-radius:999px;margin-left:auto;padding:7px 10px;font-size:12px;font-weight:800}.working-day.closed{color:var(--status-error)}.attendance-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.attendance-metric span{color:var(--text-tertiary);font-size:12px}.attendance-metric strong{font-family:var(--font-display);margin-top:8px;font-size:28px;display:block}.attendance-metric.danger strong{color:var(--status-error)}.attendance-metric.warning strong{color:var(--status-warning,#c58b2a)}.card-title-row{justify-content:space-between;align-items:start;gap:14px;display:flex}.card-title-row h3{margin:0}.card-title-row p{color:var(--text-tertiary);margin:5px 0 0;font-size:13px}.attendance-classes-table small{color:var(--status-warning,#c58b2a);margin-top:4px;display:block}.register-state{border:1px solid var(--border-default);text-transform:capitalize;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-block}.register-state.submitted{border-color:var(--status-success,#6f9468);color:var(--status-success,#6f9468)}.register-state.draft{border-color:var(--status-warning,#c58b2a);color:var(--status-warning,#c58b2a)}.table-action{border:1px solid var(--brand-primary);color:var(--brand-primary);cursor:pointer;background:0 0;border-radius:6px;padding:7px 10px;font-size:12px;font-weight:800}.table-action:disabled,button:disabled{cursor:not-allowed;opacity:.5}.push-warning{border-color:var(--status-warning,#c58b2a);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.operations-warning{border-color:var(--status-warning,#c58b2a);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.operations-warning span{color:var(--text-secondary)}.attendance-setup-grid{grid-template-columns:minmax(280px,.7fr) minmax(420px,1.3fr);gap:14px;display:grid}.class-assignment-card,.roster-assignment-card{grid-column:1/-1}.readiness-score{border:1px solid var(--border-default);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:12px;font-weight:800;display:flex}.readiness-score.ready{border-color:var(--status-success,#6f9468);color:var(--status-success,#6f9468)}.readiness-list{gap:9px;margin:18px 0;display:grid}.readiness-list>div{align-items:center;gap:9px;display:flex}.check{border:1px solid var(--status-error);color:var(--status-error);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:900;display:inline-flex}.check.passed{border-color:var(--status-success,#6f9468);color:var(--status-success,#6f9468)}.form-grid{gap:12px;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.weekday-field{margin:16px 0}.weekday-field>span{color:var(--text-secondary);margin-bottom:6px;font-size:12px;display:block}.weekday-field>div{flex-wrap:wrap;gap:6px;display:flex}.weekday-field button{background:var(--surface-base);border:1px solid var(--border-default);color:var(--text-tertiary);cursor:pointer;border-radius:6px;padding:7px 9px}.weekday-field button.active{background:var(--brand-primary-dim);border-color:var(--brand-primary);color:var(--brand-primary)}.notification-policy{border:1px solid var(--border-default);border-radius:7px;gap:10px;margin:16px 0;padding:12px;display:grid}.notification-policy>label{font-weight:700}.notification-policy>div{flex-wrap:wrap;gap:12px;display:flex}.notification-policy label{align-items:center;gap:6px;font-size:12px;display:flex}.assignment-list{margin-top:12px;display:grid}.class-assignment-row{border-top:1px solid var(--border-default);grid-template-columns:100px minmax(180px,.7fr) minmax(260px,1.3fr) auto;align-items:start;gap:12px;padding:14px 0;display:grid}.class-assignment-row>div:first-child small{color:var(--text-tertiary);margin-top:4px;display:block}.class-assignment-row>label,.delegate-picker{color:var(--text-tertiary);gap:5px;font-size:11px;display:grid}.delegate-picker{flex-wrap:wrap;align-items:center;display:flex}.delegate-picker>span{width:100%}.delegate-picker label{color:var(--text-secondary);align-items:center;gap:4px;display:flex}.compact-field{min-width:160px;margin:0}.roster-assignment-list{margin-top:12px;display:grid}.roster-assignment-row{border-top:1px solid var(--border-default);grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.roster-assignment-row small{color:var(--text-tertiary);margin-top:4px;display:block}.report-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.report-controls .field{min-width:170px;margin:0}.attendance-modal-backdrop{z-index:100;background:#0000009e;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.attendance-modal{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;width:min(980px,100%);max-height:calc(100svh - 40px);padding:20px;overflow:auto}.attendance-modal>header{justify-content:space-between;align-items:start;display:flex}.attendance-modal h3{font-family:var(--font-display);margin:0;font-size:22px}.attendance-modal header p{color:var(--text-tertiary);text-transform:capitalize;margin:4px 0}.close-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;font-size:26px}.register-editor-actions,.modal-footer,.correction-actions{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.register-editor-table{overflow-x:auto}.register-editor-table select{min-width:125px}.register-editor-table input{background:var(--surface-base);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:6px;min-width:200px;padding:9px}.modal-footer{justify-content:flex-end}.correction-panel{border-top:1px solid var(--border-default);margin-top:14px;padding-top:12px}.correction-actions input{background:var(--surface-base);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:6px;padding:9px}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid var(--border-default);border-right:0}.nav{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.nav button{justify-content:center}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-metrics,.attendance-setup-grid,.form-grid.two-columns,.class-assignment-row{grid-template-columns:1fr 1fr}.main{padding:18px}}@media (width<=600px){.attendance-metrics,.attendance-setup-grid,.form-grid.two-columns,.class-assignment-row{grid-template-columns:1fr}.class-assignment-card{grid-column:auto}.working-day{margin-left:0}}.branding-settings{gap:14px;display:grid}.branding-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.branding-heading h3,.branding-readiness h3,.branding-controls h3,.branding-history h3{margin:0}.branding-heading p{color:var(--text-secondary);max-width:720px;margin:7px 0 0;line-height:1.5}.eyebrow{color:var(--brand-primary);letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:900;display:block}.branding-live-state{border:1px solid var(--border-default);border-radius:8px;flex:none;gap:3px;min-width:150px;padding:12px;display:grid}.branding-live-state span{color:var(--text-tertiary);font-size:11px}.branding-feedback{border:1px solid;border-radius:7px;margin:0;padding:10px 12px}.branding-editor-grid{grid-template-columns:minmax(520px,1.5fr) minmax(260px,.5fr);gap:14px;display:grid}.branding-controls{gap:18px;display:grid}.branding-color-grid,.branding-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.branding-color-field,.branding-logo-field{gap:7px;display:grid}.branding-color-field>span,.branding-logo-field>span{color:var(--text-secondary);font-size:12px;font-weight:700}.branding-color-field>div{grid-template-columns:44px 1fr;align-items:center;gap:8px;display:grid}.branding-color-field input[type=color]{border:1px solid var(--border-default);cursor:pointer;background:0 0;border-radius:7px;width:44px;height:42px;padding:3px}.branding-color-field input:not([type=color]){background:var(--surface-base);border:1px solid var(--border-strong);color:var(--text-primary);text-transform:uppercase;border-radius:6px;padding:10px}.branding-logo-drop{background:var(--surface-base);border:1px dashed var(--border-strong);border-radius:8px;align-items:center;gap:12px;min-height:96px;padding:12px;display:flex}.branding-logo-drop img{object-fit:contain;width:90px;max-width:150px;height:64px}.branding-logo-drop>strong{color:var(--text-tertiary);text-align:center;flex:1}.branding-logo-drop label{white-space:nowrap;margin-left:auto}.branding-logo-drop input{opacity:0;width:1px;height:1px;position:absolute}.branding-logo-field small{color:var(--text-tertiary)}.branding-logo-field.disabled{opacity:.55}.branding-reuse{align-items:center;gap:8px;font-size:12px;display:flex}.branding-validation{gap:4px;font-size:12px;display:grid}.branding-actions{flex-wrap:wrap;gap:8px;display:flex}.branding-readiness{align-content:start;gap:10px;display:grid}.branding-readiness>p{font-size:12px;line-height:1.5}.branding-previews{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;padding:16px}.branding-preview-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin-top:14px;display:grid}.app-preview{--preview-bg:#f7f6f3;--preview-surface:#fff;--preview-text:#14110d;background:var(--preview-bg);border:1px solid color-mix(in srgb, var(--preview-text) 13%, transparent);color:var(--preview-text);border-radius:18px;flex-direction:column;min-height:330px;padding:18px;display:flex;position:relative;overflow:hidden}.app-preview[data-mode=dark]{--preview-bg:#141210;--preview-surface:#1d1b18;--preview-text:#f5f3ee}.app-preview-label{color:color-mix(in srgb, var(--preview-text) 58%, transparent);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.app-preview-logo{background:var(--preview-surface);border:1px solid color-mix(in srgb, var(--preview-primary) 24%, transparent);border-radius:14px;justify-content:center;align-items:center;width:100%;height:74px;margin-top:28px;padding:10px;display:flex}.app-preview-logo img{object-fit:contain;max-width:100%;height:100%}.app-preview-logo span{color:var(--preview-primary);font-size:34px;font-weight:900}.app-preview h4{margin:18px 0 6px;font-size:19px}.app-preview p{color:color-mix(in srgb, var(--preview-text) 66%, transparent);margin:0;font-size:12px;line-height:1.45}.app-preview button{background:var(--preview-primary);color:#fff;border:0;border-radius:8px;margin-top:auto;padding:10px;font-weight:800}.app-preview small{color:color-mix(in srgb, var(--preview-text) 46%, transparent);text-align:center;margin-top:10px;font-size:9px}.branding-history-list{margin-top:14px;display:grid}.branding-history-list article{border-top:1px solid var(--border-default);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.branding-history-list p{color:var(--text-tertiary);margin:4px 0;font-size:12px}.branding-history-list small{color:var(--text-secondary)}.branding-history-swatches{display:flex}.branding-history-swatches span{border:2px solid var(--surface-card);border-radius:50%;width:28px;height:28px}.branding-history-swatches span+span{margin-left:-8px}@media (width<=1180px){.branding-editor-grid{grid-template-columns:1fr}.branding-preview-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=700px){.branding-heading{flex-direction:column;align-items:stretch}.branding-color-grid,.branding-logo-grid,.branding-preview-grid{grid-template-columns:1fr}.branding-editor-grid{grid-template-columns:minmax(0,1fr)}}
