:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#172033;background:radial-gradient(circle at 0 0,#4f6ef71f,#0000 28%),linear-gradient(#f8faff 0%,#f4f6fb 100%);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.app-shell--planner{grid-template-columns:minmax(0,1fr)}.app-shell--planner>.sidebar,.sidebar.sidebar--hidden{display:none}.app-shell--planner .main-panel{padding:10px}.sidebar{color:#eff3ff;background:#172033;align-content:start;gap:24px;padding:24px 18px;display:grid}.sidebar__brand{gap:8px;display:grid}.sidebar__badge{color:#cdd8ff;letter-spacing:.04em;text-transform:uppercase;background:#ffffff14;border-radius:999px;width:fit-content;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.sidebar__title{margin:0;font-size:22px;line-height:1.2}.sidebar__text{color:#b8c4e2;margin:0;font-size:14px}.nav-links{gap:8px;display:grid}.nav-link{color:#dbe5ff;border-radius:14px;align-items:center;padding:12px 14px;font-weight:600;transition:all .14s;display:flex}.nav-link:hover{background:#ffffff14}.nav-link--active{color:#172033;background:#fff}.sidebar__footer{gap:12px;margin-top:auto;display:grid}.sidebar__user{background:#ffffff14;border-radius:16px;padding:14px}.sidebar__user-name{margin:0;font-weight:700}.sidebar__user-email{color:#c7d2ee;margin:4px 0 0;font-size:13px}.main-panel{padding:24px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header h1{margin:0;font-size:32px;line-height:1.1}.page-header p{color:#546178;max-width:780px;margin:8px 0 0}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.page-grid{gap:20px;display:grid}.page-grid--two{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.card{background:#fff;border:1px solid #dde5f0;border-radius:20px;padding:20px;box-shadow:0 10px 30px #16223b0f}.card h2,.card h3{margin:0}.card__subtext{color:#5e6a81;margin:8px 0 0;font-size:14px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat-card{background:linear-gradient(#fff 0%,#fbfcff 100%);border:1px solid #e5ebf4;border-radius:18px;padding:16px}.stat-card__label{color:#65738a;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:13px;font-weight:700}.stat-card__value{margin:10px 0 0;font-size:28px;font-weight:800}.actions-row{flex-wrap:wrap;gap:12px;display:flex}.button,.button-secondary,.button-danger,.button-link{border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:700;transition:all .14s;display:inline-flex}.button{color:#fff;background:#3056d3}.button:hover{background:#2748b2}.button-primary{color:#fff;background:#3056d3;border:1px solid #3056d3;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:800;transition:all .14s;display:inline-flex}.button-primary:hover{background:#2748b2;border-color:#2748b2}.button:disabled,.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled{opacity:.6;cursor:not-allowed}.button-secondary{color:#172033;background:#fff;border:1px solid #ccd7e5}.button-secondary:hover{background:#f7f9fd}.button-danger{color:#b42318;background:#fff1f2;border:1px solid #fecdd3}.button-link{color:#3056d3;background:0 0;padding:0}.form-grid{gap:16px;display:grid}.form-row{gap:8px;display:grid}.form-row label,.form-section__title{color:#22304b;font-size:14px;font-weight:700}.form-input,.form-select,.form-textarea{color:#172033;background:#fff;border:1px solid #ccd7e5;border-radius:14px;width:100%;padding:12px 14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3056d3;outline:2px solid #3056d32e}.helper-text{color:#64748b;margin:0;font-size:13px}.notice,.error-banner,.success-banner{border-radius:16px;padding:14px 16px;font-size:14px}.notice{color:#334155;background:#f7f9fc;border:1px solid #e2e8f0}.error-banner{color:#b42318;background:#fff1f2;border:1px solid #fecdd3}.success-banner{color:#067647;background:#ecfdf3;border:1px solid #abefc6}.table-wrap{border:1px solid #e3e9f2;border-radius:16px;overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:720px}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid #e8edf5;padding:12px 14px}.table th{color:#53627a;text-transform:uppercase;letter-spacing:.04em;background:#f8faff;font-size:12px}.table tr:last-child td{border-bottom:none}.badge{border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge--queued,.badge--ready,.badge--processing{color:#1849a9;background:#eef4ff}.badge--completed,.badge--matched{color:#067647;background:#ecfdf3}.badge--failed,.badge--unmatched_uploaded_record{color:#b42318;background:#fff1f2}.badge--blank_from_full_roster{color:#9a6700;background:#fff8e7}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-wrap{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:center;gap:24px;width:min(1100px,100%);display:grid}.auth-hero{padding:36px}.auth-panel{background:#fff;border:1px solid #dde5f0;border-radius:24px;padding:28px;box-shadow:0 12px 34px #16223b14}.auth-panel h1{margin:0;font-size:28px}.auth-panel p{color:#5a667c;margin:8px 0 0}.kicker{letter-spacing:.04em;text-transform:uppercase;color:#3056d3;background:#fff;border:1px solid #dfe8f3;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.auth-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.auth-feature{background:#ffffffc7;border:1px solid #e1e8f3;border-radius:18px;padding:16px}.auth-footer-text{color:#607089;margin-top:16px;font-size:14px}.check-list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.check-list li:before{content:"✓";color:#067647;margin-right:10px;font-weight:800}.selection-grid{gap:10px;display:grid}.selection-item{border:1px solid #dce5f2;border-radius:16px;align-items:flex-start;gap:12px;padding:12px;display:flex}.selection-item input{margin-top:4px}.inline-meta{color:#617087;flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.empty-state{color:#5e6b82;font-size:14px}@media (width<=980px){.app-shell,.auth-wrap,.page-grid--two{grid-template-columns:1fr}.sidebar{gap:18px}.main-panel{padding:18px}.page-header{flex-direction:column}.auth-hero{padding:12px 0}}.support-assistant-button{z-index:70;color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:50%;width:56px;height:56px;font-size:28px;font-weight:800;position:fixed;bottom:22px;right:22px;box-shadow:0 14px 32px #2563eb52}.support-assistant-panel{z-index:70;background:#fff;border:1px solid #d9e2f1;border-radius:18px;grid-template-rows:auto 1fr auto;width:min(420px,100vw - 28px);height:min(660px,100vh - 118px);display:grid;position:fixed;bottom:92px;right:22px;overflow:hidden;box-shadow:0 24px 60px #0f172a3d}.support-assistant-panel__header{background:linear-gradient(135deg,#eef6ff,#fff);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.support-assistant-panel__eyebrow{color:#2563eb;text-transform:uppercase;margin:0 0 3px;font-size:12px;font-weight:800}.support-assistant-panel__header h2{color:#172033;margin:0;font-size:18px}.support-assistant-panel__close{color:#334155;cursor:pointer;background:#fff;border:1px solid #d7deea;border-radius:50%;width:34px;height:34px;font-size:22px;line-height:1}.support-assistant-panel__body{background:#f8fafc;padding:16px;overflow:auto}.support-assistant-panel__empty,.support-assistant-panel__loading,.support-assistant-panel__error{border-radius:14px;padding:12px;font-size:14px}.support-assistant-panel__empty{color:#64748b;background:#fff;border:1px dashed #cbd5e1}.support-assistant-panel__loading{color:#1d4ed8;background:#eff6ff;margin-top:10px}.support-assistant-panel__error{color:#b42318;background:#fef2f2;margin-top:10px}.support-chat-message{margin-bottom:12px;display:flex}.support-chat-message--user{justify-content:flex-end}.support-chat-message__bubble{border-radius:16px;max-width:88%;padding:11px 12px;box-shadow:0 6px 18px #0f172a14}.support-chat-message--assistant .support-chat-message__bubble{color:#172033;background:#fff;border:1px solid #e2e8f0}.support-chat-message--user .support-chat-message__bubble{color:#fff;background:#2563eb}.support-chat-message__content{white-space:pre-wrap;font-size:14px;line-height:1.45}.support-chat-message__sources{color:#64748b;margin-top:9px;font-size:12px}.support-chat-message__feedback{gap:6px;margin-top:8px;display:flex}.support-chat-icon{cursor:pointer;background:#fff;border:1px solid #d7deea;border-radius:50%;width:30px;height:30px}.support-chat-icon--active{background:#eff6ff;border-color:#2563eb}.support-assistant-panel__form{background:#fff;border-top:1px solid #e2e8f0;grid-template-columns:1fr auto;gap:10px;padding:14px;display:grid}.support-assistant-panel__form textarea{resize:none;min-height:48px;font:inherit;border:1px solid #cbd5e1;border-radius:14px;padding:10px 12px}.support-assistant-panel__form button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;align-self:end;padding:13px 16px;font-weight:800}.support-assistant-panel__form button:disabled{opacity:.55;cursor:not-allowed}.support-assistant-panel__form .support-assistant-panel__clear{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;grid-column:1/-1;place-self:auto start;padding:8px 11px;font-size:12px}.admin-support-docs{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.admin-support-docs__list{max-height:calc(100vh - 80px);position:sticky;top:20px;overflow:auto}.admin-support-doc-list{gap:10px;display:grid}.admin-support-doc-list__item{color:#172033;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:12px;gap:4px;width:100%;padding:12px;display:grid}.admin-support-doc-list__item:hover,.admin-support-doc-list__item--active{background:#eff6ff;border-color:#2563eb}.admin-support-doc-list__item span{color:#2563eb;font-size:13px;font-weight:700}.admin-support-doc-list__item small{color:#64748b}.admin-support-docs__editor textarea{resize:vertical;width:100%;min-height:420px;font:inherit;border:1px solid #cbd5e1;border-radius:14px;padding:12px;line-height:1.45}.admin-support-docs__content-label{color:#334155;gap:8px;margin-top:16px;font-weight:700;display:grid}.admin-support-docs__upload{background:#f8fafc;border:1px solid #dbe4ef;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-top:16px;padding:14px;display:grid}.admin-support-docs__upload h3,.admin-support-docs__upload p{margin:0}.admin-support-docs__upload p{color:#64748b;font-size:13px}.launcher-shell{background:radial-gradient(circle at 0 0,#3b82f624,#0000 34%),radial-gradient(circle at 100% 100%,#14b8a61f,#0000 30%),linear-gradient(135deg,#f8fbff 0%,#eef4fb 100%);border-radius:28px;min-height:calc(100vh - 48px);padding:28px}.launcher-hero{max-width:1080px;margin:0 auto 24px}.launcher-hero h1{color:#172033;letter-spacing:0;margin:0;font-size:34px}.launcher-hero p{color:#64748b;margin:6px 0 0;font-size:16px}.launcher-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb8;border:1px solid #cbd5e1b3;border-radius:26px;max-width:1080px;margin:0 auto;padding:34px;box-shadow:0 24px 70px #0f172a1f}.launcher-grid{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));place-items:center;gap:30px 24px;display:grid}.launcher-tile{width:126px;height:126px;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:24px;place-items:center;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s;display:grid}.launcher-tile:hover{background:#ffffffc2;border-color:#2563eb2e;transform:translateY(-4px)scale(1.03);box-shadow:0 18px 36px #2563eb29}.launcher-tile:focus-visible{outline-offset:4px;background:#ffffffe6;outline:4px solid #2563eb47}.launcher-tile__icon-wrap{place-items:center;width:96px;height:96px;display:grid}.launcher-tile__icon-wrap img{object-fit:contain;width:auto;max-width:96px;height:auto;max-height:96px;display:block}.launcher-tile__fallback{color:#fff;background:linear-gradient(135deg,#2563eb,#14b8a6);border-radius:22px;place-items:center;width:82px;height:82px;font-size:24px;font-weight:900;display:grid}.launcher-modal-overlay{z-index:80;background:#0f172a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.launcher-folder{background:#fffffff0;border:1px solid #e2e8f0e6;border-radius:28px;width:min(680px,100%);padding:24px;box-shadow:0 28px 80px #0f172a47}.launcher-folder__header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.launcher-folder__header h2{color:#172033;margin:0;font-size:24px}.launcher-folder__header p{color:#64748b;margin:5px 0 0}.launcher-folder__close{color:#334155;cursor:pointer;background:#fff;border:1px solid #d7deea;border-radius:50%;width:36px;height:36px;font-weight:900}.launcher-folder__grid{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));justify-items:center;gap:22px;display:grid}.launcher-order-announcer{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=640px){.support-assistant-panel{height:min(620px,100vh - 104px);bottom:84px;right:14px}.support-assistant-button{bottom:16px;right:16px}}@media (width<=980px){.admin-support-docs{grid-template-columns:1fr}.admin-support-docs__list{max-height:none;position:static}.admin-support-docs__upload{grid-template-columns:1fr}.launcher-shell{padding:18px}.launcher-panel{padding:24px 16px}.launcher-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:22px 14px}.launcher-tile{width:108px;height:108px}.launcher-tile__icon-wrap,.launcher-tile__icon-wrap img{max-width:84px;max-height:84px}}.input{color:#172033;background:#fff;border:1px solid #ccd7e5;border-radius:14px;width:100%;padding:12px 14px}.input:focus{border-color:#3056d3;outline:2px solid #3056d32e}.input--compact{border-radius:10px;min-width:88px;max-width:120px;padding:8px 10px}.form-field{gap:8px;display:grid}.form-field>span{color:#22304b;font-size:14px;font-weight:700}.form-field input,.form-field select,.form-field textarea{color:#172033;background:#fff;border:1px solid #ccd7e5;border-radius:14px;width:100%;padding:12px 14px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#3056d3;outline:2px solid #3056d32e}.assignment-builder-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.assignment-builder-option-card{background:#f8fafc;border:1px solid #dbe4ef;border-radius:16px;align-items:flex-start;gap:12px;min-height:92px;padding:14px;display:flex}.assignment-builder-option-card input{accent-color:#3056d3;margin-top:4px}.assignment-builder-option-card span{gap:3px;display:grid}.assignment-builder-option-card strong{color:#172033}.assignment-builder-option-card small{color:#64748b;line-height:1.35}.assignment-builder-date-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.assignment-builder-date-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #dbe4ef;border-radius:18px;gap:12px;padding:16px;display:grid}.assignment-builder-date-card h3,.assignment-builder-date-card p{margin:0}.assignment-builder-date-card h3{color:#172033;font-size:18px}.assignment-builder-date-card p{color:#64748b;font-size:13px}.assignment-builder-date-fields{grid-template-columns:minmax(0,1.15fr) minmax(110px,.85fr);gap:10px;display:grid}.assignment-builder-color-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:16px;display:grid}.assignment-builder-color-card{cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:18px;grid-template-columns:54px minmax(0,1fr) 42px;align-items:center;gap:12px;min-height:72px;padding:10px;display:grid;box-shadow:0 8px 22px #16223b0d}.assignment-builder-color-card:focus-within{border-color:#3056d3;box-shadow:0 0 0 3px #3056d324}.assignment-builder-color-card__swatch{border:1px solid #0f172a29;border-radius:14px;width:54px;height:54px;box-shadow:inset 0 0 0 1px #ffffff80}.assignment-builder-color-card__body{gap:2px;min-width:0;display:grid}.assignment-builder-color-card__body strong{color:#172033}.assignment-builder-color-card__body small{color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:800}.assignment-builder-color-card input[type=color]{cursor:pointer;background:0 0;border:0;border-radius:12px;width:42px;height:42px;padding:0}.assignment-builder-honesty-row{grid-template-columns:minmax(220px,.75fr) minmax(260px,1.25fr);align-items:stretch;gap:14px;margin-top:16px;display:grid}.assignment-builder-honesty-card{background:#f8fafc;border:1px solid #dbe4ef;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.assignment-builder-honesty-card div{gap:3px;display:grid}.assignment-builder-honesty-card span{color:#64748b;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:800}.assignment-builder-honesty-card strong{color:#172033;font-size:18px}.assignment-builder-honesty-card small{color:#64748b}.panel-muted{background:#f8faff;border:1px solid #dde5f0;border-radius:18px;padding:16px}.meta-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.meta-stack{color:#5e6a81;justify-items:end;gap:8px;font-size:14px;display:grid}.source-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.source-mode-card{text-align:left;color:#172033;background:#fff;border:1px solid #d6e0ef;border-radius:18px;gap:6px;padding:16px;display:grid}.source-mode-card.is-active{background:#f7faff;border-color:#3056d3;box-shadow:inset 0 0 0 1px #3056d3}.source-mode-card__title{font-weight:800}.source-mode-card__text{color:#5e6a81;font-size:14px}.table--quiz-grid{min-width:1100px}.table-row--quiz{cursor:pointer}.table-row--good{background:#0676470f}.table-row--medium{background:#eab3081a}.table-row--review{background:#b4231814}.badge--health-good{color:#067647;background:#ecfdf3}.badge--health-medium{color:#b54708;background:#fff7e6}.badge--health-review{color:#b42318;background:#fff1f2}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.button-secondary--small,.button-danger--small{border-radius:12px;padding:8px 10px;font-size:13px}.modal-overlay{z-index:50;background:#0f172a80;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #dde5f0;border-radius:22px;width:min(760px,100%);max-height:calc(100vh - 48px);padding:20px;overflow:auto;box-shadow:0 18px 40px #0f172a33}.modal-card--wide{width:min(980px,100%)}.modal-card__header,.modal-card__actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-card__actions{margin-top:20px}.checkbox-field{align-items:center;gap:10px;display:flex}.checkbox-field--card{min-height:48px;padding-top:30px}@media (width<=980px){.source-mode-grid,.assignment-builder-options,.assignment-builder-date-grid,.assignment-builder-date-fields,.assignment-builder-honesty-row{grid-template-columns:1fr}.assignment-builder-honesty-card{flex-direction:column;align-items:flex-start}.modal-card__header,.modal-card__actions,.meta-stack{flex-direction:column;place-items:flex-start start}}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.checkbox-row{color:var(--text-primary,#111827);align-items:center;gap:10px;font-weight:700;display:flex}.security-note{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;margin:12px 0 0;padding:12px 14px;font-size:.95rem}.danger-button{color:#be123c!important;background:#fff1f2!important;border-color:#fecaca!important}.danger-button:hover{background:#ffe4e6!important;border-color:#fb7185!important}.contact-log-stat{border:1px solid var(--border-color,#e5e7eb);background:var(--panel-muted,#f8fafc);border-radius:12px;gap:4px;padding:16px;display:grid}.contact-log-stat strong{font-size:2rem;line-height:1}.contact-log-roster{max-height:360px;margin-top:14px;overflow:auto}.contact-log-actions{flex-wrap:wrap;gap:8px;display:flex}.contact-log-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.contact-log-pre{white-space:pre-wrap;border:1px solid var(--border-color,#e5e7eb);background:var(--panel-muted,#f8fafc);border-radius:10px;padding:12px;font-family:inherit;line-height:1.5}.contact-log-report-preview{border:1px solid var(--border-color,#e5e7eb);background:var(--panel-muted,#f8fafc);border-radius:12px;margin-top:16px;padding:14px}.intervention-toolbar,.intervention-day-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.intervention-day-tools{border:1px solid var(--border-color,#e5e7eb);background:var(--panel-muted,#f8fafc);border-radius:12px;justify-content:flex-start;margin:14px 0;padding:12px}.intervention-day-tools .form-row{min-width:180px;margin:0}.intervention-legend{color:var(--text-secondary,#4b5563);flex-wrap:wrap;align-items:center;gap:12px;font-size:.92rem;display:flex}.holiday-dot{vertical-align:middle;background:#f97316;border-radius:999px;width:9px;height:9px;margin-right:4px;display:inline-block;box-shadow:0 0 0 3px #f9731624}.intervention-grid-wrap{border:1px solid var(--border-color,#e5e7eb);background:#fff;border-radius:14px;max-height:66vh;overflow:auto}.intervention-grid-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.intervention-grid-table th,.intervention-grid-table td{text-align:center;vertical-align:middle;background:#fff;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;min-width:62px;height:48px;padding:6px}.intervention-grid-table th{z-index:5;color:#475569;background:#f8fafc;font-size:.78rem;font-weight:800;position:sticky;top:0}.intervention-grid-table .sticky-col{z-index:6;text-align:left;background:#fff;position:sticky;box-shadow:1px 0 #e5e7eb}.intervention-grid-table thead .sticky-col{z-index:8;background:#eef6ff}.sticky-col-1{width:190px;left:0;min-width:190px!important}.sticky-col-2{width:130px;left:190px;min-width:130px!important}.sticky-col-3{width:260px;left:320px;min-width:260px!important}.holiday-header{color:#9a3412!important;background:#fff7ed!important}.intervention-cell{color:#111827;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:900;display:inline-grid}.intervention-cell:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb2e}.intervention-cell--provided{color:#166534;background:#dcfce7;border-color:#16a34a}.intervention-cell--student_absent,.intervention-cell--holiday{color:#9a3412;background:#ffedd5;border-color:#f97316}.intervention-cell--teacher_absent{color:#5b21b6;background:#ede9fe;border-color:#7c3aed}.intervention-cell--school_schedule{color:#115e59;background:#ccfbf1;border-color:#0f766e}.daily-support-list{gap:12px;display:grid}.daily-support-card{border:1px solid var(--border-color,#e5e7eb);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.daily-support-card p{color:var(--text-secondary,#4b5563);margin:4px 0 0}.intervention-status-chip{color:#475569;text-transform:capitalize;background:#f1f5f9;border-radius:999px;align-self:center;padding:6px 9px;font-size:.78rem;font-weight:800}.intervention-status-chip--provided{color:#166534;background:#dcfce7}.intervention-status-chip--student_absent,.intervention-status-chip--holiday{color:#9a3412;background:#ffedd5}.intervention-status-chip--teacher_absent{color:#5b21b6;background:#ede9fe}.intervention-status-chip--school_schedule{color:#115e59;background:#ccfbf1}.intervention-support-manager{border:1px solid var(--border-color,#e5e7eb);background:var(--panel-muted,#f8fafc);border-radius:12px;gap:12px;margin:18px 0;padding:14px;display:grid}.intervention-support-manager h3{margin:0 0 4px}.intervention-support-list,.intervention-add-support{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.intervention-support-row{border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px;display:inline-flex}.intervention-support-row.is-active{background:#2563eb14;border-color:#2563eb}.intervention-support-pill{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:8px;padding:9px 11px;font-weight:800;display:inline-flex}.intervention-support-pill span{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:2px 7px;font-size:.75rem}.intervention-add-support .form-input:first-child{flex:280px;min-width:min(420px,100%)}.intervention-add-support .form-input{max-width:180px}.smart-pass-public{--smart-pass-brand:#aa305d;--smart-pass-brand-dark:#842347;background:radial-gradient(circle at 18% 12%,#aa305d3d,#0000 30%),radial-gradient(circle at 82% 0,#2563eb1f,#0000 32%),linear-gradient(135deg,#2a0e1b 0%,#4a1730 48%,#f8fafc 48%,#fff5f8 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.smart-pass-auth{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #cbd5e1bf;border-radius:28px;gap:18px;width:min(720px,100%);padding:28px;display:grid;box-shadow:0 28px 80px #0206173d}.smart-pass-auth__brand{align-items:center;gap:16px;display:flex}.smart-pass-auth__brand img{object-fit:contain;background:#eef6ff;border-radius:20px;width:74px;height:74px}.smart-pass-auth h1{letter-spacing:0;margin:0;font-size:48px}.smart-pass-auth>p{color:#475569;max-width:620px;margin:0;font-size:17px}.smart-pass-auth__preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.smart-pass-auth__preview div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;gap:6px;padding:14px;display:grid}.smart-pass-auth__preview span{color:#64748b;font-size:13px}.smart-pass-segmented{flex-wrap:wrap;gap:10px;display:flex}.smart-pass-shell{--smart-pass-brand:#aa305d;--smart-pass-brand-dark:#842347;background:#f6f0f3;grid-template-columns:290px minmax(0,1fr);min-height:100vh;display:grid}.smart-pass-sidebar{background:radial-gradient(circle at top left, #ffffff1f, transparent 34%), linear-gradient(180deg, var(--smart-pass-brand) 0%, #5b1834 100%);color:#f8fafc;align-content:start;gap:18px;padding:24px;display:grid}.smart-pass-sidebar__brand{align-items:center;gap:12px;display:flex}.smart-pass-sidebar__brand img{object-fit:contain;background:#ffffff1f;border-radius:16px;width:58px;height:58px}.smart-pass-sidebar h1{margin:0;font-size:22px}.smart-pass-sidebar p{color:#94a3b8;margin:3px 0 0}.smart-pass-nav{gap:8px;display:grid}.smart-pass-nav button{color:#cbd5e1;text-align:left;background:0 0;border:1px solid #0000;border-radius:14px;width:100%;padding:12px 14px;font-weight:800}.smart-pass-nav button:hover,.smart-pass-nav button.is-active{color:#fff;background:#ffffff1a;border-color:#ffffff24}.smart-pass-user-card{background:#ffffff14;border-radius:18px;gap:6px;padding:14px;display:grid}.smart-pass-user-card span{color:#cbd5e1;text-transform:capitalize}.smart-pass-main{align-content:start;gap:20px;padding:26px;display:grid}.smart-pass-topbar{background:#fff;border:1px solid #dde7f2;border-radius:26px;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px;display:flex;box-shadow:0 16px 45px #0f172a12}.smart-pass-topbar h1{margin:6px 0 0;font-size:36px}.smart-pass-topbar p{color:#64748b;max-width:780px;margin:8px 0 0}.smart-pass-topbar__actions{align-items:center;gap:12px;display:flex}.smart-pass-topbar__actions span{color:var(--smart-pass-brand);background:#fff0f5;border-radius:999px;padding:10px 12px;font-weight:900}.smart-pass-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.smart-pass-metrics div{background:#fff;border:1px solid #dfe8f3;border-radius:22px;gap:5px;padding:18px;display:grid;box-shadow:0 10px 28px #0f172a0d}.smart-pass-metrics span,.smart-pass-metrics small{color:#64748b;font-weight:700}.smart-pass-metrics strong{font-size:34px;line-height:1}.smart-pass-dashboard-grid{grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);align-items:start;gap:18px;display:grid}.smart-pass-command-card,.smart-pass-verify-card,.smart-pass-panel,.smart-pass-board{background:#fff;border:1px solid #dfe8f3;border-radius:24px;gap:14px;padding:20px;display:grid;box-shadow:0 16px 45px #0f172a0f}.smart-pass-command-card h2,.smart-pass-verify-card h2,.smart-pass-panel h2,.smart-pass-board h2{margin:0}.smart-pass-command-card p,.smart-pass-verify-card p{color:#64748b;margin:6px 0 0}.smart-pass-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.smart-pass-destination-grid button{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;padding:10px;font-weight:800}.smart-pass-destination-grid button.is-active{border-color:var(--smart-pass-brand);color:var(--smart-pass-brand);background:#fff0f5}.smart-pass-board{grid-column:span 2}.smart-pass-board__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.smart-pass-board__header strong{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:8px 12px}.smart-pass-pass-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.smart-pass-pass-card{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #cbd5e1;border-radius:20px;gap:12px;padding:16px;display:grid}.smart-pass-pass-card--overdue{background:#fff1f2;border-color:#fb7185}.smart-pass-pass-card__top{justify-content:space-between;gap:12px;display:flex}.smart-pass-pass-card__top div{display:grid}.smart-pass-pass-card__top span,.smart-pass-pass-card p{color:#64748b}.smart-pass-pass-card__top b{color:var(--smart-pass-brand)}.smart-pass-code{color:#fff;letter-spacing:.08em;background:#0f172a;border-radius:12px;width:fit-content;padding:8px 12px;font-weight:900}.smart-pass-empty{color:#64748b;text-align:center;border:1px dashed #cbd5e1;border-radius:18px;padding:28px}.smart-pass-row{background:#fff;border:1px solid #e5e7eb;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.smart-pass-row p{color:#64748b;margin:3px 0 0}.smart-pass-row--overdue,.smart-pass-pass-card--overdue{background:#fff1f2;border-color:#fecaca}.smart-pass-student-checks{border:1px solid #e5e7eb;border-radius:12px;gap:8px;max-height:220px;padding:10px;display:grid;overflow:auto}.smart-pass-table,.smart-pass-report-grid{gap:10px;display:grid}.smart-pass-table div{border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:12px;display:grid}.smart-pass-table span{color:#64748b}.smart-pass-group-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;gap:4px;padding:12px;display:grid}.smart-pass-group-card p,.smart-pass-group-card small{color:#64748b;margin:0}.smart-pass-room-note{color:#64748b;background:#f8fafc;border-radius:12px;padding:10px 12px;font-weight:800}.smart-pass-template-area{resize:vertical;min-height:170px;line-height:1.45}.smart-pass-public .button,.smart-pass-shell .button{border-color:var(--smart-pass-brand);background:var(--smart-pass-brand);color:#fff}.smart-pass-public .button:hover,.smart-pass-shell .button:hover{background:var(--smart-pass-brand-dark)}.smart-pass-shell--emergency .smart-pass-sidebar{background:linear-gradient(#7f1d1d 0%,#3f1111 100%)}.smart-pass-emergency-banner{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;font-weight:900;display:flex}.smart-pass-classroom-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:18px;display:grid}.smart-pass-roster-panel,.smart-pass-create-panel{background:#fff;border:1px solid #dfe8f3;border-radius:24px;gap:16px;padding:20px;display:grid;box-shadow:0 16px 45px #0f172a0f}.smart-pass-panel__heading{justify-content:space-between;align-items:center;display:flex}.smart-pass-panel__heading h2,.smart-pass-create-panel h2{margin:0}.smart-pass-panel__heading span{color:#64748b;background:#f1f5f9;border-radius:999px;padding:7px 10px;font-weight:800}.smart-pass-roster-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.smart-pass-student-card{text-align:left;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:16px;grid-template-rows:auto auto;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:5px 12px;min-height:104px;padding:14px;display:grid}.smart-pass-student-card:hover,.smart-pass-student-card.is-selected{border-color:var(--smart-pass-brand);transform:translateY(-1px);box-shadow:0 14px 28px #aa305d24}.smart-pass-student-card strong,.smart-pass-student-card small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.smart-pass-student-card small{color:#64748b}.smart-pass-avatar{width:54px;height:54px;color:var(--smart-pass-brand);background:#fce7f3;border-radius:999px;grid-row:span 2;place-items:center;font-weight:950;display:grid}.smart-pass-student-card.is-active-pass{background:#f0fdf4;border-color:#22c55e}.smart-pass-student-card.is-overdue{background:#fff1f2;border-color:#fb7185}.smart-pass-student-card.is-pending{background:#fffbeb;border-color:#f59e0b}.smart-pass-student-card.is-blocked{background:#f8fafc;border-color:#64748b}.smart-pass-create-button{border-radius:18px;min-height:56px;font-size:18px;font-weight:950}.smart-pass-request-stack{border-top:1px solid #e5e7eb;gap:10px;padding-top:14px;display:grid}.smart-pass-board--monitor{min-height:620px}.smart-pass-pass-grid--large{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.smart-pass-pass-card.is-overdue,.smart-pass-pass-card--overdue{background:#fff1f2;border-color:#fb7185}.smart-pass-pass-card.is-active-pass{background:#f0fdf4;border-color:#86efac}.smart-pass-pass-card__timer{width:fit-content;color:var(--smart-pass-brand);background:#fff0f5;border-radius:999px;padding:8px 12px;font-weight:950}.smart-pass-classroom-modern{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;display:grid}.smart-pass-classroom-card,.smart-pass-quick-tools{background:#fffffff5;border:1px solid #94a3b859;border-radius:18px;overflow:hidden;box-shadow:0 22px 60px #0f172a1f}.smart-pass-classroom-titlebar{background:linear-gradient(135deg, var(--smart-pass-brand) 0%, #c34d78 100%);color:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 22px;display:grid}.smart-pass-classroom-titlebar h2{text-align:center;letter-spacing:0;margin:0;font-size:24px}.smart-pass-classroom-titlebar span:last-child{opacity:.9;font-weight:900}.smart-pass-title-mark{background:#ffffff2e;border-radius:12px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:950;display:grid}.smart-pass-classroom-controls{grid-template-columns:minmax(180px,250px) minmax(240px,1fr);gap:14px;padding:18px 22px 10px;display:grid}.smart-pass-searchbox{position:relative}.smart-pass-searchbox input{padding-right:74px}.smart-pass-searchbox span{color:#64748b;font-size:12px;font-weight:900;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.smart-pass-today-strip--modern{background:#f8fafc;border-radius:16px;margin:0 22px 14px}.smart-pass-roster-grid--modern{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:0 22px 22px}.smart-pass-student-card--modern{background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #dbe5ef;border-radius:10px;grid-template-rows:1fr auto;grid-template-columns:58px minmax(0,1fr) 22px;min-height:98px;position:relative;box-shadow:0 8px 20px #0f172a0d}.smart-pass-student-card--modern .smart-pass-avatar{border:3px solid #fff;grid-row:span 2;width:58px;height:58px;box-shadow:0 8px 18px #0f172a1f}.smart-pass-student-copy{gap:5px;min-width:0;display:grid}.smart-pass-student-copy strong{color:#172033;font-size:16px}.smart-pass-student-copy small{color:#0000;width:75%;position:relative}.smart-pass-student-copy small:before{content:"";background:#cfd8e3;border-radius:99px;width:100%;max-width:120px;height:7px;display:block}.smart-pass-student-card--modern:hover .smart-pass-student-copy small,.smart-pass-student-card--modern.is-active-pass .smart-pass-student-copy small,.smart-pass-student-card--modern.is-overdue .smart-pass-student-copy small,.smart-pass-student-card--modern.is-pending .smart-pass-student-copy small,.smart-pass-student-card--modern.is-blocked .smart-pass-student-copy small{color:#64748b}.smart-pass-student-card--modern:hover .smart-pass-student-copy small:before,.smart-pass-student-card--modern.is-active-pass .smart-pass-student-copy small:before,.smart-pass-student-card--modern.is-overdue .smart-pass-student-copy small:before,.smart-pass-student-card--modern.is-pending .smart-pass-student-copy small:before,.smart-pass-student-card--modern.is-blocked .smart-pass-student-copy small:before{display:none}.smart-pass-card-check{color:#fff;border:2px solid #d8e1ec;border-radius:5px;place-items:center;width:20px;height:20px;font-weight:950;display:grid}.smart-pass-student-card--modern.is-selected{background:#eff6ff;border-color:#2f7de1}.smart-pass-student-card--modern.is-selected .smart-pass-card-check{background:#2f7de1;border-color:#2f7de1}.smart-pass-card-profile{color:#52708e;border:1px solid #b6c5d8;border-radius:999px;grid-column:3;place-self:end;place-items:center;width:20px;height:20px;font-size:9px;font-weight:950;display:grid}.smart-pass-quick-tools{gap:13px;padding:22px;display:grid;position:sticky;top:18px}.smart-pass-quick-tools h2{margin:0;font-size:22px}.smart-pass-tool-list{gap:10px;display:grid}.smart-pass-tool-list button{color:#172033;text-align:left;background:#fff;border:1px solid #dbe5ef;border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid;box-shadow:0 8px 18px #0f172a0a}.smart-pass-tool-list button span{width:34px;height:34px;color:var(--smart-pass-brand);background:#fff0f5;border-radius:9px;place-items:center;font-size:11px;font-weight:950;display:grid}.smart-pass-tool-list button strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.smart-pass-tool-list button small{color:#64748b;font-weight:800}.smart-pass-tool-list button:hover,.smart-pass-tool-list button.is-active{border-color:var(--smart-pass-brand);transform:translateY(-1px);box-shadow:0 14px 28px #aa305d26}.smart-pass-override-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;gap:10px;padding:12px;display:grid}.smart-pass-override-box summary{cursor:pointer;color:#475569;font-weight:900}.page-header__icon{object-fit:contain;width:74px;height:74px}.button-row{flex-wrap:wrap;gap:12px;display:flex}.inline-fields{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inline-fields select,.inline-fields input{flex:180px}.table-list{gap:12px;display:grid}.table-list__row{background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px;display:grid}.table-list__row p{color:#64748b;margin:4px 0}.table-list__row code{overflow-wrap:anywhere;color:#475569;display:block}.scan-delete-modal{width:min(560px,100%)}.scan-delete-modal__summary{background:#fff7f8;border:1px solid #fecdd3;border-radius:16px;gap:8px;margin-top:18px;padding:14px;display:grid}.scan-delete-modal__summary code{color:#475569;overflow-wrap:anywhere}.pm-passback-roster-strip{background:#f8fafc;border:1px solid #dbe4ef;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:12px 14px;display:grid}.pm-passback-roster-strip span,.pm-passback-roster-strip small,.pm-passback-summary-grid span,.pm-passback-post-result span,.pm-passback-grade-column{color:#64748b;letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:800}.pm-passback-roster-strip strong{color:#172033;justify-self:end}.pm-passback-roster-strip small{text-transform:none;letter-spacing:0;grid-column:1/-1}.pm-passback-review-card{gap:16px;display:grid}.pm-passback-review-header{grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);align-items:start;gap:18px;display:grid}.pm-passback-summary-grid,.pm-passback-post-result{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.pm-passback-summary-grid div,.pm-passback-post-result div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;gap:3px;padding:10px;display:grid}.pm-passback-summary-grid strong,.pm-passback-post-result strong{color:#172033;font-size:20px}.pm-passback-actions{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.pm-passback-actions label{align-items:center;gap:7px;font-weight:700;display:inline-flex}.pm-passback-grade-column{text-transform:none;letter-spacing:0;margin-left:auto}.pm-passback-tabs{border-bottom:1px solid #cbd5e1;align-items:flex-end;gap:0;display:flex}.pm-passback-tabs button{color:#64748b;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:14px 14px 0 0;padding:11px 16px;font-weight:900}.pm-passback-tabs button.is-active{color:#172033;background:#fff;border-color:#cbd5e1;transform:translateY(1px);box-shadow:0 -6px 18px #0f172a0d}.pm-passback-tab-panel{border-top-left-radius:0;margin-top:-16px}.pm-passback-failures{background:#fff7f8;border:1px solid #fecdd3;border-radius:16px;padding:12px}.pm-passback-failures summary{color:#b42318;cursor:pointer;font-weight:900}@media (width<=980px){.pm-passback-review-header{grid-template-columns:1fr}.pm-passback-summary-grid,.pm-passback-post-result{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-passback-grade-column{flex-basis:100%;margin-left:0}}.scan-public{background:linear-gradient(135deg,#f8fbff 0%,#fff0f5 100%);justify-content:center;align-items:flex-start;min-height:100vh;padding:clamp(14px,4vw,32px);display:flex}.scan-public__panel{background:#fff;border:1px solid #dbe5ef;border-radius:24px;gap:16px;width:min(100%,620px);padding:clamp(18px,5vw,28px);display:grid;box-shadow:0 22px 60px #0f172a1f}.scan-public__panel img{object-fit:contain;width:82px;height:82px}.scan-public__panel h1{color:#172033;margin:0}.scan-public__panel p{color:#64748b;margin:0}.scan-public .form-grid,.scan-public .form-field,.scan-public .form-field input,.scan-public .form-field select,.scan-public .form-field textarea,.scan-public .button-primary,.scan-public .button-secondary{width:100%;min-width:0;max-width:100%}.scan-public .button-primary,.scan-public .button-secondary{white-space:normal;min-height:48px}.scan-ready{gap:10px;display:grid}.scan-ready span{overflow-wrap:anywhere}.scan-ready small{color:#166534;font-weight:600}.scan-page-list{background:#f8fafc;border:1px solid #dbe5ef;border-radius:14px;gap:8px;padding:12px;display:grid}.scan-page-list__item{grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;display:grid}.scan-page-list__item span{overflow-wrap:anywhere;color:#475569;font-size:.92rem}.smart-pass-pass-actions{flex-wrap:wrap;gap:8px;display:flex}.smart-pass-nurse-status{background:#eef2ff;border-radius:12px;padding:9px 10px;font-weight:800;color:#3730a3!important}.smart-pass-room-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.smart-pass-room-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;gap:5px;padding:15px;display:grid}.smart-pass-room-card b{color:var(--smart-pass-brand)}.smart-pass-emergency-card{color:#fff;background:#1e1b4b;border-radius:24px;gap:14px;padding:24px;display:grid;box-shadow:0 24px 60px #1e1b4b40}.smart-pass-emergency-card p{color:#c7d2fe}.smart-pass-bars{gap:12px;display:grid}.smart-pass-bar{grid-template-columns:120px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.smart-pass-bar span{color:#475569;font-weight:800}.smart-pass-bar div{background:#f1f5f9;border-radius:999px;height:12px;overflow:hidden}.smart-pass-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--smart-pass-brand), #e879a5);height:100%;display:block}.smart-pass-report-grid div{background:#f8fafc;border-radius:16px;gap:5px;padding:18px;display:grid}.smart-pass-report-grid strong{color:var(--smart-pass-brand);font-size:34px}@media (width<=1080px){.smart-pass-shell,.smart-pass-dashboard-grid,.smart-pass-classroom-layout,.smart-pass-classroom-modern{grid-template-columns:1fr}.smart-pass-quick-tools,.smart-pass-sidebar{position:static}.smart-pass-metrics,.smart-pass-auth__preview{grid-template-columns:repeat(2,minmax(0,1fr))}.smart-pass-board{grid-column:auto}}@media (width<=680px){.smart-pass-metrics,.smart-pass-auth__preview,.smart-pass-pass-grid,.smart-pass-classroom-controls{grid-template-columns:1fr}.smart-pass-topbar,.smart-pass-row,.smart-pass-table div{flex-direction:column;grid-template-columns:1fr}}.modal-backdrop{z-index:1000;background:#0f172a8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}@media (width<=900px){.form-grid--three{grid-template-columns:1fr}}@media print{body{background:#fff!important}.app-sidebar,.page-header button,.button,.button-secondary,.scan-public__panel,.modal-backdrop{display:none!important}.scan-public{background:#fff;padding:0;display:block}}
