@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap";:root{color:#222;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;font-family:DM Sans,Segoe UI,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-width:320px;margin:0}#root{min-height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit}img{max-width:100%;display:block}svg{vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #3468b2}::selection{color:#173c70;background:#d9e8fd}.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 (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.portal-shell,.auth-page,.session-loader{--primary:#3468b2;--primary-fill:#3468b2;--primary-hover:#28538f;--primary-soft:#eaf1fb;--text:#222;--text-soft:#595959;--muted:#737373;--border:#e0e0e0;--border-strong:#c8c8c8;--surface:#fff;--surface-muted:#f0f0f0;--surface-hover:#e9e9e9;--canvas:#f5f5f5;--success:#277354;--success-soft:#edf7f1;--warning:#946316;--warning-soft:#fff4df;--danger:#b44545;--danger-soft:#fff4f4;--purple:#77559c;--purple-soft:#f3edf8;--shadow:0 3px 12px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--canvas)}.portal-shell[data-theme=dark],.auth-page[data-theme=dark],.session-loader[data-theme=dark]{--primary:#a1c3f5;--primary-hover:#3e70b7;--primary-soft:#242f3d;--text:#f0f0f0;--text-soft:#c7c7c7;--muted:#a3a3a3;--border:#333;--border-strong:#4a4a4a;--surface:#1a1a1a;--surface-muted:#222;--surface-hover:#2c2c2c;--canvas:#101010;--success:#8ecfb2;--success-soft:#22372d;--warning:#e4bf80;--warning-soft:#392f21;--danger:#e9a2a2;--danger-soft:#332525;--purple:#c8a9e3;--purple-soft:#302637;--shadow:0 4px 16px #00000029;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.portal-shell{min-height:100dvh}.sidebar{z-index:40;border-right:1px solid var(--border);background:var(--surface);scrollbar-width:thin;flex-direction:column;width:240px;padding:16px 14px;transition:transform .2s,visibility .2s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:4px 0 18px #1428480b}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:57px;margin-bottom:14px;padding:0 6px 15px;text-decoration:none;display:flex}.brand-icon{object-fit:cover;border-radius:10px;flex:0 0 38px;width:38px;height:38px;box-shadow:0 3px 9px #1b3f9124}.brand-copy{flex-direction:column;gap:4px;min-width:0;line-height:1.05;display:flex}.brand-copy strong{color:var(--primary);letter-spacing:-.025em;font-size:.96rem;font-weight:800}.brand-copy small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.61rem;font-weight:650}.nav-section{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin:16px 0 7px;padding:0 10px;font-size:.62rem;font-weight:800}.nav-link{width:100%;min-height:39px;color:var(--text-soft);text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:11px;margin:0 0 4px;padding:9px 10px;font-size:.79rem;font-weight:650;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:flex;position:relative}.nav-link svg{width:19px;height:19px;color:var(--muted)}.nav-link:hover{color:var(--text);background:var(--surface-muted)}.nav-link.active{border-color:var(--border);color:var(--primary);background:var(--primary-soft);box-shadow:0 4px 12px #264fb514}.nav-link.active svg{color:var(--primary)}.nav-link.active:before{background:var(--primary);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;inset:9px auto 9px -1px}.nav-link>span:first-of-type{flex:1}.nav-count,.notification-count{min-width:20px;height:20px;color:var(--primary);background:var(--primary-soft);border-radius:6px;place-items:center;padding:0 5px;font-size:.65rem;font-weight:750;display:inline-grid}.sidebar-footer{color:var(--muted);margin-top:auto;padding:20px 8px 3px;font-size:.7rem;line-height:1.6}.sidebar-footer strong{color:var(--text-soft);margin-bottom:3px;font-size:.74rem;display:block}.sidebar-backdrop,.icon-button.mobile-menu,.icon-button.sidebar-close{display:none}.skip-link{z-index:100;color:#fff;background:var(--primary-fill);border-radius:8px;padding:10px 16px;font-size:.8rem;text-decoration:none;position:fixed;top:8px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.sidebar-footer{grid-template-columns:18px minmax(0,1fr);align-items:flex-start;gap:8px;display:grid}.sidebar-footer>svg{width:18px;height:18px;color:var(--primary);margin-top:2px}.sidebar-footer>button{grid-column:1/-1;margin-top:10px}.sidebar-logout{margin-top:16px}.portal-main{min-width:0;min-height:100dvh;margin-left:240px}.topbar{z-index:20;border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:20px;height:64px;min-height:64px;padding:0 28px;display:flex;position:sticky;top:0;box-shadow:0 1px 4px #0d263f0d}.topbar-left,.topbar-right{align-items:center;gap:12px;min-width:0;display:flex}.topbar-right{flex-shrink:0}.breadcrumb{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:.88rem;display:flex}.breadcrumb strong{color:var(--text);font-weight:700}.breadcrumb svg{width:13px;height:13px}.icon-button{border:1px solid var(--border);width:36px;height:36px;color:var(--text-soft);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex;position:relative}.icon-button svg{width:18px;height:18px}.icon-button:hover{color:var(--primary);background:var(--surface-muted)}.icon-button .notification-count{border:2px solid var(--surface);color:#fff;background:var(--primary-fill);border-radius:50%;min-width:17px;height:17px;font-size:.55rem;position:absolute;top:-5px;right:-5px}.notification-dot{border:2px solid var(--surface);background:var(--primary-fill);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:7px}.profile-pill{border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;align-items:center;gap:9px;min-width:0;padding:4px 12px 4px 4px;display:inline-flex}.avatar{color:#fff;background:#376aa6;border-radius:50%;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.72rem;font-weight:750;display:inline-flex}.profile-pill>span:not(.avatar){text-overflow:ellipsis;white-space:nowrap;max-width:175px;font-size:.75rem;font-weight:600;overflow:hidden}.profile-pill small{color:var(--muted);font-size:.62rem;font-weight:400;display:block}.logout-button{border:0;border-left:1px solid var(--border);color:var(--muted);background:0 0;align-items:center;gap:6px;padding:4px 0 4px 12px;font-size:.77rem;display:inline-flex}.logout-button:hover{color:var(--danger)}.logout-button svg{width:16px;height:16px}.theme-toggle{flex-shrink:0}.content{width:100%;max-width:1640px;margin:0 auto;padding:26px 30px 34px}.page-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;padding-bottom:18px;display:flex}.page-header h1{color:var(--text);letter-spacing:-.035em;font-size:clamp(1.45rem,2vw,1.72rem);font-weight:750;line-height:1.16}.eyebrow{color:var(--primary);letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px;font-size:.68rem;font-weight:800;line-height:1.2;display:block}.page-subtitle{color:var(--muted);margin-top:6px;font-size:.82rem;line-height:1.5}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.button{border:1px solid var(--border-strong);min-height:38px;color:var(--text-soft);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-size:.77rem;font-weight:650;line-height:1.4;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.button svg{width:16px;height:16px}.button:hover:not(:disabled){border-color:var(--muted);color:var(--text);background:var(--surface-muted)}.button.primary{border-color:var(--primary-fill);color:#fff;background:var(--primary-fill)}.button.primary:hover:not(:disabled){border-color:var(--primary-hover);color:#fff;background:var(--primary-hover)}.button.small{min-height:30px;padding:5px 9px;font-size:.7rem}.button.subtle{border-color:var(--border);background:var(--surface-muted)}.full-width{width:100%}.text-button{color:var(--primary);white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:3px 0;font-size:.73rem;font-weight:650;text-decoration:none;display:inline-flex}.text-button:hover:not(:disabled){text-decoration:underline}.text-button svg{width:14px;height:14px}.child-picker{color:var(--text-soft);align-items:center;gap:9px;font-size:.75rem;font-weight:600;display:flex}.child-picker select,.filter-select{border:1px solid var(--border-strong);min-height:37px;color:var(--text);background:var(--surface);border-radius:8px;padding:7px 30px 7px 11px;font-size:.77rem}.child-summary{border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 19px;padding:14px 16px;display:flex}.child-summary .stat-icon{flex:0 0 39px;width:39px;height:39px;margin:0}.child-summary .field-label{color:var(--muted);letter-spacing:.07em;margin-bottom:5px;font-size:.58rem}.child-summary .child-picker select{min-width:160px;max-width:280px}.child-summary .avatar{flex-basis:42px;width:42px;height:42px;font-size:.9rem}.child-summary strong{font-size:.88rem;font-weight:700;display:block}.child-summary p,.child-summary small{color:var(--muted);font-size:.74rem}.child-summary>div{min-width:0}.child-summary>.status{margin-left:auto}.sync-note{color:var(--muted);align-items:center;gap:5px;font-size:.69rem;line-height:1.5;display:flex}.sync-note svg{width:13px;height:13px}.sync-note small{margin-top:3px;font-size:.61rem;display:block}.sync-dot{background:var(--success);border-radius:50%;flex:0 0 6px;width:6px;height:6px;margin-top:4px;display:inline-block}.child-summary .sync-note{align-items:flex-start;max-width:360px;margin-left:auto}.page-footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:27px;padding-top:17px;font-size:.64rem;display:flex}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.stat-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;min-width:0;min-height:136px;padding:17px 19px;position:relative}.stat-icon{width:30px;height:30px;color:var(--primary);background:var(--primary-soft);border-radius:8px;justify-content:center;align-items:center;margin-bottom:9px;display:inline-flex}.stat-icon svg{width:17px;height:17px}.stat-icon.blue{color:var(--primary);background:var(--primary-soft)}.stat-icon.green{color:var(--success);background:var(--success-soft)}.stat-icon.purple{color:var(--purple);background:var(--purple-soft)}.stat-icon.amber{color:var(--warning);background:var(--warning-soft)}.stat-label{color:var(--muted);font-size:.73rem;font-weight:550;display:block}.stat-value{color:var(--text);letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:4px;font-size:1.9rem;font-weight:750;line-height:1.12;display:block}.stat-description{color:var(--muted);margin-top:5px;font-size:.69rem;line-height:1.5}.overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:19px;margin-bottom:20px;display:grid}.section-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:19px;margin-bottom:20px;display:grid}.panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;min-width:0;margin-bottom:20px;overflow:hidden}.overview-grid>.panel,.section-grid>.panel{margin-bottom:0}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;min-height:68px;padding:17px 20px;display:flex}.panel-title{color:var(--text);letter-spacing:-.015em;font-size:.9rem;font-weight:750}.panel-description{color:var(--muted);margin-top:3px;font-size:.71rem;line-height:1.5}.hotline-pin-content{flex-wrap:wrap;align-items:flex-start;gap:24px;padding:20px;display:flex}.hotline-pin-details{flex:180px;min-width:0}.hotline-pin-value{color:var(--primary);font-variant-numeric:tabular-nums;letter-spacing:.18em;margin:9px 0;font-size:2.5rem;font-weight:750;line-height:1.25}.hotline-pin-status{color:var(--text);margin:9px 0;font-size:.88rem;display:block}.hotline-pin-help{max-width:330px;color:var(--muted);font-size:.75rem;line-height:1.6}.hotline-pin-reminder{border:1px solid color-mix(in srgb, var(--warning), transparent 70%);min-width:0;color:var(--text-soft);background:var(--warning-soft);border-radius:10px;flex:3 360px;padding:16px}.hotline-pin-reminder h3{color:var(--text);font-size:.8rem;font-weight:750}.hotline-pin-reminder p{margin-top:9px;font-size:.75rem;line-height:1.65}.preparedness-overview{align-items:center;gap:22px;padding:21px 22px;display:flex}.preparedness-overview h3{margin-bottom:6px;font-size:.9rem;font-weight:700}.preparedness-overview p{color:var(--muted);margin-top:8px;font-size:.73rem;line-height:1.6}.preparedness-overview .score-label{flex:1}.score-label h3{margin-top:8px}.score-ring{background:radial-gradient(closest-side, var(--surface) 77%, transparent 79%), conic-gradient(var(--primary) calc(var(--score,0) * 1%), var(--border) 0);width:112px;height:112px;color:var(--text);border-radius:50%;flex-direction:column;flex:0 0 112px;justify-content:center;align-items:center;display:flex}.score-ring strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:750;line-height:1.1}.score-ring small,.score-label{color:var(--muted);margin-top:3px;font-size:.62rem;font-weight:550}.status{max-width:100%;color:var(--text-soft);background:var(--surface-muted);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:4px;padding:4px 8px;font-size:.64rem;font-weight:700;line-height:1.4;display:inline-flex}.status.success{color:var(--success);background:var(--success-soft)}.status.warning{color:var(--warning);background:var(--warning-soft)}.status.muted{color:var(--muted);background:var(--surface-muted)}.status.info{color:var(--primary);background:var(--primary-soft)}.category-list{padding:0 20px 7px}.category-row{border-top:1px solid var(--border);align-items:center;gap:11px;padding:13px 0;display:flex}.category-icon{width:38px;height:38px;color:var(--primary);background:var(--primary-soft);object-fit:contain;border-radius:9px;flex:0 0 38px;justify-content:center;align-items:center;padding:5px;display:inline-flex}.category-icon img{object-fit:contain;width:100%;height:100%}.category-icon svg{width:21px;height:21px}.category-copy{flex:1;min-width:0}.category-copy strong{margin-bottom:3px;font-size:.74rem;font-weight:650;display:block}.category-copy small,.category-copy p{color:var(--muted);margin-top:4px;font-size:.65rem}.category-score{text-align:right;flex-shrink:0}.category-score strong{color:var(--text-soft);font-variant-numeric:tabular-nums;font-size:.77rem;display:block}.category-score .status{margin-top:5px;font-size:.59rem}.category-row.green .category-icon{color:var(--success);background:var(--success-soft)}.category-row.purple .category-icon{color:var(--purple);background:var(--purple-soft)}.category-row.amber .category-icon{color:var(--warning);background:var(--warning-soft)}.category-row.rose .category-icon{color:var(--danger);background:var(--danger-soft)}.category-group{min-width:0}.lesson-details{padding:0 0 12px 49px}.lesson-details>summary{width:fit-content;color:var(--primary);cursor:pointer;padding:3px 0;font-size:.66rem}.lesson-details>summary:hover{text-decoration:underline}.lesson-details>summary:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:3px}.lesson-details>.table-secondary{margin:10px 0 0}.lesson-details .lesson-list{margin-top:8px;padding:0}.lesson-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;padding:11px 0;display:flex}.lesson-row>div{min-width:0}.lesson-row>div:last-child{text-align:right;flex-shrink:0}.lesson-row strong{font-size:.7rem;font-weight:650;display:block}.lesson-row small{max-width:350px;color:var(--muted);margin-top:4px;font-size:.63rem;line-height:1.6;display:block}.lesson-row .status{margin-top:4px;font-size:.59rem}.progress-track{background:var(--surface-muted);border-radius:999px;height:6px;margin-top:7px;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--primary);max-width:100%;height:100%;transition:width .25s;display:block}.badge-preview{align-items:center;gap:16px;padding:21px 20px;display:flex}.badge-image{object-fit:contain;flex:0 0 83px;width:83px;height:83px}.badge-copy{flex:1;min-width:0}.badge-copy h3,.badge-copy strong{color:var(--text);margin-bottom:4px;font-size:.89rem;font-weight:750;display:block}.badge-copy p,.badge-copy small{color:var(--muted);font-size:.72rem;line-height:1.6}.badge-copy .progress-track{margin-top:12px}.badge-next{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;margin:0 20px 19px;padding:12px 14px}.badge-next .points-row{border:0;padding:0;font-size:.68rem}.badge-next .points-row strong{color:var(--text-soft);font-weight:650}.badge-next .points-row span{color:var(--muted);text-align:right;font-size:.64rem}.badge-next .progress-track{background:var(--border);margin:10px 0 7px}.badge-next .table-secondary{font-size:.63rem}.view-stack{gap:20px;display:grid}.view-stack>.panel,.view-stack>.section-grid{margin-bottom:0}.milestone-list{flex-direction:column;padding:0 20px 12px;display:flex}.milestone{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:9px;padding:10px 0;font-size:.72rem;display:flex}.milestone svg{width:17px;height:17px}.milestone img{object-fit:contain;width:42px;height:42px}.milestone>span{flex:1}.milestone strong{color:var(--text-soft);font-size:.7rem;font-weight:650}.milestone.earned{color:var(--success)}.milestone.current{color:var(--primary)}.points-list{padding:0 20px 8px}.points-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;padding:12px 0;font-size:.74rem;display:flex}.points-row:last-child{border-bottom:0}.points-row p,.points-row small{color:var(--muted);margin-top:3px;font-size:.65rem}.points-row>strong{color:var(--success);flex-shrink:0;font-weight:700}.table-wrap{scrollbar-width:thin;width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.74rem}thead{color:var(--muted);background:var(--surface-muted)}th{letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;padding:11px 19px;font-size:.63rem;font-weight:750}td{border-top:1px solid var(--border);vertical-align:middle;padding:14px 19px}tbody tr:hover{background:color-mix(in srgb, var(--surface-muted), transparent 60%)}.table-primary{color:var(--text);font-size:.75rem;font-weight:650;display:block}.table-secondary{color:var(--muted);margin-top:3px;font-size:.65rem;line-height:1.5;display:block}.watch-progress{min-width:120px;max-width:210px}.watch-progress>strong{color:var(--text-soft);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:650;display:block}.watch-progress .progress-track{margin-top:5px}.table-footnote{border-top:1px solid var(--border);color:var(--muted);background:var(--surface-muted);padding:13px 19px;font-size:.65rem;line-height:1.7}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;padding:32px 22px;display:flex}.empty-state>svg{width:31px;height:31px;color:var(--muted);margin-bottom:5px}.empty-state strong,.empty-state h3{color:var(--text-soft);font-size:.85rem;font-weight:650}.empty-state p{max-width:400px;color:var(--muted);font-size:.74rem;line-height:1.65}.notice{border:1px solid var(--border);color:var(--text-soft);background:var(--surface);border-radius:9px;align-items:flex-start;gap:9px;margin-bottom:18px;padding:12px 14px;font-size:.75rem;line-height:1.65;display:flex}.notice svg{width:17px;height:17px;margin-top:2px}.notice.error{border-color:color-mix(in srgb, var(--danger), transparent 75%);color:var(--danger);background:var(--danger-soft)}.notice.info{border-color:color-mix(in srgb, var(--primary), transparent 75%);color:var(--primary);background:var(--primary-soft)}.notice p+p{margin-top:6px}.loading-state,.session-loader{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:30px;font-size:.78rem;display:flex}.session-loader{flex-direction:column;min-height:100dvh}.spinner{border:2px solid var(--border,#e0e0e0);border-top-color:var(--primary,#3468b2);border-radius:50%;flex:0 0 20px;width:20px;height:20px;animation:.75s linear infinite spin;display:inline-block}.button .spinner{border-color:currentColor #ffffff59 #ffffff59;flex-basis:15px;width:15px;height:15px}@keyframes spin{to{transform:rotate(360deg)}}.activity-list{padding:0 20px}.activity-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:11px;padding:15px 0;display:flex}.activity-item:last-child{border-bottom:0}.activity-icon{width:32px;height:32px;color:var(--primary);background:var(--primary-soft);border-radius:8px;flex:0 0 32px;justify-content:center;align-items:center;display:inline-flex}.activity-icon svg{width:17px;height:17px}.activity-body{flex:1;min-width:0}.activity-body strong,.activity-body h3{color:var(--text);font-size:.76rem;font-weight:650;line-height:1.5;display:block}.activity-body p{color:var(--muted);margin-top:4px;font-size:.71rem;line-height:1.65}.activity-time{color:var(--muted);white-space:nowrap;margin-top:5px;font-size:.63rem;display:block}td.activity-time{margin:0;font-size:.67rem;display:table-cell}.activity-item>.activity-time{margin-left:auto;font-size:.6rem}.activity-icon.video_completed{color:var(--success);background:var(--success-soft)}.activity-icon.quiz_completed{color:var(--purple);background:var(--purple-soft)}.activity-icon.badge_earned{color:var(--warning);background:var(--warning-soft)}.notification-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:18px 20px;display:flex;position:relative}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:color-mix(in srgb, var(--primary-soft), var(--surface) 52%);box-shadow:inset 3px 0 var(--primary)}.notification-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin-top:9px;font-size:.65rem;display:flex}.notification-meta .activity-time{margin:0}.notification-meta:first-child{margin-top:0}.notification-item>.text-button{flex-shrink:0;font-size:.65rem}.notification-open{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:flex-start;gap:12px;padding:0;display:flex}.notification-item:has(.notification-open:hover){background:var(--surface-hover)}.notification-open:focus-visible{outline-offset:5px;border-radius:4px}.notification-preview{color:var(--muted);margin-top:4px;font-size:.71rem;line-height:1.65;display:block}.notification-details-link{color:var(--primary);align-items:center;gap:6px;margin-top:10px;font-size:.72rem;font-weight:650;display:inline-flex}.notification-dialog{border:1px solid var(--border);width:min(520px,100% - 28px);max-height:calc(100dvh - 32px);color:var(--text);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;margin:auto;padding:0;overflow-y:auto}.notification-dialog::backdrop{background:#0000008c}.notification-dialog-content{overflow-wrap:anywhere;padding:24px}.notification-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.notification-dialog-header h2{font-size:1.2rem;line-height:1.4}.notification-dialog-header .icon-button{flex-shrink:0}.notification-dialog-message{color:var(--text-soft);margin-top:16px;font-size:.875rem;line-height:1.7}.notification-detail-fields{gap:0;margin:20px 0 0;display:grid}.notification-detail-fields>div{border-top:1px solid var(--border);grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px 0;font-size:.8125rem;line-height:1.6;display:grid}.notification-detail-fields dt{color:var(--muted)}.notification-detail-fields dd{min-width:0;color:var(--text);margin:0}.notification-dialog-footer{justify-content:flex-end;margin-top:20px;display:flex}.notification-filter{color:var(--muted);align-items:center;gap:9px;font-size:.72rem;display:flex}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:17px;display:flex}.panel>.filter-bar{border-bottom:1px solid var(--border);margin:0;padding:15px 20px}.search-input{border:1px solid var(--border-strong);min-width:180px;max-width:390px;min-height:37px;color:var(--text);background:var(--surface);border-radius:8px;flex:1;align-items:center;gap:8px;padding:8px 11px;font-size:.75rem;display:flex}.search-input>svg{width:16px;height:16px;color:var(--muted)}.search-input>input{width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0}.search-input>input:focus-visible{outline:0}.search-input:focus-within{outline:3px solid var(--primary);outline-offset:2px}.search-input>input::placeholder,.search-input::placeholder,.auth-input::placeholder{color:var(--muted);opacity:1}.lesson-list{padding:0 20px}.lesson-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;padding:14px 0;display:flex}.lesson-item:last-child{border-bottom:0}.lesson-item strong{font-size:.76rem;font-weight:650;display:block}.lesson-item small,.lesson-item p{color:var(--muted);margin-top:4px;font-size:.68rem;display:block}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:20px;display:grid}.badge-card{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:7px;min-width:0;padding:20px 15px;display:flex}.badge-card img{object-fit:contain;width:90px;height:90px;margin:2px 0 7px}.badge-card strong{font-size:.81rem;font-weight:700}.badge-card p,.badge-card small{color:var(--muted);font-size:.68rem;line-height:1.5}.badge-card.earned{border-color:color-mix(in srgb, var(--success), transparent 70%);background:color-mix(in srgb, var(--success-soft), var(--surface) 70%)}.badge-card.locked img{opacity:.5;filter:grayscale()}.skeleton{background:var(--surface-muted);border-radius:6px;min-height:14px;animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{50%{opacity:.45}}.auth-page{background-image:radial-gradient(circle at 8% 10%,#3468b21a,#0000 31%),radial-gradient(circle at 92% 88%,#27735412,#0000 28%);grid-template-columns:minmax(300px,.88fr) minmax(390px,1.12fr);align-content:center;min-height:100dvh;padding:clamp(24px,4vw,54px) max(24px,50vw - 590px);display:grid;position:relative}.auth-art{isolation:isolate;min-height:min(720px,100dvh - 108px);color:var(--parent-auth-text);background:linear-gradient(148deg, var(--parent-auth-start), var(--parent-auth-middle) 60%, var(--parent-auth-end));box-shadow:-14px 20px 60px var(--parent-auth-shadow);border-radius:24px 0 0 24px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:24px;padding:34px 36px;display:flex;position:relative;overflow:hidden}.auth-art:before{z-index:-1;background-image:linear-gradient(var(--parent-auth-grid) 1px, transparent 1px), linear-gradient(90deg, var(--parent-auth-grid) 1px, transparent 1px);content:"";background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(to bottom right,#000,#0000 78%);mask-image:linear-gradient(to bottom right,#000,#0000 78%)}.auth-art h1,.auth-art h2{max-width:340px;color:var(--parent-auth-text);letter-spacing:-.035em;font-size:clamp(1.85rem,2.8vw,2.4rem);font-weight:750;line-height:1.18}.auth-art p{max-width:350px;color:var(--parent-auth-copy);margin-top:13px;font-size:.83rem;line-height:1.8}.auth-brand{align-items:center;gap:11px;display:inline-flex}.auth-brand img{border:2px solid var(--parent-auth-logo-border);width:47px;height:47px;box-shadow:0 5px 16px var(--parent-auth-logo-shadow);object-fit:cover;border-radius:13px}.auth-brand strong{color:var(--parent-auth-text);letter-spacing:-.025em;font-size:1.16rem;font-weight:750;display:block}.auth-brand small{color:var(--parent-auth-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:.63rem;display:block}.auth-brand .sidebar-brand{border:0;min-height:auto;margin:0;padding:0}.auth-art-copy .eyebrow{color:var(--parent-auth-accent);margin-bottom:12px;font-size:.6rem;line-height:1.7}.auth-art .auth-art-footer{color:var(--parent-auth-muted);margin:0;font-size:.65rem}.auth-mobile-brand{display:none}.auth-monitoring{border:1px solid var(--parent-auth-border);background:var(--parent-auth-card);width:100%;box-shadow:0 12px 30px var(--parent-auth-shadow);border-radius:16px;margin-top:auto;padding:22px}.monitoring-heading{border-bottom:1px solid var(--parent-auth-divider);align-items:center;gap:12px;padding-bottom:17px;display:flex}.monitoring-family{border:1px solid var(--parent-auth-icon-border);width:42px;height:42px;color:var(--parent-auth-text);background:var(--parent-auth-icon-surface);border-radius:12px;flex:0 0 42px;place-items:center;display:grid}.monitoring-family svg{width:23px;height:23px}.monitoring-kicker{color:var(--parent-auth-accent);letter-spacing:.1em;margin-bottom:4px;font-size:.51rem;font-weight:700;display:block}.auth-monitoring .monitoring-heading h2{letter-spacing:-.015em;max-width:none;font-size:.94rem;font-weight:650;line-height:1.4}.monitoring-features{gap:16px;margin:20px 0;padding:0;list-style:none;display:grid}.monitoring-features li{align-items:center;gap:12px;display:flex}.monitoring-icon{width:34px;height:34px;color:var(--parent-auth-accent);background:var(--parent-auth-icon-surface);border-radius:9px;flex:0 0 34px;place-items:center;display:grid}.monitoring-icon svg{width:18px;height:18px}.monitoring-features strong{color:var(--parent-auth-text);font-size:.76rem;font-weight:650;line-height:1.5;display:block}.monitoring-features li>div>span{color:var(--parent-auth-muted);margin-top:2px;font-size:.66rem;line-height:1.6;display:block}.monitoring-updates{border-top:1px solid var(--parent-auth-divider);color:var(--parent-auth-muted);align-items:center;gap:8px;padding-top:14px;font-size:.64rem;display:flex}.monitoring-updates svg{width:14px;height:14px}.auth-panel{background:var(--surface);min-width:0;box-shadow:14px 20px 60px var(--parent-auth-shadow);border-radius:0 24px 24px 0;justify-content:center;align-items:center;padding:60px 46px;display:flex;position:relative}.auth-card{width:100%;max-width:385px}.auth-card>.brand-icon{border-radius:12px;width:48px;height:48px;margin-bottom:25px}.auth-heading{color:var(--text);letter-spacing:-.04em;margin:8px 0 10px;font-size:1.8rem;font-weight:750;line-height:1.2}.auth-description{color:var(--muted);overflow-wrap:anywhere;margin-bottom:27px;font-size:.81rem;line-height:1.8}.auth-description strong{color:var(--text-soft);font-weight:650}.field-label{color:var(--text-soft);margin:0 0 8px;font-size:.75rem;font-weight:650;display:block}.auth-input{border:1px solid var(--border-strong);width:100%;height:45px;color:var(--text);background:var(--surface);border-radius:8px;padding:11px 13px;font-size:.83rem}.auth-input:hover:not(:disabled){border-color:var(--muted)}.auth-input:focus{border-color:var(--primary)}.auth-input[aria-invalid=true]{border-color:var(--danger)}.auth-input+.field-label{margin-top:18px}.code-input{font-variant-numeric:tabular-nums;letter-spacing:.55em;text-align:center;height:55px;padding-left:22px;font-size:1.6rem;font-weight:650}.auth-help{color:var(--muted);margin-top:9px;font-size:.68rem;line-height:1.7}.auth-card form>.button,.auth-card>.button{width:100%;min-height:44px;margin-top:23px;font-size:.8rem}.auth-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;justify-content:space-between;align-items:center;gap:15px;margin-top:27px;padding-top:19px;font-size:.7rem;line-height:1.7;display:flex}.auth-footer .text-button{font-size:.7rem}.auth-message{border:1px solid var(--border);color:var(--primary);background:var(--primary-soft);overflow-wrap:anywhere;border-radius:8px;margin:0 0 19px;padding:11px 12px;font-size:.74rem;line-height:1.7}.auth-message.error{color:var(--danger);background:var(--danger-soft)}.auth-back{color:var(--muted);background:0 0;border:0;align-items:center;gap:5px;margin:18px 0 0;padding:4px 0;font-size:.73rem;display:inline-flex}.auth-back svg{width:14px;height:14px}.auth-back:hover{color:var(--primary)}.auth-page .theme-toggle{z-index:2;position:absolute;top:20px;right:22px}.auth-security{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin-top:27px;font-size:.65rem;display:flex}.auth-security svg{width:15px;height:15px;color:var(--success)}.auth-bottom{color:var(--muted);text-align:center;font-size:.62rem;position:absolute;bottom:19px;left:20px;right:20px}@media (width>=1600px){.content{padding-top:30px}}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}.content{padding:23px}.profile-pill>span:not(.avatar){max-width:120px}.preparedness-overview{gap:14px;padding:20px}.score-ring{flex-basis:95px;width:95px;height:95px}.category-score .status{max-width:115px}}@media (width<=1050px){.overview-grid,.section-grid{grid-template-columns:minmax(0,1fr)}.profile-pill>span:not(.avatar){display:none}.profile-pill{padding-right:4px}.page-header{align-items:flex-start}.header-actions{max-width:235px}.auth-page{grid-template-columns:minmax(270px,.88fr) minmax(350px,1.12fr);padding:24px}.auth-art{padding:30px 26px}.auth-panel{padding:55px 30px}}@media (width<=860px){.sidebar{visibility:hidden;transform:translate(-100%);box-shadow:12px 0 30px #0a1f3c38}.sidebar.open{visibility:visible;transform:translate(0)}.icon-button.sidebar-close{background:var(--surface);border:0;width:29px;height:29px;display:inline-flex;position:absolute;top:19px;right:15px}.sidebar-close svg{width:16px;height:16px}.sidebar-backdrop{z-index:35;background:#121f336b;border:0;width:100%;height:100%;display:block;position:fixed;inset:0}.portal-shell[data-theme=dark] .sidebar-backdrop{background:#000000a6}.portal-main{margin-left:0}.icon-button.mobile-menu{display:inline-flex}.topbar{padding:0 20px}.profile-pill>span:not(.avatar){max-width:140px;display:inline}.profile-pill{padding-right:10px}.header-actions{max-width:none}.overview-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.auth-page{grid-template-columns:minmax(0,1fr);padding:28px}.auth-art{border-radius:18px 18px 0 0;width:100%;max-width:560px;min-height:0;margin:0 auto;padding:25px 28px}.auth-art h1,.auth-art h2{max-width:100%;margin-top:3px;font-size:1.5rem}.auth-art p{max-width:100%;margin-top:8px;font-size:.76rem}.auth-monitoring{display:none}.auth-brand img{border-radius:10px;width:37px;height:37px}.auth-brand strong{font-size:1rem}.auth-panel{border-radius:0 0 18px 18px;width:100%;max-width:560px;margin:0 auto;padding:40px 32px}.auth-page .theme-toggle{top:15px;right:15px}}@media (width<=700px){.content{padding:21px 18px 28px}.overview-grid{grid-template-columns:minmax(0,1fr)}.page-header{flex-direction:column;align-items:stretch;gap:16px}.header-actions{justify-content:flex-start}.child-picker{flex:1}.child-picker select{flex:1;min-width:0}.child-summary{flex-wrap:wrap;align-items:flex-start}.child-summary .child-picker{flex:100%}.child-summary .sync-note{margin-left:48px}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{gap:12px;padding:0 16px}.topbar-left,.topbar-right{gap:8px}.breadcrumb{font-size:.82rem}.breadcrumb>span,.breadcrumb>svg,.profile-pill>span:not(.avatar){display:none}.profile-pill{padding-right:4px}.logout-button{gap:5px;padding-left:8px;font-size:.71rem}.notification-item{padding:16px}.notification-item>.text-button{white-space:normal;text-align:right;align-self:flex-start;max-width:55px}.activity-item{flex-wrap:wrap}.activity-item .activity-body{flex-basis:calc(100% - 43px)}.activity-item>.activity-time{width:100%;margin:-4px 0 0 43px}.page-footer{font-size:.6rem}.auth-art{display:none}.auth-panel{border-radius:18px;padding-top:33px;padding-bottom:52px}.auth-mobile-brand{margin-bottom:22px;display:block}.auth-mobile-brand .sidebar-brand{min-height:0;margin:0;padding:0 0 20px}.auth-bottom{bottom:17px}}@media (width<=460px){.content{padding:19px 13px 25px}.topbar{gap:8px;padding:0 11px}.topbar-left,.topbar-right{gap:6px}.topbar .profile-pill{display:none}.breadcrumb strong{text-overflow:ellipsis;max-width:140px;overflow:hidden}.logout-button{padding-left:7px}.stats-grid{gap:10px}.stat-card{min-height:133px;padding:15px 13px}.stat-value{font-size:1.65rem}.stat-label{font-size:.67rem}.stat-description{font-size:.63rem}.panel-header{padding:15px 16px}.panel-title{font-size:.84rem}.panel-header>.text-button{font-size:.67rem}.category-list,.activity-list,.milestone-list,.points-list,.lesson-list{padding-left:16px;padding-right:16px}.preparedness-overview{padding:19px 16px}.category-row{gap:9px}.category-icon{flex-basis:33px;width:33px;height:33px}.category-copy strong{font-size:.7rem}.category-score .status{max-width:100px;font-size:.56rem}.child-summary{flex-wrap:wrap;align-items:flex-start;gap:9px;padding:13px}.child-summary .sync-note{margin-left:48px}.child-summary>.status{margin-left:51px}.badge-preview{gap:12px;padding:18px 16px}.badge-image{flex-basis:65px;width:65px;height:65px}.badge-grid{gap:10px;padding:14px}.badge-card{padding:16px 9px}.badge-card img{width:70px;height:70px}.filter-bar{align-items:stretch}.search-input{min-width:100%;max-width:none}.filter-select{flex:1;min-width:0}.auth-page{padding:16px}.auth-art{gap:20px;padding:22px}.auth-art h1,.auth-art h2{font-size:1.35rem}.auth-panel{padding:30px 23px 52px}.auth-heading{font-size:1.55rem}}@media (width<=350px){.stats-grid{grid-template-columns:minmax(0,1fr)}.logout-button span{display:none}.topbar .icon-button{width:32px;height:32px}.preparedness-overview{align-items:flex-start;gap:12px}.score-ring{flex-basis:82px;width:82px;height:82px}}@property --primary{syntax:"<color>";inherits:true;initial-value:#3468b2}@property --primary-fill{syntax:"<color>";inherits:true;initial-value:#3468b2}@property --primary-hover{syntax:"<color>";inherits:true;initial-value:#28538f}@property --primary-soft{syntax:"<color>";inherits:true;initial-value:#eaf1fb}@property --text{syntax:"<color>";inherits:true;initial-value:#222}@property --text-soft{syntax:"<color>";inherits:true;initial-value:#595959}@property --muted{syntax:"<color>";inherits:true;initial-value:#737373}@property --border{syntax:"<color>";inherits:true;initial-value:#e0e0e0}@property --border-strong{syntax:"<color>";inherits:true;initial-value:#c8c8c8}@property --surface{syntax:"<color>";inherits:true;initial-value:#fff}@property --surface-muted{syntax:"<color>";inherits:true;initial-value:#f0f0f0}@property --surface-hover{syntax:"<color>";inherits:true;initial-value:#e9e9e9}@property --canvas{syntax:"<color>";inherits:true;initial-value:#f5f5f5}@property --success{syntax:"<color>";inherits:true;initial-value:#277354}@property --success-soft{syntax:"<color>";inherits:true;initial-value:#edf7f1}@property --warning{syntax:"<color>";inherits:true;initial-value:#946316}@property --warning-soft{syntax:"<color>";inherits:true;initial-value:#fff4df}@property --danger{syntax:"<color>";inherits:true;initial-value:#b44545}@property --danger-soft{syntax:"<color>";inherits:true;initial-value:#fff4f4}@property --purple{syntax:"<color>";inherits:true;initial-value:#77559c}@property --purple-soft{syntax:"<color>";inherits:true;initial-value:#f3edf8}@property --parent-auth-start{syntax:"<color>";inherits:true;initial-value:#3468b2}@property --parent-auth-middle{syntax:"<color>";inherits:true;initial-value:#244b8a}@property --parent-auth-end{syntax:"<color>";inherits:true;initial-value:#163666}@property --parent-auth-blue-glow{syntax:"<color>";inherits:true;initial-value:#3468b21a}@property --parent-auth-green-glow{syntax:"<color>";inherits:true;initial-value:#27735412}@property --parent-auth-text{syntax:"<color>";inherits:true;initial-value:#fff}@property --parent-auth-copy{syntax:"<color>";inherits:true;initial-value:#dfeafa}@property --parent-auth-muted{syntax:"<color>";inherits:true;initial-value:#d4e3f9}@property --parent-auth-accent{syntax:"<color>";inherits:true;initial-value:#cee0fb}@property --parent-auth-card{syntax:"<color>";inherits:true;initial-value:#ffffff12}@property --parent-auth-border{syntax:"<color>";inherits:true;initial-value:#ffffff30}@property --parent-auth-divider{syntax:"<color>";inherits:true;initial-value:#ffffff26}@property --parent-auth-icon-surface{syntax:"<color>";inherits:true;initial-value:#ffffff14}@property --parent-auth-icon-border{syntax:"<color>";inherits:true;initial-value:#ffffff29}@property --parent-auth-logo-border{syntax:"<color>";inherits:true;initial-value:#ffffffa6}@property --parent-auth-grid{syntax:"<color>";inherits:true;initial-value:#ffffff1a}@property --parent-auth-shadow{syntax:"<color>";inherits:true;initial-value:#18233817}@property --parent-auth-logo-shadow{syntax:"<color>";inherits:true;initial-value:#09184133}.portal-shell,.auth-page,.session-loader{--parent-theme-duration:.32s;--parent-theme-easing:cubic-bezier(.22, 1, .36, 1);transition-property:--primary,--primary-fill,--primary-hover,--primary-soft,--text,--text-soft,--muted,--border,--border-strong,--surface,--surface-muted,--surface-hover,--canvas,--success,--success-soft,--warning,--warning-soft,--danger,--danger-soft,--purple,--purple-soft,--parent-auth-start,--parent-auth-middle,--parent-auth-end,--parent-auth-blue-glow,--parent-auth-green-glow,--parent-auth-text,--parent-auth-copy,--parent-auth-muted,--parent-auth-accent,--parent-auth-card,--parent-auth-border,--parent-auth-divider,--parent-auth-icon-surface,--parent-auth-icon-border,--parent-auth-logo-border,--parent-auth-grid,--parent-auth-shadow,--parent-auth-logo-shadow;transition-duration:var(--parent-theme-duration);transition-timing-function:var(--parent-theme-easing)}.auth-page{--parent-auth-text:#fff;--parent-auth-copy:#dfeafa;--parent-auth-muted:#d4e3f9;--parent-auth-accent:#cee0fb;--parent-auth-card:#ffffff12;--parent-auth-border:#ffffff30;--parent-auth-divider:#ffffff26;--parent-auth-icon-surface:#ffffff14;--parent-auth-icon-border:#ffffff29;--parent-auth-logo-border:#ffffffa6;--parent-auth-grid:#ffffff1a;--parent-auth-shadow:#18233817;--parent-auth-logo-shadow:#09184133;--parent-auth-start:#3468b2;--parent-auth-middle:#244b8a;--parent-auth-end:#163666;--parent-auth-blue-glow:#3468b21a;--parent-auth-green-glow:#27735412;background-image:radial-gradient(circle at 8% 10%, var(--parent-auth-blue-glow), transparent 31%), radial-gradient(circle at 92% 88%, var(--parent-auth-green-glow), transparent 28%)}.auth-page[data-theme=dark]{--parent-auth-start:#202020;--parent-auth-middle:#202020;--parent-auth-end:#202020;--parent-auth-blue-glow:#3468b200;--parent-auth-green-glow:#27735400;--parent-auth-text:#f0f0f0;--parent-auth-copy:#c7c7c7;--parent-auth-muted:#a3a3a3;--parent-auth-accent:#a1c3f5;--parent-auth-card:#222;--parent-auth-border:#333;--parent-auth-divider:#333;--parent-auth-icon-surface:#2c2c2c;--parent-auth-icon-border:#333;--parent-auth-logo-border:#4a4a4a;--parent-auth-grid:#ffffff0a;--parent-auth-shadow:#0003;--parent-auth-logo-shadow:#0000}.auth-page .auth-art,.auth-page[data-theme=dark] .auth-art{background:linear-gradient(148deg, var(--parent-auth-start), var(--parent-auth-middle) 60%, var(--parent-auth-end))}.portal-shell .sidebar-backdrop{transition:background-color var(--parent-theme-duration) var(--parent-theme-easing)}.portal-shell :where(.stat-card,.panel){transition:box-shadow var(--parent-theme-duration) var(--parent-theme-easing)}@media (prefers-reduced-motion:reduce){.portal-shell,.auth-page,.session-loader{--parent-theme-duration:0s;transition-duration:0s!important}}.sidebar-account{display:none}.mobile-cell-content{min-width:0}:is(.portal-shell,.auth-page) :where(.table-primary,.table-secondary,.activity-body,.notification-meta,.lesson-row,.badge-copy,.points-row,.notice){overflow-wrap:anywhere}@media (width<=860px){.portal-shell .sidebar{width:min(310px,100% - 24px);padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));overscroll-behavior:contain}.sidebar .sidebar-brand{min-height:62px;padding-right:44px}.sidebar .brand-copy strong{font-size:1rem}.sidebar .sidebar-close{top:max(16px, env(safe-area-inset-top));width:44px;height:44px;right:12px}.sidebar-account{color:var(--muted);overflow-wrap:anywhere;gap:3px;padding:3px 6px 6px;font-size:.75rem;display:grid}.sidebar-account strong{color:var(--text-soft);font-weight:600}.sidebar .nav-section{font-size:.69rem}.sidebar .nav-link{min-height:46px;font-size:.875rem}.sidebar-footer{padding-bottom:4px}.sidebar-footer .button{min-height:44px}.portal-shell .topbar{height:auto;min-height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.portal-shell .icon-button,.auth-page .icon-button{width:44px;min-width:44px;height:44px}.portal-shell .logout-button,.portal-shell .button,.portal-shell .text-button,.auth-page .text-button{min-height:44px}.portal-shell .text-button{white-space:normal}.portal-shell .filter-select,.portal-shell .child-picker select{min-height:44px;font-size:16px}.portal-shell .search-input{min-height:44px}.portal-shell .search-input input{font-size:16px}.portal-shell .child-picker>div{min-width:0}.portal-shell .child-picker .table-secondary{overflow-wrap:anywhere}.portal-shell .child-picker select{width:100%;min-width:0;max-width:100%}.portal-shell .overview-grid,.portal-shell .section-grid{grid-template-columns:minmax(0,1fr)}.portal-shell .content{padding-bottom:max(28px, env(safe-area-inset-bottom))}.auth-page .auth-input{min-height:48px;font-size:16px}.auth-page .code-input{font-size:1.6rem}.auth-page .auth-help{font-size:.8125rem}.auth-page .auth-description{font-size:.9375rem}.auth-page .auth-card form>.button{min-height:48px;font-size:.9375rem}}@media (width<=700px){.portal-shell .content{padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.topbar-left{flex:1}.portal-shell .topbar-left,.portal-shell .topbar-right{gap:2px}.portal-shell .topbar{gap:4px}.portal-shell .breadcrumb{min-width:0}.portal-shell .breadcrumb strong{text-overflow:ellipsis;max-width:100%;font-size:.875rem;overflow:hidden}.portal-shell .topbar .profile-pill{display:none}.portal-shell .page-header{gap:12px}.page-header>div:first-child{min-width:0}.page-header h1{overflow-wrap:anywhere;font-size:1.5rem;line-height:1.3}.page-subtitle{font-size:.875rem;line-height:1.65}.portal-shell .header-actions{justify-content:flex-start;width:100%}.portal-shell .header-actions .button{min-width:110px;font-size:.8125rem}.portal-shell .child-summary{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.portal-shell .child-summary .child-picker{flex:auto;align-items:flex-start;width:100%}.portal-shell .child-picker>div{flex:1}.portal-shell .child-summary .sync-note{border-top:1px solid var(--border);max-width:none;margin-left:0;padding-top:12px;font-size:.75rem}.child-summary .sync-note small{font-size:.6875rem;line-height:1.6}.child-summary .field-label{font-size:.6875rem}.portal-shell .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-shell .stat-card{padding:16px 14px}.portal-shell .stat-label{font-size:.75rem}.portal-shell .stat-description{overflow-wrap:anywhere;font-size:.71875rem;display:block}.portal-shell .panel-header{flex-wrap:wrap;align-items:flex-start;gap:6px 14px;padding:16px}.panel-header>div{flex:180px;min-width:0}.portal-shell .panel-title{font-size:1rem;line-height:1.4}.portal-shell .panel-description{font-size:.8125rem;line-height:1.65}.portal-shell .panel-header>.text-button{justify-content:flex-start;font-size:.8125rem}.portal-shell .preparedness-overview{gap:14px;padding:20px 16px}.preparedness-overview .score-label{min-width:0}.preparedness-overview h3{font-size:.9375rem;line-height:1.4}.preparedness-overview p{font-size:.8125rem}.portal-shell .category-row{grid-template-columns:38px minmax(0,1fr);gap:6px 10px;padding:16px 0;display:grid}.category-row .category-icon{grid-row:1/3;align-self:start;width:38px;height:38px}.portal-shell .category-copy strong{font-size:.875rem;line-height:1.45}.category-copy small{font-size:.75rem}.portal-shell .category-score{text-align:left;flex-wrap:wrap;grid-column:2;justify-content:space-between;align-items:center;gap:6px;display:flex}.category-score strong{font-size:.875rem}.portal-shell .category-score .status{max-width:none;margin-top:0;font-size:.6875rem}.portal-shell .lesson-details{padding-left:0}.lesson-details>summary{width:100%;min-height:44px;padding:12px 0;font-size:.8125rem}.lesson-row{flex-wrap:wrap;gap:10px}.lesson-row>div:first-child{flex:170px}.lesson-row>div:last-child{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-row strong{font-size:.8125rem}.lesson-row small{font-size:.75rem}.lesson-row .status{margin:0;font-size:.6875rem}.portal-shell .badge-next{margin-left:16px;margin-right:16px}.badge-next .points-row,.points-row{flex-wrap:wrap;gap:6px 12px}.badge-next .points-row span{text-align:left;font-size:.75rem}.badge-next .points-row strong{font-size:.8125rem}.badge-copy h3,.badge-copy strong{font-size:1rem}.badge-next .table-secondary{font-size:.75rem}.portal-shell .badge-card strong{font-size:.875rem}.badge-card p,.badge-card small{font-size:.75rem}.badge-card .status{font-size:.6875rem}.points-row{font-size:.875rem}.portal-shell .filter-bar{align-items:stretch}.portal-shell .search-input{flex-basis:100%;min-width:0;max-width:none}.portal-shell .filter-select{width:100%;min-width:0;max-width:100%}.notification-filter{width:100%;font-size:.8125rem}.notification-filter select{flex:1}.portal-shell .notification-item{grid-template-columns:32px minmax(0,1fr);gap:8px 10px;padding:16px 0;display:grid}.notification-open{grid-column:1/-1;gap:10px}.notification-preview{font-size:.8125rem}.notification-details-link{min-height:32px;margin-top:4px;font-size:.8125rem}.notification-dialog-content{padding:20px 16px}.notification-detail-fields>div{grid-template-columns:90px minmax(0,1fr);gap:10px}.portal-shell .notification-item>.text-button{text-align:left;grid-column:2;justify-self:start;max-width:none;padding:8px 0;font-size:.8125rem}.notification-meta{gap:4px 8px;font-size:.75rem}.notification-meta time{white-space:normal}.activity-body strong,.activity-body h3{font-size:.875rem}.activity-body p{font-size:.8125rem}.portal-shell .activity-item>.activity-time{white-space:normal;font-size:.71875rem}.portal-shell .notice{flex-wrap:wrap;font-size:.8125rem}.empty-state h3{font-size:.9375rem}.empty-state p{font-size:.8125rem}.portal-shell .page-footer{font-size:.6875rem}.mobile-table-wrap{padding:14px;overflow:visible}.mobile-table{font-size:.8125rem;display:block}.mobile-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.mobile-table tbody{gap:12px;display:grid}.mobile-table tbody tr{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:0;display:block}.mobile-table td,.mobile-table td.activity-time{white-space:normal;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:10px;margin:0;padding:11px 12px;font-size:.8125rem;display:grid}.mobile-table td:before{color:var(--muted);content:attr(data-label);font-size:.75rem;font-weight:600}.mobile-table td:first-child{background:var(--surface-muted);border-top:0;border-radius:9px 9px 0 0;padding:14px 12px;display:block}.mobile-table td:first-child:before{content:none}.mobile-table .table-primary{font-size:.875rem;line-height:1.55}.mobile-table .table-secondary{font-size:.75rem;line-height:1.65}.mobile-table .watch-progress{width:100%;min-width:0;max-width:none}.mobile-table .watch-progress>strong{font-size:.875rem}.mobile-table .status{font-size:.71875rem}.mobile-cell-content{overflow-wrap:anywhere}.table-footnote{padding:14px 16px;font-size:.75rem}.auth-page{padding:max(16px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));align-content:center}.auth-page .auth-panel{padding:24px 22px 28px}.auth-mobile-brand{margin-bottom:24px;padding-right:48px}.auth-mobile-brand .sidebar-brand{min-height:54px;padding:0 0 16px}.auth-mobile-brand .brand-copy strong{font-size:1.0625rem}.auth-mobile-brand .brand-copy small{font-size:.625rem}.auth-page .theme-toggle{top:24px;right:16px}.auth-page .auth-heading{font-size:1.75rem;line-height:1.25}.auth-page .field-label{font-size:.875rem}.auth-page .auth-footer{flex-wrap:wrap;gap:0 12px;margin-top:18px;padding-top:10px}.auth-page .auth-footer .text-button{text-align:left;white-space:normal;font-size:.8125rem}.auth-page .auth-security{align-items:flex-start;font-size:.75rem;line-height:1.65}.auth-page .auth-security svg{margin-top:2px}.auth-page .auth-bottom{margin-top:30px;font-size:.6875rem;position:static}.auth-page .auth-panel{flex-direction:column}}@media (width<=350px){.portal-shell .stats-grid{grid-template-columns:minmax(0,1fr)}.portal-shell .preparedness-overview{flex-direction:column;align-items:flex-start}.portal-shell .score-ring{flex-basis:96px;width:96px;height:96px}.portal-shell .stat-card{min-height:0}.auth-page .auth-panel{padding-left:18px;padding-right:18px}.auth-mobile-brand .brand-icon{flex-basis:34px;width:34px;height:34px}.auth-mobile-brand .sidebar-brand{gap:7px}.auth-mobile-brand .brand-copy strong{font-size:.9375rem}.auth-page .theme-toggle{right:12px}.auth-page .auth-heading{font-size:1.55rem}.auth-page .code-input{letter-spacing:.45em;padding-left:14px;padding-right:8px}}
