:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f4f6f8;--surface:#fff;--surface-subtle:#f8fafb;--foreground:#17202a;--muted:#65717f;--border:#d9e0e6;--border-strong:#b8c4ce;--primary:#086f67;--primary-hover:#055d57;--primary-soft:#e8f4f2;--accent:#b45309;--danger:#b42318;--danger-soft:#fff1f0;--success:#147a4b;--success-soft:#eaf7ef;--shadow:0 10px 30px #17202a12}.support-hero-actions,.incident-type-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.incident-type-layout{gap:28px;display:grid}.incident-type-create{border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,1.4fr) minmax(190px,1fr) minmax(170px,.7fr) auto;align-items:end;gap:16px;padding-bottom:26px;display:grid}.incident-type-create p{color:var(--muted);margin:0;line-height:1.55}.incident-type-create .field,.incident-type-row .field{gap:7px;display:grid}.incident-type-create input,.incident-type-create select,.incident-type-row input,.incident-type-row select{border:1px solid var(--border-strong);background:#fff;border-radius:10px;width:100%;min-height:46px;padding:9px 12px}.incident-type-list{display:grid}.incident-type-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:76px;padding:14px 4px;display:grid}.incident-type-row>div:first-child{gap:5px;display:grid}.incident-type-row small{color:var(--muted)}.incident-type-row.inactive{opacity:.62}.incident-type-row:has(.field){grid-template-columns:1fr 220px auto}.incident-type-actions .button{min-height:40px;padding:8px 12px;font-size:12px}@media (max-width:800px){:is(.incident-type-create,.incident-type-row,.incident-type-row:has(.field)){grid-template-columns:1fr}.support-hero-actions{width:100%}.support-hero-actions .button{flex:1}.incident-type-actions{justify-content:flex-start}}.asset-v2-shell{gap:1rem;padding:1rem 0 2rem;display:grid}.asset-v2-hero{color:#f8fafc;background:linear-gradient(120deg,#111827,#312e81 58%,#0f766e);border:1px solid #334155;border-radius:16px;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;display:flex}.asset-v2-hero p{color:#5eead4;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .25rem;font-size:.75rem;font-weight:800}.asset-v2-hero h1{margin:0;font-size:clamp(1.6rem,3vw,2.3rem)}.asset-v2-hero span{color:#cbd5e1;margin-top:.35rem;display:block}.asset-v2-hero-mark{background:#ffffff17;border:1px solid #ffffff2e;border-radius:14px;place-items:center;width:58px;height:58px;display:grid}.asset-v2-tabs{background:#111827;border:1px solid #273449;border-radius:12px;gap:.35rem;padding:.35rem;display:flex;overflow:auto}.asset-v2-tabs button{color:#94a3b8;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.45rem;min-height:44px;padding:.65rem .85rem;font-weight:700;display:flex}.asset-v2-tabs button:hover,.asset-v2-tabs button.active{color:#f8fafc;background:#293548}.asset-v2-tabs button.active{box-shadow:inset 0 -2px #2dd4bf}.asset-v2-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.asset-v2-stats article{background:#111827;border:1px solid #273449;border-radius:12px;padding:1rem}.asset-v2-stats span{color:#94a3b8;font-size:.78rem;display:block}.asset-v2-stats strong{color:#f8fafc;margin-top:.35rem;font-size:1.3rem;display:block}.asset-v2-panel{color:#e2e8f0;background:#111827;border:1px solid #273449;border-radius:12px;padding:1.1rem}.asset-v2-panel h2{color:#f8fafc;align-items:center;gap:.5rem;margin:0 0 .35rem;font-size:1rem;display:flex}.asset-v2-panel>p{color:#94a3b8;margin:.25rem 0 1rem}.asset-v2-panel .data-table{color:#e2e8f0}.asset-v2-panel .data-table th{color:#94a3b8;background:#182235}.asset-v2-panel .data-table td{border-color:#273449}.asset-v2-panel small{color:#94a3b8;display:block}.asset-v2-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.asset-v2-toolbar p{color:#94a3b8;margin:.2rem 0 0}.asset-v2-search{background:#0b1220;border:1px solid #334155;border-radius:8px;align-items:center;gap:.5rem;min-width:240px;padding:.55rem .7rem;display:flex}.asset-v2-search input{color:#f8fafc;background:0 0;border:0;outline:0;width:100%}.asset-v2-form{gap:1rem;display:grid}.asset-v2-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.asset-v2-grid label{color:#cbd5e1;gap:.35rem;font-size:.78rem;font-weight:700;display:grid}.asset-v2-grid input,.asset-v2-grid select{color:#f8fafc;background:#0b1220;border:1px solid #334155;border-radius:7px;width:100%;min-height:42px;padding:.55rem .65rem}.asset-v2-two{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.asset-v2-list{border-bottom:1px solid #273449;justify-content:space-between;gap:1rem;padding:.8rem 0;display:flex}.asset-v2-list:last-child{border-bottom:0}.asset-v2-list div{display:grid}.asset-v2-list span{color:#94a3b8;font-size:.8rem}.asset-v2-notice{color:#ccfbf1;background:#134e4a;border:1px solid #0f766e;border-radius:8px;margin:0;padding:.7rem .9rem}@media (max-width:900px){.asset-v2-stats,.asset-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.asset-v2-hero{padding:1.1rem}.asset-v2-hero-mark{display:none}.asset-v2-stats,.asset-v2-grid,.asset-v2-two{grid-template-columns:1fr}.asset-v2-toolbar{flex-direction:column;align-items:stretch}.asset-v2-search{min-width:0}.asset-v2-panel{padding:.85rem}}@keyframes spin{to{transform:rotate(360deg)}}.portal-mobile-menu-button,.portal-mobile-drawer-heading,.portal-mobile-signout,.portal-mobile-backdrop{display:none}@media (max-width:900px){.portal-header{grid-template-columns:minmax(0,1fr) auto auto;min-height:68px;padding:0 18px}.portal-brand>span:last-child{display:grid}.portal-brand strong{max-width:42vw}.portal-header>.portal-mobile-menu-button{border:1px solid var(--border);background:var(--surface);width:46px;height:46px;color:var(--foreground);cursor:pointer;touch-action:manipulation;border-radius:12px;place-items:center;display:grid}.portal-header>nav{z-index:1001;width:min(88vw,380px);height:100dvh;padding:18px 18px max(24px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);visibility:hidden;background:#fffffff7;flex-direction:column;align-items:stretch;gap:4px;transition:transform .24s ease-out,visibility .24s step-end;display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-24px 0 60px #17202a2e}.portal-header>nav.is-mobile-open{visibility:visible;transition:transform .24s ease-out,visibility;transform:translate(0)}.portal-mobile-drawer-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:58px;margin-bottom:8px;padding-bottom:12px;display:flex}.portal-mobile-drawer-heading>div{gap:3px;display:grid}.portal-mobile-drawer-heading strong{font-size:20px}.portal-mobile-drawer-heading small{color:var(--muted)}.portal-header>nav>a,.portal-header>nav .portal-nav-menu-trigger,.portal-mobile-signout{width:100%;min-width:0;min-height:50px;color:var(--foreground);text-align:left;background:0 0;border:0;border-radius:12px;justify-content:flex-start;align-items:center;gap:12px;padding:12px 14px;font-size:15px;font-weight:700;display:flex}.portal-header>nav>a.is-active{background:var(--primary-soft);color:var(--primary);border:0}.portal-header>nav>a:hover,.portal-header>nav>a:focus-visible,.portal-nav-menu-trigger:hover,.portal-nav-menu-trigger:focus-visible,.portal-mobile-signout:hover,.portal-mobile-signout:focus-visible{background:var(--surface-subtle)}.portal-nav-menu{width:100%;min-width:0}.portal-nav-menu-trigger{border-bottom:0;height:auto}.portal-nav-menu-trigger svg:last-child{margin-left:auto;display:block}.portal-nav-menu.is-active .portal-nav-menu-trigger{background:var(--primary-soft);color:var(--primary);border:0}.portal-header nav .portal-nav-submenu,.portal-nav-menu.is-open .portal-nav-submenu{border:0;border-left:2px solid var(--border);width:auto;box-shadow:none;background:0 0;border-radius:0;margin:3px 0 8px 26px;padding:2px 0 2px 10px;display:none;position:static}.portal-nav-menu.is-open .portal-nav-submenu{display:grid}.portal-header nav .portal-nav-submenu a{min-height:46px;padding:10px 12px;font-size:14px}.portal-mobile-signout{color:var(--danger);margin-top:auto;display:flex}.portal-mobile-backdrop{z-index:1000;opacity:0;pointer-events:none;background:#1118276b;border:0;transition:opacity .2s;position:fixed;inset:0}.portal-mobile-backdrop.is-open{opacity:1;pointer-events:auto;display:block}.portal-actions{gap:6px}.portal-desktop-logout{display:none!important}}@media (max-width:520px){.portal-brand strong{max-width:48vw}.portal-brand small{display:none}.portal-actions .icon-button{flex-basis:42px;width:42px;height:42px}}@media (prefers-reduced-motion:reduce){.portal-header>nav,.portal-mobile-backdrop{transition:none}}.period-record-card{order:1}.period-timetable-card{order:2}.period-attendance-console>.period-card:last-child{order:3}@media (max-width:760px){.period-attendance-console .portal-section-heading{flex-direction:column;align-items:stretch}.period-date-picker{justify-content:space-between;width:100%;min-height:44px}.period-date-picker input{min-height:36px}.period-form-grid{grid-template-columns:1fr}.period-form-grid .button{min-height:44px}}@media (max-width:900px){.report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.report-alert{grid-template-columns:40px minmax(0,1fr) auto}.report-alert>div:nth-child(3),.report-alert .alert-actions{grid-column:2/-1}.learner-attendance-row{grid-template-columns:repeat(2,minmax(0,1fr))}.learner-attendance-row .attendance-person{grid-column:1/-1}.holiday-layout{grid-template-columns:1fr}.attendance-overview-card{grid-template-columns:1fr 1fr 1fr}.attendance-overview-heading{border-right:0;border-bottom:1px solid var(--border);grid-column:1/-1;min-height:78px}.attendance-toolbar,.attendance-row{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-person,.attendance-absence,.attendance-special-status{grid-column:1/-1}.portal-header{grid-template-columns:auto 1fr auto;padding:0 18px}.portal-brand>span:last-child{display:none}.portal-header nav{justify-content:center}.portal-header nav a{min-width:54px;padding:0 9px;font-size:0}.portal-nav-menu{min-width:54px}.portal-nav-menu-trigger{padding:0 9px;font-size:0}.portal-nav-menu-trigger svg:last-child{display:none}.portal-header nav .portal-nav-submenu a{font-size:12px}.metric-grid,.profile-details{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-details>div,.profile-details>div:nth-child(3n){border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.profile-details>div:nth-child(2n){border-right:0}.profile-details>div:nth-last-child(-n+1){border-bottom:0}.admin-header{grid-template-columns:auto 1fr auto}.admin-nav{justify-content:center}.admin-nav a{min-width:auto}.filter-bar.four-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.class-editor-row{grid-template-columns:70px 1fr 1fr}.class-editor-row select{grid-column:span 1}.wizard-layout{grid-template-columns:1fr}.step-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.step-button{text-align:center;grid-template-columns:1fr;justify-items:center;min-height:68px}.step-button small{display:none}.step-button strong{width:100%}.choice-grid{grid-template-columns:1fr}.grade-grid{grid-template-columns:repeat(7,minmax(38px,1fr))}}.timetable-console,.module-management-page{gap:20px;display:grid}@media (max-width:640px){.module-management-heading,.module-tenant-row{flex-direction:column;align-items:stretch}.module-tenant-action{justify-content:space-between}.module-tenant-action .button{min-height:44px}}.field-app{--field-bg:#111715;--field-surface:#19211f;--field-surface-2:#202a27;--field-border:#34413d;--field-text:#f3f7f5;--field-muted:#aab7b2;--field-primary:#5fd4c5;--field-primary-strong:#0d7469;min-height:100dvh;padding-bottom:calc(82px + env(safe-area-inset-bottom));background:var(--field-bg);color:var(--field-text)}.field-topbar{z-index:20;border-bottom:1px solid var(--field-border);min-height:76px;padding:calc(12px + env(safe-area-inset-top)) max(20px, calc((100% - 760px) / 2)) 12px;background:#111715f5;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.field-topbar p,.field-topbar h1{margin:0}.field-topbar p{color:var(--field-primary);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.field-topbar h1{color:var(--field-text);margin-top:3px;font-size:21px}.field-network{color:var(--field-muted);align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.field-network:before{content:"";background:#8d9a95;border-radius:50%;width:8px;height:8px}.field-network.is-online:before{background:#5dd39e}.field-network.is-offline:before{background:#ffb454}.field-content{width:min(100% - 32px,760px);margin:0 auto;padding:20px 0 28px}.field-banner{border:1px solid;border-radius:8px;align-items:center;gap:9px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.field-banner.is-success{color:#baf3d9;background:#173a30;border-color:#386b59}.field-banner.is-error{color:#ffd2cc;background:#3a201e;border-color:#7d4845}.field-welcome{padding:12px 2px 20px}.field-welcome p,.field-welcome h2,.field-welcome span{margin:0}.field-welcome p{color:var(--field-muted);font-size:14px}.field-welcome h2{color:var(--field-text);margin:2px 0 7px;font-size:clamp(24px,7vw,32px)}.field-welcome span{color:var(--field-muted);font-size:13px}.field-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px;display:grid}.field-summary button{border:1px solid var(--field-border);background:var(--field-surface);min-height:112px;color:var(--field-text);text-align:left;cursor:pointer;border-radius:10px;justify-items:start;gap:4px;padding:14px;display:grid}.field-summary button:hover,.field-summary button:focus-visible{border-color:var(--field-primary);background:var(--field-surface-2)}.field-summary svg{width:20px;color:var(--field-primary)}.field-summary strong{font-variant-numeric:tabular-nums;font-size:24px}.field-summary span{color:var(--field-muted);font-size:11px;font-weight:700}.field-section{border:1px solid var(--field-border);background:var(--field-surface);border-radius:10px;margin-bottom:16px;padding:18px}.field-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.field-section-heading span,.field-section-heading h2{margin:0}.field-section-heading span{color:var(--field-primary);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.field-section-heading h2{color:var(--field-text);margin-top:3px;font-size:18px}.field-section-heading>button{border:1px solid var(--field-border);width:44px;height:44px;color:var(--field-muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;display:grid}.field-section-heading svg{width:18px}.field-quick-actions{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.field-quick-actions button{border:1px solid var(--field-border);background:var(--field-surface-2);min-height:96px;color:var(--field-text);cursor:pointer;border-radius:10px;align-content:center;place-items:center;gap:8px;font-weight:750;display:grid}.field-quick-actions button:hover,.field-quick-actions button:focus-visible{border-color:var(--field-primary);color:var(--field-primary)}.field-quick-actions svg{width:23px}.field-job-list{display:grid}.field-job-list>button{border:0;border-top:1px solid var(--field-border);min-height:76px;color:var(--field-text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.field-job-list>button:first-child{border-top:0}.field-job-mark{background:#8da09a;border-radius:4px;width:4px;height:46px}.field-job-mark.is-high{background:#ff766d}.field-job-mark.is-normal{background:#ffc267}.field-job-mark.is-low{background:#68cdbf}.field-job-list div{gap:3px;min-width:0;display:grid}.field-job-list strong{font-size:14px}.field-job-list div span{color:var(--field-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.field-job-list small{color:#7f918b;font-size:10px}.field-job-list>button>span:last-child{background:var(--field-surface-2);color:var(--field-muted);text-transform:capitalize;border-radius:999px;padding:5px 7px;font-size:10px}.field-filter-panel{gap:12px;display:grid}.field-search{gap:6px;display:grid}.field-search>span{color:var(--field-muted);font-size:12px;font-weight:700}.field-filter-row{gap:8px;padding-bottom:3px;display:flex;overflow-x:auto}.field-filter-row button{border:1px solid var(--field-border);min-height:40px;color:var(--field-muted);text-transform:capitalize;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:8px 12px;font-size:11px;font-weight:750}.field-filter-row button.is-active{border-color:var(--field-primary);color:var(--field-primary);background:#5fd4c51f}.field-job-detail{border:1px solid var(--field-border);background:var(--field-surface-2);border-radius:9px;margin-top:12px;padding:16px}.field-job-detail:first-of-type{margin-top:0}.field-job-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.field-job-head span,.field-job-head h3,.field-job-detail>p{margin:0}.field-job-head div>span{color:var(--field-muted);font-size:10px;font-weight:800}.field-job-head h3{color:var(--field-text);margin-top:2px;font-size:17px}.field-priority{color:#cdd8d4;text-transform:uppercase;background:#33403c;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.field-priority.is-high{color:#ffc1bb;background:#542824}.field-priority.is-normal{color:#ffe0a1;background:#4a381b}.field-priority.is-low{color:#aef2e7;background:#173c36}.field-job-detail>p{color:var(--field-muted);margin:12px 0;font-size:13px;line-height:1.5}.field-job-meta{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.field-job-meta span{background:var(--field-bg);color:var(--field-muted);text-transform:capitalize;border-radius:5px;align-items:center;gap:5px;padding:5px 7px;font-size:10px;display:inline-flex}.field-job-actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.field-job-actions button{border:1px solid var(--field-border);background:var(--field-bg);min-height:44px;color:var(--field-text);cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:9px 11px;font-size:11px;font-weight:750;display:inline-flex}.field-job-actions svg{width:16px}.field-form{gap:14px;display:grid}.field-form.compact{border-top:1px solid var(--field-border);padding-top:16px}.field-form label{color:var(--field-text);gap:6px;font-size:12px;font-weight:750;display:grid}.field-form label>small{color:var(--field-muted);font-size:10px;font-weight:500;line-height:1.4}.field-form input,.field-form select,.field-form textarea,.field-search input{width:100%;min-height:48px;color:var(--field-text);background:#0e1312;border:1px solid #50605a;border-radius:7px;padding:11px 12px;font-size:16px}.field-form textarea{resize:vertical}.field-form :is(input,select,textarea):focus-visible,.field-search input:focus-visible{border-color:var(--field-primary);outline-offset:1px;outline:3px solid #5fd4c538}.field-check{grid-template-columns:auto 1fr;align-items:center;min-height:44px;gap:10px!important;display:flex!important}.field-check input{width:20px;min-height:20px;accent-color:var(--field-primary-strong)}.field-primary,.field-secondary{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:11px 15px;font-weight:800;display:inline-flex}.field-primary{border:1px solid var(--field-primary);background:var(--field-primary);color:#09221e}.field-secondary{border:1px solid var(--field-border);color:var(--field-text);background:0 0}.field-primary:disabled,.field-secondary:disabled{cursor:not-allowed;opacity:.45}.field-primary svg,.field-secondary svg{width:18px}.field-input-action{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.field-input-action button{border:1px solid var(--field-border);background:var(--field-surface-2);min-width:78px;min-height:48px;color:var(--field-text);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:6px;display:inline-flex}.field-input-action svg{width:17px}.field-asset-list,.field-visit-list{display:grid}.field-asset-list article,.field-visit-list article{border-top:1px solid var(--field-border);align-items:flex-start;gap:12px;min-height:68px;padding:12px 0;display:flex}.field-asset-list article:first-child,.field-visit-list article:first-child{border-top:0}.field-asset-list article>svg,.field-visit-list article>svg{width:20px;color:var(--field-primary);flex:0 0 20px}.field-asset-list article div,.field-visit-list article div{gap:3px;min-width:0;display:grid}.field-asset-list strong,.field-visit-list strong{font-size:13px}.field-asset-list span,.field-visit-list span{color:var(--field-muted);font-size:12px;line-height:1.4}.field-asset-list small,.field-visit-list small{color:#7f918b;font-size:10px}.field-empty{min-height:116px;color:var(--field-muted);align-items:flex-start;gap:12px;padding:18px 0;display:flex}.field-empty>svg{width:24px;color:var(--field-primary);flex:0 0 24px}.field-empty h3,.field-empty p{margin:0}.field-empty h3{color:var(--field-text);font-size:15px}.field-empty p{margin-top:5px;font-size:12px;line-height:1.5}.field-profile-avatar{border:1px solid var(--field-border);background:var(--field-surface-2);width:72px;height:72px;color:var(--field-primary);border-radius:50%;place-items:center;margin:8px auto 12px;display:grid}.field-profile-avatar svg{width:32px;height:32px}.field-profile-copy{text-align:center}.field-profile-copy h2,.field-profile-copy p{margin:0}.field-profile-copy h2{color:var(--field-text);font-size:20px}.field-profile-copy p{color:var(--field-muted);margin-top:4px;font-size:12px}.field-profile-facts{border-block:1px solid var(--field-border);margin:24px 0}.field-profile-facts div{border-top:1px solid var(--field-border);justify-content:space-between;gap:16px;padding:14px 0;font-size:12px;display:flex}.field-profile-facts div:first-child{border-top:0}.field-profile-facts dt{color:var(--field-muted)}.field-profile-facts dd{color:var(--field-text);text-align:right;margin:0;font-weight:750}.field-signout{color:#ffb7b0;width:100%}.field-bottom-nav{z-index:30;min-height:calc(68px + env(safe-area-inset-bottom));border-top:1px solid var(--field-border);padding:5px max(8px, calc((100% - 760px) / 2)) env(safe-area-inset-bottom);background:#111715fa;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.field-bottom-nav button{color:#87958f;cursor:pointer;background:0 0;border:0;border-radius:7px;align-content:center;place-items:center;gap:3px;min-width:0;min-height:58px;display:grid}.field-bottom-nav button.is-active{color:var(--field-primary);background:#5fd4c51a}.field-bottom-nav svg{width:21px;height:21px}.field-bottom-nav span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:750;overflow:hidden}@media (max-width:520px){.field-content{width:min(100% - 24px,760px);padding-top:14px}.field-topbar{padding-inline:14px}.field-section{padding:15px}.field-summary{gap:7px}.field-summary button{min-height:104px;padding:11px}.field-summary span{font-size:10px}.field-quick-actions{gap:7px}.field-quick-actions button{min-height:88px;font-size:12px}}@media (prefers-reduced-motion:reduce){.field-app *,.field-app :before,.field-app :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.asset-ownership-fields fieldset,.asset-ownership-fields{min-width:0}.asset-ownership-fields legend{color:var(--asset-ink);grid-column:1/-1;font-size:14px;font-weight:750}.asset-document-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:20px;padding:20px;display:grid}.asset-document-layout form{align-content:start;gap:12px;display:grid}.asset-document-layout form label{color:var(--asset-ink);gap:7px;font-size:13px;font-weight:700;display:grid}.asset-document-layout input{border:1px solid var(--asset-line);background:#fff;border-radius:7px;min-height:44px;padding:8px}.asset-document-layout ul{margin:0;padding:0;list-style:none}.asset-document-layout li{border-bottom:1px solid var(--asset-line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.asset-document-layout li div{min-width:0;display:grid}.asset-document-layout li strong{overflow-wrap:anywhere}.asset-document-layout li small,.asset-document-empty,.asset-document-layout form p{color:var(--asset-muted);font-size:12px}.asset-document-empty{margin:0;padding:16px 0}@media (max-width:760px){.asset-document-layout{grid-template-columns:1fr}.asset-document-layout li{flex-direction:column;align-items:stretch}.asset-document-layout li .button{justify-content:center;width:100%}}.asset-agreement-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.asset-agreement-table{min-width:1060px!important}.asset-form-note{color:var(--asset-muted);border-left:3px solid var(--asset-gold);background:#f4f6f3;margin:0;padding:10px 12px;font-size:12px;line-height:1.5}@media (max-width:900px){.asset-agreement-summary{grid-template-columns:1fr}}.asset-location-label-modal{width:min(700px,100%);padding:24px}.asset-location-label-toolbar{justify-content:space-between;align-items:flex-start;gap:20px;padding-right:50px;display:flex}.asset-location-label-toolbar h2{color:var(--asset-ink);margin:0;font-size:21px}.asset-location-label-toolbar p,.asset-location-label-help{color:var(--asset-muted);margin:5px 0 0;font-size:13px}.asset-location-print-sheet{background:#fff;border:1px solid #cad1ca;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;width:min(620px,100%);min-height:240px;margin:24px auto 14px;padding:22px;display:grid}.asset-location-print-copy strong{color:#315d4b;font-size:14px;display:block}.asset-location-print-copy h3{color:#18241f;margin:10px 0 4px;font-size:26px;line-height:1.15}.asset-location-print-copy p{color:#555f59;margin:0 0 18px}.asset-location-print-copy code{font-size:13px;font-weight:700}.asset-location-label-help{text-align:center}.asset-location-audit-page{gap:20px;max-width:1200px;display:grid}.asset-location-audit-header{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:20px;padding:25px 28px;display:flex}.asset-location-audit-header .eyebrow{color:#8d561d;margin:0 0 5px}.asset-location-audit-header h1{margin:0;font-size:clamp(27px,4vw,38px)}.asset-location-audit-header p{color:var(--text-muted);margin:6px 0 0}.asset-location-audit-summary{color:#174f3d;background:#eaf5ef;border:1px solid #bcdcca;border-radius:10px;align-items:center;gap:13px;padding:16px 20px;display:flex}.asset-location-audit-summary div{flex:1}.asset-location-audit-summary strong{display:block}.asset-location-audit-summary p{margin:2px 0 0;font-size:13px}.asset-location-audit-summary span{font-weight:750}.asset-location-audit-table{min-width:760px}.teacher-absence-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:16px;margin-top:16px;padding:18px;display:grid}.teacher-absence-card>header{align-items:center;gap:10px;display:flex}.teacher-absence-card>header>span{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:6px;flex:none;place-items:center;display:grid}.teacher-absence-card h2,.teacher-absence-card h3,.teacher-absence-card p{margin:0}.teacher-absence-card>header p,.teacher-absence-list-heading small{color:var(--muted);margin-top:3px;font-size:11px}.teacher-absence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.teacher-absence-grid>section{border:1px solid var(--border);border-radius:7px;min-width:0;overflow:hidden}.teacher-absence-list-heading{background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:10px;min-height:60px;padding:10px 12px;display:flex}.teacher-absence-list-heading h3{font-size:14px}.teacher-absence-list-heading>strong{background:var(--primary-soft);min-width:30px;height:30px;color:var(--primary);border-radius:999px;place-items:center;font-size:13px;display:grid}.teacher-absence-list{max-height:300px;overflow-y:auto}.teacher-absence-list article{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.teacher-absence-list article:first-child{border-top:0}.teacher-absence-list article>div{gap:2px;min-width:0;display:grid}.teacher-absence-list article strong,.teacher-absence-list article small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-absence-list article small,.teacher-absence-list article>span{color:var(--muted);font-size:10px}.teacher-absence-list article>span{text-align:right;flex:none}.teacher-absence-empty{min-height:76px;color:var(--muted);text-align:center;place-items:center;padding:16px;font-size:12px;display:grid}@media (max-width:680px){.asset-location-label-modal{padding:20px}.asset-location-label-toolbar,.asset-location-audit-header{flex-direction:column;align-items:stretch}.asset-location-label-toolbar .button,.asset-location-audit-header .button{justify-content:center;width:100%}.asset-location-print-sheet{text-align:center;grid-template-columns:1fr;justify-items:center}.asset-location-audit-summary{flex-wrap:wrap;align-items:flex-start}.asset-location-audit-summary span{width:100%;padding-left:35px}}@media print{body *{visibility:hidden!important}.asset-location-print-sheet,.asset-location-print-sheet *{visibility:visible!important}.asset-location-print-sheet{width:62mm;min-height:40mm;box-shadow:none;border:0;grid-template-columns:1fr 30mm;gap:2mm;margin:0;padding:4mm;position:fixed;top:0;left:0}.asset-location-print-copy h3{font-size:15pt}.asset-location-print-copy p{margin-bottom:3mm;font-size:9pt}.asset-location-print-copy strong,.asset-location-print-copy code{font-size:8pt}.asset-location-print-sheet svg{width:28mm;height:28mm}@page{size:62mm 40mm;margin:0}}.asset-ownership-fields{background:linear-gradient(135deg,#e7f7f1e6,#f1efffbf);border-left:3px solid #91c6b4;border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;display:grid}.asset-ownership-badge{color:#245c47;white-space:nowrap;background:#edf6f1;border:1px solid #cbd8d1;border-radius:999px;align-items:center;min-height:26px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.asset-ownership-badge.is-donated{color:#58458c;background:#f2efff;border-color:#d7cff6}.asset-ownership-badge.is-byod{color:#77511b;background:#fff3dc;border-color:#efd5a1}.asset-ownership-badge.is-leased{color:#285c74;background:#eaf4fb;border-color:#c4dcea}.asset-qr-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#ecf9f3f0,#f3f0ffe6);border:1px solid #99b1a4b3;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;display:flex;box-shadow:0 12px 32px #2a463814}.asset-qr-label{background:#fff;border:1px solid #bfcac3;align-items:center;gap:16px;padding:12px;display:flex}.asset-qr-label>div{min-width:170px;display:grid}.asset-qr-label small{color:#526158;font-size:10px}.asset-qr-label strong{color:#16281f;letter-spacing:.04em;font-size:22px}.asset-qr-label span{color:#46564d;font-size:13px}.asset-qr-label em{color:#28684f;text-transform:uppercase;margin-top:7px;font-size:10px;font-style:normal;font-weight:800}.asset-qr-copy{max-width:410px}.asset-qr-copy h3{align-items:center;gap:8px;margin:0;display:flex}.asset-qr-copy p{color:#526158;margin:7px 0 13px;font-size:13px}.asset-panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.asset-label-sheet-modal{width:min(1180px,100vw - 32px);max-height:94dvh;overflow:auto}.asset-label-sheet-controls{border-bottom:1px solid var(--asset-line);gap:16px;padding:24px;display:grid}.asset-label-sheet-controls h2,.asset-label-sheet-controls p{margin:0}.asset-label-sheet-controls>div:first-child>p:last-child{color:var(--asset-muted);margin-top:6px;font-size:13px}.asset-label-sheet-toolbar{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.asset-label-sheet-toolbar label{color:var(--asset-muted);gap:5px;font-size:12px;font-weight:700;display:grid}.asset-label-sheet-toolbar select{border:1px solid var(--asset-line);background:var(--asset-surface,#fff);min-width:110px;min-height:44px;color:var(--asset-ink);font:inherit;border-radius:7px;padding:8px 30px 8px 10px}.asset-label-selection{border:1px solid var(--asset-line);background:var(--asset-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:190px;padding:8px;display:grid;overflow-y:auto}.asset-label-selection label{background:var(--asset-surface,#fff);cursor:pointer;align-items:center;gap:9px;min-width:0;min-height:44px;padding:7px 9px;display:flex}.asset-label-selection input{width:18px;height:18px;accent-color:var(--primary)}.asset-label-selection span{min-width:0;display:grid}.asset-label-selection strong,.asset-label-selection small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-label-selection small{color:var(--asset-muted)}.asset-label-sheet-preview{background:#e7e9e7;padding:24px;overflow:auto}.asset-label-sheet-print{gap:18px;width:max-content;margin:0 auto;display:grid}.asset-label-page{box-sizing:border-box;background:#fff;width:210mm;min-height:297mm;display:block;position:relative;box-shadow:0 4px 18px #16281f26}.asset-sheet-label{box-sizing:border-box;color:#16281f;background:#fff;border:.2mm dashed #c4cbc6;grid-template-columns:22mm minmax(0,1fr);align-items:center;gap:2.5mm;width:63.5mm;height:33.9mm;padding:3mm;display:grid;position:absolute;overflow:hidden}.asset-sheet-label.is-blank{border-color:#0000}.asset-sheet-qr{width:21.5mm;height:21.5mm;display:block;overflow:visible}.asset-sheet-qr svg{width:21.5mm;max-width:none;height:21.5mm;display:block;overflow:visible}.asset-sheet-label-copy{min-width:0;display:grid}.asset-sheet-label small,.asset-sheet-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-sheet-label small{color:#526158;font-size:7pt}.asset-sheet-label strong{letter-spacing:.03em;font-size:12pt}.asset-sheet-label span{font-size:7.5pt}.asset-sheet-label em{color:#28684f;text-transform:uppercase;margin-top:2mm;font-size:6.5pt;font-style:normal;font-weight:800}@media (max-width:680px){.asset-ownership-fields{grid-template-columns:1fr}.asset-panel-actions{flex-direction:column;width:100%}.asset-panel-actions .button,.asset-label-sheet-modal{width:100%}.asset-label-selection{grid-template-columns:1fr}.asset-label-sheet-toolbar .button,.asset-label-sheet-toolbar label,.asset-label-sheet-toolbar select{width:100%}.asset-register-table th:nth-child(2),.asset-register-table td:nth-child(2),.asset-register-table th:nth-child(4),.asset-register-table td:nth-child(4){display:table-cell}.asset-register-table th:nth-child(3),.asset-register-table td:nth-child(3),.asset-register-table th:nth-child(5),.asset-register-table td:nth-child(5){display:none}.asset-qr-panel{flex-direction:column;align-items:stretch}.asset-qr-label{width:max-content;max-width:100%}}@media print{@page{size:A4 portrait;margin:0}body *{visibility:hidden!important}.asset-qr-panel,.asset-qr-panel *,.asset-label-sheet-print,.asset-label-sheet-print *{visibility:visible!important}.asset-qr-panel{box-shadow:none;background:#fff;border:0;padding:0;display:block;position:absolute;inset:0 auto auto 0}.asset-qr-copy{display:none}.asset-qr-label{width:82mm;min-height:34mm}.asset-label-sheet-print{margin:0;display:block;position:absolute;inset:0 auto auto 0}.asset-label-page{box-shadow:none;break-inside:avoid;page-break-inside:avoid;margin:0}.asset-label-page+.asset-label-page{break-before:page;page-break-before:always}.asset-sheet-label{break-inside:avoid;page-break-inside:avoid;border-color:#0000}body.asset-print-sheet .asset-dashboard>*{display:none!important}body.asset-print-sheet,body.asset-print-sheet .portal-shell,body.asset-print-sheet .asset-dashboard{background:#fff!important;width:210mm!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}html:has(body.asset-print-sheet){background:#fff!important;width:210mm!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}body.asset-print-sheet .portal-shell>:not(.asset-dashboard){display:none!important}body.asset-print-sheet .asset-dashboard>.asset-label-sheet-backdrop{background:0 0!important;width:210mm!important;height:auto!important;min-height:0!important;padding:0!important;display:block!important;position:static!important}body.asset-print-sheet .asset-label-sheet-modal{width:210mm!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;box-shadow:none!important;border:0!important;margin:0!important;display:block!important;overflow:visible!important}body.asset-print-sheet .asset-label-sheet-controls{display:none!important}body.asset-print-sheet .asset-label-sheet-preview{background:0 0!important;height:auto!important;min-height:0!important;padding:0!important;display:block!important;overflow:visible!important}body.asset-print-sheet .asset-label-sheet-print{gap:0!important;width:210mm!important;height:auto!important;min-height:0!important;position:static!important}body.asset-print-sheet .asset-label-page{width:210mm!important;height:296mm!important;min-height:296mm!important;padding:0!important;display:block!important;overflow:visible!important}body.asset-print-sheet .asset-sheet-label,body.asset-print-sheet .asset-sheet-qr,body.asset-print-sheet .asset-sheet-qr svg{break-inside:avoid!important;page-break-inside:avoid!important;overflow:visible!important}body.asset-print-single .asset-dashboard>:not(.asset-detail-page),body.asset-print-single .asset-detail-page>:not(.asset-qr-panel){display:none!important}body.asset-print-single .asset-detail-page,body.asset-print-single .asset-qr-panel{width:auto!important;margin:0!important;display:block!important}body.asset-print-single .asset-qr-panel{position:static!important}}.timetable-page{--timetable-surface:#fffefa;--timetable-soft:#f5f4ed;--timetable-border:#d8ddd0;--timetable-accent:#55795a;--timetable-accent-soft:#e7efe4;--timetable-muted:#617061}.timetable-page-heading,.timetable-grid-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.timetable-page-heading h1,.timetable-grid-heading h2,.timetable-editor-heading h2{color:#354637;margin:0}.timetable-page-heading h1{font-size:clamp(26px,3vw,32px)}.timetable-grid-heading h2,.timetable-editor-heading h2{font-size:19px}.timetable-page-heading p:last-child,.timetable-grid-heading p:last-child,.timetable-editor-heading p:last-child{color:var(--timetable-muted);margin:7px 0 0}.timetable-page-heading-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.timetable-version-status{border:1px solid var(--timetable-border);background:var(--timetable-soft);color:#4b604d;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.timetable-version-status.status-published{background:var(--timetable-accent-soft);color:#3f6846}.timetable-version-status.status-draft{color:#895d12;background:#fff5db}.timetable-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.timetable-summary article{border:1px solid var(--timetable-border);background:var(--timetable-surface);border-radius:8px;align-content:center;gap:5px;min-height:104px;padding:16px 18px;display:grid}.timetable-summary span,.timetable-summary small{color:var(--timetable-muted);font-size:12px}.timetable-summary span{font-weight:700}.timetable-summary strong{color:#354637;font-variant-numeric:tabular-nums;font-size:23px}.timetable-editor,.timetable-grid-section{border:1px solid var(--timetable-border);background:var(--timetable-surface);border-radius:8px;overflow:hidden}.timetable-editor-heading,.timetable-grid-heading{padding:18px 20px}.timetable-editor-heading{border-bottom:1px solid var(--timetable-border);background:#fcfcf8}.timetable-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px;display:grid}.timetable-form .field{gap:6px}.timetable-form .field>span,.timetable-class-filter>span{color:#465447;font-size:12px;font-weight:800}.timetable-form input,.timetable-form select,.timetable-class-filter select{border:1px solid var(--timetable-border);min-height:42px;color:var(--foreground);background:#faf9f3;border-radius:6px;padding:0 11px}.timetable-form input:focus-visible,.timetable-form select:focus-visible,.timetable-class-filter select:focus-visible{outline-offset:1px;outline:3px solid #b9d1b6}.timetable-class-filter{gap:6px;width:min(100%,240px);display:grid}.timetable-legend{border-top:1px solid var(--timetable-border);background:#fcfcf8;flex-wrap:wrap;gap:8px 14px;padding:11px 20px;display:flex}.timetable-legend span{color:#536054;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.timetable-legend i{background:var(--timetable-subject-color);border-radius:50%;width:9px;height:9px}.timetable-grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:840px}.timetable-grid th:last-child,.timetable-grid td:last-child{border-right:0}.timetable-grid tbody tr:last-child th,.timetable-grid tbody tr:last-child td{border-bottom:0}.timetable-grid thead th{color:#435344;background:#eff3e9;font-size:12px;font-weight:800}.timetable-grid tbody th{color:#435344;background:#fafaf5;width:146px;font-size:12px}.timetable-entry{background:color-mix(in srgb, var(--timetable-subject-color) 13%, #fff);min-height:82px;box-shadow:inset 4px 0 0 var(--timetable-subject-color)}.timetable-entry strong,.timetable-nonteaching strong{color:#2f4031;font-size:12px}.timetable-entry .icon-button{background:#ffffffbf;width:30px;height:30px}.timetable-admin-period{color:#526153;background:#f7f8f5}.timetable-admin-period strong,.timetable-admin-period span{display:block}.timetable-admin-period strong{font-size:12px}.timetable-admin-period span{color:var(--timetable-muted);margin-top:3px;font-size:11px;line-height:1.35}.timetable-empty-state{border-top:1px solid var(--timetable-border);color:#49574a;background:#fcfcf8;padding:24px 20px}.timetable-empty-state strong{font-size:14px}.timetable-empty-state p{color:var(--timetable-muted);margin:5px 0 0;font-size:13px}.timetable-loading{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.timetable-loading span,.timetable-loading div{border:1px solid var(--timetable-border);background:#e9ede5;border-radius:8px;min-height:104px}.timetable-loading div{grid-column:span 3;min-height:220px}.timetable-error-state{border:1px solid var(--timetable-border);background:var(--timetable-surface);border-radius:8px;max-width:620px;padding:26px}.timetable-error-state h1{color:#354637;margin:0;font-size:24px}.timetable-error-state p:not(.eyebrow){color:var(--timetable-muted);margin:9px 0 18px}.technician-mobile{padding-bottom:36px}.technician-feedback{margin:0}.technician-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.technician-action{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-content:start;gap:10px;padding:16px;display:grid}.technician-action h2{align-items:center;gap:7px;margin:0 0 3px;font-size:16px;display:flex}.technician-action label,.technician-call-card form label{color:var(--foreground);gap:5px;font-size:12px;font-weight:700;display:grid}.technician-action input,.technician-action select,.technician-action textarea,.technician-call-card select,.technician-call-card textarea{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:42px;color:var(--foreground);border-radius:6px;padding:9px 10px}.technician-action textarea,.technician-call-card textarea{resize:vertical}.technician-action :is(input,select,textarea):focus-visible,.technician-call-card :is(select,textarea):focus-visible{outline:3px solid var(--primary-soft);outline-offset:1px;border-color:var(--primary)}.technician-call-list{display:grid}.technician-call-card{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(290px,.9fr);gap:18px;padding:16px 18px;display:grid}.technician-call-card>div{min-width:0}.technician-call-card>div>strong{display:block}.technician-call-card>div>span:not(.technician-priority):not(.technician-status),.technician-call-card p,.technician-call-card small{color:var(--muted);margin:4px 0;font-size:12px;display:block}.technician-call-card .technician-status,.technician-call-card .technician-priority{margin-right:6px}.technician-call-card form{gap:9px;display:grid}.technician-checkbox{align-items:center;gap:8px;font-weight:600!important;display:flex!important}.technician-checkbox input{width:18px;min-height:18px}@media (max-width:900px){.timetable-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.timetable-page-heading,.timetable-grid-heading{flex-direction:column;align-items:stretch}.timetable-page-heading-actions{justify-content:space-between}.timetable-page-heading-actions .button{flex:1;justify-content:center}.timetable-summary{grid-template-columns:1fr}.timetable-summary article{min-height:88px}.timetable-form{grid-template-columns:1fr;padding:16px}.timetable-form-actions{flex-direction:column;align-items:stretch}.timetable-form-actions .button{justify-content:center;min-height:44px}.timetable-editor-heading,.timetable-grid-heading{padding:16px}.timetable-legend{padding:10px 16px}.timetable-grid{min-width:700px}.timetable-grid tbody th{width:122px}.timetable-loading{grid-template-columns:1fr}.timetable-loading div{grid-column:auto;min-height:180px}.technician-actions{grid-template-columns:1fr}.technician-action{padding:16px}.technician-call-card{grid-template-columns:1fr;gap:14px;padding:16px}.technician-call-card .button{width:100%;min-height:44px}}@media (max-width:640px){.mobile-auth-card,.mobile-onboarding-card{padding:20px}.mobile-admin-onboarding{grid-template-columns:1fr;padding:18px}.mobile-device-admin-list article{grid-template-columns:40px minmax(0,1fr)}.mobile-device-admin-list article .button{grid-column:2;width:100%}.portal-nav-menu.is-open .portal-nav-submenu{z-index:100;width:auto;max-height:calc(100dvh - 92px);padding:8px;position:fixed;top:76px;left:12px;right:12px;overflow-y:auto}.portal-header nav .portal-nav-submenu a{min-height:48px;padding:12px;font-size:14px}.learner-class-filter{grid-template-columns:22px 1fr}.learner-class-filter select{grid-column:1/-1}.reports-heading{flex-direction:column;align-items:stretch}.reports-heading .button{width:100%}.report-filters,.report-metrics{grid-template-columns:1fr}.report-metrics article{border-right:0;border-bottom:1px solid var(--border);min-height:88px}.report-metrics article:last-child{border-bottom:0}.report-chart{padding:12px;overflow-x:auto}.report-chart svg{width:720px;min-height:216px}.report-chart-legend{justify-content:flex-start;width:720px}.report-alert{grid-template-columns:36px minmax(0,1fr)}.report-alert>.plain-status,.report-alert>div:nth-child(3),.report-alert .alert-actions{grid-column:2}.alert-actions{flex-direction:column;align-items:stretch}.learner-attendance-toolbar,.learner-attendance-row,.holiday-date-grid{grid-template-columns:1fr}.learner-absence-reason,.learner-present-label,.learner-attendance-row .attendance-person{grid-column:auto}.learner-attendance-toolbar .button{width:100%}.holiday-row{grid-template-columns:60px minmax(0,1fr) 36px 36px;padding:12px}.portal-section-heading>form{width:100%}.compact-field{flex:1;min-width:0}.attendance-overview-card{grid-template-columns:1fr}.attendance-overview-heading{grid-column:auto}.attendance-overview-value{border-right:0;border-bottom:1px solid var(--border);min-height:88px}.attendance-overview-value:last-child{border-bottom:0}.attendance-toolbar,.attendance-summary,.attendance-row{grid-template-columns:1fr}.attendance-summary span{border-right:0;border-bottom:1px solid var(--border);min-height:58px}.attendance-summary span:last-child{border-bottom:0}.attendance-person,.attendance-absence,.attendance-special-status{grid-column:auto}.attendance-actions .button,.attendance-toolbar .button{width:100%}.portal-header{gap:8px;padding:0 12px}.portal-header nav{justify-content:start;overflow-x:auto}.portal-header nav a{min-width:42px;padding:0 7px}.portal-nav-menu{min-width:42px}.portal-nav-menu-trigger{padding:0 7px}.portal-actions .icon-button{flex-basis:36px;width:36px;height:36px}.portal-main,.portal-section{width:min(100% - 28px,1180px);padding-top:30px}.metric-grid,.profile-details{grid-template-columns:1fr}.metric-card{min-height:150px}.portal-section-heading{flex-direction:column;align-items:start;gap:8px}.portal-heading-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.profile-details>div,.profile-details>div:nth-child(2n),.profile-details>div:nth-child(3n){border-right:0;border-bottom:1px solid var(--border)}.profile-details>div:last-child{border-bottom:0}.login-tabs button{padding:7px;font-size:11px}.admin-header{padding:0 16px}.admin-brand small,.admin-nav a{font-size:0}.admin-nav a{min-width:44px;padding:0 10px}.admin-main,.wizard-main{width:min(100% - 28px,1180px);padding-top:28px}.page-heading,.page-actions{flex-direction:column;align-items:stretch}.page-heading .button{width:100%}.institution-row{grid-template-columns:40px minmax(0,1fr)}.tenant-filter{grid-template-columns:22px 1fr}.tenant-filter select{grid-column:1/-1}.staff-form-main{width:min(100% - 28px,920px);padding-top:28px}.record-form section{padding:20px}.record-form-actions,.result-actions,.import-results-heading{flex-direction:column;align-items:stretch}.filter-bar,.filter-bar.four-filters{grid-template-columns:1fr}.class-editor-row{border:1px solid var(--border);border-radius:6px;grid-template-columns:1fr;padding:12px}.record-form-actions .button,.result-actions .button,.import-results-heading .button{width:100%}.credential-result{padding:36px 20px}.credential-box,.code-reference-grid{grid-template-columns:1fr}.credential-box>div+div{border-top:1px solid var(--border);border-left:0}.status-badge{grid-column:2;justify-self:start}.step-nav{grid-template-columns:repeat(5,56px);padding-bottom:4px;overflow-x:auto}.step-button{width:56px;padding:6px}.step-button>span:last-child{display:none}.wizard-panel form{padding:20px}.form-grid,.check-list{grid-template-columns:1fr}.check-row,.check-row:nth-child(2n),.check-row:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--border)}.check-row:last-child{border-bottom:0}.grade-grid{grid-template-columns:repeat(5,minmax(38px,1fr))}.term-row{grid-template-columns:1fr 1fr 40px}.term-row input:first-child{grid-column:1/-1}.wizard-actions{flex-direction:column-reverse;align-items:stretch}.wizard-actions .button{width:100%}.login-panel{padding:28px 22px}}@media (max-width:1000px){.executive-kpi-grid,.executive-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-trend-grid .executive-chart-card:last-child{grid-column:1/-1}}@media (max-width:680px){.executive-dashboard{width:min(100% - 28px,1320px);padding-top:24px}.executive-dashboard-heading h1{font-size:24px}.executive-kpi-grid,.executive-trend-grid,.executive-comparison-grid,.executive-action-grid{grid-template-columns:1fr}.executive-trend-grid .executive-chart-card:last-child{grid-column:auto}.executive-kpi{min-height:84px}.executive-chart-card{min-height:248px;padding-inline:14px}.executive-line-chart{height:160px}.executive-chart-labels{font-size:9px}.comparison-row{grid-template-columns:88px minmax(0,1fr) 40px;gap:8px}}.reporting-admin-message,.reporting-admin-result,.reporting-email-health{grid-column:1/-1}.reporting-health-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.reporting-health-metrics article{border:1px solid var(--border);background:var(--surface-subtle);border-radius:7px;gap:3px;padding:12px;display:grid}.reporting-health-metrics strong{font-variant-numeric:tabular-nums;font-size:24px}.reporting-health-metrics small,.reporting-health-footer small{color:var(--muted)}.reporting-health-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.reporting-health-footer>div{gap:3px;display:grid}.technician-workspace{width:min(100% - 40px,1080px);margin:0 auto;padding:32px 0 48px}.technician-header,.technician-panel-heading{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.technician-kicker{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.technician-header h1,.technician-panel-heading h2,.technician-empty h3{color:var(--foreground);margin:0}.technician-header h1{font-size:clamp(26px,4vw,34px);line-height:1.15}.technician-subtitle,.technician-panel-heading p,.technician-empty p{color:var(--muted);margin:7px 0 0;font-size:14px;line-height:1.5}.technician-signout,.technician-refresh{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--foreground);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-weight:700;display:inline-flex}.technician-signout:hover,.technician-refresh:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.technician-summary{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0;display:grid}.technician-summary article{border-right:1px solid var(--border);align-items:center;gap:12px;min-width:0;padding:16px 18px;display:flex}.technician-summary article:last-child{border-right:0}.technician-summary-icon{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:6px;flex:0 0 36px;place-items:center;display:grid}.technician-summary article div{gap:2px;min-width:0;display:grid}.technician-summary strong{font-variant-numeric:tabular-nums;font-size:22px}.technician-summary article div span{color:var(--muted);font-size:12px;font-weight:700}.technician-call-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.technician-panel-heading{min-height:80px;padding:16px 18px}.technician-panel-heading h2{font-size:18px}.technician-refresh{min-height:38px;padding:7px 10px;font-size:12px}.technician-table-wrap{border-top:1px solid var(--border);width:100%;overflow-x:auto}.technician-call-table{border-collapse:collapse;text-align:left;width:100%}.technician-call-table th{background:var(--surface-subtle);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:11px 18px;font-size:11px;font-weight:800}.technician-call-table td{border-top:1px solid var(--border);vertical-align:middle;padding:15px 18px;font-size:13px}.technician-call-table tbody tr:first-child td{border-top:0}.technician-call-table td:first-child{width:52%}.technician-call-table td:first-child strong,.technician-call-table td:first-child span{display:block}.technician-call-table td:first-child strong{color:var(--foreground);font-variant-numeric:tabular-nums;margin-bottom:4px}.technician-call-table td:first-child span{max-width:56ch;color:var(--muted);line-height:1.45}.technician-priority,.technician-status{text-transform:capitalize;border-radius:4px;align-items:center;min-height:24px;padding:3px 7px;font-size:11px;font-weight:800;line-height:1.1;display:inline-flex}.technician-priority-high{background:var(--danger-soft);color:var(--danger)}.technician-priority-normal{background:var(--primary-soft);color:var(--primary)}.technician-priority-low{background:var(--surface-subtle);color:var(--muted)}.technician-status-in_progress{color:#8a4b00;background:#fff6df}.technician-status-assigned{background:var(--primary-soft);color:var(--primary)}.technician-status-technician_completed,.technician-status-tenant_review{background:var(--success-soft);color:var(--success)}.technician-empty{border-top:1px solid var(--border);align-items:flex-start;gap:12px;min-height:176px;padding:28px 18px;display:flex}.technician-empty>svg{color:var(--primary);flex:none}.asset-management-page{padding-bottom:72px}.asset-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.asset-summary-card{background:var(--success-soft);min-height:104px;color:var(--foreground);border:1px solid #b8d6c5;border-radius:10px;align-items:center;gap:14px;padding:20px;display:flex}.asset-summary-icon{width:46px;height:46px;color:var(--success);background:#fff;border:1px solid #cce3d5;border-radius:8px;flex:0 0 46px;place-items:center;display:grid}.asset-summary-card>div{gap:2px;min-width:0;display:grid}.asset-summary-card strong{font-variant-numeric:tabular-nums;font-size:28px;line-height:1.1}.asset-summary-card span:last-child{color:#245238;font-size:14px;font-weight:700;line-height:1.35}.asset-console{gap:24px;display:grid}.asset-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.asset-action-panel,.asset-register-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px}.asset-action-panel{gap:18px;padding:20px;display:grid}.asset-action-heading{border-bottom:1px solid var(--border);align-items:flex-start;gap:11px;padding-bottom:15px;display:flex}.asset-action-heading>span{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:6px;flex:0 0 36px;place-items:center;display:grid}.asset-action-heading h2,.asset-action-heading p,.asset-register-heading h2,.asset-register-heading p{margin:0}.asset-action-heading h2,.asset-register-heading h2{font-size:17px;line-height:1.3}.asset-action-heading p,.asset-register-heading p{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.asset-form-grid label{min-width:0;color:var(--foreground);gap:6px;font-size:12px;font-weight:700;line-height:1.35;display:grid}.asset-form-grid label>span{color:var(--danger)}.asset-form-grid input,.asset-form-grid select,.asset-form-grid textarea{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:44px;color:var(--foreground);font:inherit;border-radius:6px;padding:9px 10px;font-weight:400}.asset-form-grid select[multiple]{min-height:116px;padding:5px}.asset-form-grid textarea{resize:vertical;min-height:76px}.asset-form-grid input:focus,.asset-form-grid select:focus,.asset-form-grid textarea:focus{outline:3px solid var(--primary-soft);outline-offset:1px;border-color:var(--primary)}.asset-form-grid small{color:var(--muted);font-size:11px;font-weight:400;line-height:1.4}.asset-full-field{grid-column:1/-1}.asset-form-actions{justify-content:flex-end;padding-top:2px;display:flex}.asset-form-message{border-left:3px solid var(--primary);background:var(--surface-subtle);color:var(--foreground);margin:0;padding:9px 10px;font-size:12px;line-height:1.45}.asset-register-panel{overflow:hidden}.asset-register-heading{justify-content:space-between;align-items:flex-end;gap:16px;padding:18px 20px;display:flex}.asset-register-heading h2{align-items:center;gap:7px;display:flex}.asset-register-panel .data-table-wrap{border-width:1px 0 0;border-radius:0}.asset-data-table{table-layout:fixed}.asset-data-table th:first-child{width:18%}.asset-data-table td{overflow-wrap:anywhere}.asset-data-table td:first-child strong{font-variant-numeric:tabular-nums}.asset-priority{border-radius:4px;align-items:center;min-height:26px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.asset-priority-high{background:var(--danger-soft);color:var(--danger)}.asset-priority-normal{background:var(--primary-soft);color:var(--primary)}.asset-priority-low{background:var(--surface-subtle);color:var(--muted)}.asset-empty{border-top:1px solid var(--border);min-height:126px;color:var(--muted);align-items:flex-start;gap:11px;padding:22px 20px;font-size:13px;display:flex}.asset-empty strong{color:var(--foreground);margin-bottom:4px;display:block}.asset-empty p{margin:0;line-height:1.45}.asset-empty svg{color:var(--primary);flex:none;margin-top:1px}.communications-page{--communications-surface:#fffefa;--communications-soft:#f4f2ea;--communications-border:#d8ddd0;--communications-accent:#55795a;--communications-accent-soft:#e7efe4;--communications-muted:#617061}.communications-page-heading{margin-bottom:22px}.communications-page-heading .eyebrow{color:var(--communications-accent)}.communications-workspace{gap:20px;display:grid}.communications-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.communications-summary article{border:1px solid var(--communications-border);background:var(--communications-surface);border-radius:8px;align-content:center;gap:3px;min-height:96px;padding:15px 18px;display:grid}.communications-summary span{color:var(--communications-muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:800}.communications-summary strong{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:27px;line-height:1.1}.communications-summary small{color:var(--communications-muted);font-size:12px}.communications-compose{border:1px solid var(--communications-border);background:var(--communications-surface);border-radius:8px;overflow:hidden}.communications-compose-heading{border-bottom:1px solid var(--communications-border);padding:20px 22px 18px}.communications-compose-heading h2,.communications-compose-heading p,.communications-history-heading h2,.communications-history-heading p{margin:0}.communications-compose-heading h2,.communications-history-heading h2{margin-top:4px;font-size:20px;line-height:1.25}.communications-compose-heading>div>p:last-child,.communications-history-heading>div>p:last-child{color:var(--communications-muted);margin-top:5px;font-size:13px;line-height:1.5}.communications-error{margin:16px 22px 0}.communications-compose-body{grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);display:grid}.communications-fields{gap:16px;min-width:0;padding:20px 22px;display:grid}.communications-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.communications-fields .field{color:var(--foreground);gap:7px;font-size:13px;font-weight:700;display:grid}.communications-fields .field>span{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.communications-fields .field>span small{color:var(--communications-muted);font-size:11px;font-weight:500}.communications-fields input,.communications-fields select,.communications-fields textarea{border:1px solid var(--communications-border);background:var(--communications-soft);width:100%;min-height:44px;color:var(--foreground);font:inherit;border-radius:6px;padding:10px 11px;font-weight:400}.communications-fields textarea{resize:vertical;min-height:144px;line-height:1.5}.communications-fields input::placeholder,.communications-fields textarea::placeholder{color:#7a8678}.communications-fields input:focus,.communications-fields select:focus,.communications-fields textarea:focus{outline:3px solid var(--communications-accent-soft);outline-offset:1px;border-color:var(--communications-accent);background:var(--communications-surface)}.communications-audience{border:1px solid var(--communications-border);background:var(--communications-soft);border-radius:6px;min-width:0;padding:12px}.communications-audience legend{color:var(--foreground);padding:0 4px;font-size:13px;font-weight:800}.communications-audience>p{color:var(--communications-muted);margin:1px 0 9px;font-size:12px}.communications-audience-list{gap:2px;max-height:168px;padding-right:4px;display:grid;overflow-y:auto}.communications-audience-list label{min-height:36px;color:var(--foreground);cursor:pointer;border-radius:4px;align-items:center;gap:9px;padding:6px 7px;font-size:13px;display:flex}.communications-audience-list label:hover{background:var(--communications-accent-soft)}.communications-audience-list input{width:16px;min-height:16px;accent-color:var(--communications-accent)}.communications-audience>small{color:var(--communications-muted);margin-top:9px;font-size:11px;font-weight:700;display:block}.communications-audience-note{border-left:3px solid var(--communications-accent);background:var(--communications-accent-soft);color:#355738;margin:0;padding:9px 11px;font-size:13px;line-height:1.45}.communications-form-footer{color:var(--communications-muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.communications-form-footer .check-row{min-height:36px;color:var(--foreground);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.communications-form-footer input{width:16px;min-height:16px;accent-color:var(--communications-accent)}.communications-guidance{border-left:1px solid var(--communications-border);background:#f9f8f3;padding:21px 19px}.communications-guidance h3{color:var(--foreground);margin:0 0 10px;font-size:13px}.communications-guidance ul{color:var(--communications-muted);gap:11px;margin:0;padding-left:17px;font-size:12px;line-height:1.5;display:grid}.communications-guidance li::marker{color:var(--communications-accent)}.communications-compose-footer{border-top:1px solid var(--communications-border);justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:13px 22px;display:flex}.communications-compose-footer p{color:var(--communications-muted);margin:0;font-size:12px;line-height:1.45}.communications-compose-footer .button{background:var(--communications-accent);flex:none;min-height:44px}.communications-compose-footer .button:hover{background:#426647}.communications-history{border:1px solid var(--communications-border);background:var(--communications-surface);border-radius:8px;overflow:hidden}.communications-history-heading{padding:20px 22px 18px}.communications-history .eyebrow{color:var(--communications-accent)}.communications-table-wrap{background:var(--communications-surface);border-width:1px 0 0;border-radius:0}.communications-table{min-width:940px}.communications-table th{background:#f4f3ed}.communications-table td{vertical-align:middle}.communications-table td:first-child{min-width:240px;max-width:360px}.communications-table td:first-child small{color:var(--communications-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.communications-table .plain-status{background:var(--communications-accent-soft);color:#355738}.communications-table .status-draft{color:#536051;background:#eef0eb}.communications-queue-button{white-space:nowrap;min-height:36px}.communications-error-state{border:1px solid var(--communications-border);background:var(--communications-surface);border-radius:8px;max-width:620px;padding:28px}.communications-error-state h1,.communications-error-state p{margin:0}.communications-error-state h1{margin-top:4px;font-size:24px}.communications-error-state>p:not(.eyebrow){color:var(--communications-muted);margin-top:8px;line-height:1.55}.communications-error-state .button{margin-top:20px}.communications-loading{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.communications-loading>span,.communications-loading>div{border:1px solid var(--communications-border);background:var(--communications-soft);border-radius:8px;min-height:96px;display:block}.communications-loading>div{grid-column:1/-1;min-height:240px}@media (max-width:760px){.reporting-health-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.reporting-health-footer{flex-direction:column;align-items:stretch}.communications-summary{grid-template-columns:1fr;gap:8px}.communications-summary article{grid-template-columns:1fr auto;align-items:center;min-height:76px;padding:13px 14px}.communications-summary strong{grid-area:1/2/span 2;font-size:25px}.communications-summary small{grid-column:1}.communications-compose-body{grid-template-columns:1fr}.communications-guidance{border-top:1px solid var(--communications-border);border-left:0}.communications-form-grid{grid-template-columns:1fr}.communications-compose-heading,.communications-fields,.communications-history-heading{padding-left:16px;padding-right:16px}.communications-compose-footer{flex-direction:column;align-items:stretch;padding-left:16px;padding-right:16px}.communications-compose-footer .button{width:100%}.communications-loading{grid-template-columns:1fr}.communications-loading>div{grid-column:auto}}@media (max-width:640px){.technician-workspace{width:min(100% - 28px,560px);padding:20px 0 32px}.technician-header{align-items:flex-start}.technician-signout{flex:0 0 44px;width:44px;padding:0}.technician-signout span{display:none}.technician-summary{grid-template-columns:1fr;margin:18px 0}.technician-summary article{border-right:0;border-bottom:1px solid var(--border);padding:13px 14px}.technician-summary article:last-child{border-bottom:0}.technician-panel-heading{align-items:flex-start;min-height:0;padding:16px 14px}.technician-refresh span{display:none}.technician-refresh{flex:0 0 40px;width:40px;padding:0}.technician-call-table th:nth-child(2),.technician-call-table td:nth-child(2),.technician-desktop-column{display:none}.technician-call-table th,.technician-call-table td{padding-left:14px;padding-right:14px}.technician-call-table td:first-child{width:auto}.technician-call-table td:last-child{width:116px}.asset-summary,.asset-action-grid,.asset-form-grid{grid-template-columns:1fr}.asset-summary{gap:12px}.asset-summary-card{min-height:92px;padding:16px}.asset-action-panel,.asset-register-heading{padding:16px 14px}.asset-form-actions{justify-content:stretch}.asset-form-actions .button{width:100%}.asset-data-table{table-layout:auto;min-width:0}.asset-data-table th,.asset-data-table td{padding-left:12px;padding-right:12px}.asset-data-table th:nth-child(4),.asset-data-table td:nth-child(4),.asset-call-table th:nth-child(2),.asset-call-table td:nth-child(2){display:none}.asset-call-table th:nth-child(4),.asset-call-table td:nth-child(4){display:table-cell}.asset-call-table th:nth-child(5),.asset-call-table td:nth-child(5){display:none}.asset-empty{padding:20px 14px}}@media (max-width:900px){.reporting-admin-grid,.demo-workflows-grid,.smtp-test-row,.mobile-attendance-settings-grid{grid-template-columns:1fr}.submission-dashboard-hero,.submission-dashboard-controls{flex-direction:column;align-items:stretch}.submission-dashboard-metrics{grid-template-columns:1fr}.portal-header{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;min-height:68px;padding:0 18px}.portal-brand>span:last-child{display:grid}.portal-brand strong{max-width:42vw}.portal-header>.portal-mobile-menu-button{border:1px solid var(--border);background:var(--surface);width:46px;height:46px;color:var(--foreground);cursor:pointer;border-radius:12px;place-items:center;display:grid}.portal-header>nav{z-index:1001;width:min(88vw,380px);height:100dvh;padding:18px 18px max(24px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);visibility:hidden;background:#fffffff7;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;transition:transform .24s ease-out,visibility .24s step-end;display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-24px 0 60px #17202a2e}.portal-header>nav.is-mobile-open{visibility:visible;transition:transform .24s ease-out,visibility;transform:translate(0)}.portal-mobile-drawer-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:58px;margin-bottom:8px;padding-bottom:12px;display:flex}.portal-mobile-drawer-heading>div{gap:3px;display:grid}.portal-mobile-drawer-heading strong{font-size:20px}.portal-mobile-drawer-heading small{color:var(--muted)}.portal-header>nav>a,.portal-header>nav .portal-nav-menu-trigger,.portal-mobile-signout{width:100%;min-width:0;min-height:50px;color:var(--foreground);text-align:left;background:0 0;border:0;border-radius:12px;justify-content:flex-start;align-items:center;gap:12px;padding:12px 14px;font-size:15px;font-weight:700;display:flex}.portal-header>nav>a.is-active{background:var(--primary-soft);color:var(--primary);border:0}.portal-nav-menu{width:100%;min-width:0}.portal-nav-menu-trigger{border-bottom:0;height:auto}.portal-nav-menu-trigger svg:last-child{margin-left:auto;display:block}.portal-nav-menu.is-active .portal-nav-menu-trigger{background:var(--primary-soft);color:var(--primary);border:0}.portal-header nav .portal-nav-submenu,.portal-nav-menu.is-open .portal-nav-submenu{border:0;border-left:2px solid var(--border);width:auto;max-height:none;box-shadow:none;background:0 0;border-radius:0;margin:3px 0 8px 26px;padding:2px 0 2px 10px;display:none;position:static;inset:auto}.portal-nav-menu.is-open .portal-nav-submenu{display:grid}.portal-header nav .portal-nav-submenu a{min-width:0;min-height:46px;padding:10px 12px;font-size:14px}.portal-mobile-signout{color:var(--danger);margin-top:auto;display:flex}.portal-mobile-backdrop{z-index:1000;opacity:0;pointer-events:none;background:#1118276b;border:0;transition:opacity .2s;position:fixed;inset:0}.portal-mobile-backdrop.is-open{opacity:1;pointer-events:auto;display:block}.portal-actions{gap:6px}.portal-desktop-logout{display:none!important}}@media (max-width:520px){.portal-header{padding:0 12px}.portal-brand strong{max-width:48vw}.portal-brand small{display:none}.portal-actions .icon-button{flex-basis:42px;width:42px;height:42px}}@media (max-width:900px){.portal-header>nav>a>svg,.portal-header>nav>.portal-mobile-signout>svg,.portal-header>nav .portal-nav-menu-trigger>svg:first-child{flex:none;display:block}.portal-header>nav .portal-nav-menu-trigger>svg:last-child{margin-left:auto;display:block}.portal-header>nav>a,.portal-header>nav .portal-nav-menu-trigger,.portal-mobile-signout{gap:12px}}.mobile-glass-trigger,.mobile-glass-menu,.mobile-glass-scrim{display:none}@media (max-width:900px){.portal-header>.portal-desktop-nav{display:none}.portal-header{grid-template-columns:minmax(0,1fr) auto auto}.mobile-glass-trigger{color:#17202a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;background:#ffffff94;border:1px solid #ffffffb3;border-radius:16px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 8px 24px #0f172a14,inset 0 1px #ffffffd9}.mobile-glass-trigger:focus-visible,.mobile-glass-menu a:focus-visible,.mobile-glass-menu button:focus-visible{outline-offset:2px;outline:3px solid #086f675c}.mobile-glass-scrim{z-index:1100;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur();backdrop-filter:blur();background:#0f172a47;border:0;transition:opacity .26s ease-out,-webkit-backdrop-filter .26s ease-out,backdrop-filter .26s ease-out,visibility .26s step-end;display:block;position:fixed;inset:0}.mobile-glass-scrim.is-open{opacity:1;visibility:visible;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .26s ease-out,-webkit-backdrop-filter .26s ease-out,backdrop-filter .26s ease-out,visibility}.mobile-glass-menu{z-index:1101;color:#17202a;-webkit-backdrop-filter:blur()saturate(140%);backdrop-filter:blur()saturate(140%);opacity:0;visibility:hidden;transform-origin:100% 0;background:#f8fafcc2;border:1px solid #ffffff9e;border-radius:24px;flex-direction:column;width:min(100vw - 24px,390px);height:min(100dvh - 24px,720px);transition:opacity .26s ease-out,transform .26s ease-out,-webkit-backdrop-filter .26s ease-out,backdrop-filter .26s ease-out,visibility .26s step-end;display:flex;position:fixed;inset:12px 12px auto auto;overflow:hidden;transform:scale(.97);box-shadow:0 28px 80px #0f172a38,0 8px 24px #0f172a1a,inset 0 1px #ffffffd9}.mobile-glass-menu.is-open{opacity:1;visibility:visible;-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);transition:opacity .26s ease-out,transform .26s ease-out,-webkit-backdrop-filter .26s ease-out,backdrop-filter .26s ease-out,visibility;transform:scale(1)}.mobile-glass-highlight{pointer-events:none;background:linear-gradient(145deg,#ffffff6b,#ffffff0f 38%,#0000 65%);position:absolute;inset:0}.mobile-glass-header{z-index:1;border-bottom:1px solid #64748b29;justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:14px 16px;display:flex;position:relative}.mobile-glass-header>div,.mobile-glass-back span{gap:3px;display:grid}.mobile-glass-header strong{font-size:18px}.mobile-glass-header small{color:#596777;font-size:12px}.mobile-glass-close,.mobile-glass-back{color:inherit;cursor:pointer;background:#ffffff6b;border:1px solid #ffffff8f}.mobile-glass-close{border-radius:15px;place-items:center;width:46px;height:46px;display:grid}.mobile-glass-back{text-align:left;border-radius:15px;align-items:center;gap:12px;min-height:48px;padding:7px 12px;display:flex}.mobile-glass-viewport{z-index:1;flex:1;min-height:0;position:relative;overflow:hidden}.mobile-glass-view{opacity:0;filter:blur(10px);pointer-events:none;flex-direction:column;gap:5px;padding:14px;transition:opacity .24s ease-out,filter .24s ease-out,transform .24s ease-out;display:flex;position:absolute;inset:0;overflow-y:auto;transform:scale(.985)}.mobile-glass-view.is-visible{opacity:1;filter:blur();pointer-events:auto;transform:scale(1)}.mobile-glass-view>a,.mobile-glass-view>button{width:100%;min-height:52px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:16px;align-items:center;gap:13px;padding:12px 14px;font-size:15px;font-weight:700;transition:background .16s,border-color .16s,color .16s,transform .16s;display:flex}.mobile-glass-view>a:hover,.mobile-glass-view>button:hover,.mobile-glass-view>a.is-active,.mobile-glass-view>button.is-active{color:#086f67;background:#ffffff61;border-color:#ffffff8c}.mobile-glass-view>a:active,.mobile-glass-view>button:active{transform:scale(.985)}.mobile-glass-view svg{color:currentColor;flex:none}.mobile-glass-view .menu-chevron{margin-left:auto}.mobile-glass-signout{color:#9f2d25!important;margin-top:auto!important}.mobile-glass-subview{padding-top:18px}}@media (prefers-color-scheme:dark) and (max-width:900px){.mobile-glass-trigger{color:#f8fafc;background:#0f172a99;border-color:#ffffff24;box-shadow:0 8px 28px #00000047,inset 0 1px #ffffff1f}.mobile-glass-scrim{background:#0000007a}.mobile-glass-menu{color:#f8fafc;background:#0f172ac7;border-color:#ffffff29;box-shadow:0 28px 90px #0000007a,0 8px 28px #0000003d,inset 0 1px #ffffff1f}.mobile-glass-highlight{background:linear-gradient(145deg,#ffffff1a,#ffffff06 38%,#0000 65%)}.mobile-glass-header{border-bottom-color:#ffffff1c}.mobile-glass-header small{color:#b7c0cc}.mobile-glass-close,.mobile-glass-back{background:#ffffff12;border-color:#ffffff21}.mobile-glass-view>a:hover,.mobile-glass-view>button:hover,.mobile-glass-view>a.is-active,.mobile-glass-view>button.is-active{color:#6ee7d8;background:#ffffff17;border-color:#ffffff21}.mobile-glass-signout{color:#fca5a5!important}}@media (prefers-reduced-motion:reduce){.mobile-glass-menu,.mobile-glass-scrim,.mobile-glass-view{filter:none;transition:opacity .12s linear,visibility .12s step-end;transform:none}.mobile-glass-menu.is-open,.mobile-glass-scrim.is-open{transition:opacity .12s linear,visibility}}.asset-dashboard{--asset-ink:#21302a;--asset-muted:#6f766f;--asset-line:#dfe4dc;--asset-surface:#ffffffd1;--asset-gold:#a86520;--asset-green:#315d4b;background:radial-gradient(circle at 10% 5%,#fef3c78c,#0000 28%),radial-gradient(circle at 88% 20%,#d1fae580,#0000 30%);gap:20px;max-width:1480px;display:grid}.asset-page-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(125deg,#ffffffe6,#fdf7edc7);border:1px solid #fffffff2;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex;box-shadow:0 12px 36px #3f372814}.asset-page-header .eyebrow{color:var(--asset-gold);margin:0 0 6px}.asset-page-header h1{color:var(--asset-ink);letter-spacing:-.03em;margin:0;font-size:clamp(28px,3vw,40px)}.asset-page-header p:last-child{max-width:680px;color:var(--asset-muted);margin:6px 0 0}.asset-section-tabs{border:1px solid var(--asset-line);scrollbar-width:thin;background:#ffffffb3;border-radius:10px;gap:4px;padding:4px;display:flex;overflow-x:auto}.asset-section-tabs button{color:#5c665f;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;min-height:44px;padding:8px 13px;font-weight:650;display:flex}.asset-section-tabs button:hover{color:var(--asset-ink);background:#f3f5f1}.asset-section-tabs button.is-active{color:#fff;background:var(--asset-green)}.asset-section-tabs button:focus-visible,.asset-dashboard button:focus-visible,.asset-dashboard input:focus-visible,.asset-dashboard select:focus-visible,.asset-dashboard textarea:focus-visible{outline-offset:2px;outline:3px solid #086f6747}.asset-section-tabs{overflow:visible}.asset-settings-menu{position:relative}.asset-settings-menu>button{height:100%}.asset-settings-chevron{transition:transform .18s}.asset-settings-menu:is(:hover,:focus-within,.is-open) .asset-settings-chevron{transform:rotate(180deg)}.asset-settings-submenu{z-index:40;border:1px solid var(--asset-line);opacity:0;visibility:hidden;background:#fffffff7;border-radius:9px;min-width:250px;padding:6px;transition:opacity .18s,transform .18s,visibility .18s;display:grid;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-4px);box-shadow:0 18px 42px #1c2a232e}.asset-settings-menu:is(:hover,:focus-within,.is-open) .asset-settings-submenu{opacity:1;visibility:visible;transform:translateY(0)}.asset-settings-submenu button{color:#435249;text-align:left;justify-content:flex-start;width:100%}.asset-settings-submenu button:hover,.asset-settings-submenu button:focus-visible{color:var(--asset-ink);background:#edf3ef}.asset-stack{gap:20px;display:grid}.asset-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.asset-summary{background:var(--asset-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #fffffff2;border-radius:12px;min-height:142px;padding:20px 22px;box-shadow:0 8px 24px #363d3312}.asset-summary>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.asset-summary span{color:#77746b;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.asset-summary i{width:38px;height:38px;color:var(--asset-green);background:#e9f1ed;border-radius:9px;place-items:center;font-style:normal;display:grid}.asset-summary>strong{color:var(--asset-ink);font-variant-numeric:tabular-nums;margin-top:14px;font-size:26px;display:block}.asset-summary p{color:#858078;margin:4px 0 0;font-size:12px}.asset-summary.is-danger i,.asset-summary.is-danger>strong{color:#a31235}.asset-summary.is-danger i{background:#fdecef}.asset-lifecycle,.asset-table-panel,.asset-form-panel,.asset-action-panel{background:var(--asset-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #fffffff5;border-radius:12px;box-shadow:0 8px 24px #363d330f}.asset-lifecycle{padding:22px 24px}.asset-section-heading{border-bottom:1px solid var(--asset-line);padding-bottom:14px}.asset-section-heading h2,.asset-panel-heading h2,.asset-form-panel h2,.asset-action-panel h2{color:var(--asset-ink);letter-spacing:-.01em;margin:0;font-size:19px}.asset-section-heading p,.asset-panel-heading p{color:var(--asset-muted);margin:4px 0 0;font-size:13px}.asset-age-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.asset-age-band{border:1px solid var(--asset-line);background:#ffffffbd;border-radius:10px;padding:15px 16px 18px;position:relative;overflow:hidden}.asset-age-band>div{justify-content:space-between;gap:8px;display:flex}.asset-age-band span{color:#6d706b;font-size:12px}.asset-age-band small{text-transform:uppercase;border-radius:4px;padding:3px 7px;font-size:10px;font-weight:750}.asset-age-band strong{color:var(--asset-ink);margin-top:14px;font-size:22px;display:block}.asset-age-band em{color:#7e817c;font-size:11px;font-style:normal;font-weight:500}.asset-age-band i{background:#16a36c;height:5px;position:absolute;bottom:0;left:0}.asset-age-band.is-new small{color:#08714d;background:#d7f7e8}.asset-age-band.is-mid small{color:#2056a5;background:#e2ecff}.asset-age-band.is-mid i{background:#3677df}.asset-age-band.is-limit small{color:#8c4b00;background:#fff0c9}.asset-age-band.is-limit i{background:#d87808}.asset-age-band.is-end small{color:#a31235;background:#ffe1e7}.asset-age-band.is-end i{background:#c5284f}.asset-dashboard-columns{grid-template-columns:minmax(0,2fr) minmax(280px,.9fr);align-items:start;gap:20px;display:grid}.asset-table-panel{overflow:hidden}.asset-panel-heading{border-bottom:1px solid var(--asset-line);justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.asset-panel-heading .button{flex:none}.asset-table-panel .data-table-wrap{border:0;border-radius:0}.asset-dashboard .data-table{min-width:720px;color:var(--asset-ink);background:0 0}.asset-dashboard .data-table th{color:#77746b;border-color:var(--asset-line);letter-spacing:.05em;text-transform:uppercase;background:#f9f9f6ad;padding:12px 16px;font-size:11px}.asset-dashboard .data-table td{border-color:var(--asset-line);vertical-align:middle;padding:13px 16px}.asset-dashboard .data-table td.numeric{font-variant-numeric:tabular-nums;text-align:right}.asset-dashboard .data-table td small{color:#89857e;margin-top:3px;display:block}.asset-status{white-space:nowrap}.asset-status.is-in_use{color:#225d49;background:#e4f1eb}.asset-status.is-under_maintenance{color:#92400e;background:#fef3c7}.asset-status.is-disposed{color:#8f1231;background:#fee2e7}.asset-action-panel{overflow:hidden}.asset-action-panel>div:first-child{border-bottom:1px solid var(--asset-line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.asset-action-panel h2{color:#951333;align-items:center;gap:8px;display:flex}.asset-action-panel>div:first-child>span{color:#951333;text-transform:uppercase;background:#fee2e8;border-radius:5px;padding:4px 8px;font-size:10px;font-weight:800}.asset-all-clear{text-align:center;justify-items:center;padding:38px 20px;display:grid}.asset-all-clear svg{color:#07865d}.asset-all-clear strong{color:#185d48;margin-top:10px;font-size:13px}.asset-all-clear p{color:var(--asset-muted);margin:5px 0 0;font-size:12px}.asset-action-panel ul{margin:0;padding:8px 20px 18px;list-style:none}.asset-action-panel li{border-bottom:1px solid var(--asset-line);gap:10px;padding:12px 0;display:flex}.asset-action-panel li span{display:grid}.asset-action-panel li small{color:var(--asset-muted)}.asset-filter-row{border-bottom:1px solid var(--asset-line);grid-template-columns:minmax(220px,1fr) auto auto auto;align-items:center;gap:16px;padding:12px 20px;display:grid}.asset-filter-row>span{color:var(--asset-muted);font-size:12px}.asset-sort-controls{color:var(--asset-muted);flex:none;align-items:end;gap:8px;display:flex}.asset-sort-controls>svg{align-self:center}.asset-sort-controls label{gap:3px;display:grid}.asset-filter-control{color:var(--asset-muted);align-items:center;gap:8px;display:flex}.asset-filter-control label{gap:3px;display:grid}.asset-filter-control label span,.asset-sort-controls label span{letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.asset-filter-control select,.asset-sort-controls select{border:1px solid var(--asset-line);min-height:38px;color:var(--asset-ink);font:inherit;background:#fff;border-radius:7px;padding:0 28px 0 9px;font-size:12px}.asset-sort-controls select:disabled{cursor:not-allowed;opacity:.55}.asset-search{border:1px solid var(--asset-line);background:#fff;border-radius:7px;align-items:center;gap:8px;width:min(420px,100%);min-height:42px;padding:0 12px;display:flex}.asset-search input{width:100%;color:var(--asset-ink);background:0 0;border:0;outline:0}.asset-empty-state{text-align:left;justify-content:center;align-items:center;gap:14px;min-height:190px;padding:28px;display:flex}.asset-empty-state>svg{color:var(--asset-green);flex:none}.asset-empty-state strong{color:var(--asset-ink)}.asset-empty-state p{max-width:460px;color:var(--asset-muted);margin:3px 0 0;font-size:13px}.asset-empty-state .button{margin-left:12px}.asset-content-grid{grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);align-items:start;gap:20px;display:grid}.asset-form-panel{gap:18px;padding:22px;display:grid}.asset-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.asset-form-grid.is-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-form-grid label{color:#505b54;gap:6px;font-size:12px;font-weight:700;display:grid}.asset-form-grid input,.asset-form-grid select,.asset-form-grid textarea{width:100%;min-height:44px;color:var(--asset-ink);font:inherit;background:#ffffffeb;border:1px solid #cfd7cf;border-radius:7px;padding:9px 10px}.asset-form-grid textarea{resize:vertical}.asset-form-wide{grid-column:1/-1}.asset-form-actions{justify-content:flex-end;gap:10px;display:flex}.asset-feedback{border:1px solid;border-radius:8px;padding:11px 14px;font-size:13px}.asset-feedback.is-success{color:#176246;background:#e9f7ef;border-color:#b8dfc8}.asset-feedback.is-error{color:#92213b;background:#fff0f3;border-color:#f2bcc8}.asset-disposal-page{gap:20px;display:grid}.asset-disposal-header{gap:12px;padding:4px 0 8px;display:grid}.asset-back-link{color:#6f4b25;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;width:max-content;min-height:44px;padding:0;font-weight:650;display:flex}.asset-back-link:hover{text-decoration:underline}.asset-disposal-title-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.asset-disposal-title-row h2{color:var(--asset-ink);letter-spacing:-.025em;margin:0;font-size:clamp(25px,3vw,36px)}.asset-disposal-title-row p{max-width:780px;color:var(--asset-muted);margin:6px 0 0}.asset-button-danger{color:#fff;background:#91372f;border-color:#91372f}.asset-button-danger:hover{color:#fff;background:#772c27;border-color:#772c27}.asset-button-danger:disabled{cursor:not-allowed;opacity:.55}.asset-disposal-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.asset-disposal-log .asset-panel-heading h2{align-items:center;gap:9px;display:flex}.asset-disposal-log .asset-panel-heading h2 svg{color:#b31943}.asset-audit-label{color:#7a766f;font-family:monospace;font-size:12px}.asset-disposal-log .data-table{min-width:980px}.asset-disposal-modal{width:min(820px,100%)}.asset-details-link{min-height:44px;color:var(--asset-green);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding:6px 8px;font-weight:750;display:inline-flex}.asset-details-link:hover{text-decoration:underline}.asset-detail-page{gap:20px;display:grid}.asset-detail-header{gap:10px;display:grid}.asset-detail-title-row{background:var(--asset-surface);border:1px solid #fffffff5;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px;display:flex;box-shadow:0 8px 24px #363d330f}.asset-detail-title-row .eyebrow{color:var(--asset-gold);margin:0 0 5px}.asset-detail-title-row h2{color:var(--asset-ink);letter-spacing:-.025em;margin:0;font-size:clamp(25px,3vw,34px)}.asset-detail-status{color:var(--asset-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;font-size:13px;display:flex}.asset-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.asset-detail-panel{background:var(--asset-surface);border:1px solid #fffffff5;border-radius:12px;padding:20px 22px;box-shadow:0 8px 24px #363d330f}.asset-detail-panel h3{color:var(--asset-ink);border-bottom:1px solid var(--asset-line);margin:0 0 15px;padding-bottom:12px;font-size:17px}.asset-detail-panel dl{gap:12px;margin:0;display:grid}.asset-detail-panel dl>div{grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:12px;display:grid}.asset-detail-panel dt{color:var(--asset-muted);font-size:12px}.asset-detail-panel dd{color:var(--asset-ink);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:650}.asset-settings-page{gap:20px;display:grid}.asset-settings-group{grid-template-columns:minmax(300px,.75fr) minmax(0,1.65fr);align-items:start;gap:20px;display:grid}.asset-settings-group .asset-table-panel>.asset-section-heading{padding:20px 22px}.asset-settings-table{min-width:650px!important}.asset-row-actions{justify-content:flex-end;gap:6px;display:flex}.asset-row-actions button{min-height:44px;color:var(--asset-green);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:7px 9px;font-weight:750;display:inline-flex}.asset-row-actions button:hover{text-decoration:underline}.asset-row-actions button.is-danger{color:#982f3f}.asset-row-actions button:disabled{cursor:not-allowed;opacity:.45}.asset-setting-modal{width:min(640px,100%)}.asset-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#151f1b94;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.asset-modal{background:#f9fbf8;border:1px solid #ffffffe6;border-radius:14px;width:min(980px,100%);max-height:calc(100dvh - 48px);position:relative;overflow-y:auto;box-shadow:0 24px 70px #0f17144d}.asset-modal .asset-form-panel{box-shadow:none;background:0 0;border:0}.asset-modal-close{z-index:2;color:#405149;cursor:pointer;background:#fff;border:1px solid #d6ddd7;border-radius:8px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:16px;right:16px}.asset-modal-close:hover{background:#eef3ef}.asset-modal-close:disabled{cursor:not-allowed;opacity:.5}.asset-modal .asset-panel-heading{padding:0 52px 16px 0}@media (max-width:1050px){.asset-panel-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.asset-section-tabs{flex-wrap:wrap;overflow:visible}.asset-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-disposal-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.asset-age-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-dashboard-columns,.asset-content-grid,.asset-settings-group{grid-template-columns:1fr}.asset-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-detail-panel:last-child{grid-column:1/-1}.asset-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-dashboard .asset-register-table{min-width:760px}}@media (max-width:680px){.asset-dashboard{gap:14px;padding-top:14px}.asset-page-header{flex-direction:column;align-items:flex-start;padding:20px}.asset-page-header .button{justify-content:center;width:100%}.asset-section-tabs{flex-wrap:nowrap;margin-inline:-2px}.asset-section-tabs>button,.asset-settings-menu>button{padding-inline:11px}.asset-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.asset-disposal-summary{grid-template-columns:1fr;gap:10px}.asset-summary{min-height:128px;padding:16px}.asset-summary>strong{font-size:21px}.asset-age-grid,.asset-form-grid,.asset-form-grid.is-compact,.asset-detail-grid{grid-template-columns:1fr}.asset-detail-panel:last-child{grid-column:auto}.asset-detail-title-row{flex-direction:column;padding:20px}.asset-detail-title-row .button{justify-content:center;width:100%}.asset-lifecycle,.asset-form-panel{padding:18px}.asset-panel-heading{flex-direction:column;align-items:flex-start;padding:17px}.asset-panel-heading .button{justify-content:center;width:100%}.asset-filter-row{grid-template-columns:1fr;align-items:stretch}.asset-filter-control,.asset-sort-controls{width:100%}.asset-filter-control label,.asset-sort-controls label{flex:1}.asset-filter-control select,.asset-sort-controls select{width:100%}.asset-filter-row>span{align-self:flex-end}.asset-dashboard .data-table{min-width:620px}.asset-register-table th:nth-child(2),.asset-register-table td:nth-child(2),.asset-register-table th:nth-child(4),.asset-register-table td:nth-child(4){display:none}.asset-empty-state{text-align:center;flex-direction:column;align-items:center}.asset-empty-state .button{margin:4px 0 0}.asset-form-actions .button{flex:1}.asset-modal-backdrop{align-items:end;padding:0}.asset-modal{border-radius:14px 14px 0 0;width:100%;max-height:92dvh}.asset-modal .asset-form-panel{padding:20px}.asset-modal-close{top:12px;right:12px}.asset-disposal-title-row{flex-direction:column}.asset-disposal-title-row .button{justify-content:center;width:100%}.asset-audit-label{display:none}.asset-settings-submenu{margin-top:4px;position:fixed;top:auto;left:12px;right:12px}.asset-panel-actions{grid-template-columns:1fr}}@media (max-width:420px){.asset-summary-grid,.asset-age-grid{grid-template-columns:1fr}.asset-section-tabs>button span,.asset-settings-menu>button span{display:none}.asset-settings-submenu button span{display:inline}.asset-section-tabs>button,.asset-settings-menu>button{flex:1;justify-content:center;min-width:48px}.asset-settings-menu{flex:1}.asset-settings-menu>button{width:100%}.asset-settings-chevron{display:none}.asset-dashboard .asset-register-table{table-layout:fixed;width:100%;min-width:0}.asset-register-table th:nth-child(3),.asset-register-table td:nth-child(3),.asset-register-table th:nth-child(5),.asset-register-table td:nth-child(5){display:none}.asset-register-table th:first-child{width:65%}.asset-register-table td{overflow-wrap:anywhere}.asset-register-table th:last-child{width:35%}}.asset-mobile-shell{--asset-ink:#17211d;--asset-muted:#5e6b64;--asset-line:#465d5233;--asset-glass:#ffffffd1;--asset-accent:var(--primary);min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) 20px calc(104px + env(safe-area-inset-bottom));color:var(--asset-ink);background:radial-gradient(circle at 10% 0,#cfe8ffb8,#0000 34rem),radial-gradient(circle at 95% 12%,#ddf6e6c7,#0000 30rem),linear-gradient(145deg,#f8fafc 0%,#f3f8f6 48%,#f9f6fb 100%)}.asset-mobile-header,.asset-mobile-content{width:min(100%,1120px);margin-inline:auto}.asset-mobile-header{background:var(--asset-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffd6;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:18px 20px;display:flex;box-shadow:0 16px 42px #1f372d14}.asset-mobile-header p,.asset-mobile-header h1,.asset-mobile-header span{margin:0}.asset-mobile-header p{color:var(--asset-accent);letter-spacing:.02em;font-size:13px;font-weight:750}.asset-mobile-header h1{letter-spacing:-.025em;margin-block:2px;font-size:clamp(24px,3vw,32px);line-height:1.15}.asset-mobile-header>div:first-child>span{color:var(--asset-muted);font-size:13px}.asset-sync-status{border:1px solid var(--asset-line);color:#17603f;white-space:nowrap;background:#f6faf8e6;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:8px 13px;font-size:13px;font-weight:700;display:inline-flex}.asset-sync-status svg{width:17px;height:17px}.asset-sync-status.is-offline{color:#9a4b13;background:#fff7ed;border-color:#e7c7b2}.asset-mobile-content{gap:14px;display:grid}.asset-mobile-institution{max-width:420px;color:var(--asset-muted);gap:6px;font-size:13px;font-weight:700;display:grid}.asset-mobile-institution select,.asset-field input,.asset-field select,.asset-field textarea{width:100%;min-height:48px;color:var(--asset-ink);font:inherit;background:#ffffffe6;border:1px solid #cbd6d0;border-radius:10px;outline:none;padding:11px 13px}.asset-field textarea{resize:vertical;min-height:96px}.asset-mobile-institution select:focus-visible,.asset-field input:focus-visible,.asset-field select:focus-visible,.asset-field textarea:focus-visible,.asset-mobile-shell button:focus-visible,.asset-mobile-shell summary:focus-visible{border-color:var(--asset-accent);outline:2px solid #0000;box-shadow:0 0 0 3px #086f672e}.asset-mobile-banner{border:1px solid var(--asset-line);background:#ffffffe6;border-radius:10px;align-items:center;gap:10px;min-height:48px;padding:11px 14px;font-weight:650;display:flex}.asset-mobile-banner svg{flex:none;width:18px}.asset-mobile-banner.is-success{color:#17603f;border-color:#b9ddca}.asset-mobile-banner.is-error{color:#9f2f27;background:#fff8f7;border-color:#efc5c0}.asset-mobile-banner button{color:inherit;background:0 0;border:0;margin-left:auto;font-size:22px}.asset-capture-layout{grid-template-columns:272px minmax(0,1fr);align-items:start;gap:18px;display:grid}.asset-capture-sidebar,.asset-capture-panel{background:var(--asset-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffe6;box-shadow:0 18px 50px #1f372d14}.asset-capture-sidebar{border-radius:14px;padding:18px;position:sticky;top:18px}.asset-capture-panel{border-radius:14px;min-width:0;padding:clamp(20px,4vw,38px)}.asset-capture-steps{gap:4px;margin:0;padding:0;list-style:none;display:grid}.asset-capture-steps li{min-height:60px;color:var(--asset-muted);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:11px;padding:8px;display:grid;position:relative}.asset-capture-steps li:after{content:"";background:var(--asset-line);width:1px;position:absolute;top:48px;bottom:-12px;left:25px}.asset-capture-steps li:last-child:after{display:none}.asset-capture-steps li>span{z-index:1;background:#ffffffdb;border:1px solid #c8d4ce;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.asset-capture-steps svg{width:16px}.asset-capture-steps div{gap:2px;display:grid}.asset-capture-steps strong{color:inherit;font-size:14px}.asset-capture-steps small{font-size:12px;line-height:1.35}.asset-capture-steps .is-current{color:var(--asset-ink);background:linear-gradient(110deg,#d8f1e8e0,#e5efffc7);border-radius:10px}.asset-capture-steps .is-current>span,.asset-capture-steps .is-complete>span{border-color:var(--asset-accent);background:var(--asset-accent);color:#fff}.asset-capture-steps .is-complete{color:#356454}.asset-capture-context{border-top:1px solid var(--asset-line);gap:6px;margin-top:18px;padding-top:18px;display:grid}.asset-capture-context>span,.asset-capture-heading>span{color:var(--asset-accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.asset-capture-context>strong{overflow-wrap:anywhere;font-size:15px}.asset-capture-context dl{gap:7px;margin:6px 0 0;display:grid}.asset-capture-context dl div{color:var(--asset-muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.asset-capture-context dt,.asset-capture-context dd{margin:0}.asset-capture-context dd{max-width:140px;color:var(--asset-ink);overflow-wrap:anywhere;text-align:right;font-weight:700}.asset-capture-heading{max-width:660px;margin-bottom:28px}.asset-capture-heading h2{letter-spacing:-.03em;margin:7px 0 6px;font-size:clamp(25px,4vw,34px)}.asset-capture-heading p{color:var(--asset-muted);margin:0;font-size:15px;line-height:1.6}.asset-capture-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;display:grid}.asset-capture-form-grid>.asset-field:first-child,.asset-capture-form-grid.is-details>.asset-field:first-child,.asset-capture-form-grid.is-details>.asset-field:last-child{grid-column:1/-1}.asset-field{min-width:0;color:var(--asset-ink);align-content:start;gap:7px;font-size:14px;font-weight:720;display:grid}.asset-field>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.asset-field em{color:#28664d;letter-spacing:.04em;text-transform:uppercase;background:#eef7f2;border-radius:5px;padding:3px 6px;font-size:10px;font-style:normal;font-weight:800}.asset-field>small{color:var(--asset-muted);font-size:12px;font-weight:500;line-height:1.4}.asset-scan-input{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;display:grid}.asset-scan-input button{min-width:92px;min-height:48px;color:var(--asset-accent);background:#f4faf7e6;border:1px solid #b9cbc2;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px 13px;font-weight:800;display:inline-flex}.asset-scan-input svg{width:18px}.asset-capture-photo-layout{grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);align-items:stretch;gap:20px;display:grid}.asset-photo-picker{background:linear-gradient(145deg,#e8f5ff9e,#ebf9f0c2);border:1px dashed #9eb7aa;border-radius:12px;place-items:center;min-height:320px;display:grid;overflow:hidden}.asset-photo-picker>button:not(.asset-secondary-button){width:100%;min-height:320px;color:var(--asset-ink);background:0 0;border:0;align-content:center;place-items:center;gap:8px;padding:30px;display:grid}.asset-photo-picker>button svg{width:34px;height:34px;color:var(--asset-accent)}.asset-photo-picker>button strong{font-size:17px}.asset-photo-picker>button span{color:var(--asset-muted);font-size:13px;font-weight:500}.asset-photo-picker>img{object-fit:cover;width:100%;height:270px}.asset-photo-picker>.asset-secondary-button{justify-self:center;margin:12px}.asset-photo-guidance{border-left:1px solid var(--asset-line);color:var(--asset-muted);align-content:center;gap:12px;padding:22px;display:grid}.asset-photo-guidance strong{color:var(--asset-ink)}.asset-photo-guidance ul{gap:9px;margin:0;padding-left:20px;line-height:1.45;display:grid}.asset-photo-guidance span{font-size:12px}.asset-capture-review{border:1px solid var(--asset-line);background:linear-gradient(110deg,#eef7ffd1,#eef9f2d1);border-radius:10px;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:15px;margin-top:24px;padding:12px;display:grid}.asset-capture-review img{object-fit:cover;border-radius:7px;width:76px;height:64px}.asset-capture-review div{gap:3px;min-width:0;display:grid}.asset-capture-review span{color:var(--asset-accent);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.asset-capture-review strong{overflow-wrap:anywhere;font-size:16px}.asset-capture-review small{color:var(--asset-muted);overflow-wrap:anywhere;line-height:1.45}.asset-capture-actions{border-top:1px solid var(--asset-line);justify-content:space-between;align-items:center;gap:12px;margin-top:30px;padding-top:20px;display:flex}.asset-primary-button,.asset-secondary-button{min-height:48px;font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:800;transition:background-color .18s,border-color .18s,box-shadow .18s;display:inline-flex}.asset-primary-button{border:1px solid var(--asset-accent);background:var(--asset-accent);color:#fff;box-shadow:0 8px 18px #086f672e}.asset-primary-button:hover{background:var(--primary-hover)}.asset-secondary-button{color:var(--asset-ink);background:#ffffffc7;border:1px solid #bdcbc4}.asset-secondary-button:hover{background:#fff;border-color:#879e93}.asset-primary-button:disabled,.asset-secondary-button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.asset-primary-button svg,.asset-secondary-button svg{width:18px}.asset-mobile-nav{z-index:40;right:50%;bottom:max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border:1px solid #ffffffe6;border-radius:16px;grid-template-columns:1fr 1fr;width:min(100% - 32px,360px);min-height:64px;display:grid;position:fixed;overflow:hidden;transform:translate(50%);box-shadow:0 16px 40px #1a2f262e}.asset-mobile-nav button{min-height:60px;color:var(--asset-muted);background:0 0;border:0;align-content:center;place-items:center;gap:3px;font-size:11px;font-weight:800;display:grid}.asset-mobile-nav button.is-active{color:var(--asset-accent);background:linear-gradient(125deg,#daf1e8f2,#e5efffd1)}.asset-mobile-nav svg{width:20px}.asset-queue-panel,.asset-mobile-card{border:1px solid var(--asset-line);background:var(--asset-glass);border-radius:12px;padding:18px}.asset-queue-panel summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;display:flex}.asset-queue-panel summary span{align-items:center;gap:8px;display:flex}.asset-mobile-empty{border:1px solid var(--asset-line);background:var(--asset-glass);text-align:center;border-radius:14px;justify-items:center;gap:10px;width:min(100%,520px);margin:12vh auto 0;padding:32px;display:grid}.asset-audit-layout{grid-template-columns:272px minmax(0,1fr);align-items:start;gap:18px;display:grid}.asset-audit-sidebar,.asset-audit-panel{background:var(--asset-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffe6;box-shadow:0 18px 50px #1f372d14}.asset-audit-sidebar{border-radius:14px;padding:18px;position:sticky;top:18px}.asset-audit-panel{border-radius:14px;min-width:0;padding:clamp(20px,4vw,38px)}.asset-audit-heading{margin-bottom:24px}.asset-audit-find{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:20px;display:grid}.asset-audit-search{min-width:0;color:var(--asset-ink);gap:7px;font-size:14px;font-weight:720;display:grid}.asset-audit-search>div{position:relative}.asset-audit-search svg{width:19px;color:var(--asset-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.asset-audit-search input{width:100%;min-height:48px;color:var(--asset-ink);font:inherit;background:#ffffffeb;border:1px solid #cbd6d0;border-radius:10px;outline:0;padding:11px 14px 11px 44px}.asset-audit-search input:focus-visible{border-color:var(--asset-accent);box-shadow:0 0 0 3px #086f672e}.asset-audit-scan{white-space:nowrap}.asset-audit-table-wrap{border:1px solid var(--asset-line);background:#ffffffb8;border-radius:10px;outline:0;overflow-x:auto}.asset-audit-table-wrap:focus-visible{box-shadow:0 0 0 3px #086f672e}.asset-audit-table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}.asset-audit-table th{color:var(--asset-muted);letter-spacing:.045em;text-align:left;text-transform:uppercase;background:#eef6f2cc;padding:11px 14px;font-size:11px;font-weight:800}.asset-audit-table td{border-top:1px solid var(--asset-line);color:var(--asset-muted);vertical-align:middle;padding:12px 14px}.asset-audit-table td>strong,.asset-audit-table td>small{display:block}.asset-audit-table td>strong{color:var(--asset-ink)}.asset-audit-table td>small{margin-top:3px}.asset-audit-table td:last-child{text-align:right;width:88px}.asset-audit-table .asset-secondary-button{min-height:44px;padding:9px 14px}.asset-audit-table-identity{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:11px;min-width:210px;display:grid}.asset-audit-table-identity>img,.asset-audit-table-identity>span{object-fit:cover;border-radius:8px;width:48px;height:48px}.asset-audit-table-identity>span{color:var(--asset-accent);background:linear-gradient(135deg,#dcf0ffe6,#def5e8e6);place-items:center;display:grid}.asset-audit-table-identity svg{width:21px}.asset-audit-table-identity div{gap:3px;min-width:0;display:grid}.asset-audit-table-identity strong{overflow-wrap:anywhere;color:var(--asset-ink);font-size:14px}.asset-audit-table-identity small{color:var(--asset-muted)}.asset-audit-table tr:not(.is-loading):hover td{background:#eff8f49e}.asset-audit-table .is-loading span{background:#e5eeea;border-radius:4px;width:100%;height:14px;display:block}.asset-audit-state{min-height:180px;color:var(--asset-muted);text-align:left;background:linear-gradient(135deg,#ebf6ff8a,#edf9f1ad);border:1px dashed #b8cac1;border-radius:10px;justify-content:center;align-items:center;gap:14px;padding:28px;display:flex}.asset-audit-state>svg{width:25px;color:var(--asset-accent);flex:none}.asset-audit-state div{max-width:440px}.asset-audit-state strong{color:var(--asset-ink)}.asset-audit-state p{margin:4px 0 0;line-height:1.5}.asset-audit-state .asset-secondary-button{margin-left:8px}.asset-audit-state.is-error{background:#fff8f7;border-color:#efc5c0}.asset-audit-state.is-error>svg{color:#9f2f27}.asset-audit-selected-header{border-bottom:1px solid var(--asset-line);grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:18px;padding-bottom:22px;display:grid}.asset-audit-selected-header>img,.asset-audit-photo-placeholder{object-fit:cover;border-radius:10px;width:112px;height:88px}.asset-audit-photo-placeholder{color:var(--asset-accent);background:linear-gradient(135deg,#dbefffd9,#dcf5e7d9);place-items:center;display:grid}.asset-audit-photo-placeholder svg{width:30px;height:30px}.asset-audit-selected-header>div:nth-child(2){min-width:0}.asset-audit-selected-header>div:nth-child(2)>span,.asset-audit-section-heading>span{color:var(--asset-accent);letter-spacing:.075em;text-transform:uppercase;font-size:11px;font-weight:800}.asset-audit-selected-header h2{overflow-wrap:anywhere;letter-spacing:-.025em;margin:4px 0 7px;font-size:clamp(23px,3vw,30px)}.asset-audit-selected-header p{color:var(--asset-muted);flex-wrap:wrap;gap:5px 12px;margin:0;font-size:13px;display:flex}.asset-audit-selected-header p strong{color:var(--asset-ink)}.asset-audit-reference{border:1px solid var(--asset-line);background:linear-gradient(110deg,#eef7ffc7,#eef9f2d1);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 30px;display:grid}.asset-audit-reference>div{gap:5px;min-width:0;padding:14px;display:grid}.asset-audit-reference>div+div{border-left:1px solid var(--asset-line)}.asset-audit-reference span{color:var(--asset-muted);font-size:11px;font-weight:700}.asset-audit-reference strong{overflow-wrap:anywhere;font-size:14px}.asset-audit-section-heading{max-width:680px;margin-bottom:16px}.asset-audit-section-heading h3{letter-spacing:-.015em;margin:5px 0;font-size:20px}.asset-audit-section-heading p{color:var(--asset-muted);margin:0;font-size:14px;line-height:1.55}.asset-audit-result{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 20px;padding:0;display:grid}.asset-audit-result legend{color:var(--asset-ink);margin-bottom:8px;font-size:14px;font-weight:720}.asset-audit-result button{min-height:64px;color:var(--asset-muted);text-align:left;background:#ffffffbd;border:1px solid #c7d4cd;border-radius:10px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:10px 14px;display:grid}.asset-audit-result button>svg{width:20px}.asset-audit-result button>span{gap:2px;display:grid}.asset-audit-result button strong{color:var(--asset-ink);font-size:14px}.asset-audit-result button small{font-size:12px}.asset-audit-result button.is-active{border-color:var(--asset-accent);color:var(--asset-accent);box-shadow:inset 0 0 0 1px var(--asset-accent);background:linear-gradient(115deg,#d9f2e8eb,#e7f0ffc7)}.asset-audit-result button.is-exception{color:#93401f;background:#fff7ed;border-color:#b76a48;box-shadow:inset 0 0 0 1px #b76a48}.asset-audit-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.asset-audit-exception{border-left:3px solid #b76a48;grid-column:1/-1;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:18px;padding:16px 0 16px 18px;display:grid}.asset-audit-evidence{border-top:1px solid var(--asset-line);margin-top:30px;padding-top:26px}.asset-audit-evidence .asset-photo-picker,.asset-audit-evidence .asset-photo-picker>button:not(.asset-secondary-button){min-height:260px}.asset-audit-evidence .asset-photo-picker>img{height:250px}.asset-audit-review{border:1px solid var(--asset-line);background:linear-gradient(110deg,#eef7ffd1,#eef9f2d1);border-radius:10px;margin-top:18px;padding:13px 15px}.asset-audit-review>div{gap:3px;display:grid}.asset-audit-review span{color:var(--asset-accent);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.asset-audit-review strong{font-size:15px}.asset-audit-review small{color:var(--asset-muted);line-height:1.45}.asset-scanner-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c1411b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.asset-scanner-sheet{background:#f9fbfa;border:1px solid #ffffff38;border-radius:16px;width:min(100%,560px);max-height:calc(100dvh - 36px);padding:18px;overflow-y:auto;box-shadow:0 28px 80px #00000052}.asset-scanner-sheet>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.asset-scanner-sheet>header p,.asset-scanner-sheet>header h2{margin:0}.asset-scanner-sheet>header p{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.asset-scanner-sheet>header h2{margin-top:3px;font-size:22px}.asset-scanner-sheet>header button{border:1px solid var(--border);width:48px;height:48px;color:var(--foreground);background:#fff;border-radius:10px;flex:none;place-items:center;display:grid}.asset-scanner-view{aspect-ratio:4/3;background:#101714;border-radius:12px;position:relative;overflow:hidden}.asset-scanner-view video{object-fit:contain;width:100%;height:100%;display:block}.asset-scanner-view>span{pointer-events:none;border:2px solid #ffffffe6;border-radius:10px;position:absolute;inset:16% 9%;box-shadow:0 0 0 999px #0000003d}.asset-scanner-view>span:after{content:"";background:#9ff0c5;height:2px;position:absolute;bottom:50%;left:10%;right:10%;box-shadow:0 0 10px #9ff0c5d9}.asset-scanner-feedback{min-height:50px;color:var(--muted);align-content:center;gap:4px;padding:10px 2px 4px;font-size:13px;line-height:1.45;display:grid}.asset-scanner-feedback strong{color:var(--danger);font-weight:700}.asset-scanner-feedback small{color:var(--primary);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.asset-scanner-actions{flex-wrap:wrap;gap:8px;padding-top:8px;display:flex}.asset-scanner-actions .asset-secondary-button{flex:150px}@media (max-width:780px){.asset-mobile-shell{padding-inline:14px}.asset-mobile-header{align-items:flex-start}.asset-capture-layout{grid-template-columns:1fr}.asset-capture-sidebar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid;position:static}.asset-capture-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.asset-capture-steps li{grid-template-columns:30px minmax(0,1fr);min-height:48px;padding:6px}.asset-capture-steps li:after{width:10px;inset:24px -5px auto auto}.asset-capture-steps li>span{width:28px;height:28px}.asset-capture-steps small{display:none}.asset-capture-context{border:0;border-left:1px solid var(--asset-line);min-width:150px;margin:0;padding:4px 0 4px 14px}.asset-capture-context dl{display:none}.asset-capture-panel{padding:24px}.asset-capture-photo-layout{grid-template-columns:1fr}.asset-photo-guidance{border-top:1px solid var(--asset-line);border-left:0;padding:18px 4px 0}.asset-audit-layout{grid-template-columns:1fr}.asset-audit-sidebar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid;position:static}.asset-audit-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.asset-audit-steps li{grid-template-columns:30px minmax(0,1fr);min-height:48px;padding:6px}.asset-audit-steps li:after{width:10px;inset:24px -5px auto auto}.asset-audit-steps li>span{width:28px;height:28px}.asset-audit-steps small{display:none}.asset-audit-context{border:0;border-left:1px solid var(--asset-line);min-width:150px;margin:0;padding:4px 0 4px 14px}.asset-audit-context dl{display:none}.asset-audit-panel{padding:24px}.asset-audit-table{min-width:600px}.asset-audit-reference{grid-template-columns:1fr 1fr}.asset-audit-reference>div:nth-child(3){border-top:1px solid var(--asset-line);border-left:0}.asset-audit-reference>div:nth-child(4){border-top:1px solid var(--asset-line)}}@media (max-width:560px){.asset-mobile-shell{padding-top:max(10px, env(safe-area-inset-top))}.asset-mobile-header{border-radius:12px;gap:10px;margin-bottom:12px;padding:14px}.asset-mobile-header h1{font-size:24px}.asset-mobile-header>div:first-child>span{display:none}.asset-sync-status{min-height:40px;padding:7px 10px}.asset-sync-status span{font-size:0}.asset-sync-status span:after{content:"Online";font-size:12px}.asset-sync-status.is-offline span:after{content:"Offline"}.asset-capture-sidebar{grid-template-columns:1fr}.asset-capture-context{display:none}.asset-capture-steps li{text-align:center;grid-template-columns:1fr;justify-items:center;gap:3px}.asset-capture-steps li:after{width:16px;top:20px;right:-8px}.asset-capture-steps div{display:block}.asset-capture-steps strong{font-size:11px}.asset-capture-panel{border-radius:12px;padding:20px 16px}.asset-capture-heading{margin-bottom:22px}.asset-capture-heading h2{font-size:26px}.asset-capture-form-grid{grid-template-columns:1fr;gap:18px}.asset-capture-form-grid>.asset-field,.asset-capture-form-grid.is-details>.asset-field{grid-column:auto}.asset-photo-picker,.asset-photo-picker>button:not(.asset-secondary-button){min-height:250px}.asset-photo-picker>img{height:220px}.asset-capture-actions{z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #ffffffeb;border-radius:12px;margin-inline:-8px;padding:9px;position:sticky;bottom:78px;box-shadow:0 12px 30px #1f372d24}.asset-capture-actions>span{display:none}.asset-capture-actions .asset-primary-button{flex:1}.asset-capture-actions .asset-secondary-button{min-width:88px}.asset-scan-input{grid-template-columns:minmax(0,1fr) 82px}.asset-scan-input button{min-width:82px;padding-inline:9px}.asset-scanner-backdrop{align-items:end;padding:0}.asset-scanner-sheet{width:100%;max-height:94dvh;padding:14px 14px calc(14px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.asset-scanner-view{aspect-ratio:4/3;max-height:54dvh}.asset-scanner-actions{grid-template-columns:1fr;display:grid}.asset-audit-sidebar{grid-template-columns:1fr}.asset-audit-context{display:none}.asset-audit-steps li{text-align:center;grid-template-columns:1fr;justify-items:center;gap:3px}.asset-audit-steps li:after{width:16px;top:20px;right:-8px}.asset-audit-steps div{display:block}.asset-audit-steps strong{font-size:11px}.asset-audit-panel{border-radius:12px;padding:20px 16px}.asset-audit-find{grid-template-columns:1fr}.asset-audit-scan{width:100%}.asset-audit-table{table-layout:fixed;min-width:0}.asset-audit-table th:nth-child(2),.asset-audit-table td:nth-child(2),.asset-audit-table th:nth-child(3),.asset-audit-table td:nth-child(3),.asset-audit-table th:nth-child(4),.asset-audit-table td:nth-child(4){display:none}.asset-audit-table th:first-child{width:auto}.asset-audit-table th:last-child{width:82px}.asset-audit-table td{padding:10px}.asset-audit-table-identity{grid-template-columns:42px minmax(0,1fr);gap:9px;min-width:0}.asset-audit-table-identity>img,.asset-audit-table-identity>span{width:42px;height:42px}.asset-audit-selected-header{grid-template-columns:76px minmax(0,1fr);gap:12px}.asset-audit-selected-header>img,.asset-audit-photo-placeholder{width:76px;height:68px}.asset-audit-selected-header>.asset-secondary-button{grid-column:1/-1;width:100%}.asset-audit-selected-header h2{font-size:22px}.asset-audit-reference{grid-template-columns:1fr 1fr}.asset-audit-result,.asset-audit-form-grid{grid-template-columns:1fr}.asset-audit-exception{grid-column:auto;grid-template-columns:1fr;padding-left:14px}.asset-audit-state{text-align:center;flex-direction:column;min-height:160px}.asset-audit-state .asset-secondary-button{width:100%;margin-left:0}.asset-audit-panel>.asset-capture-actions{z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #ffffffeb;border-radius:12px;margin-inline:-8px;padding:9px;position:sticky;bottom:78px;box-shadow:0 12px 30px #1f372d24}.asset-audit-panel>.asset-capture-actions .asset-primary-button{flex:1}}@media (prefers-reduced-motion:reduce){.asset-mobile-shell *,.asset-mobile-shell :before,.asset-mobile-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.asset-mobile-header-actions{align-items:center;gap:8px;display:flex}.asset-mobile-header-actions button{border:1px solid var(--asset-line);min-width:48px;min-height:48px;color:var(--asset-ink);font:inherit;cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 13px;font-size:13px;font-weight:750;display:inline-flex}.asset-mobile-header-actions button:hover{background:#f7faf8;border-color:#879e93}.asset-mobile-header-actions svg{width:20px;height:20px}.asset-mobile-menu{text-align:center;align-content:center;justify-items:center;gap:34px;min-height:min(670px,100dvh - 150px);padding:32px 20px;display:grid}.asset-mobile-menu>div p,.asset-mobile-menu>div h2,.asset-mobile-menu>div span{margin:0}.asset-mobile-menu>div p,.asset-mobile-disposal>p{color:var(--asset-accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.asset-mobile-menu>div h2{letter-spacing:-.03em;margin-block:5px;font-size:clamp(26px,6vw,36px)}.asset-mobile-menu>div span,.asset-mobile-disposal>span{color:var(--asset-muted)}.asset-mobile-menu nav{gap:16px;width:min(100%,430px);display:grid}.asset-mobile-menu nav button{color:#fff;text-align:left;min-height:104px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:14px;grid-template-columns:52px 1fr;align-items:center;gap:16px;padding:18px 22px;transition:filter .18s,box-shadow .18s;display:grid;box-shadow:0 10px 24px #17211d1f}.asset-mobile-menu nav button:hover{filter:brightness(.96);box-shadow:0 14px 30px #17211d29}.asset-mobile-menu nav button:active{filter:brightness(.9)}.asset-mobile-menu nav button.is-register{background:#176b57}.asset-mobile-menu nav button.is-audit{background:#315d91}.asset-mobile-menu nav button.is-disposal{background:#9a493e}.asset-mobile-menu nav button>svg{width:34px;height:34px}.asset-mobile-menu nav button>span{gap:3px;display:grid}.asset-mobile-menu nav strong{font-size:19px}.asset-mobile-menu nav small{color:#ffffffdb;font-size:13px}.asset-mobile-disposal{text-align:center;align-content:center;justify-items:center;gap:10px;min-height:min(560px,100dvh - 180px);display:grid}.asset-mobile-disposal>svg{color:#9a493e;width:46px;height:46px;margin-bottom:8px}.asset-mobile-disposal h2,.asset-mobile-disposal p{margin:0}.asset-mobile-disposal h2{font-size:30px}.asset-mobile-disposal .asset-primary-button{margin-top:18px;text-decoration:none}@media (max-width:560px){.asset-mobile-header-actions button{padding-inline:11px}.asset-mobile-header-actions button span{display:none}.asset-mobile-header.is-menu .asset-mobile-header-actions button{background:0 0;border-color:#0000}.asset-mobile-menu{gap:28px;min-height:calc(100dvh - 120px);padding:24px 0}.asset-mobile-menu nav button{min-height:96px;padding:16px 20px}}.support-page{background:radial-gradient(circle at 90% 4%,#086f671a,#0000 26%),radial-gradient(circle at 8% 18%,#f59e0b1a,#0000 24%);gap:24px;max-width:1180px;margin:0 auto;padding:42px 24px 72px;display:grid}.support-hero{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#ffffffeb,#f4faf9c7);border:1px solid #fffc;border-radius:24px;justify-content:space-between;align-items:center;gap:30px;min-height:190px;padding:36px;display:flex;box-shadow:0 20px 60px #17202a14}.support-hero.compact{min-height:150px}.support-hero h1{letter-spacing:-.04em;margin-bottom:10px;font-size:clamp(30px,4vw,48px)}.support-hero p:last-child{max-width:680px;color:var(--muted);margin:0;line-height:1.65}.support-hero>span{color:var(--primary);font-weight:800}.support-metrics{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.support-metrics article{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;border:1px solid #ffffffe6;border-radius:18px;align-items:center;gap:14px;padding:20px;display:flex;box-shadow:0 12px 35px #17202a0f}.support-metrics svg{color:var(--primary)}.support-metrics span{display:grid}.support-metrics strong{font-size:26px}.support-metrics small{color:var(--muted)}.support-dashboard-grid{grid-template-columns:1.35fr .85fr;gap:20px;display:grid}.support-glass{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border:1px solid #ffffffe0;border-radius:22px;padding:24px;box-shadow:0 18px 50px #17202a12}.support-section-title{justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px;display:flex}.support-section-title h2{margin:0}.support-section-title>span{color:var(--muted);font-size:12px}.support-queue{display:grid}.support-queue-row{border-top:1px solid var(--border);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 4px;transition:transform .18s,background .18s;display:grid}.support-queue-row:hover,.support-queue-row:focus-visible{background:#e8f4f28c;transform:translate(3px)}.support-queue-row>div{gap:4px;display:grid}.support-queue-row small{color:var(--muted)}.queue-rank{color:#9aa5af;font-weight:800}.care-badge{text-transform:capitalize;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.care-badge.attention{color:#92400e;background:#fff3d6}.care-badge.applied{color:#096b55;background:#dff6ee}.support-chart{align-items:end;gap:7px;height:260px;padding-top:22px;display:flex}.support-chart>div{flex-direction:column;flex:1;justify-content:end;gap:7px;height:100%;display:flex}.support-chart span{background:linear-gradient(#3ca99a,#087269);border-radius:8px 8px 3px 3px;min-height:4px;transition:opacity .18s}.support-chart span:hover{opacity:.72}.support-chart small{min-height:24px;color:var(--muted);writing-mode:vertical-rl;font-size:9px}.support-empty{text-align:center;color:var(--muted);padding:34px}.support-stepper{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.support-stepper div{color:var(--muted);align-items:center;gap:9px;font-weight:700;display:flex}.support-stepper div:after{content:"";background:var(--border);flex:1;height:2px}.support-stepper div:last-child:after{display:none}.support-stepper span{background:#e8ecef;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.support-stepper .active{color:var(--primary)}.support-stepper .active span{background:var(--primary);color:#fff}.support-stepper .active:after{background:#8ac7bf}.form-card{width:100%;max-width:900px;margin:0 auto}.form-card h2{margin-bottom:6px}.support-form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.support-form-grid .field,.form-card>.field{gap:7px;display:grid}.support-form-grid input,.support-form-grid select,.support-form-grid textarea,.form-card input{border:1px solid var(--border-strong);background:#ffffffdb;border-radius:10px;width:100%;min-height:46px;padding:10px 12px}.support-form-grid textarea{resize:vertical}.span-2{grid-column:span 2}.cause-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0;display:grid}.cause-grid label{cursor:pointer}.cause-grid input{opacity:0;position:absolute}.cause-grid span{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;min-height:46px;padding:10px 13px;transition:all .18s;display:flex}.cause-grid input:checked+span{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);box-shadow:0 0 0 2px #086f671f}.form-actions{border-top:1px solid var(--border);justify-content:space-between;margin-top:24px;padding-top:20px;display:flex}.participant-section{gap:18px;display:grid}.participant-section .support-section-title{align-items:flex-start}.participant-list{gap:14px;display:grid}.participant-editor{border:1px solid var(--border);background:#fff;border-radius:12px;padding:16px}.participant-editor>header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.primary-participant{color:var(--text-strong);cursor:pointer;align-items:center;gap:9px;margin-top:14px;font-weight:650;display:flex}.primary-participant input{width:17px;height:17px;accent-color:var(--primary)}.incident-case-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);align-items:start;gap:18px;display:grid}.incident-case-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 0;display:grid}.incident-case-summary dl div{border-top:1px solid var(--border);padding-top:10px}.incident-case-summary dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:750}.incident-case-summary dd{margin:4px 0 0;font-weight:700}.incident-participant-list,.incident-action-list{gap:12px;display:grid}.incident-participant-list>div{border-top:1px solid var(--border);gap:10px;padding-top:12px;display:flex}.participant-avatar{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.incident-participant-list>div>div{gap:2px;display:grid}.incident-participant-list small,.incident-action-list small{color:var(--muted)}.composer-tabs{gap:8px;margin-bottom:16px;display:flex}.composer-tabs button{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 11px;font-weight:700;display:inline-flex}.composer-tabs button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.timeline-composer{gap:14px;display:grid}.timeline-composer>.button{justify-self:start}.timeline-composer>.field{gap:7px;display:grid}.timeline-composer select,.timeline-composer textarea{border:1px solid var(--border-strong);background:#fff;border-radius:10px;width:100%;padding:10px 12px}.immutable-hint{color:var(--muted)}.incident-action-list>div{border-top:1px solid var(--border);grid-template-columns:1fr auto;gap:4px;padding-top:12px;display:grid}.incident-action-list>div>span{color:var(--primary);font-size:11px;font-weight:800}.incident-action-list p{color:var(--muted);grid-column:1/-1;margin:4px 0 0}.incident-event-list{display:grid}.incident-event-list article{border-top:1px solid var(--border);grid-template-columns:36px 1fr;gap:12px;padding:16px 0;display:grid}.incident-event-list article.correction{background:#fffaf0}.event-icon{background:var(--primary-soft);width:32px;height:32px;color:var(--primary);border-radius:50%;place-items:center;display:grid}.incident-event-list article.correction .event-icon{color:#9a5b00;background:#fff1d6}.incident-event-list header{justify-content:space-between;gap:16px;display:flex}.incident-event-list time,.incident-event-list small{color:var(--muted);font-size:12px}.incident-event-list p{margin:7px 0}.incident-event-list article>div{gap:3px;display:grid}.correction-link{font-weight:700;color:#9a5b00!important}.superseded-label{text-decoration:line-through}.incident-open-case{margin-top:18px}.timeline-card h2 a:hover{color:var(--primary)}.action-workflow{gap:16px;display:grid}.action-create-panel,.action-transition-panel{border:1px solid var(--border);background:#f8fbfb;border-radius:12px;padding:16px}.action-create-panel textarea,.action-transition-panel textarea,.action-transition-panel select{border:1px solid var(--border-strong);background:#fff;border-radius:10px;width:100%;padding:10px 12px}.action-panel-footer{justify-content:space-between;align-items:center;gap:14px;margin-top:16px;display:flex}.action-panel-footer>small{color:var(--muted)}.action-panel-footer>div,.action-transition-panel>div:last-child{justify-content:flex-end;gap:8px;display:flex}.case-action-list{gap:12px;display:grid}.case-action-list>article{border:1px solid var(--border);background:#fff;border-radius:12px;padding:16px}.case-action-list>article>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.case-action-list header>div{gap:3px;display:grid}.case-action-list header small,.case-action-meta{color:var(--muted);font-size:12px}.action-status{color:#46545a;text-transform:uppercase;background:#edf2f3;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.status-pending_approval{color:#8a5200;background:#fff1d6}.status-approved,.status-completed{color:#08705a;background:#e3f6ef}.status-rejected,.status-cancelled,.status-overturned{color:#9b2923;background:#fde8e7}.status-in_progress{color:#1c5aa6;background:#e6f0ff}.case-action-meta{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.case-action-controls{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.case-action-controls button{border:1px solid var(--border);color:var(--primary);background:#fff;border-radius:7px;align-items:center;gap:5px;padding:7px 9px;font-size:12px;font-weight:750;display:inline-flex}.case-action-controls button.danger{color:#a43831}.action-transition-panel{gap:12px;margin-top:12px;display:grid}.action-transition-panel>.field{gap:6px;display:grid}.incident-governance-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);align-items:start;gap:18px;display:grid}.notification-panel,.evidence-panel{gap:15px;display:grid}.notification-panel textarea{border:1px solid var(--border-strong);background:#fff;border-radius:10px;width:100%;padding:10px 12px}.notification-panel>.button,.attachment-uploader>.button{justify-self:start}.notification-history{gap:9px;margin-top:4px;display:grid}.notification-history article{border-top:1px solid var(--border);grid-template-columns:1fr auto;gap:3px;padding-top:10px;display:grid}.notification-history article>span{color:var(--primary);font-size:11px;font-weight:800}.notification-history small,.attachment-uploader>small,.attachment-list small{color:var(--muted)}.notification-history p{grid-column:1/-1;margin:3px 0 0}.evidence-panel>.field,.attachment-uploader>.field{gap:6px;display:grid}.evidence-panel select,.attachment-uploader input{border:1px solid var(--border-strong);background:#fff;border-radius:9px;width:100%;min-height:42px;padding:8px 10px}.attachment-uploader{border-top:1px solid var(--border);gap:11px;padding-top:14px;display:grid}.attachment-list{gap:9px;display:grid}.attachment-list article{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:10px;padding-top:10px;display:flex}.attachment-list article>div:first-child{gap:3px;min-width:0;display:grid}.attachment-list strong{overflow-wrap:anywhere}.attachment-list p{color:var(--muted);margin:2px 0}.attachment-list article>div:last-child{gap:5px;display:flex}.report-range{align-items:end;gap:12px;display:flex}.report-range .field{gap:6px;display:grid}.report-range input{border:1px solid var(--border-strong);background:#fff;border-radius:9px;min-height:42px;padding:8px 10px}.discipline-report-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.discipline-report-metrics article{gap:5px;display:grid}.discipline-report-metrics svg{color:var(--primary)}.discipline-report-metrics strong{font-size:28px}.discipline-report-metrics span{color:var(--muted);font-size:12px}.discipline-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.report-breakdown>div:last-of-type{display:grid}.report-breakdown>div:last-of-type>div{border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.report-breakdown a{color:var(--primary);font-weight:700}.report-period-bars{gap:10px;display:grid}.report-period-bars>div{grid-template-columns:90px 1fr 30px;align-items:center;gap:10px;display:grid}.report-period-bars span{color:var(--muted);font-size:11px}.report-period-bars>div>div{background:#edf1f2;border-radius:999px;height:9px;overflow:hidden}.report-period-bars i{background:var(--primary);border-radius:999px;height:100%;display:block}.report-table-wrap{overflow-x:auto}.overdue-report table{border-collapse:collapse;width:100%}.overdue-report th,.overdue-report td{border-top:1px solid var(--border);text-align:left;padding:11px 10px}.overdue-report th{color:var(--muted);text-transform:uppercase;font-size:11px}.overdue-report td a{color:var(--primary);font-weight:750}.support-back{color:var(--muted);align-items:center;gap:7px;font-weight:700;display:inline-flex}.support-timeline{gap:20px;padding-left:48px;display:grid;position:relative}.support-timeline:before{content:"";background:linear-gradient(var(--primary),#badbd6);width:2px;position:absolute;top:0;bottom:0;left:18px}.support-timeline>article{position:relative}.timeline-dot{border:5px solid var(--background);background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:18px;left:-48px}.timeline-card header{justify-content:space-between;gap:18px;display:flex}.timeline-card header small,.timeline-card>small{color:var(--muted);align-items:center;gap:5px;display:flex}.timeline-card h2{margin:5px 0 14px}.cause-tags{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.cause-tags span{color:#8a4b09;background:#fff4dc;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.intervention-list{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.intervention-list>div{background:#f1faf7;border-left:3px solid #59aa98;grid-template-columns:1fr auto;gap:5px;padding:9px 12px;display:grid}.intervention-list span{color:var(--success);font-size:11px;font-weight:800}.intervention-list p{color:var(--muted);grid-column:1/-1;margin:0}@media (max-width:800px){.support-dashboard-grid,.support-metrics{grid-template-columns:1fr}.support-hero{flex-direction:column;align-items:flex-start;padding:26px}.support-form-grid,.cause-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.support-queue-row{grid-template-columns:36px minmax(0,1fr)}.support-queue-row>.care-badge{grid-column:2}.support-page{padding:24px 14px 56px}}@media (prefers-reduced-motion:reduce){.support-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}*{box-sizing:border-box}html{background:var(--background)}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}.learner-attendance-toolbar{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(170px,220px) minmax(220px,1fr) auto;align-items:end;gap:14px;padding:18px;display:grid}.holiday-lock{background:var(--success-soft);border:1px solid #b8d6c5;border-radius:8px;align-items:center;gap:18px;min-height:180px;margin-top:16px;padding:28px;display:flex}.holiday-lock>span{background:var(--success);color:#fff;text-transform:uppercase;border-radius:4px;padding:6px 9px;font-size:11px;font-weight:800}.holiday-lock h2{margin-bottom:6px}.holiday-lock p{color:var(--muted);margin:0}.learner-register{gap:10px;display:grid}.learner-attendance-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(180px,1.2fr) 145px 135px minmax(220px,1fr);align-items:end;gap:12px;padding:14px 16px;display:grid}.learner-attendance-row .field{gap:5px}.learner-attendance-row .field>span{font-size:10px}.learner-attendance-row .field input,.learner-attendance-row .field select{min-height:38px}.learner-absence-reason,.learner-present-label{grid-column:span 2}.learner-present-label{min-height:38px;color:var(--success);align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.holiday-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.holiday-form,.holiday-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:20px}.holiday-form{gap:14px;display:grid}.holiday-form textarea{resize:vertical;border:1px solid var(--border-strong);width:100%;color:var(--foreground);background:var(--surface);border-radius:6px;padding:10px 12px}.holiday-date-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.holiday-list{padding:0;overflow:hidden}.holiday-list>.section-heading{padding:18px 20px}.holiday-row{border-top:1px solid var(--border);grid-template-columns:64px minmax(0,1fr) 40px 40px;align-items:center;gap:12px;min-height:82px;padding:14px 20px;display:grid}.holiday-row>div{gap:4px;min-width:0;display:grid}.holiday-row small,.holiday-row p{color:var(--muted);margin:0;font-size:11px}.holiday-type{color:#fff;text-align:center;text-transform:uppercase;border-radius:4px;padding:5px 7px;font-size:10px;font-weight:800}.holiday-school{background:var(--primary)}.holiday-public{background:var(--accent)}.portal-section-heading>form{align-items:end;gap:10px;display:flex}.compact-field{min-width:190px}.reports-page{gap:18px;display:grid}.reports-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.reports-heading h1{margin-bottom:8px;font-size:28px}.reports-heading p:last-child{color:var(--muted);margin:0}.report-filters{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:repeat(7,minmax(120px,1fr)) auto;align-items:end;gap:10px;padding:14px;display:grid}.report-filters .field{gap:5px}.report-filters .field>span{font-size:10px}.report-filters input,.report-filters select{min-height:38px;padding:7px 9px;font-size:12px}.report-metrics{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.report-metrics article{border-right:1px solid var(--border);align-content:center;gap:5px;min-height:112px;padding:18px 20px;display:grid}.report-metrics article:last-child{border-right:0}.report-metrics small,.report-metrics span{color:var(--muted);font-size:11px}.report-metrics small{text-transform:uppercase;font-weight:800}.report-metrics strong{font-variant-numeric:tabular-nums;font-size:28px}.report-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.report-panel>.section-heading{min-height:58px;padding:14px 18px}.report-chart{border-top:1px solid var(--border);margin:0;padding:16px 18px 12px}.report-chart svg{aspect-ratio:10/3;width:100%;height:auto;min-height:220px}.report-chart-legend{justify-content:flex-end;gap:18px;min-height:24px;display:flex}.report-chart-legend span{color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.report-chart-legend i{border-radius:2px;width:16px;height:3px}.report-gridline{stroke:var(--border);stroke-width:1px}.report-axis-label{fill:var(--muted);font-size:10px}.alert-list{border-top:1px solid var(--border)}.report-alert{border-bottom:1px solid var(--border);grid-template-columns:40px minmax(170px,1fr) minmax(170px,1fr) 110px auto;align-items:center;gap:12px;min-height:82px;padding:12px 18px;display:grid}.report-alert:last-child{border-bottom:0}.report-alert>span:first-child{background:var(--danger-soft);width:36px;height:36px;color:var(--danger);border-radius:6px;place-items:center;display:grid}.report-alert>div:not(.alert-actions){gap:4px;min-width:0;display:grid}.report-alert small{color:var(--muted);font-size:11px}.alert-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.alert-actions .button{min-height:38px;padding:7px 11px;font-size:11px}.status-open{color:var(--danger);background:var(--danger-soft)}.status-acknowledged{color:var(--accent);background:#fff7e8}.report-table{min-width:920px}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.eyebrow{color:var(--primary);text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800;line-height:1.2}.button{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:9px 16px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55}.button-primary{background:var(--primary);color:#fff}.button-primary:hover:not(:disabled){background:var(--primary-hover)}.button-secondary{border-color:var(--border);background:var(--surface);color:var(--foreground)}.button-secondary:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--border-strong)}.button-wide{width:100%}.icon-button{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--muted);cursor:pointer;border-radius:6px;flex:0 0 40px;place-items:center;display:inline-grid}.icon-button:hover:not(:disabled){border-color:var(--border-strong);color:var(--foreground)}.spin{animation:.85s linear infinite spin}.login-page{background:linear-gradient(90deg, #086f670d 1px, transparent 1px), linear-gradient(#086f670d 1px, transparent 1px), var(--background);background-size:32px 32px;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--border);background:var(--surface);width:min(430px,100%);box-shadow:var(--shadow);border-radius:8px;padding:36px}.brand-mark{background:var(--foreground);color:#fff;border-radius:6px;place-items:center;width:44px;height:44px;margin-bottom:24px;font-size:14px;font-weight:800;display:grid}.login-panel h1{margin-bottom:12px;font-size:30px;line-height:1.15}.login-copy{color:var(--muted);margin-bottom:26px;line-height:1.55}.login-form{gap:13px;display:grid}.field-label{font-size:13px;font-weight:700}.input-with-icon{border:1px solid var(--border-strong);height:44px;color:var(--muted);background:var(--surface);border-radius:6px;align-items:center;gap:9px;padding:0 12px;display:flex}.input-with-icon:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input-with-icon input{background:0 0;border:0;outline:0;flex:1;min-width:0}.form-error{color:var(--danger);margin:0;font-size:13px}.login-tabs{border:1px solid var(--border);background:var(--surface-subtle);border-radius:6px;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 24px;padding:4px;display:grid}.login-tabs button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.login-tabs button.is-active{background:var(--surface);color:var(--foreground);box-shadow:0 1px 4px #17202a1a}.tenant-choice-list{gap:10px;display:grid}.tenant-choice{border:1px solid var(--border);background:var(--surface);min-height:68px;color:var(--foreground);text-align:left;cursor:pointer;border-radius:6px;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:10px 14px;display:grid}.tenant-choice:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.tenant-choice>span:first-child{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:6px;place-items:center;display:grid}.tenant-choice>span:nth-child(2){gap:4px;min-width:0;display:grid}.tenant-choice strong,.tenant-choice small{overflow-wrap:anywhere}.tenant-choice small{color:var(--muted)}.portal-shell{min-height:100vh}.portal-header{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(220px,1fr) auto minmax(96px,1fr);align-items:center;gap:20px;min-height:68px;padding:0 max(24px,50vw - 590px);display:grid}.portal-brand{align-items:center;gap:10px;min-width:0;display:flex}.portal-brand>span:first-child{background:var(--foreground);color:#fff;border-radius:6px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.portal-brand>span:last-child{gap:2px;min-width:0;display:grid}.portal-brand strong,.portal-brand small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-brand small{color:var(--muted);font-size:11px}.portal-header nav{align-items:stretch;min-height:68px;display:flex}.portal-header nav a{min-width:88px;color:var(--muted);border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.portal-header nav a:hover,.portal-header nav a.is-active{color:var(--primary)}.portal-header nav a.is-active{border-bottom-color:var(--primary)}.portal-nav-menu{min-width:112px;position:relative}.portal-nav-menu-trigger{height:68px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:700;list-style:none;display:flex}.portal-nav-menu.is-active .portal-nav-menu-trigger,.portal-nav-menu:hover .portal-nav-menu-trigger,.portal-nav-menu:focus-within .portal-nav-menu-trigger,.portal-nav-menu.is-open .portal-nav-menu-trigger{border-bottom-color:var(--primary);color:var(--primary)}.portal-nav-menu:hover .portal-nav-menu-trigger svg:last-child,.portal-nav-menu:focus-within .portal-nav-menu-trigger svg:last-child,.portal-nav-menu.is-open .portal-nav-menu-trigger svg:last-child{transform:rotate(180deg)}.portal-nav-submenu{z-index:20;border:1px solid var(--border);background:var(--surface);width:180px;box-shadow:var(--shadow);border-radius:6px;padding:5px;display:none;position:absolute;top:60px;right:0}.portal-nav-menu:hover .portal-nav-submenu,.portal-nav-menu:focus-within .portal-nav-submenu,.portal-nav-menu.is-open .portal-nav-submenu{display:grid}.portal-header nav .portal-nav-submenu a{border:0;border-radius:4px;justify-content:flex-start;min-width:0;min-height:40px;padding:8px 10px;font-size:12px}.portal-header nav .portal-nav-submenu a:hover{background:var(--primary-soft)}.portal-actions{justify-content:flex-end;gap:8px;display:flex}.portal-main,.portal-section{width:min(100% - 48px,1180px);margin:0 auto;padding:44px 0 64px}.portal-heading{margin-bottom:26px}.portal-heading h1,.portal-section-heading h1{margin-bottom:8px;font-size:28px}.portal-heading>p:last-child,.portal-section-heading p{color:var(--muted)}.portal-banner{margin:0 0 22px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.metric-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-content:start;min-height:176px;padding:22px;display:grid}.metric-card>span{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:6px;place-items:center;margin-bottom:20px;display:grid}.metric-card small{color:var(--muted);font-weight:700}.metric-card strong{overflow-wrap:anywhere;margin-top:5px;font-size:25px}.metric-card p{color:var(--muted);margin:6px 0 0;font-size:12px}.attendance-overview-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(230px,1.3fr) repeat(3,minmax(130px,1fr));align-items:stretch;margin-top:16px;transition:border-color .15s,box-shadow .15s;display:grid}.attendance-overview-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.executive-dashboard{width:min(100% - 48px,1320px);padding-top:30px}.executive-dashboard-heading{text-align:center;margin-bottom:22px}.executive-dashboard-heading h1{margin:2px 0 4px;font-size:28px}.executive-dashboard-heading strong,.executive-dashboard-heading span{display:block}.executive-dashboard-heading strong{color:var(--primary);font-size:17px}.executive-dashboard-heading span{color:var(--muted);margin-top:3px;font-size:13px}.executive-kpi-grid,.executive-trend-grid,.executive-comparison-grid,.executive-action-grid{gap:14px;display:grid}.executive-kpi-grid,.executive-trend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-kpi{border:1px solid var(--border);border-bottom:3px solid var(--primary-soft);background:var(--surface);border-radius:6px;grid-template-columns:56px minmax(0,1fr);align-items:center;min-height:94px;padding:16px 20px;transition:border-color .15s,box-shadow .15s;display:grid}.executive-kpi:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.executive-kpi>span{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.executive-kpi div{text-align:center;min-width:0}.executive-kpi small{color:var(--muted);font-weight:700;display:block}.executive-kpi strong{font-variant-numeric:tabular-nums;margin-top:3px;font-size:25px;display:block}.executive-trend-grid{margin-top:14px}.executive-chart-card,.executive-list-panel{border:1px solid var(--border);background:var(--surface);border-radius:6px;min-width:0}.executive-chart-card{min-height:268px;padding:17px 18px 14px}.executive-chart-card h2,.executive-list-panel h2{margin:0;font-size:15px}.executive-line-chart{width:100%;height:180px;display:block;overflow:visible}.chart-grid-line{stroke:var(--border);stroke-width:.45px}.chart-line{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px}.chart-point{fill:var(--accent);stroke:var(--surface);stroke-width:.8px}.chart-value{fill:var(--text);font-variant-numeric:tabular-nums;font-size:4px;font-weight:700}.executive-chart-labels{color:var(--muted);text-align:center;align-items:start;gap:2px;font-size:10px;display:grid}.executive-chart-empty{min-height:190px;color:var(--muted);text-align:center;place-items:center;margin:0;font-size:13px;display:grid}.executive-comparison-grid,.executive-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.executive-comparison-card{min-height:176px}.comparison-row{color:var(--muted);grid-template-columns:100px minmax(0,1fr) 44px;align-items:center;gap:12px;margin-top:24px;font-size:12px;display:grid}.comparison-track{background:var(--background);border-radius:3px;height:18px;overflow:hidden}.comparison-fill{border-radius:3px;height:100%;display:block}.comparison-fill.is-primary{background:var(--accent)}.comparison-fill.is-secondary{background:var(--primary)}.comparison-row strong{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;font-size:13px}.executive-list-panel{min-height:220px;padding:18px}.executive-list-panel>div:first-child{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-bottom:13px;display:flex}.executive-list-panel>div:first-child a{color:var(--primary);font-size:12px;font-weight:700}.executive-list-panel ul{margin:0;padding:0;list-style:none}.executive-list-panel li{border-bottom:1px solid var(--border);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:11px 0;display:grid}.executive-list-panel li:last-child{border-bottom:0}.executive-list-panel li>span{background:var(--primary-soft);width:30px;height:30px;color:var(--primary);border-radius:5px;place-items:center;display:grid}.executive-list-panel li strong,.executive-list-panel li small{display:block}.executive-list-panel li strong{font-size:13px}.executive-list-panel li small{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px}.executive-empty-state{min-height:146px;color:var(--muted);text-align:center;place-items:center;margin:0;font-size:13px;display:grid}.attendance-overview-heading,.attendance-overview-value{border-right:1px solid var(--border);align-items:center;min-height:118px;padding:20px;display:flex}.attendance-overview-heading{gap:13px}.attendance-overview-heading>span{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:6px;flex:0 0 40px;place-items:center;display:grid}.attendance-overview-heading>div,.attendance-overview-value{align-content:center;gap:5px;display:grid}.attendance-overview-heading small,.attendance-overview-value small,.attendance-overview-value span{color:var(--muted);font-size:11px}.attendance-overview-heading strong{font-size:15px}.attendance-overview-value:last-child{border-right:0}.attendance-overview-value strong{font-size:25px}.portal-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.portal-section-heading h1{margin:0}.portal-count{color:var(--muted);font-size:13px;font-weight:700}.portal-heading-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.learner-class-filter{border:1px solid var(--border);background:var(--surface);min-height:60px;color:var(--muted);border-radius:8px;grid-template-columns:22px auto minmax(220px,360px);align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:grid}.learner-class-filter>span{color:var(--foreground);font-size:12px;font-weight:800}.learner-class-filter select{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:38px;color:var(--foreground);border-radius:6px;padding:7px 10px}.portal-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow-x:auto}.portal-table{border-collapse:collapse;width:100%;min-width:720px}.portal-table th,.portal-table td{border-bottom:1px solid var(--border);text-align:left;padding:14px 16px;font-size:13px}.portal-table th{background:var(--surface-subtle);color:var(--muted);text-transform:uppercase;font-size:11px}.portal-table tr:last-child td{border-bottom:0}.portal-empty{color:var(--muted);text-align:center!important;padding:32px!important}.portal-list{border:1px solid var(--border);background:var(--surface);border-radius:8px}.portal-list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:16px 20px;display:flex}.portal-list-row:last-child{border-bottom:0}.portal-list-row h2{margin:0 0 4px;font-size:15px}.portal-list-row p,.portal-list-row strong{color:var(--muted);margin:0;font-size:12px}.portal-empty-state{color:var(--muted);text-align:center;padding:34px 20px}.profile-details{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.profile-details>div{border-right:1px solid var(--border);border-bottom:1px solid var(--border);align-content:center;gap:7px;min-height:90px;padding:18px 20px;display:grid}.profile-details>div:nth-child(3n){border-right:0}.profile-details>div:nth-last-child(-n+3){border-bottom:0}.profile-details small{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.profile-details strong{overflow-wrap:anywhere;font-size:14px}.attendance-toolbar{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:repeat(3,minmax(150px,1fr)) auto auto;align-items:end;gap:14px;padding:18px;display:grid}.attendance-summary{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));margin:16px 0;display:grid}.attendance-summary span{border-right:1px solid var(--border);align-content:center;gap:4px;min-height:72px;padding:12px 18px;display:grid}.attendance-summary span:last-child{border-right:0}.attendance-summary small{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.attendance-summary strong{font-size:22px}.attendance-register{gap:10px;display:grid}.attendance-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(170px,1.3fr) 130px 120px 120px minmax(160px,1fr) minmax(160px,1fr);align-items:end;gap:12px;padding:14px 16px;display:grid}.attendance-person{align-self:center;gap:5px;min-width:0;display:grid}.attendance-person strong,.attendance-person small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-person small{color:var(--muted);font-size:11px}.attendance-row .field{gap:5px}.attendance-row .field>span{font-size:10px}.attendance-row .field input,.attendance-row .field select{min-height:38px}.attendance-reason.is-required input{border-color:var(--accent)}.attendance-absence{grid-column:span 4}.attendance-special-status{color:var(--muted);grid-column:span 4;align-self:center;font-size:12px}.attendance-actions{justify-content:flex-end;margin-top:18px;display:flex}.attendance-message{align-items:center;gap:8px;margin-top:16px;display:flex}.admin-shell{min-height:100vh}.admin-header{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:1fr auto 1fr;align-items:center;height:66px;padding:0 max(24px,50vw - 590px);display:grid}.admin-header>.icon-button{justify-self:end}.admin-nav{align-items:stretch;gap:4px;height:100%;display:flex}.admin-nav a{min-width:112px;color:var(--muted);border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.table-action{color:var(--primary);font-size:12px;font-weight:800}.table-action:hover{text-decoration:underline}.table-row-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.table-delete-action{align-items:center;display:inline-flex;position:relative}.table-delete-action>.form-error{z-index:10;background:var(--danger-soft);width:240px;box-shadow:var(--shadow);border:1px solid #f4c7c3;border-radius:6px;padding:8px 10px;position:absolute;top:calc(100% + 6px);right:0}.table-icon-action{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--danger);cursor:pointer;border-radius:6px;place-items:center;display:grid}.table-icon-action:hover:not(:disabled){background:var(--danger-soft);border-color:#e3aaa5}.table-icon-action:disabled{cursor:not-allowed;opacity:.38}.admin-nav a:hover{color:var(--foreground)}.admin-nav a.is-active{border-bottom-color:var(--primary);color:var(--primary)}.admin-brand{align-items:center;gap:11px;display:flex}.admin-brand>span:last-child{gap:2px;display:grid}.admin-brand strong{font-size:14px}.admin-brand small{color:var(--muted);font-size:11px}.brand-icon{background:var(--primary);color:#fff;border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.admin-main,.wizard-main{width:min(1180px,100% - 48px);margin:0 auto;padding:42px 0 64px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px;display:flex}.page-actions{gap:9px;display:flex}.page-heading h1,.wizard-heading h1{margin-bottom:8px;font-size:30px;line-height:1.2}.page-heading p,.wizard-heading p{color:var(--muted);margin-bottom:0;line-height:1.5}.list-section{border-top:1px solid var(--border-strong);padding-top:18px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-heading h2{margin:0;font-size:16px}.section-heading span{color:var(--muted);font-size:12px}.institution-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.institution-row{border-bottom:1px solid var(--border);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:76px;padding:14px 18px;display:grid}.institution-row:last-child{border-bottom:0}.institution-row:hover{background:var(--surface-subtle)}.institution-icon{color:#45515d;background:#eef1f4;border-radius:6px;place-items:center;width:40px;height:40px;display:grid}.institution-details{gap:5px;min-width:0;display:grid}.institution-details strong,.institution-details small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.institution-details small{color:var(--muted);font-size:12px}.status-badge{border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-complete{background:var(--success-soft);color:var(--success)}.status-progress{color:var(--accent);background:#fff4e5}.empty-state{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:8px;justify-items:center;padding:56px 24px;display:grid}.empty-state h3{color:var(--foreground);margin:14px 0 7px}.empty-state p{margin:0}.tenant-filter{border:1px solid var(--border);background:var(--surface);border-radius:7px;grid-template-columns:22px auto minmax(220px,360px);align-items:center;gap:10px;min-height:58px;margin-bottom:24px;padding:8px 14px;display:grid}.tenant-filter label{font-size:12px;font-weight:800}.tenant-filter select{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;outline:0;height:38px;padding:0 10px}.filter-bar{border:1px solid var(--border);background:var(--surface);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px;padding:14px;display:grid}.filter-bar.four-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-bar label{min-width:0;color:var(--muted);grid-template-columns:18px 1fr;align-items:center;gap:5px 8px;display:grid}.filter-bar label>span{text-transform:uppercase;font-size:11px;font-weight:800}.filter-bar select{border:1px solid var(--border-strong);background:var(--surface);height:40px;color:var(--foreground);border-radius:6px;grid-column:1/-1;padding:0 9px}.staff-list-section{margin-top:0}.data-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{border-bottom:1px solid var(--border-strong);background:var(--surface-subtle);height:42px;color:var(--muted);text-align:left;text-transform:uppercase;white-space:nowrap;padding:0 14px;font-size:11px}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;min-height:58px;padding:13px 14px}.data-table tr:last-child td{border-bottom:0}.data-table td strong,.data-table td small{display:block}.data-table td small{color:var(--muted);margin-top:4px;font-size:11px}.plain-status{text-transform:capitalize;white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.status-active{background:var(--success-soft);color:var(--success)}.status-inactive,.status-on_leave{color:var(--accent);background:#fff4e5}.status-terminated{background:var(--danger-soft);color:var(--danger)}.status-pending{color:#3b5ccc;background:#edf2ff}.status-graduated{color:#6842b8;background:#f1ebff}.status-withdrawn{background:var(--danger-soft);color:var(--danger)}.staff-form-main{width:min(920px,100% - 48px);margin:0 auto;padding:42px 0 70px}.record-form-heading{margin-bottom:26px}.record-form-heading h1{margin-bottom:8px;font-size:30px}.record-form-heading p{color:var(--muted);margin-bottom:0;line-height:1.5}.record-form{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:0;display:grid}.record-form section{border-bottom:1px solid var(--border);padding:26px}.record-form section h2{margin-bottom:20px;font-size:17px}.record-form-actions{justify-content:flex-end;gap:10px;padding:20px 26px;display:flex}.split-actions{justify-content:space-between}.danger-button{background:var(--danger-soft);color:var(--danger);border-color:#efc4c0}.success-banner{background:var(--success-soft);color:var(--success);border:1px solid #b9dfc8;border-radius:6px;margin:18px 26px 0;padding:11px 13px;font-size:13px}.toggle-line{align-items:center;gap:9px;min-height:42px;padding-top:20px;font-size:13px;font-weight:700;display:flex}.toggle-line input{width:18px;height:18px;accent-color:var(--primary)}.password-result{background:var(--surface-subtle)}.inline-secret{align-items:center;gap:10px;display:flex}.inline-secret code{border:1px solid var(--border-strong);background:var(--surface);overflow-wrap:anywhere;border-radius:6px;flex:1;padding:12px}.password-result p{color:var(--muted);margin:10px 0 0;font-size:12px}.password-delivery-status{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;gap:14px;margin-top:18px;padding:16px;display:grid}.password-delivery-status h3{margin:0 0 6px;font-size:16px}.password-delivery-status p{color:var(--muted);margin:0}.status-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.status-detail-grid div{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:10px}.status-detail-grid .wide{grid-column:1/-1}.status-detail-grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:12px;font-weight:700}.status-detail-grid dd{overflow-wrap:anywhere;margin:0}.period-attendance-console{gap:18px;display:grid}.period-date-picker{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.period-date-picker input{background:0 0;border:0;padding:0}.period-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;gap:14px;padding:18px;display:grid}.period-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.period-form-grid .button{min-height:42px}.period-entry-grid{gap:10px;display:grid}.period-entry{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.period-entry div{gap:3px;display:grid}.period-entry span,.period-entry small{color:var(--muted)}.generate-button{margin-top:18px}.class-editor-list{gap:10px;display:grid}.class-editor-row{border-bottom:1px solid var(--border);grid-template-columns:72px 1.2fr .7fr .6fr 1fr 1.2fr;align-items:center;gap:8px;padding-bottom:10px;display:grid}.class-editor-row:last-child{border-bottom:0}.class-editor-row strong{font-size:12px}.class-editor-row input,.class-editor-row select,.field select[multiple]{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;width:100%;min-height:40px;padding:7px 9px}.class-editor-row select[multiple],.field select[multiple]{min-height:78px}.credential-result{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);text-align:center;border-radius:8px;justify-items:center;padding:48px;display:grid}.credential-result h1{margin-bottom:8px}.credential-result>p:not(.eyebrow):not(.credential-warning){max-width:620px;color:var(--muted);line-height:1.5}.credential-box{border:1px solid var(--border-strong);text-align:left;border-radius:7px;grid-template-columns:1fr 1.4fr;width:min(620px,100%);margin:20px 0 12px;display:grid;overflow:hidden}.credential-box>div{background:var(--surface-subtle);gap:7px;min-width:0;padding:15px;display:grid}.credential-box>div+div{border-left:1px solid var(--border)}.credential-box small{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.credential-box strong{overflow-wrap:anywhere;font-family:Consolas,Courier New,monospace;font-size:13px}.credential-warning{border-left:3px solid var(--accent);color:#7a3e08;text-align:left;background:#fff8ed;max-width:620px;margin:0 0 22px;padding:8px 12px;font-size:12px;line-height:1.5}.result-actions{gap:10px;display:flex}.template-button{width:100%}.file-drop{border:1px dashed var(--border-strong);background:var(--surface-subtle);min-height:190px;color:var(--muted);cursor:pointer;border-radius:7px;align-content:center;justify-items:center;gap:8px;display:grid;position:relative}.file-drop:hover{border-color:var(--primary);background:var(--primary-soft)}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-drop strong{color:var(--foreground);font-size:14px}.file-drop small{font-size:11px}.import-reference{background:var(--surface-subtle)}.code-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.code-reference-grid>div{gap:7px;min-width:0;display:grid}.code-reference-grid strong{text-transform:uppercase;font-size:11px}.code-reference-grid code{overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:1.5}.import-results{margin-top:24px}.import-results-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px;display:flex}.import-results-heading h2{margin:0;font-size:20px}.secret-cell{overflow-wrap:anywhere;max-width:320px;font-family:Consolas,Courier New,monospace;font-size:12px}.wizard-heading{margin-bottom:28px}.back-link{color:var(--muted);align-items:center;gap:6px;margin-bottom:26px;font-size:13px;font-weight:700;display:inline-flex}.back-link:hover{color:var(--foreground)}.wizard-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:24px;display:grid}.step-nav{gap:4px;display:grid}.step-button{width:100%;min-height:58px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid}.step-button:hover:not(:disabled){background:#e9edf0}.step-button.is-active{background:var(--surface);color:var(--foreground);box-shadow:0 0 0 1px var(--border)}.step-button:disabled{cursor:not-allowed;opacity:.5}.step-icon{background:#e7ebee;border-radius:6px;place-items:center;width:34px;height:34px;display:grid}.step-button.is-active .step-icon{background:var(--primary);color:#fff}.step-button>span:last-child{gap:2px;min-width:0;display:grid}.step-button small{text-transform:uppercase;font-size:10px}.step-button strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.wizard-panel{border:1px solid var(--border);background:var(--surface);min-height:560px;box-shadow:var(--shadow);border-radius:8px}.wizard-panel form{flex-direction:column;min-height:560px;padding:28px;display:flex}.panel-heading{border-bottom:1px solid var(--border);margin-bottom:26px;padding-bottom:18px}.panel-heading h2{margin-bottom:7px;font-size:20px}.panel-heading p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field{align-content:start;gap:7px;min-width:0;display:grid}.field>span,.option-group legend{color:#35414c;font-size:12px;font-weight:800}.field input,.field select,.term-row input,.form-grid select{border:1px solid var(--border-strong);background:var(--surface);width:100%;height:42px;color:var(--foreground);border-radius:6px;outline:0;padding:0 11px}.field input:focus,.field select:focus,.term-row input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.field input:disabled{color:var(--muted);background:#eef1f3}.field small{color:var(--muted);font-size:11px;line-height:1.4}.option-group{border:0;min-width:0;margin:24px 0 0;padding:0}.option-group legend{margin-bottom:11px}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.choice-card{border:1px solid var(--border);cursor:pointer;border-radius:7px;align-content:start;gap:7px;min-height:120px;padding:15px;display:grid;position:relative}.choice-card.is-selected{border-color:var(--primary);background:var(--primary-soft)}.choice-card input,.check-row input,.grade-option input,.toggle-check input{opacity:0;pointer-events:none;position:absolute}.choice-indicator{width:24px;height:24px;color:var(--primary);place-items:center;margin-bottom:4px;display:grid}.choice-card strong{font-size:14px}.choice-card small{color:var(--muted);font-size:11px;line-height:1.4}.check-list{border:1px solid var(--border);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.check-row{border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:11px;min-height:70px;padding:12px 14px;display:grid;position:relative}.check-row:nth-child(2n){border-right:0}.check-row:nth-last-child(-n+2){border-bottom:0}.checkbox-visual,.toggle-check>span{border:1px solid var(--border-strong);color:#fff;border-radius:4px;place-items:center;width:20px;height:20px;display:grid}.check-row input:checked+.checkbox-visual,.toggle-check input:checked+span{border-color:var(--primary);background:var(--primary)}.check-row>span:last-child{gap:4px;min-width:0;display:grid}.check-row strong{font-size:13px}.check-row small{color:var(--muted);font-size:11px;line-height:1.35}.grade-grid{grid-template-columns:repeat(13,minmax(38px,1fr));gap:6px;display:grid}.grade-option{border:1px solid var(--border);height:40px;color:var(--muted);cursor:pointer;border-radius:5px;place-items:center;font-size:12px;font-weight:800;display:grid;position:relative}.grade-option.is-selected{border-color:var(--primary);background:var(--primary);color:#fff}.legend-row{justify-content:space-between;align-items:center;min-height:40px;margin-bottom:8px;display:flex}.legend-row legend{margin:0}.term-list{gap:8px;display:grid}.term-row{grid-template-columns:minmax(120px,1fr) minmax(130px,1fr) minmax(130px,1fr) 40px;gap:8px;display:grid}.compact-checks{flex-wrap:wrap;gap:8px;display:flex}.toggle-check{border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:9px;min-height:40px;padding:8px 12px;font-size:13px;display:inline-flex;position:relative}.review-list{border:1px solid var(--border);border-radius:7px;display:grid;overflow:hidden}.review-row{border-bottom:1px solid var(--border);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px;min-height:78px;padding:13px 16px;display:grid}.review-row:last-child{border-bottom:0}.review-check{background:var(--success-soft);width:28px;height:28px;color:var(--success);border-radius:50%;place-items:center;display:grid}.review-row>span:last-child{gap:3px;display:grid}.review-row small{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.review-row strong{font-size:14px}.review-row em{color:var(--muted);font-size:12px;font-style:normal}.review-summary{border-left:3px solid var(--primary);margin-top:16px;padding:6px 0 6px 13px}.review-summary strong{font-size:12px}.review-summary p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.5}.error-banner{background:var(--danger-soft);color:var(--danger);border:1px solid #f4c7c3;border-radius:6px;margin-top:20px;padding:11px 13px;font-size:13px}.wizard-actions{justify-content:space-between;gap:12px;margin-top:auto;padding-top:28px;display:flex}.completion-state{text-align:center;align-content:center;justify-items:center;min-height:560px;padding:48px;display:grid}.completion-icon{background:var(--success-soft);width:72px;height:72px;color:var(--success);border-radius:50%;place-items:center;margin-bottom:22px;display:grid}.completion-state h2{margin-bottom:10px;font-size:26px}.completion-state>p:not(.eyebrow){max-width:560px;color:var(--muted);margin-bottom:26px;line-height:1.55}@media (max-width:900px){.report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.report-alert{grid-template-columns:40px minmax(0,1fr) auto}.report-alert>div:nth-child(3),.report-alert .alert-actions{grid-column:2/-1}.learner-attendance-row{grid-template-columns:repeat(2,minmax(0,1fr))}.learner-attendance-row .attendance-person{grid-column:1/-1}.holiday-layout{grid-template-columns:1fr}.attendance-overview-card{grid-template-columns:1fr 1fr 1fr}.attendance-overview-heading{border-right:0;border-bottom:1px solid var(--border);grid-column:1/-1;min-height:78px}.attendance-toolbar,.attendance-row{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-person,.attendance-absence,.attendance-special-status{grid-column:1/-1}.portal-header{grid-template-columns:auto 1fr auto;padding:0 18px}.portal-brand>span:last-child{display:none}.portal-header nav{justify-content:center}.portal-header nav a{min-width:54px;padding:0 9px;font-size:0}.portal-nav-menu{min-width:54px}.portal-nav-menu-trigger{padding:0 9px;font-size:0}.portal-nav-menu-trigger svg:last-child{display:none}.portal-header nav .portal-nav-submenu a{font-size:12px}.metric-grid,.profile-details{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-details>div,.profile-details>div:nth-child(3n){border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.profile-details>div:nth-child(2n){border-right:0}.profile-details>div:nth-last-child(-n+1){border-bottom:0}.admin-header{grid-template-columns:auto 1fr auto}.admin-nav{justify-content:center}.admin-nav a{min-width:auto}.filter-bar.four-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.class-editor-row{grid-template-columns:70px 1fr 1fr}.class-editor-row select{grid-column:span 1}.wizard-layout{grid-template-columns:1fr}.step-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.step-button{text-align:center;grid-template-columns:1fr;justify-items:center;min-height:68px}.step-button small{display:none}.step-button strong{width:100%}.choice-grid{grid-template-columns:1fr}.grade-grid{grid-template-columns:repeat(7,minmax(38px,1fr))}}.timetable-console{gap:18px;display:grid}.module-management-page{gap:20px;display:grid}.module-management-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.module-management-heading,.module-tenant-row,.module-tenant-action{align-items:center;display:flex}.module-management-heading{border-bottom:1px solid var(--border);justify-content:space-between;gap:20px;padding:20px}.module-management-heading h2,.module-management-heading p{margin:0}.module-management-heading h2{font-size:18px}.module-management-heading p{color:var(--muted);margin-top:5px;font-size:14px}.module-tenant-list{display:grid}.module-tenant-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:16px 20px}.module-tenant-row:last-child{border-bottom:0}.module-tenant-row>div:first-child{gap:3px;min-width:0;display:grid}.module-tenant-row strong{font-size:14px}.module-tenant-row small{color:var(--muted);font-size:12px}.module-tenant-action{flex-shrink:0;gap:12px}.module-enabled,.module-disabled{text-align:right;min-width:72px;font-size:12px;font-weight:800}.module-enabled{color:#16704d}.module-disabled{color:#6b7280}@media (max-width:640px){.module-management-heading,.module-tenant-row{flex-direction:column;align-items:stretch}.module-tenant-action{justify-content:space-between}.module-tenant-action .button{min-height:44px}}.timetable-editor,.timetable-grid-section{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:18px}.timetable-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.timetable-form-actions{align-items:end;gap:8px;display:flex}.timetable-class-filter{color:#35414c;gap:7px;width:min(100%,300px);margin-bottom:14px;font-size:12px;font-weight:800;display:grid}.timetable-class-filter select{border:1px solid var(--border-strong);background:var(--surface);min-height:42px;color:var(--foreground);border-radius:6px;padding:0 11px}.timetable-grid-wrap{overflow-x:auto}.timetable-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:860px}.timetable-grid th,.timetable-grid td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px}.timetable-grid thead th{border-top:1px solid var(--border);background:#eef3f5;font-size:13px}.timetable-grid th:first-child,.timetable-grid td:first-child{border-left:1px solid var(--border)}.timetable-grid tbody th{background:var(--surface-subtle);width:140px;font-size:12px}.timetable-grid tbody th span,.timetable-grid tbody th small,.timetable-entry span,.timetable-nonteaching span{display:block}.timetable-grid tbody th small,.timetable-entry span,.timetable-nonteaching span{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.35}.timetable-entry{background:#f2f8f6;min-height:76px}.timetable-entry strong,.timetable-nonteaching strong{font-size:12px}.timetable-entry>div{justify-content:flex-end;gap:4px;margin-top:7px;display:flex}.timetable-entry .icon-button{width:30px;height:30px}.timetable-nonteaching{background:#fff5db}.timetable-empty,.timetable-unavailable{color:var(--muted);text-align:center!important}@media (max-width:900px){.timetable-form{grid-template-columns:1fr}.timetable-form-actions{flex-direction:column;align-items:stretch}.timetable-form-actions .button{justify-content:center;min-height:44px}}.mobile-auth-shell{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));background:linear-gradient(180deg, var(--primary-soft), var(--background) 48%);place-items:center;display:grid}.mobile-auth-card,.mobile-onboarding-card{border:1px solid var(--border);background:var(--surface);width:min(100%,440px);box-shadow:var(--shadow);border-radius:22px;gap:16px;padding:24px;display:grid}.mobile-auth-card h1,.mobile-auth-card p,.mobile-onboarding-card h2,.mobile-onboarding-card p{margin:0}.mobile-auth-card h1{font-size:28px}.mobile-auth-card>p:not(.eyebrow),.mobile-onboarding-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.mobile-auth-icon{background:var(--primary-soft);width:52px;height:52px;color:var(--primary);border-radius:16px;place-items:center;display:grid}.mobile-auth-card form,.mobile-onboarding-card form{gap:10px;display:grid}.mobile-auth-card input,.mobile-onboarding-card input{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:48px;color:var(--foreground);border-radius:10px;padding:10px 12px}.mobile-pin-input{text-align:center;letter-spacing:.45em;font-size:24px!important}.mobile-auth-divider{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:11px;display:grid}.mobile-auth-divider:before,.mobile-auth-divider:after{content:"";background:var(--border);height:1px}.mobile-auth-link{min-height:44px;color:var(--primary);text-align:center;background:0 0;border:0;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.danger-link{color:var(--danger)}.mobile-onboarding-card{width:100%;margin:14px 0;padding:20px}.mobile-onboarding-card h2{font-size:21px}.mobile-onboarding-progress{align-items:center;gap:8px;display:flex}.mobile-onboarding-progress span{background:var(--surface-subtle);width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.mobile-onboarding-progress span.is-active{background:var(--primary);color:#fff}.mobile-security-note{color:var(--muted);line-height:1.5;display:block}.mobile-install-steps{background:var(--surface-subtle);border-radius:12px;gap:10px;padding:14px;display:grid}.mobile-install-steps p{color:var(--foreground)!important}.mobile-trust-summary{background:var(--success-soft);min-height:60px;color:var(--success);border:1px solid #b8d6c5;border-radius:14px;align-items:center;gap:12px;margin:14px 0;padding:12px 14px;display:flex}.mobile-trust-summary span{gap:2px;display:grid}.mobile-trust-summary small{color:var(--muted)}.mobile-admin-onboarding{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:28px;padding:24px;display:grid}.mobile-admin-onboarding h2{margin:4px 0 16px}.mobile-admin-qr{background:var(--surface-subtle);border-radius:14px;justify-items:center;gap:10px;padding:16px;display:grid}.mobile-admin-qr span{max-width:100%;color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:6px;font-size:11px;display:flex}.mobile-onboarding-checklist,.mobile-device-admin-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.mobile-onboarding-checklist li{color:var(--primary);grid-template-columns:24px minmax(0,1fr);gap:10px;display:grid}.mobile-onboarding-checklist span,.mobile-device-admin-list article>div{color:var(--foreground);gap:3px;display:grid}.mobile-onboarding-checklist small,.mobile-device-admin-list small{color:var(--muted)}.mobile-device-admin-list article{border-top:1px solid var(--border);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}@media (max-width:640px){.mobile-auth-card,.mobile-onboarding-card{padding:20px}.mobile-admin-onboarding{grid-template-columns:1fr;padding:18px}.mobile-device-admin-list article{grid-template-columns:40px minmax(0,1fr)}.mobile-device-admin-list article .button{grid-column:2;width:100%}.portal-nav-menu.is-open .portal-nav-submenu{z-index:100;width:auto;max-height:calc(100dvh - 92px);padding:8px;position:fixed;top:76px;left:12px;right:12px;overflow-y:auto}.portal-header nav .portal-nav-submenu a{min-height:48px;padding:12px;font-size:14px}.learner-class-filter{grid-template-columns:22px 1fr}.learner-class-filter select{grid-column:1/-1}.reports-heading{flex-direction:column;align-items:stretch}.reports-heading .button{width:100%}.report-filters,.report-metrics{grid-template-columns:1fr}.report-metrics article{border-right:0;border-bottom:1px solid var(--border);min-height:88px}.report-metrics article:last-child{border-bottom:0}.report-chart{padding:12px;overflow-x:auto}.report-chart svg{width:720px;min-height:216px}.report-chart-legend{justify-content:flex-start;width:720px}.report-alert{grid-template-columns:36px minmax(0,1fr)}.report-alert>.plain-status,.report-alert>div:nth-child(3),.report-alert .alert-actions{grid-column:2}.alert-actions{flex-direction:column;align-items:stretch}.learner-attendance-toolbar,.learner-attendance-row,.holiday-date-grid{grid-template-columns:1fr}.learner-absence-reason,.learner-present-label,.learner-attendance-row .attendance-person{grid-column:auto}.learner-attendance-toolbar .button{width:100%}.holiday-row{grid-template-columns:60px minmax(0,1fr) 36px 36px;padding:12px}.portal-section-heading>form{width:100%}.compact-field{flex:1;min-width:0}.attendance-overview-card{grid-template-columns:1fr}.attendance-overview-heading{grid-column:auto}.attendance-overview-value{border-right:0;border-bottom:1px solid var(--border);min-height:88px}.attendance-overview-value:last-child{border-bottom:0}.attendance-toolbar,.attendance-summary,.attendance-row{grid-template-columns:1fr}.attendance-summary span{border-right:0;border-bottom:1px solid var(--border);min-height:58px}.attendance-summary span:last-child{border-bottom:0}.attendance-person,.attendance-absence,.attendance-special-status{grid-column:auto}.attendance-actions .button,.attendance-toolbar .button{width:100%}.portal-header{gap:8px;padding:0 12px}.portal-header nav{justify-content:start;overflow-x:auto}.portal-header nav a{min-width:42px;padding:0 7px}.portal-nav-menu{min-width:42px}.portal-nav-menu-trigger{padding:0 7px}.portal-actions .icon-button{flex-basis:36px;width:36px;height:36px}.portal-main,.portal-section{width:min(100% - 28px,1180px);padding-top:30px}.metric-grid,.profile-details{grid-template-columns:1fr}.metric-card{min-height:150px}.portal-section-heading{flex-direction:column;align-items:start;gap:8px}.portal-heading-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.profile-details>div,.profile-details>div:nth-child(2n),.profile-details>div:nth-child(3n){border-right:0;border-bottom:1px solid var(--border)}.profile-details>div:last-child{border-bottom:0}.login-tabs button{padding:7px;font-size:11px}.admin-header{padding:0 16px}.admin-brand small,.admin-nav a{font-size:0}.admin-nav a{min-width:44px;padding:0 10px}.admin-main,.wizard-main{width:min(100% - 28px,1180px);padding-top:28px}.page-heading,.page-actions{flex-direction:column;align-items:stretch}.page-heading .button{width:100%}.institution-row{grid-template-columns:40px minmax(0,1fr)}.tenant-filter{grid-template-columns:22px 1fr}.tenant-filter select{grid-column:1/-1}.staff-form-main{width:min(100% - 28px,920px);padding-top:28px}.record-form section{padding:20px}.record-form-actions,.result-actions,.import-results-heading{flex-direction:column;align-items:stretch}.filter-bar,.filter-bar.four-filters{grid-template-columns:1fr}.class-editor-row{border:1px solid var(--border);border-radius:6px;grid-template-columns:1fr;padding:12px}.record-form-actions .button,.result-actions .button,.import-results-heading .button{width:100%}.credential-result{padding:36px 20px}.credential-box,.code-reference-grid{grid-template-columns:1fr}.credential-box>div+div{border-top:1px solid var(--border);border-left:0}.status-badge{grid-column:2;justify-self:start}.step-nav{grid-template-columns:repeat(5,56px);padding-bottom:4px;overflow-x:auto}.step-button{width:56px;padding:6px}.step-button>span:last-child{display:none}.wizard-panel form{padding:20px}.form-grid,.check-list{grid-template-columns:1fr}.check-row,.check-row:nth-child(2n),.check-row:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--border)}.check-row:last-child{border-bottom:0}.grade-grid{grid-template-columns:repeat(5,minmax(38px,1fr))}.term-row{grid-template-columns:1fr 1fr 40px}.term-row input:first-child{grid-column:1/-1}.wizard-actions{flex-direction:column-reverse;align-items:stretch}.wizard-actions .button{width:100%}.login-panel{padding:28px 22px}}@media (max-width:1000px){.executive-kpi-grid,.executive-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-trend-grid .executive-chart-card:last-child{grid-column:1/-1}}@media (max-width:680px){.executive-dashboard{width:min(100% - 28px,1320px);padding-top:24px}.executive-dashboard-heading h1{font-size:24px}.executive-kpi-grid,.executive-trend-grid,.executive-comparison-grid,.executive-action-grid{grid-template-columns:1fr}.executive-trend-grid .executive-chart-card:last-child{grid-column:auto}.executive-kpi{min-height:84px}.executive-chart-card{min-height:248px;padding-inline:14px}.executive-line-chart{height:160px}.executive-chart-labels{font-size:9px}.comparison-row{grid-template-columns:88px minmax(0,1fr) 40px;gap:8px}}.reporting-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:14px;padding:20px;display:grid}.check-card{border:1px solid var(--border);background:var(--surface-subtle);border-radius:7px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.check-card input{margin-top:3px}.check-card span{gap:3px;display:grid}.check-card small,.muted-text{color:var(--muted);font-size:11px}.button-row{flex-wrap:wrap;gap:10px;display:flex}.smtp-test-row{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;display:grid}.reporting-admin-message,.reporting-admin-result{grid-column:1/-1}.reporting-admin-result pre{border:1px solid var(--border);color:#e2e8f0;background:#0f172a;border-radius:6px;max-height:360px;margin:0;padding:14px;font-size:12px;overflow:auto}.demo-workflows-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px;display:grid}.demo-action-list,.demo-report-list{gap:10px;display:grid}.demo-action-card{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.demo-action-card>span{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:8px;place-items:center;display:grid}.demo-action-card>div,.demo-report-list article{gap:3px;min-width:0;display:grid}.demo-action-card small,.demo-report-list small{color:var(--muted);font-size:11px}.demo-workflow-message,.demo-workflow-result{grid-column:1/-1}.demo-workflow-result pre{border:1px solid var(--border);color:#e2e8f0;background:#0f172a;border-radius:6px;max-height:360px;margin:0;padding:14px;font-size:12px;overflow:auto}.mobile-attendance-settings-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:14px;padding:18px;display:grid}.mobile-attendance-settings-card>div:first-child{align-items:flex-start;gap:12px;display:flex}.mobile-attendance-settings-card h2{margin:0 0 4px;font-size:17px}.mobile-attendance-settings-card p{color:var(--muted);margin:0;font-size:12px}.mobile-attendance-icon{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:8px;flex:0 0 38px;place-items:center;display:grid}.mobile-attendance-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mobile-attendance-shell{width:min(100% - 24px,560px);min-height:100svh;margin:0 auto;padding:18px 0 92px}.mobile-attendance-hero{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#086f67,#064f4a);border-radius:22px;padding:24px}.mobile-attendance-hero p,.mobile-attendance-hero h1,.mobile-attendance-hero span{margin:0}.mobile-attendance-hero p,.mobile-attendance-hero span{opacity:.84;font-size:12px}.mobile-attendance-hero h1{margin:7px 0;font-size:30px}.mobile-class-list{gap:9px;margin:14px 0;display:grid}.mobile-class-list button,.mobile-attendance-card,.mobile-learner-row{border:1px solid var(--border);background:var(--surface);border-radius:16px;box-shadow:0 8px 18px #17202a0b}.mobile-class-list button{min-height:62px;color:var(--foreground);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.mobile-class-list button.is-active{border-color:var(--primary);background:var(--primary-soft)}.mobile-class-list span,.mobile-learner-row>div:first-child{gap:3px;display:grid}.mobile-class-list small,.mobile-learner-row small,.mobile-register-heading p{color:var(--muted);font-size:11px}.mobile-attendance-card{gap:14px;margin:14px 0;padding:16px;display:grid}.mobile-register-heading{justify-content:space-between;gap:12px;display:flex}.mobile-register-heading h2{margin:0 0 4px;font-size:20px}.mobile-register-heading p{margin:0}.mobile-attendance-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.mobile-attendance-totals span{background:var(--surface-subtle);border-radius:12px;place-items:center;min-height:68px;display:grid}.mobile-attendance-totals strong{font-size:22px}.mobile-attendance-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mobile-attendance-tabs button{border:1px solid var(--border-strong);background:var(--surface);min-height:44px;color:var(--muted);border-radius:8px;font-weight:800}.mobile-attendance-tabs button.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.mobile-lesson-panel,.mobile-lesson-card{gap:12px;display:grid}.mobile-lesson-card .field input,.mobile-lesson-card .field select{min-height:44px}.mobile-attendance-totals small{color:var(--muted);font-size:10px}.mobile-learner-list{gap:10px;display:grid}.mobile-learner-row{gap:10px;padding:14px;display:grid}.mobile-learner-row select,.mobile-learner-row input{border:1px solid var(--border-strong);width:100%;min-height:44px;color:var(--foreground);background:#fff;border-radius:10px;padding:9px 11px}.mobile-learner-row.status-absent{background:#fff8f7;border-color:#f1b7b1}.mobile-learner-row.status-arrived_late,.mobile-learner-row.status-left_early{background:#fffaf2;border-color:#f0c892}.mobile-exception-fields{grid-template-columns:118px minmax(0,1fr);gap:8px;display:grid}.mobile-save-bar{z-index:20;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f6f8f0;padding:12px;position:fixed;bottom:0;left:0;right:0}.mobile-save-bar .button{width:min(100%,536px);min-height:48px;margin:0 auto}.mobile-attendance-message{margin-top:12px}.mobile-push-card>div:first-child{gap:12px;display:flex}.mobile-push-card>div:first-child>span{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:12px;place-items:center;display:grid}.mobile-push-card h2,.mobile-push-card p{margin:0}.mobile-push-card small,.mobile-push-message{color:var(--muted)}.mobile-push-actions{flex-wrap:wrap;gap:8px;display:flex}.submission-dashboard-page{gap:18px;display:grid}.submission-dashboard-hero,.submission-dashboard-metrics article{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:18px}.submission-dashboard-hero{justify-content:space-between;align-items:flex-end;gap:18px;padding:24px;display:flex}.submission-dashboard-hero h1,.submission-dashboard-hero p{margin:0}.submission-dashboard-hero h1{margin:5px 0 7px}.submission-dashboard-hero p:not(.eyebrow){max-width:780px;color:var(--muted)}.submission-dashboard-controls{align-items:flex-end;gap:10px;display:flex}.submission-dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.submission-dashboard-metrics article{gap:6px;padding:16px;display:grid}.submission-dashboard-metrics article>span{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:12px;place-items:center;display:grid}.submission-dashboard-metrics small,.submission-dashboard-metrics em{color:var(--muted);font-style:normal}.submission-dashboard-metrics strong{font-size:28px}.submission-dashboard-table td,.submission-dashboard-table th{white-space:nowrap}.status-submitted_late{color:#92400e;background:#fff5db}.status-edited_after_cutoff{color:#9a3412;background:#ffedd5}.status-outstanding{color:#991b1b;background:#fee2e2}@media (max-width:900px){.reporting-admin-grid,.demo-workflows-grid,.smtp-test-row,.mobile-attendance-settings-grid{grid-template-columns:1fr}.submission-dashboard-hero,.submission-dashboard-controls{flex-direction:column;align-items:stretch}.submission-dashboard-metrics{grid-template-columns:1fr}}@media (max-width:680px){.educator-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.educator-overview-metrics .metric-card{min-width:0;min-height:124px;padding:12px}.educator-overview-metrics .metric-card>span{width:30px;height:30px;margin-bottom:10px}.educator-overview-metrics .metric-card>span svg{width:17px;height:17px}.educator-overview-metrics .metric-card small{font-size:10px}.educator-overview-metrics .metric-card strong{margin-top:3px;font-size:21px}.educator-overview-metrics .metric-card p{margin-top:3px;font-size:10px;line-height:1.25}.teacher-absence-card{gap:12px;padding:12px}.teacher-absence-grid{grid-template-columns:1fr;gap:8px}.teacher-absence-list{max-height:220px}.teacher-absence-list article{padding:9px 10px}.learner-attendance-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.learner-attendance-toolbar .field{min-width:0}.learner-attendance-toolbar .button{grid-column:1/-1}.learner-attendance-row .attendance-person{align-items:baseline;gap:8px;display:flex}.learner-attendance-row .attendance-person strong{min-width:0}.learner-attendance-row .attendance-person small{flex:none}.learner-attendance-row{height:auto;min-height:0}.attendance-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-summary span{border-right:1px solid var(--border);text-align:center;border-bottom:0;gap:2px;min-width:0;min-height:56px;padding:7px 2px}.attendance-summary span:last-child{border-right:0}.attendance-summary small{white-space:normal;font-size:8px;line-height:1.15}.attendance-summary strong{font-size:18px;line-height:1}.mobile-attendance-card{padding:14px 12px}.mobile-attendance-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.mobile-attendance-totals span{text-align:center;border-radius:8px;min-width:0;min-height:56px;padding:6px 2px}.mobile-attendance-totals strong{font-size:18px;line-height:1}.mobile-attendance-totals small{font-size:9px;line-height:1.15}}.participant-detail{width:100%;min-width:0}.participant-detail select,.participant-add-form select{border:1px solid var(--border-strong);background:#fff;border-radius:8px;width:100%;padding:7px 9px}.participant-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.participant-actions button{color:var(--primary);background:0 0;border:0;align-items:center;gap:4px;padding:2px 0;font-size:12px;font-weight:750;display:inline-flex}.participant-actions button:nth-of-type(2),.participant-actions button:only-of-type{color:#a33}.participant-add-form{border-top:1px solid var(--border);gap:10px;margin-top:16px;padding-top:16px;display:grid}.participant-add-form .field{gap:6px;display:grid}.participant-add-form .button{justify-self:start}.discipline-modal-backdrop{z-index:1100;background:#0f172a8f;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.discipline-modal{border:1px solid var(--border);background:#fff;border-radius:14px;width:min(680px,100%);max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 20px 50px #0f172a33}.discipline-modal>header{z-index:1;border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex;position:sticky;top:0}.discipline-modal>header h2{margin:2px 0 0}.discipline-modal>form{gap:16px;padding:22px;display:grid}.discipline-modal footer{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.timeline-entry-actions{justify-content:flex-end;display:flex}.notification-panel>.support-section-title{align-items:center}.notification-panel>.support-section-title .button{white-space:nowrap}@media (max-width:640px){.discipline-modal-backdrop{align-items:end;padding:0}.discipline-modal{border-radius:14px 14px 0 0;max-height:92vh}.discipline-modal>header,.discipline-modal>form{padding:16px}.discipline-modal footer{grid-template-columns:1fr 1fr;display:grid}.discipline-modal footer .button{justify-content:center}}.incident-workspace-page{background:0 0;gap:18px;max-width:1380px;padding-top:28px}.incident-breadcrumb{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.incident-breadcrumb a{color:var(--primary);align-items:center;gap:6px;font-weight:750;display:inline-flex}.incident-page-header{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:4px 0 20px;display:grid}.incident-title-block{min-width:0}.incident-reference-row{color:var(--muted);text-transform:uppercase;letter-spacing:.045em;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;font-weight:750;display:flex}.incident-page-header h1{letter-spacing:-.025em;margin:0;font-size:clamp(26px,3vw,36px);line-height:1.15}.incident-page-header p{max-width:700px;color:var(--muted);margin:8px 0 0;line-height:1.5}.incident-status{border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));background:var(--primary-soft);min-height:24px;color:var(--primary);text-transform:capitalize;letter-spacing:0;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.incident-header-facts{grid-template-columns:repeat(3,minmax(120px,auto));gap:20px;margin:0;display:grid}.incident-header-facts div{gap:4px;display:grid}.incident-header-facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;font-weight:750;display:flex}.incident-header-facts dd{text-transform:capitalize;max-width:190px;margin:0;font-size:13px;font-weight:700}.incident-workspace-layout{grid-template-columns:minmax(0,1fr) minmax(320px,370px);grid-template-areas:"summary participants""actions participants""timeline notifications""timeline evidence";align-items:start;gap:18px;display:grid}.incident-workspace-layout>.incident-case-grid,.incident-workspace-layout>.incident-governance-grid{display:contents}.incident-case-summary{grid-area:summary}.incident-participant-panel{grid-area:participants;max-height:calc(100vh - 36px);position:sticky;top:18px;overflow:auto}.action-workflow{grid-area:actions}.notification-panel{grid-area:notifications}.evidence-panel{grid-area:evidence}.incident-event-section{grid-area:timeline}.incident-workspace-layout .support-glass{box-shadow:none;border-radius:10px}.incident-case-summary>p{max-width:78ch;color:var(--text);line-height:1.65}.incident-case-summary dl{margin-top:18px}.section-count{background:var(--surface-muted,#f2f5f5);min-width:24px;height:24px;color:var(--muted);vertical-align:2px;border-radius:999px;justify-content:center;align-items:center;margin-left:6px;padding:0 7px;font-size:12px;font-weight:750;display:inline-flex}.incident-event-section>.support-section-title{align-items:center;margin-bottom:2px}.incident-event-list article:first-child,.notification-history article:first-child,.incident-participant-list>div:first-child{border-top:0}.notification-panel .discipline-modal{width:min(920px,100vw - 48px);max-height:none;overflow:visible}.notification-panel .discipline-modal>header{position:static}.notification-panel .discipline-modal>form{gap:18px}.notification-panel .discipline-modal .support-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.notification-panel .discipline-modal textarea{resize:vertical;min-height:100px}.discipline-modal-backdrop{align-items:start;padding-block:clamp(24px,7vh,72px);overflow-y:auto}.discipline-modal{max-height:none;overflow:visible}.discipline-modal>header{position:static}.discipline-modal input,.discipline-modal select,.discipline-modal textarea{min-height:42px}.discipline-modal footer{border-top:1px solid var(--border);padding-top:10px}@media (max-width:1100px){.incident-page-header{grid-template-columns:1fr;gap:18px}.incident-header-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.incident-workspace-layout{grid-template-columns:minmax(0,1fr) minmax(280px,330px);grid-template-areas:"summary participants""actions participants""notifications evidence""timeline timeline"}.incident-participant-panel{max-height:none;position:static}}@media (max-width:780px){.incident-workspace-page{padding-top:20px}.incident-page-header{padding-bottom:16px}.incident-header-facts{grid-template-columns:1fr 1fr}.incident-header-facts div:last-child{grid-column:1/-1}.incident-workspace-layout{flex-direction:column;display:flex}.incident-workspace-layout>*{width:100%}.incident-workspace-layout>.incident-case-grid,.incident-workspace-layout>.incident-governance-grid{display:contents}.incident-case-summary{order:1}.incident-participant-panel{order:2}.action-workflow{order:3}.notification-panel{order:4}.evidence-panel{order:5}.incident-event-section{order:6}.notification-panel .discipline-modal .support-form-grid{grid-template-columns:1fr}.notification-panel .discipline-modal{width:100%}.notification-panel>.support-section-title,.incident-event-section>.support-section-title{align-items:flex-start}.notification-panel>.support-section-title{gap:12px}.notification-panel>.support-section-title .button,.incident-event-section>.support-section-title .button{min-height:40px}}@media (max-width:640px){.discipline-modal-backdrop{align-items:end;padding:0}.discipline-modal,.notification-panel .discipline-modal{border-radius:14px 14px 0 0;width:100%;max-height:94vh;overflow-y:auto}.discipline-modal>header{position:sticky}.incident-page-header h1{font-size:26px}.incident-header-facts{gap:12px}.incident-header-facts dd{font-size:12px}.incident-case-summary dl{grid-template-columns:1fr 1fr}.notification-panel>.support-section-title,.incident-event-section>.support-section-title{grid-template-columns:1fr;display:grid}.notification-panel>.support-section-title .button,.incident-event-section>.support-section-title .button{justify-self:start}}.support-dashboard-page{background:0 0;gap:20px;max-width:1380px;padding-top:30px}.support-dashboard-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:28px;padding-bottom:20px;display:flex}.support-dashboard-header h1{letter-spacing:-.025em;margin:3px 0 7px;font-size:clamp(28px,3vw,38px);line-height:1.15}.support-dashboard-header p:last-child{max-width:650px;color:var(--muted);margin:0;line-height:1.5}.support-dashboard-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.support-dashboard-actions .button{min-height:40px}.support-summary-strip{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.support-summary-strip article{border-left:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:3px 12px;min-height:92px;padding:16px 20px;display:grid;position:relative}.support-summary-strip article:first-child{border-left:0}.support-summary-strip article>span{color:var(--muted);font-size:12px;font-weight:700}.support-summary-strip article>strong{font-variant-numeric:tabular-nums;grid-area:1/2/3;font-size:30px;line-height:1}.support-summary-strip article>small{color:var(--muted);font-size:11px}.support-summary-strip article.attention:before{content:"";background:#d79020;border-radius:2px;width:3px;position:absolute;inset:10px auto 10px 0}.support-summary-strip article.attention>strong{color:#8a570b}.support-dashboard-layout{grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);align-items:start;gap:18px;display:grid}.support-dashboard-page .support-glass{border-color:var(--border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:10px}.support-priority-panel .support-section-title{align-items:flex-start}.support-priority-panel .support-section-title p:last-child{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.45}.support-queue-table{display:grid}.support-queue-header,.support-queue-table .support-queue-row{grid-template-columns:70px minmax(180px,1fr) minmax(130px,.65fr) minmax(125px,.6fr) 18px;align-items:center;gap:14px;display:grid}.support-queue-header{border-bottom:1px solid var(--border);min-height:34px;color:var(--muted);text-transform:uppercase;letter-spacing:.045em;padding:0 6px;font-size:10px;font-weight:800}.support-queue-table .support-queue-row{border-top:1px solid var(--border);min-height:68px;padding:10px 6px;transition:background .14s}.support-queue-table .support-queue-row:first-of-type{border-top:0}.support-queue-table .support-queue-row:hover,.support-queue-table .support-queue-row:focus-visible{background:var(--primary-soft);transform:none}.support-queue-table .support-queue-row>svg{color:var(--muted)}.support-learner-cell,.support-activity-cell{gap:3px;min-width:0;display:grid}.support-learner-cell strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.support-learner-cell small,.support-activity-cell small{color:var(--muted);font-size:11px}.support-activity-cell strong{font-variant-numeric:tabular-nums;font-size:16px}.support-dashboard-sidebar{gap:18px;display:grid}.support-trend-panel .support-section-title{align-items:center}.support-trend-panel .support-section-title>strong{font-variant-numeric:tabular-nums;font-size:26px}.support-trend-panel .support-chart{gap:5px;height:180px;padding-top:8px}.support-trend-panel .support-chart span{background:var(--primary);border-radius:3px 3px 1px 1px}.support-trend-panel .support-chart small{writing-mode:horizontal-tb;white-space:nowrap;min-height:20px;font-size:9px}.support-recent-panel .support-section-title{align-items:center}.support-recent-panel .support-section-title>a{color:var(--primary);font-size:12px;font-weight:750}.support-recent-list{display:grid}.support-recent-list>a{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:66px;padding:10px 2px;display:grid}.support-recent-list>a:first-child{border-top:0}.support-recent-list>a:hover strong,.support-recent-list>a:focus-visible strong{color:var(--primary)}.support-recent-list>a>div,.support-recent-list>a>span{gap:4px;min-width:0;display:grid}.support-recent-list>a>div strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.support-recent-list small{color:var(--muted);font-size:11px}.support-recent-list>a>span{justify-items:end}.incident-severity{background:var(--primary-soft);min-width:58px;color:var(--primary);border-radius:999px;justify-content:center;padding:3px 7px;font-size:10px;font-weight:800;display:inline-flex}.incident-severity.severity-high,.incident-severity.severity-critical{color:#8a570b;background:#fff3d6}.support-empty-state{border-top:1px solid var(--border);align-content:center;justify-items:start;gap:8px;min-height:230px;padding:28px;display:grid}.support-empty-state h3,.support-empty-state p{margin:0}.support-empty-state p{max-width:460px;color:var(--muted);line-height:1.5}.support-empty-state.compact{min-height:120px;padding:20px 2px}@media (max-width:1050px){.support-dashboard-layout{grid-template-columns:1fr}.support-dashboard-sidebar{grid-template-columns:1fr 1fr}.support-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.support-summary-strip article:nth-child(3){border-left:0;border-top:1px solid var(--border)}.support-summary-strip article:nth-child(4){border-top:1px solid var(--border)}}@media (max-width:780px){.support-dashboard-page{padding-top:22px}.support-dashboard-header{flex-direction:column;align-items:flex-start}.support-dashboard-actions{justify-content:flex-start;width:100%}.support-dashboard-actions .button{flex:1}.support-dashboard-sidebar{grid-template-columns:1fr}.support-queue-header{display:none}.support-queue-table .support-queue-row{grid-template-columns:38px minmax(0,1fr) auto 18px;gap:10px}.support-queue-table .support-queue-row>.support-activity-cell{grid-column:2}.support-queue-table .support-queue-row>span:nth-of-type(4){grid-area:1/3/3}.support-queue-table .support-queue-row>svg{grid-area:1/4/3}.support-activity-cell{align-items:baseline;gap:5px;display:flex}.support-activity-cell small{white-space:normal}}@media (max-width:520px){.support-dashboard-header h1{font-size:28px}.support-dashboard-actions .button{flex:calc(50% - 6px);justify-content:center}.support-dashboard-actions .button-primary{flex-basis:100%;order:-1}.support-summary-strip{grid-template-columns:1fr 1fr}.support-summary-strip article{border-left:1px solid var(--border);grid-template-columns:1fr;min-height:104px;padding:14px;display:grid}.support-summary-strip article:nth-child(odd){border-left:0}.support-summary-strip article>strong{grid-area:auto;font-size:26px}.support-summary-strip article>small{line-height:1.25}.support-queue-table .support-queue-row{grid-template-columns:30px minmax(0,1fr) 16px;padding:12px 2px}.support-queue-table .support-queue-row>.support-activity-cell{grid-column:2}.support-queue-table .support-queue-row>span:nth-of-type(4){grid-area:auto/2;justify-self:start}.support-queue-table .support-queue-row>svg{grid-area:1/3/4}.support-priority-panel,.support-trend-panel,.support-recent-panel{padding:18px}.support-recent-list>a{grid-template-columns:minmax(0,1fr) auto}.support-recent-list>a>span small{display:none}}.learner-support-page{background:0 0;gap:18px;max-width:1280px;padding-top:28px}.learner-support-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:24px;padding:4px 0 20px;display:flex}.learner-identity{align-items:center;gap:16px;min-width:0;display:flex}.learner-profile-avatar{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));background:var(--primary-soft);width:54px;height:54px;color:var(--primary);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:17px;font-weight:850;display:grid}.learner-support-header h1{letter-spacing:-.025em;margin:3px 0 6px;font-size:clamp(28px,3vw,38px);line-height:1.15}.learner-support-header p:last-child{color:var(--muted);margin:0;line-height:1.45}.learner-support-summary{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.learner-support-summary article{border-left:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:14px 18px;display:flex;position:relative}.learner-support-summary article:first-child{border-left:0}.learner-support-summary article>span{color:var(--muted);font-size:12px;font-weight:700}.learner-support-summary article>strong{font-variant-numeric:tabular-nums;font-size:25px}.learner-support-summary article.attention:before{content:"";background:#d79020;border-radius:2px;width:3px;position:absolute;inset:10px auto 10px 0}.learner-support-summary article.attention>strong{color:#8a570b}.learner-case-history{gap:14px;display:grid}.learner-section-header{justify-content:space-between;align-items:end;gap:20px;padding-top:6px;display:flex}.learner-section-header h2{margin:2px 0 4px}.learner-section-header p:last-child{color:var(--muted);margin:0;font-size:13px}.learner-section-header>span{color:var(--muted);font-size:12px;font-weight:700}.learner-incident-list{gap:14px;display:grid}.learner-incident-record{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden}.learner-incident-record>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding:17px 20px;display:flex}.learner-incident-title{gap:12px;min-width:0;display:flex}.incident-severity-marker{background:var(--primary);border-radius:3px;width:4px;min-height:42px}.learner-incident-record.severity-high .incident-severity-marker{background:#d79020}.learner-incident-record.severity-critical .incident-severity-marker{background:#b74040}.learner-incident-record.severity-low .incident-severity-marker{background:#579b7f}.learner-incident-reference{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:9px;font-size:10px;font-weight:800;display:flex}.learner-incident-reference span+span{border-left:1px solid var(--border);padding-left:9px}.learner-incident-record h3{margin:5px 0 0;font-size:18px}.learner-incident-body{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:0;display:grid}.learner-incident-context,.learner-support-actions{padding:18px 20px}.learner-incident-context{border-right:1px solid var(--border)}.learner-incident-context>p{max-width:72ch;margin:0;line-height:1.6}.learner-incident-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:14px;font-size:12px;display:flex}.learner-incident-meta span{align-items:center;gap:5px;display:inline-flex}.learner-incident-record .cause-tags{margin-top:14px}.learner-subsection-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.learner-subsection-title h4{margin:0;font-size:13px}.learner-subsection-title>span{background:var(--primary-soft);min-width:22px;height:22px;color:var(--primary);border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.learner-intervention-list{display:grid}.learner-intervention-list>div{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px 0;display:grid}.learner-intervention-list>div:first-child{border-top:0}.learner-intervention-list>div>div{gap:2px;min-width:0;display:grid}.learner-intervention-list small{color:var(--muted);font-size:10px}.learner-intervention-list p{color:var(--muted);grid-column:1/-1;margin:3px 0 0;font-size:12px;line-height:1.45}.learner-no-actions{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.learner-incident-record>footer{border-top:1px solid var(--border);background:#fbfcfc;justify-content:flex-end;padding:11px 20px;display:flex}.incident-workspace-link{border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border));background:var(--primary-soft);min-height:38px;color:var(--primary);border-radius:8px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:800;transition:background .14s,color .14s,border-color .14s;display:inline-flex}.incident-workspace-link:hover,.incident-workspace-link:focus-visible{border-color:var(--primary);background:var(--primary);color:#fff}.learner-support-empty{border:1px solid var(--border);background:#fff;border-radius:10px;min-height:260px}@media (max-width:900px){.learner-incident-body{grid-template-columns:1fr}.learner-incident-context{border-right:0;border-bottom:1px solid var(--border)}.learner-support-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.learner-support-summary article:nth-child(3){border-left:0;border-top:1px solid var(--border)}.learner-support-summary article:nth-child(4){border-top:1px solid var(--border)}}@media (max-width:640px){.learner-support-page{padding-top:20px}.learner-support-header{flex-direction:column;align-items:flex-start}.learner-support-header>.button{justify-content:center;width:100%}.learner-profile-avatar{width:46px;height:46px}.learner-support-header h1{font-size:27px}.learner-support-summary article{min-height:84px;padding:13px 14px;display:grid}.learner-support-summary article>strong{font-size:23px}.learner-section-header{flex-direction:column;align-items:flex-start;gap:6px}.learner-incident-record>header{gap:12px;padding:15px}.learner-incident-context,.learner-support-actions{padding:15px}.learner-incident-record>footer{padding:10px 15px}.incident-workspace-link{justify-content:center;width:100%}.learner-incident-record>header>.incident-severity{font-size:9px}.learner-incident-meta{gap:7px;display:grid}.learner-incident-reference{flex-wrap:wrap}}.guardian-notification-backdrop{z-index:2000;background:#0f172a9e;place-items:center;padding:24px;display:grid;overflow-y:auto;position:fixed!important;inset:0!important}.guardian-notification-modal{border-radius:12px;width:min(920px,100vw - 48px);max-height:none;overflow:visible}.guardian-notification-modal>header{align-items:flex-start;padding:20px 24px;position:static}.guardian-notification-modal>header h2{font-size:clamp(24px,3vw,30px)}.guardian-notification-modal>header p:last-child{max-width:600px;color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.45}.guardian-notification-modal>form{gap:16px;padding:20px 24px 22px}.guardian-notification-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}.guardian-notification-fields .field{gap:6px;min-width:0;display:grid}.guardian-notification-fields input,.guardian-notification-fields select,.guardian-notification-fields textarea{width:100%;min-height:44px}.guardian-notification-notes{grid-column:1/-1}.guardian-notification-notes textarea{resize:vertical;min-height:96px}.guardian-notification-modal footer{margin-top:0;padding-top:16px}@media (max-width:700px){.guardian-notification-backdrop{align-items:stretch;padding:0;overflow:hidden}.guardian-notification-modal{border:0;border-radius:0;flex-direction:column;width:100vw;height:100dvh;min-height:100dvh;max-height:none;display:flex;overflow:hidden}.guardian-notification-modal>header{flex:none;padding:16px;position:static}.guardian-notification-modal>header h2{font-size:24px;line-height:1.2}.guardian-notification-modal>form{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px;display:flex;overflow-y:auto}.guardian-notification-fields{grid-template-columns:1fr;gap:12px}.guardian-notification-notes{grid-column:auto}.guardian-notification-notes textarea{min-height:84px}.guardian-notification-modal footer{background:#fff;grid-template-columns:1fr 1fr;margin-top:auto;padding-top:14px;display:grid}.guardian-notification-modal footer .button{justify-content:center}}.learner-register-controls{justify-content:space-between;align-items:center;gap:16px;margin:14px 0 10px;display:flex}.learner-register-search{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;align-items:center;gap:9px;width:min(440px,100%);min-height:42px;padding:0 11px;display:flex}.learner-register-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.learner-register-search>svg{color:var(--muted);flex:none}.learner-register-search input{background:0 0;border:0;outline:0;flex:1;min-width:0}.learner-register-search button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.learner-register-count{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.learner-register-count strong{color:var(--foreground);font-variant-numeric:tabular-nums}.learner-roster-number,.mobile-attendance-status{display:none}.learner-attendance-savebar>div{gap:2px;margin-right:auto;display:grid}.learner-attendance-savebar>div strong{font-size:13px}.learner-attendance-savebar>div span{color:var(--muted);font-size:11px}.learner-search-empty{text-align:center;justify-items:center;gap:8px}.learner-search-empty span{color:var(--muted);font-size:12px}@media (max-width:680px){.learner-attendance-page{padding-bottom:96px}.learner-attendance-page>.portal-heading{margin-bottom:12px}.learner-attendance-toolbar{z-index:2;border-radius:8px;grid-template-columns:1fr 1fr;gap:8px;padding:10px;position:relative}.learner-attendance-toolbar .field>span{font-size:10px}.learner-attendance-toolbar input,.learner-attendance-toolbar select{min-height:40px;padding-inline:8px;font-size:13px}.attendance-summary{z-index:5;background:var(--surface);border-radius:8px;margin-top:8px;position:sticky;top:0;box-shadow:0 2px 8px #0f172a14}.learner-register-controls{z-index:4;background:var(--background);grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:8px 0;padding:7px 0;display:grid;position:sticky;top:57px}.learner-register-search{min-height:40px;padding-inline:9px}.learner-register-search input{font-size:13px}.learner-register-count span{display:none}.learner-register-count{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:40px;padding:0 10px}.learner-register{gap:6px}.learner-attendance-row{border-left:3px solid var(--success);border-radius:8px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px 9px;padding:10px 10px 9px;position:relative}.learner-attendance-row.status-absent{border-left-color:#b74040}.learner-attendance-row.status-arrived_late,.learner-attendance-row.status-left_early{border-left-color:#d79020}.learner-roster-number{background:var(--surface-muted,#f0f3f3);width:26px;height:26px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:50%;grid-area:1/1;place-items:center;font-size:10px;font-weight:800;display:grid}.learner-attendance-row .attendance-person{grid-area:1/2;gap:1px;min-width:0;display:grid}.learner-attendance-row .attendance-person strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.25;overflow:hidden}.learner-attendance-row .attendance-person small{font-size:10px}.learner-attendance-row>.field:not(.attendance-reason):not(.learner-absence-reason){display:none}.mobile-attendance-status{grid-column:1/-1;grid-template-columns:1.12fr 1fr .8fr 1.15fr;gap:5px;display:grid}.mobile-attendance-status button{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:40px;color:var(--muted);border-radius:6px;padding:5px 3px;font-size:10px;font-weight:750;line-height:1.1}.mobile-attendance-status button[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.mobile-attendance-status .status-present[aria-pressed=true]{border-color:var(--success);background:var(--success-soft);color:var(--success);box-shadow:inset 0 0 0 1px var(--success)}.mobile-attendance-status .status-absent[aria-pressed=true]{color:#9b2f2f;background:#fff0f0;border-color:#b74040;box-shadow:inset 0 0 0 1px #b74040}.mobile-attendance-status .status-late[aria-pressed=true],.mobile-attendance-status .status-early[aria-pressed=true]{color:#80520c;background:#fff7e8;border-color:#d79020;box-shadow:inset 0 0 0 1px #d79020}.learner-attendance-row>.attendance-reason,.learner-attendance-row>.learner-absence-reason{grid-column:1/-1;gap:4px;display:grid}.learner-attendance-row>.field input{min-height:40px}.learner-attendance-savebar{z-index:30;border-top:1px solid var(--border);padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -4px 16px #0f172a1a}.learner-attendance-savebar .button{white-space:nowrap;min-height:44px}.attendance-message{margin-bottom:8px}}.role-dashboard{gap:18px;width:min(100% - 48px,1320px);padding-top:30px;display:grid}.role-dashboard-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:28px;padding:2px 0 20px;display:flex}.role-dashboard-header h1{letter-spacing:-.025em;margin:3px 0 7px;font-size:clamp(27px,3vw,36px);line-height:1.15}.role-dashboard-header p:last-child{color:var(--muted);margin:0;font-size:13px}.role-dashboard-header>.button{flex:none;min-height:42px}.role-summary-strip{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.role-summary-strip article{border-left:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;min-height:88px;padding:15px 18px;display:grid;position:relative}.role-summary-strip article:first-child{border-left:0}.role-summary-strip article>span{color:var(--muted);font-size:11px;font-weight:750}.role-summary-strip article>strong{font-variant-numeric:tabular-nums;grid-area:1/2/3;font-size:28px;line-height:1}.role-summary-strip article>small{color:var(--muted);font-size:10px}.role-summary-strip article.attention:before{content:"";background:#d79020;border-radius:2px;width:3px;position:absolute;inset:10px auto 10px 0}.role-summary-strip article.attention>strong{color:#8a570b}.educator-dashboard-layout{grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);align-items:start;gap:18px;display:grid}.educator-dashboard .teacher-absence-card{box-shadow:none;border-radius:10px;margin:0;padding:20px}.educator-dashboard .teacher-absence-card>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding-bottom:14px}.educator-dashboard .teacher-absence-card>header h2{margin-top:2px;font-size:20px}.educator-dashboard .teacher-absence-card>header p:last-child{margin-top:5px;font-size:12px}.educator-dashboard .teacher-absence-card>header>a{min-height:38px;color:var(--primary);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.educator-dashboard .teacher-absence-grid{gap:16px}.educator-dashboard .teacher-absence-grid>section{border-radius:8px}.educator-quick-panel{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:20px}.educator-quick-panel>div{border-bottom:1px solid var(--border);padding-bottom:13px}.educator-quick-panel h2{margin:2px 0 0;font-size:19px}.educator-quick-panel nav{display:grid}.educator-quick-panel nav>a{border-top:1px solid var(--border);grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:66px;padding:9px 1px;display:grid}.educator-quick-panel nav>a:first-child{border-top:0}.educator-quick-panel nav>a>span{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:7px;place-items:center;display:grid}.educator-quick-panel nav>a>div{gap:2px;min-width:0;display:grid}.educator-quick-panel nav>a strong{font-size:13px}.educator-quick-panel nav>a small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.educator-quick-panel nav>a>svg{color:var(--muted)}.educator-quick-panel nav>a:hover strong,.educator-quick-panel nav>a:focus-visible strong{color:var(--primary)}.executive-dashboard{gap:18px;padding-top:30px;display:grid}.executive-dashboard-heading{border-bottom:1px solid var(--border);text-align:left;justify-content:space-between;align-items:flex-end;gap:28px;margin:0;padding:2px 0 20px;display:flex}.executive-dashboard-heading h1{letter-spacing:-.025em;margin:3px 0 7px;font-size:clamp(28px,3vw,38px);line-height:1.15}.executive-dashboard-heading p:last-child{color:var(--muted);margin:0;font-size:13px}.executive-dashboard-heading nav{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.executive-dashboard-heading nav .button{min-height:40px}.executive-dashboard-heading nav .button-primary>span{min-width:19px;height:19px;color:var(--primary);background:#fff;border-radius:999px;place-items:center;font-size:10px;font-weight:850;display:inline-grid}.executive-kpi-grid{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden}.executive-kpi{border:0;border-left:1px solid var(--border);min-height:88px;box-shadow:none;border-bottom:0;border-radius:0;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px 18px}.executive-kpi:first-child{border-left:0}.executive-kpi:hover{background:var(--primary-soft);box-shadow:none}.executive-kpi>span{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:8px}.executive-kpi div{text-align:left}.executive-kpi small{font-size:11px}.executive-kpi strong{font-size:26px}.executive-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-top:4px;display:flex}.executive-section-heading h2{margin:2px 0 0;font-size:20px}.executive-section-heading>a{min-height:36px;color:var(--primary);align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.executive-trend-grid{grid-template-columns:1.35fr 1fr 1fr;gap:14px;margin:0}.executive-chart-card,.executive-list-panel{box-shadow:none;border-radius:10px}.executive-comparison-grid{margin:0}.executive-action-heading{margin-top:6px}.executive-action-grid{margin-top:-4px}@media (max-width:1050px){.educator-dashboard-layout{grid-template-columns:1fr}.educator-quick-panel nav{grid-template-columns:1fr 1fr;column-gap:18px}.educator-quick-panel nav>a:nth-child(2){border-top:0}.executive-dashboard-heading{flex-direction:column;align-items:flex-start;gap:16px}.executive-dashboard-heading nav{justify-content:flex-start}.executive-trend-grid{grid-template-columns:1fr 1fr}.executive-trend-grid>:first-child{grid-column:1/-1}}@media (max-width:760px){.role-dashboard,.executive-dashboard{gap:14px;width:min(100% - 28px,1320px);padding-top:20px;padding-bottom:48px}.role-dashboard-header{flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:16px}.role-dashboard-header>.button{justify-content:center;width:100%}.role-summary-strip{grid-template-columns:1fr 1fr}.role-summary-strip article:nth-child(3){border-left:0;border-top:1px solid var(--border)}.role-summary-strip article:nth-child(4){border-top:1px solid var(--border)}.educator-dashboard .teacher-absence-grid{grid-template-columns:1fr}.educator-dashboard .teacher-absence-list{max-height:none}.educator-quick-panel nav{grid-template-columns:1fr 1fr}.executive-dashboard-heading nav{grid-template-columns:1fr 1fr;width:100%;display:grid}.executive-dashboard-heading nav .button{justify-content:center}.executive-dashboard-heading nav .button-primary{grid-column:1/-1}.executive-kpi-grid{grid-template-columns:1fr 1fr}.executive-kpi:nth-child(3){border-top:1px solid var(--border);border-left:0;grid-column:1/-1}.executive-trend-grid,.executive-comparison-grid,.executive-action-grid{grid-template-columns:1fr}.executive-trend-grid>:first-child{grid-column:auto}}@media (max-width:520px){.role-dashboard-header h1,.executive-dashboard-heading h1{font-size:27px}.role-summary-strip article{grid-template-columns:1fr;min-height:96px;padding:13px 14px;display:grid}.role-summary-strip article>strong{grid-area:auto;font-size:25px}.educator-dashboard .teacher-absence-card,.educator-quick-panel{padding:15px}.educator-dashboard .teacher-absence-card>header{grid-template-columns:1fr;gap:8px;display:grid}.educator-dashboard .teacher-absence-card>header>a{justify-self:start}.educator-quick-panel nav{grid-template-columns:1fr}.educator-quick-panel nav>a:nth-child(2){border-top:1px solid var(--border)}.executive-kpi-grid{grid-template-columns:1fr}.executive-kpi,.executive-kpi:nth-child(3){border-top:1px solid var(--border);border-left:0;grid-column:auto}.executive-kpi:first-child{border-top:0}.executive-section-heading{flex-direction:column;align-items:flex-start;gap:5px}}.incident-form-step{gap:18px;display:grid}.incident-form-section-heading{border-bottom:1px solid var(--border);padding-bottom:14px}.incident-form-section-heading h2{margin:2px 0 5px}.incident-form-section-heading p:last-child{max-width:680px;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.incident-log-stepper small{font-size:12px}@media (max-width:767px){.incident-log-page{background:var(--background);gap:12px;width:100%;max-width:none;padding:14px 12px 94px}.incident-log-header.support-hero{border:0;border-bottom:1px solid var(--border);min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;align-items:flex-start;gap:12px;padding:6px 2px 16px;display:flex}.incident-log-header>div{min-width:0}.incident-log-header h1{letter-spacing:-.025em;margin:2px 0 5px;font-size:26px;line-height:1.15}.incident-log-header p:last-child{display:none}.incident-log-header>span{border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));background:var(--primary-soft);white-space:nowrap;border-radius:999px;flex:none;padding:5px 8px;font-size:10px}.incident-log-stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:3px 0 8px;display:grid;position:relative}.incident-log-stepper:before{content:"";background:var(--border);height:2px;position:absolute;top:18px;left:12.5%;right:12.5%}.incident-log-stepper div{z-index:1;color:var(--muted);text-align:center;justify-items:center;gap:5px;font-weight:700;display:grid;position:relative}.incident-log-stepper div:after{display:none}.incident-log-stepper span{border:3px solid var(--background);width:30px;min-width:30px;height:30px;padding:0;font-size:11px}.incident-log-stepper small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;line-height:1.15;overflow:hidden}.incident-log-stepper div[aria-current=step] small{color:var(--primary);font-weight:850}.incident-log-card.support-glass{border:1px solid var(--border);background:var(--surface);width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:10px;margin:0;padding:16px 14px 0;overflow:visible}.incident-log-card>.form-error{margin:0 0 14px}.incident-form-step{gap:14px}.incident-form-section-heading{padding-bottom:11px}.incident-form-section-heading h2{font-size:19px}.incident-form-section-heading p:last-child{font-size:11px}.incident-log-card .support-form-grid{grid-template-columns:1fr;gap:13px}.incident-log-card .span-2{grid-column:auto}.incident-log-card .field{gap:5px;min-width:0}.incident-log-card .field>span{font-size:11px;font-weight:750}.incident-log-card input,.incident-log-card select,.incident-log-card textarea{border-radius:8px;max-width:100%;min-height:44px;padding:9px 10px;font-size:16px}.incident-log-card textarea{min-height:112px}.incident-log-card input[type=datetime-local]{min-width:0}.incident-log-card .participant-section{gap:13px}.incident-log-card .participant-section>.support-section-title{border-bottom:1px solid var(--border);grid-template-columns:1fr;gap:10px;margin-bottom:0;padding-bottom:12px;display:grid}.incident-log-card .participant-section>.support-section-title h2{font-size:19px}.incident-log-card .participant-section>.support-section-title p{font-size:11px;line-height:1.45}.incident-log-card .participant-section>.support-section-title .button{justify-content:center;width:100%;min-height:42px}.incident-log-card .participant-list{gap:10px}.incident-log-card .participant-editor{border-radius:8px;min-width:0;padding:13px 12px}.incident-log-card .participant-editor>header{margin-bottom:11px}.incident-log-card .participant-editor .icon-button{width:40px;height:40px}.incident-log-card .primary-participant{border-top:1px solid var(--border);min-height:44px;margin-top:10px;padding-top:10px;font-size:12px}.incident-log-card .primary-participant input{width:20px;height:20px}.incident-log-card .cause-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.incident-log-card .cause-grid span{border-radius:8px;min-height:48px;padding:8px 9px;font-size:11px;line-height:1.25}.incident-log-card .form-actions{z-index:20;border-top:1px solid var(--border);padding:11px 14px calc(11px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;grid-template-columns:1fr 1fr;gap:9px;margin:18px -14px 0;display:grid;position:sticky;bottom:0;box-shadow:0 -4px 14px #0f172a12}.incident-log-card .form-actions .button{justify-content:center;width:100%;min-width:0;min-height:46px}.incident-log-card .form-actions .button:only-child,.incident-log-card .form-actions .button-primary:last-child:first-child{grid-column:1/-1}}@media (max-width:380px){.incident-log-page{padding-inline:9px}.incident-log-card.support-glass{padding-inline:11px}.incident-log-card .form-actions{margin-inline:-11px;padding-inline:11px}.incident-log-stepper small{font-size:8px}.incident-log-card .cause-grid{grid-template-columns:1fr}}.asset-session-shell{color:#17332b;background:#f4f7f5;min-height:100dvh;padding:18px}.asset-session-header{align-items:center;gap:12px;max-width:980px;margin:0 auto 16px;display:flex}.asset-session-header>a{width:44px;height:44px;color:inherit;background:#fff;border:1px solid #d5dfda;border-radius:12px;place-items:center;display:grid}.asset-session-header>div{flex:1;min-width:0}.asset-session-header p,.asset-session-header h1,.asset-session-header span{margin:0}.asset-session-header p{color:#517067;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.asset-session-header h1{font-size:clamp(1.35rem,4vw,1.8rem)}.asset-session-header>div>span{color:#62746e;font-size:.85rem}.asset-session-status{text-transform:capitalize;white-space:nowrap;background:#e6eee9;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:700}.asset-session-status.is-submitted{color:#6b4b00;background:#fff1cc}.asset-session-status.is-approved{color:#174d37;background:#dcefe5}.asset-session-status.is-returned,.asset-session-status.is-cancelled{color:#7b2e26;background:#f8dfdc}.asset-session-intro,.asset-session-primary,.asset-session-open,.asset-session-list,.asset-session-warning{background:#fff;border:1px solid #d8e1dc;border-radius:14px;max-width:980px;margin:0 auto 16px}.asset-session-intro{align-items:flex-start;gap:14px;padding:18px;display:flex}.asset-session-intro>svg{color:#24705a;flex:none}.asset-session-intro h2,.asset-session-intro p{margin:0}.asset-session-intro h2{font-size:1.05rem}.asset-session-intro p{color:#60746d;margin-top:4px;line-height:1.45}.asset-session-field{gap:6px;max-width:980px;margin:0 auto 14px;font-size:.85rem;font-weight:700;display:grid}.asset-session-field input,.asset-session-field select,.asset-session-toolbar input,.asset-session-toolbar select,.asset-session-item-form input,.asset-session-item-form select,.asset-session-item-form textarea{width:100%;min-height:44px;color:inherit;font:inherit;background:#fff;border:1px solid #cbd8d2;border-radius:9px;padding:10px 12px}.asset-session-scan-actions{gap:12px;max-width:980px;margin:0 auto 20px;display:grid}.asset-session-scan-actions .asset-session-field{width:100%;margin:0}.asset-session-error{color:#8a3026;background:#fff3f1;border:1px solid #e6b9b3;border-radius:9px;margin:0;padding:11px 13px}.asset-session-open{padding:16px}.asset-session-open>div{align-items:center;gap:8px;margin-bottom:10px;display:flex}.asset-session-open h2{margin:0;font-size:1rem}.asset-session-open>a{color:inherit;border-top:1px solid #e4ebe7;justify-content:space-between;gap:12px;padding:12px 0;text-decoration:none;display:flex}.asset-session-open>a span:first-child{gap:2px;display:grid}.asset-session-open small{color:#60746d}.asset-session-warning{background:#fff8f6;border-color:#e6b9b3;gap:12px;padding:14px;display:flex}.asset-session-warning p{margin:3px 0 0}.asset-session-metrics{grid-template-columns:repeat(4,1fr);gap:10px;max-width:980px;margin:0 auto 16px;display:grid}.asset-session-metrics>div{background:#fff;border:1px solid #d8e1dc;border-radius:11px;gap:3px;padding:13px;display:grid}.asset-session-metrics span{color:#60746d;font-size:.75rem}.asset-session-metrics strong{font-size:1.3rem}.asset-session-primary{padding:14px}.asset-session-primary p{color:#60746d;margin:8px 0 0;font-size:.85rem}.asset-session-list{overflow:hidden}.asset-session-toolbar{border-bottom:1px solid #d8e1dc;grid-template-columns:minmax(0,1fr) 190px;gap:10px;padding:12px;display:grid}.asset-session-item{border-bottom:1px solid #e3eae6}.asset-session-item:last-child{border-bottom:0}.asset-session-item-summary{width:100%;min-height:62px;color:inherit;text-align:left;background:#fff;border:0;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.asset-session-item-summary>span:first-child{gap:3px;min-width:0;display:grid}.asset-session-item-summary small{color:#60746d;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.asset-session-result{color:#4b625a;text-transform:capitalize;background:#edf2ef;border-radius:999px;flex:none;padding:5px 8px;font-size:.7rem;font-weight:700}.asset-session-item.is-found_scanned .asset-session-result,.asset-session-item.is-found_manual .asset-session-result{color:#174d37;background:#dcefe5}.asset-session-item.is-missing .asset-session-result,.asset-session-item.is-found_wrong_location .asset-session-result{color:#7b2e26;background:#f8dfdc}.asset-session-item-form{background:#fbfcfb;gap:12px;padding:0 14px 16px;display:grid}.asset-session-item-form dl{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.asset-session-item-form dl div,.asset-session-item-form label{gap:4px;display:grid}.asset-session-item-form dt,.asset-session-item-form label>span{color:#60746d;font-size:.75rem;font-weight:700}.asset-session-item-form dd{margin:0}.asset-session-empty,.asset-session-loading{color:#60746d;text-align:center;justify-items:center;gap:7px;padding:34px 16px;display:grid}.asset-session-footer{max-width:980px;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:#f4f7f5;border-top:1px solid #d8e1dc;justify-content:flex-end;gap:10px;margin:0 auto;display:flex;position:sticky;bottom:0}.asset-audit-review-bar{background:#fff;border:1px solid #d8e1dc;border-radius:12px;justify-content:flex-end;margin:0 0 16px;padding:12px;display:flex}.asset-audit-review-bar>div{flex-wrap:wrap;gap:10px;display:flex}.asset-audit-review-bar>p{color:#8a3026;margin:0 auto 0 0}@media (max-width:620px){.asset-session-shell{padding:12px}.asset-session-header{align-items:flex-start}.asset-session-status{margin-top:5px}.asset-session-metrics{grid-template-columns:1fr 1fr}.asset-session-toolbar{grid-template-columns:1fr}.asset-session-footer>*{flex:1}}.login-tabs button.is-active,.login-tabs button[aria-selected=true]{background:var(--primary);color:#fff;box-shadow:0 2px 7px color-mix(in srgb, var(--primary) 28%, transparent)}.login-tabs button:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 24%, transparent);outline-offset:2px}@media (max-width:390px){.learner-attendance-savebar>div span{display:none}.learner-attendance-savebar .button{padding-inline:12px;font-size:12px}.mobile-attendance-status button{font-size:9px}}.institution-edit-main{max-width:900px}.institution-row{grid-template-columns:minmax(0,1fr) auto auto}.institution-row-main{border-radius:5px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:14px;min-width:0;display:grid}.institution-row-main:focus-visible{outline:3px solid var(--primary-soft);outline-offset:3px}.institution-edit-action{min-height:38px;padding:7px 11px;font-size:12px}.institution-edit-section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.institution-edit-section-heading h2{margin-bottom:5px}.institution-edit-section-heading p,.institution-edit-section-copy{color:var(--muted);margin:0 0 18px;font-size:13px;line-height:1.5}.institution-edit-section-heading .status-badge{text-transform:capitalize;flex:none}.institution-save-success{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border));background:var(--primary-soft);color:var(--primary);border-radius:6px;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:700;display:flex}.completion-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (max-width:640px){.institution-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.institution-row-main{grid-column:1/-1}.institution-edit-action{min-height:40px}.institution-edit-section-heading{flex-direction:column;align-items:stretch;gap:10px}.institution-edit-section-heading .status-badge{align-self:flex-start}.completion-actions{flex-direction:column;align-items:stretch;width:100%}}.period-record-card{padding:22px}.period-record-card .period-form-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 12px}.period-field-timetable,.period-field-learner{grid-column:span 6}.period-field-exception{grid-column:span 4}.period-field-time{grid-column:span 2}.period-field-reason{grid-column:span 4}.period-save-button{grid-column:span 2;min-width:0}@media (max-width:760px){.period-attendance-console{gap:14px}.period-attendance-console .portal-section-heading{gap:14px;margin-bottom:0}.period-attendance-console .portal-section-heading h1{font-size:23px;line-height:1.2}.period-attendance-console .portal-section-heading p:last-child{font-size:13px;line-height:1.45}.period-date-picker{border-radius:8px;padding:4px 10px 4px 12px}.period-date-picker input{width:auto;min-width:0;font-size:14px}.period-card{border-radius:8px;gap:12px;padding:14px}.period-record-card{padding:16px}.period-card>.section-heading{align-items:flex-start;gap:5px;margin-bottom:0}.period-card>.section-heading h2{font-size:16px;line-height:1.3}.period-card>.section-heading>span{flex:none}.period-record-card .period-form-grid{grid-template-columns:1fr;gap:13px}.period-field-timetable,.period-field-learner,.period-field-exception,.period-field-time,.period-field-reason,.period-save-button{grid-column:1}.period-form-grid .field{gap:5px;min-width:0}.period-form-grid .field>span{font-size:12px}.period-form-grid select,.period-form-grid input{text-overflow:ellipsis;width:100%;min-width:0;min-height:48px;padding:9px 11px;font-size:14px;line-height:1.25}.period-form-grid select option{font-size:14px}.period-form-grid .button{width:100%;min-height:48px;margin-top:3px}.period-entry-grid{gap:8px}.period-entry{border-radius:7px;align-items:flex-start;padding:11px}.period-entry strong{font-size:13px}.period-entry span,.period-entry small{font-size:11px;line-height:1.4}.period-entry .icon-button{flex-basis:40px;width:40px;height:40px}.period-attendance-console>.period-card:last-child .portal-table-wrap{overflow:visible}.period-attendance-console>.period-card:last-child .portal-table,.period-attendance-console>.period-card:last-child tbody{min-width:0;display:block}.period-attendance-console>.period-card:last-child thead{display:none}.period-attendance-console>.period-card:last-child tbody{gap:10px;display:grid}.period-attendance-console>.period-card:last-child tr{border:1px solid var(--border);background:var(--surface-subtle);border-radius:7px;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;padding:12px;display:grid}.period-attendance-console>.period-card:last-child td{border:0;grid-column:1/-1;grid-template-columns:74px minmax(0,1fr);gap:8px;padding:0;font-size:12px;line-height:1.4;display:grid}.period-attendance-console>.period-card:last-child td:before{content:attr(data-label);color:var(--muted);letter-spacing:.035em;text-transform:uppercase;font-size:10px;font-weight:800}.period-attendance-console>.period-card:last-child td:last-child{border-top:1px solid var(--border);justify-content:flex-end;margin-top:3px;padding-top:9px;display:flex}.period-attendance-console>.period-card:last-child td:last-child:before{display:none}.period-attendance-console>.period-card:last-child .table-action{min-height:40px;padding:7px 2px 7px 14px}.period-attendance-console>.period-card:last-child .portal-empty{text-align:center;padding:20px 12px;display:block}.period-attendance-console>.period-card:last-child .portal-empty:before{display:none}}@media (max-width:390px){.period-attendance-console .portal-section-heading h1{font-size:21px}.period-card{padding:12px}.period-card>.section-heading{flex-direction:column}}.attendance-time-backdrop{z-index:2100;place-items:center;padding:20px}.attendance-time-modal{width:min(520px,100vw - 40px);max-height:calc(100dvh - 40px);overflow:auto}.attendance-time-modal>header{padding:18px 20px;position:static}.attendance-time-modal>header h2{margin:3px 0 0;font-size:23px}.attendance-time-modal>header p:last-child{color:var(--muted);margin:5px 0 0;font-size:13px}.attendance-time-modal>form{gap:16px;padding:20px}.attendance-time-modal .field{gap:6px;display:grid}.attendance-time-modal textarea{resize:vertical;width:100%;min-height:88px}.attendance-time-field{grid-template-columns:38px minmax(0,1fr);align-items:end;gap:10px;display:grid}.attendance-time-field>svg{background:var(--primary-soft);width:38px;height:42px;color:var(--primary);border-radius:8px;padding:9px}.attendance-time-modal footer{padding-top:15px}@media (max-width:680px){.attendance-time-backdrop{place-items:end center;padding:0}.attendance-time-modal{border-radius:14px 14px 0 0;width:100%;max-height:calc(100dvh - 24px)}.attendance-time-modal>header{padding:17px 16px}.attendance-time-modal>form{padding:16px calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.attendance-time-modal input{min-height:48px;font-size:18px}.attendance-time-modal textarea{min-height:96px}.attendance-time-modal footer{grid-template-columns:1fr 1fr;display:grid}.attendance-time-modal footer .button{justify-content:center;min-height:46px}}.guardian-directory .portal-section-heading p,.family-workspace .portal-section-heading p{max-width:680px;color:var(--muted);margin:5px 0 0}.guardian-filter-bar{align-items:center;gap:10px;margin:18px 0 14px;display:flex}.guardian-filter-bar>label{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;gap:9px;min-width:min(440px,100%);padding:0 12px;display:flex}.guardian-filter-bar input{border:0;outline:0;width:100%;min-height:42px}.table-secondary{color:var(--muted);margin-top:3px;font-size:12px;display:block}.guardian-learner-link,.learner-name-link{color:var(--primary);font-weight:600;text-decoration:none}.guardian-learner-link{font-size:13px;display:block}.guardian-learner-link:hover,.learner-name-link:hover{text-decoration:underline}.guardian-badges{flex-wrap:wrap;gap:5px;display:flex}.guardian-badges .status-badge{padding:4px 7px;font-size:11px}.portal-empty>svg{margin:0 auto 8px;display:block}.portal-empty>strong,.portal-empty>span{display:block}.guardian-phone-field>span{font-size:13px;font-weight:600}.guardian-phone-field>div{grid-template-columns:110px minmax(0,1fr);gap:8px;display:grid}.form-section-copy{color:var(--muted);margin:-4px 0 15px;font-size:13px}.guardian-confirm-duplicate{margin-top:16px}.family-loading{min-height:240px;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.family-alert{color:#7c4a03;background:#fff8eb;border:1px solid #f1c27d;border-radius:8px;align-items:flex-start;gap:10px;margin:16px 0;padding:12px 14px;display:flex}.family-alert div{gap:2px;display:grid}.family-alert span{font-size:13px}.family-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.family-summary-grid article{border:1px solid var(--border);background:#fff;border-radius:9px;gap:5px;padding:15px;display:grid}.family-summary-grid article>span{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.family-summary-grid strong{font-size:17px}.family-summary-grid small{color:var(--muted)}.family-panel{border:1px solid var(--border);background:#fff;border-radius:10px;margin-top:18px;padding:20px}.family-panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:15px;display:flex}.family-panel-heading h2{margin:0;font-size:18px}.family-panel-heading p{color:var(--muted);margin:4px 0 0;font-size:13px}.family-relationship-list,.family-document-list,.family-fee-list{border-top:1px solid var(--border);display:grid}.family-relationship-list>article,.family-document-list>article,.family-fee-list>article{border-bottom:1px solid var(--border);grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) auto;align-items:center;gap:14px;padding:12px 0;display:grid}.family-relationship-list article>div:first-child,.family-document-list article>div,.family-fee-list article>div{gap:2px;display:grid}.family-relationship-list small,.family-document-list small,.family-fee-list small{color:var(--muted)}.family-inline-form{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.family-inline-form h3{margin:0 0 14px;font-size:15px}.family-inline-form>.button{margin-top:15px}.family-check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin-top:14px;display:grid}.family-check-grid label{align-items:center;gap:8px;min-height:36px;font-size:13px;display:flex}.family-check-grid input{width:16px;height:16px}.family-document-list>article{grid-template-columns:1fr auto minmax(140px,auto)}.family-fee-list>article{grid-template-columns:1fr auto}.family-workspace>.back-link{margin-bottom:16px}@media (max-width:800px){.guardian-filter-bar{flex-wrap:wrap;align-items:stretch}.guardian-filter-bar>label{min-width:100%}.family-summary-grid{grid-template-columns:1fr}.family-panel{padding:15px}.family-panel-heading{display:grid}.family-relationship-list>article,.family-document-list>article,.family-fee-list>article{grid-template-columns:1fr;gap:8px}.family-check-grid{grid-template-columns:1fr 1fr}.guardian-phone-field>div{grid-template-columns:100px minmax(0,1fr)}}@media (max-width:480px){.family-check-grid{grid-template-columns:1fr}.guardian-filter-bar .button{flex:1}.guardian-phone-field>div{grid-template-columns:1fr}.family-panel{border-radius:8px;margin-inline:-4px}}.role-manager-layout{grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr);gap:18px;display:grid}.role-manager-layout .family-panel{margin-top:18px}.role-list{display:grid}.role-list article{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.role-list article>div{gap:2px;display:grid}.role-list small,.role-list article>span{color:var(--muted);font-size:12px}.role-description{grid-column:1/-1}.role-permissions{border:0;gap:8px;margin:17px 0;padding:0;display:grid}.role-permissions legend{margin-bottom:10px;font-size:13px;font-weight:700}.role-permissions label{border:1px solid var(--border);border-radius:7px;align-items:flex-start;gap:9px;padding:9px;display:flex}.role-permissions input{width:16px;height:16px;margin-top:2px}.role-permissions span{gap:2px;display:grid}.role-permissions small{color:var(--muted);font-size:12px}@media (max-width:900px){.role-manager-layout{grid-template-columns:1fr}}.it-support-page{gap:0;max-width:1380px;padding-top:0}.it-support-tabs{border-bottom:1px solid var(--border);background:#fff;gap:4px;margin:0 -28px;padding:0 28px;display:flex}.it-support-tabs a{min-height:46px;color:var(--muted);border-bottom:2px solid #0000;align-items:center;padding:0 13px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.it-support-tabs a:hover,.it-support-tabs a:focus-visible{color:var(--primary);background:var(--primary-soft)}.it-support-content{gap:20px;padding-top:28px;display:grid}.it-page-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:18px;display:flex}.it-page-header h1{letter-spacing:-.025em;margin:3px 0 6px;font-size:clamp(27px,3vw,36px);line-height:1.15}.it-page-header p:last-child{max-width:720px;color:var(--muted);margin:0;line-height:1.5}.it-page-header .eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:11px;font-weight:800}.it-page-header .eyebrow a{color:inherit}.it-summary-strip{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.it-summary-strip article{border-left:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:3px 12px;min-height:92px;padding:16px 20px;display:grid}.it-summary-strip article:first-child{border-left:0}.it-summary-strip span,.it-summary-strip small{color:var(--muted);font-size:12px}.it-summary-strip strong{font-variant-numeric:tabular-nums;grid-area:1/2/3;font-size:29px}.it-summary-strip small{font-size:11px}.it-work-panel{border:1px solid var(--border);background:#fff;border-radius:10px;padding:20px}.it-section-heading{justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:14px;display:flex}.it-section-heading h2,.it-work-panel>h2{margin:0;font-size:18px}.it-section-heading p{color:var(--muted);margin:4px 0 0;font-size:13px}.it-section-heading>a{color:var(--primary);align-items:center;gap:5px;font-size:13px;font-weight:700;display:inline-flex}.it-call-list{border-top:1px solid var(--border);display:grid}.it-call-list>a{border-bottom:1px solid var(--border);min-height:70px;color:inherit;grid-template-columns:36px minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:10px 4px;text-decoration:none;display:grid}.it-call-list>a:hover{background:var(--primary-soft)}.it-call-list>a>span{gap:4px;display:grid}.it-call-list>a>span:nth-child(3){justify-items:end}.it-call-list small{color:var(--muted);font-size:11px}.it-call-icon{background:var(--primary-soft);width:32px;height:32px;color:var(--primary);border-radius:50%;place-items:center;display:grid!important}.it-empty-state{text-align:center;place-content:center;justify-items:center;gap:8px;min-height:220px;display:grid}.it-empty-state h2,.it-empty-state h3,.it-empty-state p{margin:0}.it-empty-state p{max-width:440px;color:var(--muted)}.it-empty-state .button{margin-top:8px}.it-filter-bar{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.it-filter-bar select,.it-search{border:1px solid var(--border-strong);background:#fff;border-radius:8px;min-height:42px}.it-filter-bar select{padding:0 32px 0 11px}.it-search{align-items:center;gap:8px;min-width:min(420px,100%);padding:0 11px;display:flex}.it-search input{border:0;outline:0;width:100%;min-height:40px}.it-filter-bar>a{color:var(--primary);padding:8px;font-size:13px;font-weight:700}.it-call-link{color:inherit;gap:3px;text-decoration:none;display:grid}.it-call-link:hover strong{color:var(--primary)}.it-call-link small,.data-table td small{color:var(--muted);font-size:11px}.it-priority{background:var(--primary-soft);color:var(--primary);text-transform:capitalize;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.priority-high,.priority-urgent{color:#8a5200;background:#fff1dc}.priority-urgent{color:#9b2923;background:#fde8e7}.it-unassigned{color:#8a5200;font-weight:700}.status-new{color:#46545a;background:#edf2f3}.status-submitted_for_approval{color:#8a5200;background:#fff1dc}.status-closed{background:var(--success-soft);color:var(--success)}.it-mobile-calls{display:none}.it-call-form{gap:18px;display:grid}.it-call-form>section{border:1px solid var(--border);background:#fff;border-radius:10px;padding:20px}.form-section-heading{margin-bottom:18px}.form-section-heading h2{margin:0;font-size:18px}.form-section-heading p{color:var(--muted);margin:4px 0 0;font-size:13px}.it-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.it-form-grid label{align-content:start;gap:6px;font-size:13px;font-weight:700;display:grid}.it-form-grid .wide{grid-column:1/-1}.it-form-grid input,.it-form-grid select,.it-form-grid textarea,.it-comment-form textarea{border:1px solid var(--border-strong);width:100%;color:var(--foreground);font:inherit;background:#fff;border-radius:8px;padding:10px 11px}.it-form-grid input,.it-form-grid select{min-height:43px}.it-form-grid textarea,.it-comment-form textarea{resize:vertical;line-height:1.5}.it-form-actions{justify-content:flex-end;gap:9px;display:flex}.success-banner{border:1px solid var(--success);background:var(--success-soft);color:var(--success);border-radius:8px;align-items:center;gap:8px;padding:11px 13px;font-weight:700;display:flex}.it-detail-header{align-items:center}.it-detail-header>.status-badge{text-transform:capitalize}.it-detail-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.36fr);align-items:start;gap:18px;display:grid}.it-detail-main{gap:18px;display:grid}.it-description{white-space:pre-wrap;line-height:1.65}.it-facts{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:20px 0 0;display:grid}.it-facts div{border-bottom:1px solid var(--border);padding:13px 0}.it-facts dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.it-facts dd{margin:4px 0 0}.it-comments{border-top:1px solid var(--border);display:grid}.it-comments article{border-bottom:1px solid var(--border);padding:14px 0}.it-comments header{justify-content:space-between;gap:12px;display:flex}.it-comments time,.it-activity time{color:var(--muted);font-size:11px}.it-comments p{white-space:pre-wrap;margin:7px 0 0;line-height:1.55}.it-muted{color:var(--muted)}.it-comment-form{justify-items:start;gap:8px;margin-top:18px;display:grid}.it-comment-form label{font-weight:700}.it-comment-form textarea{min-width:min(620px,100%)}.it-activity{gap:0;display:grid}.it-activity>h2{border-bottom:1px solid var(--border);padding-bottom:13px}.it-activity>div{border-bottom:1px solid var(--border);grid-template-columns:28px 1fr;gap:8px;padding:13px 0;display:grid}.it-activity>div>span{background:var(--primary-soft);width:26px;height:26px;color:var(--primary);border-radius:50%;place-items:center;display:grid}.it-activity p{text-transform:capitalize;gap:3px;margin:0;display:grid}.it-logger-manager{gap:14px;display:grid}.it-logger-manager .numeric{text-align:right}.field-error{color:var(--destructive);margin:0;font-size:12px}@media (max-width:900px){.it-summary-strip{grid-template-columns:repeat(2,1fr)}.it-summary-strip article:nth-child(3){border-left:0;border-top:1px solid var(--border)}.it-summary-strip article:nth-child(4){border-top:1px solid var(--border)}.it-detail-grid{grid-template-columns:1fr}.it-activity{order:-1}.it-calls-table{display:none}.it-mobile-calls{border:1px solid var(--border);background:#fff;border-radius:10px;display:grid}.it-mobile-calls>a{border-bottom:1px solid var(--border);min-height:72px;color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.it-mobile-calls>a:last-child{border-bottom:0}.it-mobile-calls>a>span:first-child{gap:4px;display:grid}.it-mobile-calls small{color:var(--muted);font-size:11px}.it-mobile-calls .status-badge{white-space:nowrap}}@media (max-width:700px){.it-support-tabs{margin:0 -16px;padding:0 12px;overflow-x:auto}.it-support-content{padding-top:20px}.it-page-header{flex-direction:column;align-items:flex-start}.it-page-header>.button{justify-content:center;width:100%}.it-summary-strip article{grid-template-columns:1fr;min-height:98px;padding:13px}.it-summary-strip strong{grid-area:auto;font-size:25px}.it-call-list>a{grid-template-columns:32px minmax(0,1fr) 16px}.it-call-list>a>span:nth-child(3){grid-column:2;justify-items:start}.it-call-list>a>svg{grid-area:1/3/3}.it-form-grid{grid-template-columns:1fr}.it-form-grid .wide{grid-column:auto}.it-form-actions{border-top:1px solid var(--border);background:#fff;margin:0 -16px -16px;padding:12px 16px;position:sticky;bottom:0}.it-form-actions .button{flex:1;justify-content:center}.it-filter-bar{align-items:stretch}.it-filter-bar .it-search{flex-basis:100%}.it-filter-bar select{flex:1}.it-work-panel,.it-call-form>section{padding:16px}.it-facts{grid-template-columns:1fr}.it-comments header{gap:3px;display:grid}.it-logger-manager .data-table-wrap{overflow:visible}.it-logger-manager table,.it-logger-manager tbody,.it-logger-manager tr,.it-logger-manager td{display:block}.it-logger-manager thead{display:none}.it-logger-manager tr{border-bottom:1px solid var(--border);padding:14px 0;position:relative}.it-logger-manager td{border:0;padding:3px 0}.it-logger-manager .numeric{text-align:left}.it-logger-manager .button{justify-content:center;width:100%;margin-top:7px}}.dispatcher-shell{background:var(--background);min-height:100vh}.dispatcher-header{z-index:30;border-bottom:1px solid var(--border);background:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:64px;padding:0 28px;display:grid;position:sticky;top:0}.dispatcher-brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.dispatcher-brand>span:first-child{background:var(--primary);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.dispatcher-brand>span:last-child{gap:1px;display:grid}.dispatcher-brand small{color:var(--muted);font-size:10px}.dispatcher-header nav{align-self:stretch;gap:4px;display:flex}.dispatcher-header nav a{color:var(--muted);border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.dispatcher-header nav a:hover,.dispatcher-header nav a.is-active{border-bottom-color:var(--primary);color:var(--primary)}.dispatcher-page{gap:20px;max-width:1480px;margin:auto;padding:30px 28px;display:grid}.dispatcher-page-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;padding-bottom:18px;display:flex}.dispatcher-page-header h1{letter-spacing:-.025em;margin:3px 0 6px;font-size:34px}.dispatcher-page-header p:last-child{color:var(--muted);margin:0}.dispatcher-page-header .eyebrow,.dispatcher-sheet .eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:11px;font-weight:800}.dispatcher-summary{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dispatcher-summary article{border-left:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:78px;padding:14px 18px;display:grid}.dispatcher-summary article:first-child{border-left:0}.dispatcher-summary svg{color:var(--muted)}.dispatcher-summary span{color:var(--muted);font-size:12px;font-weight:700}.dispatcher-summary strong{font-size:26px}.dispatcher-summary .attention{box-shadow:inset 3px 0 #d79020}.dispatcher-summary .attention svg,.dispatcher-summary .attention strong{color:#8a570b}.dispatcher-panel{border:1px solid var(--border);background:#fff;border-radius:10px;padding:20px}.dispatcher-filter-bar{gap:9px;margin-bottom:14px;display:flex}.dispatcher-filter-bar label{border:1px solid var(--border-strong);border-radius:8px;align-items:center;gap:8px;min-width:min(440px,100%);min-height:42px;padding:0 11px;display:flex}.dispatcher-filter-bar input{border:0;outline:0;width:100%}.dispatcher-filter-bar select{border:1px solid var(--border-strong);background:#fff;border-radius:8px;min-height:42px;padding:0 32px 0 11px}.dispatcher-unassigned{color:#8a570b;align-items:center;gap:5px;font-weight:700;display:inline-flex}.dispatcher-table td:last-child{text-align:right}.dispatcher-table td>.status-badge{text-transform:capitalize}.dispatcher-sheet{z-index:50;justify-items:end;display:grid;position:fixed;inset:0}.dispatcher-sheet-scrim{background:#0c1b1f61;border:0;width:100%;height:100%;position:absolute;inset:0}.dispatcher-sheet>form{z-index:1;border-left:1px solid var(--border);background:#fff;align-content:start;gap:18px;width:min(460px,100%);height:100%;padding:24px;display:grid;position:relative;overflow-y:auto;box-shadow:-8px 0 24px #0c1b1f1f}.dispatcher-sheet header{border-bottom:1px solid var(--border);justify-content:space-between;gap:20px;padding-bottom:16px;display:flex}.dispatcher-sheet h2{margin:3px 0 5px}.dispatcher-sheet header p:last-child{color:var(--muted);margin:0;line-height:1.45}.dispatcher-sheet label{gap:6px;font-size:13px;font-weight:700;display:grid}.dispatcher-sheet select,.dispatcher-sheet textarea{border:1px solid var(--border-strong);width:100%;font:inherit;background:#fff;border-radius:8px;padding:10px 11px}.dispatcher-sheet select{min-height:43px}.dispatcher-sheet footer{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}@media (max-width:900px){.dispatcher-summary{grid-template-columns:1fr 1fr}.dispatcher-summary article:nth-child(3){border-left:0;border-top:1px solid var(--border)}.dispatcher-summary article:nth-child(4){border-top:1px solid var(--border)}.dispatcher-table table{min-width:900px}}@media (max-width:650px){.dispatcher-header{grid-template-columns:1fr auto;gap:10px;padding:8px 16px}.dispatcher-header nav{grid-area:2/1/auto/-1;min-height:42px;overflow-x:auto}.dispatcher-header nav a{min-height:42px}.dispatcher-page{padding:22px 16px}.dispatcher-page-header h1{font-size:28px}.dispatcher-summary article{grid-template-columns:auto 1fr;min-height:88px;padding:12px}.dispatcher-summary strong{grid-column:2;font-size:23px}.dispatcher-panel{padding:14px}.dispatcher-filter-bar{flex-wrap:wrap;align-items:stretch}.dispatcher-filter-bar label{min-width:100%}.dispatcher-filter-bar select{flex:1}.dispatcher-sheet>form{padding:18px}.dispatcher-sheet footer .button{flex:1;justify-content:center}}.dispatcher-panel-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:15px;display:flex}.dispatcher-panel-toolbar h2{margin:0;font-size:18px}.dispatcher-panel-toolbar p{color:var(--muted);margin:4px 0 0;font-size:13px}.dispatcher-panel-toolbar+.data-table-wrap{margin-top:12px}.dispatcher-sheet input{border:1px solid var(--border-strong);width:100%;min-height:43px;font:inherit;background:#fff;border-radius:8px;padding:9px 11px}.dispatcher-sheet label small,.dispatcher-sheet label>span{color:var(--muted);font-weight:400}.dispatcher-school-checks{border:1px solid var(--border);border-radius:8px;gap:7px;margin:0;padding:13px;display:grid}.dispatcher-school-checks legend{padding:0 5px;font-size:13px;font-weight:800}.dispatcher-school-checks>p{color:var(--muted);margin:0 0 4px;font-size:12px}.dispatcher-school-checks label{grid-template-columns:auto 1fr;align-items:center;gap:9px;min-height:36px;display:flex}.dispatcher-school-checks input{width:17px;height:17px;min-height:auto}.dispatcher-created{background:var(--success-soft);color:var(--success);border:1px solid #79b894;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:start;gap:11px;margin-top:14px;padding:13px;display:grid}.dispatcher-created p{color:var(--foreground);margin:3px 0;font-size:13px}.dispatcher-created>div>div{align-items:center;gap:8px;margin-top:10px;display:flex}.dispatcher-created code{border:1px solid var(--border);color:var(--foreground);background:#fff;border-radius:6px;padding:8px 10px;font-size:14px}@media (max-width:650px){.dispatcher-panel-toolbar{flex-direction:column;align-items:stretch}.dispatcher-panel-toolbar .button{justify-content:center}.dispatcher-created{grid-template-columns:auto 1fr}.dispatcher-created>.icon-button{grid-area:1/2;justify-self:end}.dispatcher-created>div>div{flex-direction:column;align-items:stretch}.dispatcher-created code{text-align:center}}.tech-app{min-height:100vh;color:var(--foreground);background:#f4f7f8}.tech-topbar{z-index:30;border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:8px max(18px,50vw - 560px);display:flex;position:sticky;top:0}.tech-topbar>div{gap:2px;display:grid}.tech-topbar span,.tech-topbar a{color:var(--muted);font-size:12px}.tech-topbar strong{font-size:15px}.tech-topbar button{width:42px;height:42px;color:var(--primary);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.tech-topbar a{color:var(--primary);align-items:center;gap:6px;font-weight:700;text-decoration:none;display:flex}.tech-content{gap:16px;width:min(1120px,100%);margin:auto;padding:24px 18px 94px;display:grid}.tech-page-head{padding:5px 0 10px}.tech-page-head p,.tech-panel-head p{color:var(--primary);text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:11px;font-weight:800}.tech-page-head h1{letter-spacing:-.025em;margin:5px 0;font-size:clamp(27px,5vw,36px)}.tech-page-head>span,.tech-panel-head span{color:var(--muted);font-size:13px}.tech-page-head.compact{padding-bottom:2px}.tech-page-head.compact h1{font-size:30px}.tech-banner{z-index:20;background:#fff;border:1px solid;border-radius:8px;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;display:flex;position:sticky;top:70px}.tech-banner.success{color:var(--success);border-color:#79b894}.tech-banner.error{color:var(--destructive);border-color:#dc8d87}.tech-metrics{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.tech-metrics button{border:0;border-left:1px solid var(--border);text-align:center;background:#fff;place-content:center;gap:3px;min-height:82px;display:grid}.tech-metrics button:first-child{border-left:0}.tech-metrics strong{font-size:25px}.tech-metrics span{color:var(--muted);font-size:11px}.tech-panel{border:1px solid var(--border);background:#fff;border-radius:10px;padding:18px}.tech-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:13px;display:flex}.tech-panel-head h1,.tech-panel-head h2{margin:4px 0 0;font-size:19px}.tech-panel-head button{color:var(--primary);background:0 0;border:0;font-size:12px;font-weight:800}.tech-call-list{display:grid}.tech-call-list>a{border-bottom:1px solid var(--border);min-height:76px;color:inherit;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;text-decoration:none;display:grid}.tech-call-list>a:last-child{border-bottom:0}.tech-call-list>a>span:nth-child(2){gap:3px;display:grid}.tech-call-list>a>span:last-child{justify-items:end;gap:5px;display:grid}.tech-call-list b{font-size:13px;font-weight:600}.tech-call-list small{color:var(--muted);font-size:10px}.tech-priority{background:#9aadb2;border-radius:2px;width:4px;height:42px}.tech-priority.high{background:#d79020}.tech-priority.urgent{background:var(--destructive)}.tech-not-assigned{font-weight:700;color:#8a570b!important}.tech-empty{min-height:130px;color:var(--muted);text-align:center;place-content:center;margin:0;display:grid}.tech-controls{gap:10px;display:grid}.tech-controls label{display:block}.tech-controls input{border:1px solid var(--border-strong);background:#fff;border-radius:8px;width:100%;min-height:44px;padding:0 12px}.tech-controls>div{gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.tech-controls button{white-space:nowrap;border:1px solid var(--border);min-height:38px;color:var(--muted);background:#fff;border-radius:999px;padding:0 13px;font-weight:700}.tech-controls button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.tech-form-panel{width:100%;max-width:780px;margin:auto}.tech-form{gap:14px;padding-top:16px;display:grid}.tech-form label{gap:6px;font-size:13px;font-weight:700;display:grid}.tech-form label>span{color:var(--muted);font-weight:400}.tech-form input,.tech-form select,.tech-form textarea,.tech-profile select{border:1px solid var(--border-strong);width:100%;min-height:43px;color:inherit;font:inherit;background:#fff;border-radius:8px;padding:9px 10px}.tech-form textarea{resize:vertical;line-height:1.5}.tech-form>.button{justify-self:start}.tech-check{grid-template-columns:auto 1fr;align-items:center;display:flex!important}.tech-check input{width:18px;height:18px;min-height:auto}.tech-visit-list{display:grid}.tech-visit-list article{border-bottom:1px solid var(--border);gap:3px;padding:12px 0;display:grid}.tech-visit-list span{font-size:13px}.tech-visit-list small{color:var(--muted)}.tech-profile{justify-items:start;width:100%;max-width:560px;margin:auto;display:grid}.tech-profile>svg{background:var(--primary-soft);color:var(--primary);border-radius:50%;padding:7px}.tech-profile h1{margin:10px 0 0}.tech-profile>p{color:var(--muted);margin:2px 0 15px}.tech-profile dl{border-top:1px solid var(--border);width:100%;margin:0 0 16px}.tech-profile dl div{border-bottom:1px solid var(--border);justify-content:space-between;padding:11px 0;display:flex}.tech-profile dt{color:var(--muted)}.tech-profile dd{text-transform:capitalize;margin:0}.tech-profile>label{gap:6px;width:100%;margin-bottom:15px;font-weight:700;display:grid}.tech-nav{z-index:40;min-height:68px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tech-nav button{min-height:64px;color:var(--muted);background:0 0;border:0;place-content:center;justify-items:center;gap:3px;font-size:10px;font-weight:700;display:grid}.tech-nav svg{width:20px;height:20px}.tech-nav button.active{color:var(--primary)}.tech-warning{color:#704707;background:#fff8eb;border-left:3px solid #d79020;margin-top:13px;padding:10px 12px;font-size:13px}.tech-description{white-space:pre-wrap;line-height:1.6}.tech-facts{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;margin:16px 0 0;display:grid}.tech-facts div{border-bottom:1px solid var(--border);padding:11px 0}.tech-facts dt{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.tech-facts dd{margin:3px 0 0}.tech-action-row{flex-wrap:wrap;gap:8px;padding-top:15px;display:flex}.tech-action-row button{border:1px solid var(--border-strong);background:#fff;border-radius:8px;align-items:center;gap:7px;min-height:43px;padding:0 13px;font-weight:700;display:flex}.tech-action-row button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.tech-action-row svg{width:17px}.tech-help{color:var(--muted);margin:9px 0 0;font-size:12px;line-height:1.45}.tech-detail-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:start;gap:16px;display:grid}.tech-comments article{border-bottom:1px solid var(--border);padding:12px 0}.tech-comments header{justify-content:space-between;gap:10px;display:flex}.tech-comments time,.tech-timeline time{color:var(--muted);font-size:10px}.tech-comments p{white-space:pre-wrap;margin:6px 0 0;line-height:1.5}.tech-ack{align-items:center;gap:9px;display:flex}.tech-ack>svg{color:var(--success)}.tech-ack span{display:grid}.tech-ack small{color:var(--muted)}.tech-timeline p{border-bottom:1px solid var(--border);text-transform:capitalize;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;margin:0;padding:10px 0;display:grid}.tech-timeline p>span{background:var(--primary);border-radius:50%;width:8px;height:8px}.tech-timeline b{font-size:12px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:900px){.tech-nav{border-top:0;border-right:1px solid var(--border);grid-template-rows:repeat(5,76px);grid-template-columns:1fr;align-content:start;width:84px;top:62px;right:auto}.tech-content{padding-bottom:40px;padding-left:102px}.tech-nav button{min-height:76px}.tech-topbar{padding-left:max(18px,50vw - 476px)}}@media (max-width:700px){.tech-content{padding:18px 14px 88px}.tech-panel{padding:15px}.tech-call-list>a{grid-template-columns:4px minmax(0,1fr)}.tech-call-list>a>span:last-child{grid-column:2;justify-items:start}.tech-detail-grid,.tech-facts{grid-template-columns:1fr}.tech-form>.button{justify-content:center;width:100%}.tech-action-row{display:grid}.tech-action-row button{justify-content:center}}.it-support-page{width:min(100% - 48px,1380px);margin-inline:auto}@media (max-width:700px){.it-support-page{width:min(100% - 28px,1380px)}}.tech-visit-time-grid{grid-template-columns:1.25fr 1fr 1fr;gap:12px;display:grid}.tech-visit-time-grid label{min-width:0}@media (max-width:600px){.tech-visit-time-grid{grid-template-columns:1fr 1fr}.tech-visit-time-grid label:first-child{grid-column:1/-1}}.tech-active-visit{z-index:29;color:#174b31;background:#eaf7ef;border-bottom:1px solid #9ac9b0;justify-content:space-between;align-items:center;gap:16px;padding:10px max(18px,50vw - 560px);display:flex;position:sticky;top:62px}.tech-active-visit>span{grid-template-columns:auto 1fr;align-items:center;column-gap:9px;display:grid}.tech-active-visit i{background:var(--success);border-radius:50%;grid-row:1/3;width:9px;height:9px;box-shadow:0 0 0 4px #cde9d8}.tech-active-visit b{font-size:13px}.tech-active-visit small{font-size:11px}.tech-active-visit button{color:#174b31;background:#fff;border:1px solid #4b8865;border-radius:7px;min-height:38px;padding:0 13px;font-weight:800}.tech-visit-actions{flex-wrap:wrap;gap:10px;display:flex}.tech-clock-in{width:100%;max-width:680px}.tech-clock-out{border-color:#dfb55c;width:100%;max-width:680px}.tech-form-actions{justify-content:flex-end;gap:9px;display:flex}.tech-visit-linked{align-items:center;gap:3px;font-weight:700;display:flex;color:var(--primary)!important}.it-approval-banner{background:#edf8f1;border:1px solid #8abca0;border-radius:9px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:14px 16px;display:flex}.it-approval-banner>div{gap:3px;display:grid}.it-approval-banner span{color:var(--muted);font-size:13px}.it-approval-action{justify-items:end;gap:6px;display:grid}.it-approval-action p{margin:0}@media (min-width:900px){.tech-active-visit{padding-left:max(102px,50vw - 476px)}}@media (max-width:700px){.tech-active-visit{align-items:flex-start;padding:9px 14px}.tech-active-visit>span{min-width:0}.tech-active-visit b,.tech-active-visit small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tech-active-visit button{flex:none}.tech-visit-actions{display:grid}.tech-visit-actions .button{justify-content:center}.tech-form-actions{grid-template-columns:1fr;display:grid}.tech-form-actions .button{justify-content:center}.it-approval-banner{flex-direction:column;align-items:stretch}.it-approval-action,.it-approval-action .button{width:100%}.it-approval-action .button{justify-content:center}}
