@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_1ec0685a-module__ODW2ua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_1ec0685a-module__ODW2ua__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--color-primary:#1a3c5e;--color-primary-hover:#162f4a;--color-accent:#2563eb;--color-accent-light:#eff6ff;--color-exam-orange:#d4a843;--color-success:#16a34a;--color-warning:#d97706;--color-danger:#dc2626;--color-readiness-ontrack:#16a34a;--color-readiness-improving:#d97706;--color-readiness-atrisk:#dc2626;--color-neutral-50:#f9fafb;--color-neutral-100:#f3f4f6;--color-neutral-200:#e5e7eb;--color-neutral-300:#d1d5db;--color-neutral-400:#9ca3af;--color-neutral-500:#6b7280;--color-neutral-600:#4b5563;--color-neutral-700:#374151;--color-neutral-800:#1f2937;--color-neutral-900:#111827;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#6b7280;--bg-body:#fff;--bg-section:#f9fafb;--bg-warm:#fafaf8;--border-light:#e5e7eb;--footer-dark:#0f2337;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--radius-sm:.375rem;--radius:.625rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-4xl:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--touch-min:48px;--input-height:40px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-gutter:stable}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-body);margin:0;font-size:16px;line-height:1.6}h1,.h1{color:var(--text-primary);font-size:clamp(1.875rem,4vw,3rem);font-weight:700;line-height:1.25}h2,.h2{color:var(--text-primary);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1.25}h3,.h3{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.25}h4,.h4{color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1.25}p{color:var(--text-secondary);margin:0 0 1.25rem}.lead{color:var(--text-secondary);max-width:36rem;font-size:1.125rem}.body{color:var(--text-secondary)}.caption,small{color:var(--text-muted);font-size:.875rem}.label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}.overline{text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);font-size:.875rem;font-weight:600}.metric-number{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700}.container-narrow{max-width:680px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}.container-wide{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}.section-padding{content-visibility:auto;contain-intrinsic-size:1px 600px;padding-top:2.5rem;padding-bottom:2.5rem}@media (min-width:768px){.section-padding{contain-intrinsic-size:1px 800px;padding-top:5rem;padding-bottom:5rem}}.section-padding-sm{content-visibility:auto;contain-intrinsic-size:1px 400px;padding-top:2.5rem;padding-bottom:2.5rem}a{color:var(--color-accent);font-weight:500;text-decoration:none}a:hover{text-decoration:underline}.link-nav{color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:color .2s}.link-nav:hover{color:var(--color-primary);text-decoration:none}.link-app{color:var(--color-primary);font-size:.875rem;font-weight:500}.link-app:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:disabled,input:disabled,[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.btn,a.btn{min-height:var(--touch-min);font-family:var(--font-sans);border-radius:var(--radius-xl);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary,a.btn-primary{background:var(--color-primary);color:#fff;text-decoration:none}.btn-primary:hover:not(:disabled),a.btn-primary:hover{background:var(--color-primary-hover);color:#fff;text-decoration:none}.btn-secondary,a.btn-secondary{color:var(--text-primary);border:2px solid var(--color-neutral-300);background:0 0;text-decoration:none}.btn-secondary:hover:not(:disabled),a.btn-secondary:hover{border-color:var(--color-neutral-400);text-decoration:none}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-neutral-100);color:var(--text-primary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-cta-light{color:var(--color-primary);background:#fff}.btn-cta-light:hover:not(:disabled){background:var(--color-neutral-100)}.btn-cta-outline{color:#fff;background:0 0;border:2px solid #ffffff4d}.btn-cta-outline:hover:not(:disabled){border-color:#fff9}.btn-full{width:100%}.btn-sm{min-height:44px;padding:.5rem 1rem;font-size:.8125rem}.btn-loading{pointer-events:none}.btn-loading .btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.input-group{margin-bottom:1rem}.input-label{color:var(--text-muted);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.input,.input-text,.input-phone,.input-password,.select-select{width:100%;min-height:var(--input-height);font-family:var(--font-sans);color:var(--text-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);background:#fff;padding:.5rem .75rem;font-size:16px;line-height:1.5;transition:border-color .2s,box-shadow .2s}.input:focus,.input-text:focus,.input-password:focus,.select-select:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #2563eb26}.input.error,.input-text.error,.input-password.error{border-color:var(--color-danger)}.input.success{border-color:var(--color-success)}.input:disabled,.input-text:disabled{background:var(--color-neutral-100);cursor:not-allowed}.password-field-wrap{display:block;position:relative}.password-field-wrap .input,.password-field-wrap .input-password,.password-field-wrap .input--parent-email{padding-right:2.75rem}.password-field-toggle{border-radius:var(--radius-sm,6px);width:2.25rem;height:2.25rem;color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.password-field-toggle:hover:not(:disabled){color:var(--text-primary,#111827);background:var(--color-neutral-100,#f3f4f6)}.password-field-toggle:disabled{opacity:.5;cursor:not-allowed}.input-hint,.input-error{margin-top:.25rem;font-size:.75rem}.input-error{color:var(--color-danger)}.input-hint{color:var(--text-muted)}.select-wrap{position:relative}.select-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}.radio-group,.checkbox-group{flex-direction:column;gap:.75rem;display:flex}.radio-item,.checkbox-item{cursor:pointer;min-height:var(--touch-min);align-items:center;gap:.75rem;display:flex}.radio-item input,.checkbox-item input{width:1.25rem;height:1.25rem;accent-color:var(--color-primary);cursor:pointer}.radio-item label,.checkbox-item label{cursor:pointer;color:var(--text-primary);flex:1;font-size:.9375rem}.toggle{background:var(--color-neutral-300);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:9999px;flex-shrink:0;width:44px;min-width:44px;height:24px;min-height:24px;transition:background .25s ease-out;position:relative}.toggle:hover{background:var(--color-neutral-400)}.toggle.active{background:var(--color-primary)}.toggle.active:hover{background:var(--color-primary-hover)}.toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.toggle.active:after{transform:translate(20px)}.card{border:1px solid var(--border-light);border-radius:var(--radius-2xl);contain:content;background:#fff;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.card:hover.card-clickable{border-color:var(--color-primary);transition:border-color .2s}.card-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.125rem;font-weight:700}.card-body{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.metric-card{border:1px solid var(--border-light);border-radius:var(--radius-xl);background:#fff;padding:1.25rem}.metric-card .value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700}.metric-card .label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:.25rem;font-size:.75rem;font-weight:600}.badge{border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-ontrack{color:#166534;background:#dcfce7}.badge-improving{color:#92400e;background:#fef3c7}.badge-atrisk{color:#991b1b;background:#fee2e2}.badge-assigned{background:var(--color-accent-light);color:var(--color-primary)}.badge-neutral{background:var(--color-neutral-100);color:var(--text-secondary)}.progress{background:var(--color-neutral-200);border-radius:9999px;height:8px;overflow:hidden}.progress-bar{background:var(--color-primary);border-radius:9999px;height:100%;transition:width .3s}.progress-bar.success{background:var(--color-success)}.progress-bar.warning{background:var(--color-warning)}.progress-bar.danger{background:var(--color-danger)}.modal-backdrop{z-index:1000;opacity:0;visibility:hidden;overscroll-behavior:contain;background:#00000080;justify-content:center;align-items:center;padding:1rem;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-backdrop.active{opacity:1;visibility:visible}body:has(.modal-backdrop.active){overflow:hidden}.modal{border-radius:var(--radius-2xl);background:#fff;width:100%;max-width:28rem;max-height:90vh;transition:transform .2s;overflow-y:auto;transform:scale(.95);box-shadow:0 25px 50px -12px #00000040}.modal-backdrop.active .modal{transform:scale(1)}.modal-header{border-bottom:1px solid var(--border-light);padding:1.25rem 1.5rem}.modal-title{margin:0;font-size:1.125rem;font-weight:700}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}@media (max-width:640px){.modal-backdrop.modal-backdrop--sheet{align-items:flex-end}.modal.modal-sheet{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-height:85vh}.modal-backdrop{align-items:flex-start;padding-top:3.5rem}}.toast-container{z-index:1100;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem}@media (min-width:640px){.toast-container{max-width:24rem;left:auto;right:1rem}}.toast{background:var(--text-primary);color:#fff;border-radius:var(--radius-lg);padding:.75rem 1rem;font-size:.875rem;animation:.3s toast-in;box-shadow:0 10px 15px -3px #0000001a}.toast.success{background:var(--color-success)}.toast.error{background:var(--color-danger)}.toast.warning{background:var(--color-warning)}.toast.info{background:var(--color-primary,#1e40af);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--text-primary);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;visibility:hidden;padding:.375rem .75rem;font-size:.75rem;transition:opacity .2s,visibility .2s,transform .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-.5rem)}[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(-.25rem)}@media (max-width:768px){[data-tooltip]:after{display:none}}.alert{border-radius:var(--radius-lg);align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;font-size:.875rem;display:flex}.alert-info{background:var(--color-accent-light);color:var(--color-primary);border:1px solid #2563eb4d}.alert-warning{color:#92400e;background:#fef3c7;border:1px solid #d977064d}.alert-error{color:#991b1b;background:#fee2e2;border:1px solid #dc26264d}.alert-success{color:#166534;background:#dcfce7;border:1px solid #16a34a4d}.skeleton{background:linear-gradient(90deg, var(--color-neutral-200) 25%, var(--color-neutral-100) 50%, var(--color-neutral-200) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem}.skeleton-title{width:60%;height:1.5rem}.skeleton-card{height:8rem}.empty-state{text-align:center;padding:2rem 1.5rem}.empty-state-icon{background:var(--color-neutral-100);width:4rem;height:4rem;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:1.5rem;display:flex}.empty-state-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.empty-state-text{color:var(--text-secondary);max-width:20rem;margin:0 auto 1rem;font-size:.875rem}.tabs{border-bottom:1px solid var(--border-light);gap:0;display:flex;overflow-x:auto}.tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:color .2s,border-color .2s}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.table-wrap{border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border-light);padding:.75rem 1rem}.table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--color-neutral-50);font-size:.75rem;font-weight:600}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-neutral-50)}.table-sortable th{cursor:pointer;-webkit-user-select:none;user-select:none}.table-sortable th:hover{color:var(--text-primary)}.sidebar{background:#fff;flex-direction:column;width:16rem;min-width:16rem;display:flex}.sidebar-nav{flex:1;padding:1rem 0}.sidebar-nav a,.sidebar-nav button{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;min-height:var(--touch-min);background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:flex}.sidebar-nav a:hover,.sidebar-nav button:hover{background:var(--color-neutral-50);color:var(--text-primary)}.sidebar-nav a.active{background:var(--color-accent-light);color:var(--color-primary)}.sidebar-logo{border-bottom:1px solid var(--border-light);color:var(--color-primary);align-items:center;gap:.5rem;padding:1rem 1.25rem;font-size:1.125rem;font-weight:700;display:flex}.sidebar-logo img{object-fit:contain;width:auto;height:2rem}.header-bar{border-bottom:1px solid var(--border-light);z-index:100;background:#fff;justify-content:space-between;align-items:center;height:4rem;padding:0 1rem;display:flex;position:sticky;top:0}.header-bar .title{color:var(--text-primary);font-size:1.125rem;font-weight:600}.chart-container{border:1px solid var(--border-light);border-radius:var(--radius-xl);background:#fff;min-height:16rem;padding:1.5rem}.chart-container .chart-title{color:var(--text-muted);margin-bottom:1rem;font-size:.875rem;font-weight:600}.trend-up{color:var(--color-success)}.trend-flat{color:var(--text-muted)}.trend-down{color:var(--color-danger)}.chip{border-radius:var(--radius-lg);align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.chip-low{color:#991b1b;background:#fee2e2}.chip-mid{color:#92400e;background:#fef3c7}.chip-high{color:#166534;background:#dcfce7}*,:before,:after{-webkit-tap-highlight-color:transparent!important}a,button,[role=button],[role=tab],input,select,textarea,label{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent!important}button:active,a:active,[role=button]:active,[role=tab]:active{opacity:.8;transition:opacity 80ms}
.skip-link{z-index:10000;background:var(--color-primary);color:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg);width:1px;height:1px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;position:absolute;top:auto;left:-9999px;overflow:hidden}.skip-link:focus{width:auto;height:auto;position:fixed;top:0;left:50%;overflow:visible;transform:translate(-50%)}.site-header{box-sizing:border-box;z-index:250;background-color:#fff;flex-shrink:0;width:100%;min-width:100%;height:4rem;min-height:4rem;position:sticky;top:0;left:0;right:0;transform:translateZ(0)}.site-header .container{box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;max-width:1200px;height:100%;min-height:4rem;margin:0 auto;padding:0 1.5rem;display:flex}.site-header--minimal .site-nav,.site-header--minimal .header-mobile-right{display:none!important}.header-back-btn{width:var(--touch-min);height:var(--touch-min);color:var(--text-primary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.header-back-btn:hover{color:var(--color-primary)}.header-back-btn svg{width:28px;height:28px}.minimal-header-inner{flex:1;align-items:center;gap:.25rem;min-width:0;display:flex}.site-header--minimal .site-logo--minimal-mark{flex:1;justify-content:center;min-width:0;text-decoration:none;display:flex}.header-close{width:var(--touch-min);height:var(--touch-min);color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex}.header-close:hover{color:var(--color-primary);text-decoration:none}.header-close svg{width:32px;height:32px}.site-header--with-progress{height:auto;min-height:4rem;padding-bottom:.25rem}.site-header--with-progress .container{flex-wrap:wrap}@media (min-width:768px){.site-header--with-progress .container{flex-wrap:nowrap}.site-header--with-progress .signup-progress{align-self:flex-end}}@media (max-width:767px){.site-header--with-progress .site-logo,.site-header--with-progress .header-back-btn{order:1}.site-header--with-progress .header-close{order:2}.site-header--with-progress .signup-progress{flex:none;order:3;width:100%;max-width:none;margin:.5rem 0 0}}.signup-progress{flex-direction:column;flex:1;justify-content:center;align-items:stretch;min-width:0;max-width:28rem;margin:0 1rem;display:flex}.signup-progress-bar{border-radius:9999px;gap:0;width:100%;height:4px;display:flex;overflow:visible}@media (max-width:767px){.signup-progress-bar{gap:4px;height:6px}}.signup-progress-segment{background:var(--color-neutral-200);border-radius:9999px;flex:1;transition:background .2s}@media (max-width:767px){.signup-progress-segment{background:var(--color-neutral-200);min-width:0}}.signup-progress-segment--done{background:var(--color-primary)}.signup-progress-stamps{justify-content:space-between;gap:.25rem;margin:.5rem 0 0;padding:0 .25rem;display:none}@media (min-width:768px){.signup-progress-stamps{display:flex}}.signup-progress-stamp{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-align:center;flex:1;min-width:0;font-size:.6875rem;font-weight:600}.signup-progress-stamp--current{color:var(--color-primary)}.signup-progress--steps-2{max-width:16rem}.signup-progress--steps-3{max-width:20rem}.site-logo{color:var(--color-primary);align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.site-logo:hover{color:var(--color-primary);text-decoration:none}.site-logo svg,.site-logo img{object-fit:contain;flex-shrink:0;width:auto;height:2.25rem}.site-footer .site-logo img{height:2rem}.site-footer .site-logo{color:#fff}.site-footer .site-logo:hover{color:#fff;opacity:.9;text-decoration:none}.site-nav{display:none}@media (min-width:1024px){.site-nav{align-items:center;gap:1.5rem;display:flex}}.site-nav a{color:var(--text-secondary);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.site-nav a:hover{color:var(--color-primary)}.site-nav a.btn-primary,.site-nav a.btn-primary:hover{color:#fff}.site-nav-cta{align-items:center;gap:.75rem;display:flex}.header-mobile-right{align-items:center;gap:.05rem;display:flex}@media (min-width:1024px){.header-mobile-right{display:none}}.header-mobile-cta{align-items:center;display:flex}.header-mobile-cta .btn,.header-mobile-cta .btn-primary{color:#fff;min-height:40px;padding:.4rem .875rem;font-size:.8125rem}.site-header.menu-open .header-mobile-cta{display:none}@media (min-width:1024px){.site-header.menu-open .header-mobile-cta{display:none}}.header-mobile-toggle{width:var(--touch-min);height:var(--touch-min);cursor:pointer;color:var(--text-primary);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.header-mobile-toggle .menu-icon{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.header-mobile-toggle .menu-icon[hidden]{display:none}.header-mobile-toggle .menu-icon-close svg{width:24px;height:24px;transform:scale(1.2)}@media (min-width:1024px){.header-mobile-toggle{display:none}}.nav-drawer{z-index:200;visibility:hidden;background:#fff;width:100%;height:calc(100vh - 4rem);max-height:calc(100vh - 4rem);padding:2rem 1.5rem 1.5rem;transition:none;position:fixed;inset:4rem 0 0;overflow-y:auto;transform:translate(100%)}.nav-drawer.active{visibility:visible;transform:translate(0)}.nav-drawer-close{display:none}.nav-drawer-overlay{z-index:199;opacity:0;visibility:hidden;background:#0006;height:calc(100vh - 4rem);transition:none;position:fixed;inset:4rem 0 0}.nav-drawer-overlay.active{opacity:1;visibility:visible}.nav-drawer a{color:var(--text-primary);padding:1rem 0;font-size:1.2rem;font-weight:500;text-decoration:none;display:block}.nav-drawer-links a{padding:1.125rem 0}.nav-drawer-separator{border-top:1px solid var(--border-light);margin:1.25rem 0}.nav-drawer-cta{justify-content:center;display:flex}.nav-drawer-cta .btn-primary{color:#fff;text-align:center;justify-content:center;width:100%;max-width:18rem;margin-top:0}.site-footer{background:var(--footer-dark);color:#fff;padding:3rem 0 0}.site-footer .container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem;padding-bottom:2rem;display:grid}@media (min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:1024px){.footer-grid{grid-template-columns:repeat(5,1fr)}}.footer-brand{grid-column:1/-1}@media (min-width:768px){.footer-brand{grid-column:auto}}.footer-heading{text-transform:uppercase;letter-spacing:.1em;color:var(--color-neutral-400);margin:0 0 1rem;font-size:.875rem;font-weight:600}.footer-links{margin:0;padding:0;list-style:none}.footer-links li{margin-bottom:.5rem}.footer-links a{color:var(--color-neutral-400);font-size:.875rem;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff}.footer-socials{gap:.625rem;margin-top:1rem;display:flex}.footer-social-link{width:2.25rem;height:2.25rem;color:var(--color-neutral-400);background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.footer-social-link:hover{color:#fff;background:#ffffff2e}.footer-bottom{color:var(--color-neutral-500);border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0;font-size:.875rem;display:flex}.footer-bottom-socials{gap:.5rem;display:flex}.footer-bottom-socials .footer-social-link{width:1.75rem;height:1.75rem}@media (max-width:767px){.footer-bottom{text-align:center;justify-content:center}.footer-socials{justify-content:center}}.app-shell{min-height:100vh;display:flex}.app-sidebar{display:none}@media (min-width:768px){.app-shell{box-sizing:border-box;grid-template-columns:repeat(12,1fr);gap:24px;max-width:1280px;min-height:100vh;margin:0 auto;padding:0 24px;display:grid}.app-sidebar{background:#fff;flex-direction:column;grid-column:1/span 3;width:auto;min-width:0;display:flex}.app-main{flex-direction:column;grid-column:4/-1;min-width:0;display:flex}}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-content{flex:1;padding:1rem}@media (min-width:768px){.app-content{padding:1.5rem 24px}}.bottom-nav{height:4rem;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--border-light);z-index:100;background:#fff;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}@media (min-width:768px){.bottom-nav{display:none}}.bottom-nav a{min-width:0;min-height:48px;color:var(--text-muted);white-space:nowrap;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;padding:.3rem .5rem;font-size:.6875rem;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.bottom-nav a:hover,.bottom-nav a.active{color:var(--color-primary)}.bottom-nav a.active{color:var(--color-primary);font-weight:600;position:relative}.bottom-nav a.active:before{content:"";background:var(--color-accent-light,#e8f0fe);border-radius:var(--radius-lg);z-index:-1;position:absolute;inset:.1rem -.15rem}.bottom-nav a.active .nav-profile-avatar,.bottom-nav a.active .nav-profile-avatar--initials{border:1.5px solid var(--color-primary);box-sizing:border-box}.bottom-nav .nav-icon{width:1.5rem;height:1.5rem}body.has-bottom-nav .app-content{padding-bottom:5rem}.more-sheet{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;z-index:150;background:#fff;max-height:80vh;transition:transform .3s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -4px 20px #0000001a}.more-sheet.active{transform:translateY(0)}.more-sheet-overlay{z-index:149;opacity:0;visibility:hidden;background:#0006;transition:opacity .2s,visibility .2s;position:fixed;inset:0}.more-sheet-overlay.active{opacity:1;visibility:visible}.more-sheet-header{border-bottom:1px solid var(--border-light);padding:1rem 1.5rem;font-size:1rem;font-weight:600}.more-sheet a,.more-sheet button{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;min-height:var(--touch-min);border:none;border-bottom:1px solid var(--border-light);background:0 0;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:.9375rem;text-decoration:none;display:flex}.more-sheet a:last-child,.more-sheet button:last-child{border-bottom:none}.breadcrumb{color:var(--text-muted);padding:.75rem 0;font-size:.875rem}.breadcrumb a{color:var(--text-muted);text-decoration:none}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb span{margin:0 .375rem}.breadcrumb .current{color:var(--text-primary);font-weight:500}
.block{display:block}.m0{margin:0}.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.mt-6{margin-top:2rem}.mb-3{margin-bottom:.75rem}.mb-10{margin-bottom:2.5rem}.public-back-link{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.public-back-link:hover{color:var(--color-primary);text-decoration:none}.public-back-link svg{flex-shrink:0;width:20px;height:20px}.hero{background:#fff}.hero-cta{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex}.steps-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:640px){.steps-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.steps-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.step-card{border:1px solid var(--border-light);border-radius:var(--radius-2xl);background:#fff;flex-direction:column;padding:1.5rem;display:flex}.step-icon{background:var(--color-accent-light);width:3rem;height:3rem;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1rem;font-size:1.125rem;font-weight:700;display:flex}.step-card h3{margin:0 0 .5rem;font-size:1.125rem}.readiness-badges-demo{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex}.audience-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:640px){.audience-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.audience-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}.audience-card{border:1px solid var(--border-light);border-radius:var(--radius-2xl);background:#fff;flex-direction:column;padding:1.5rem;display:flex;box-shadow:0 1px 3px #0000000d}.audience-card h3{margin:0 0 .5rem;font-size:1.125rem}.audience-card p,.audience-card .card-body{color:var(--text-secondary);flex:1;margin-bottom:1rem;font-size:.875rem;line-height:1.6}.audience-grid .card,.steps-grid .card{flex-direction:column;display:flex}.bg-section{background:var(--bg-section)}.cta-section{background:var(--color-primary);color:#fff}.cta-title{color:#fff;margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2rem)}.cta-sub{color:#ffffffe6;max-width:32rem;margin:0 auto 2rem;font-size:1rem}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.faq-list{border-top:1px solid var(--border-light)}.faq-item{border-bottom:1px solid var(--border-light)}.faq-question{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;font-size:1rem;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;justify-content:space-between;align-items:center;padding:1.25rem 0;transition:color .15s;display:flex}.faq-question:hover{color:var(--color-primary)}.faq-icon{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat;flex-shrink:0;width:1.5rem;height:1.5rem;margin-left:1rem;transition:transform .2s}.faq-item.open .faq-icon{transform:rotate(180deg)}.faq-answer{max-height:0;transition:max-height .35s;overflow:hidden}.faq-item.open .faq-answer{max-height:40rem}.faq-answer p{color:var(--text-secondary);margin:0;padding:0 0 1.25rem;font-size:.875rem;line-height:1.6}.prose-content{color:var(--text-secondary);font-size:1rem;line-height:1.75}.prose-content h2{color:var(--text-primary);margin:2rem 0 .75rem;font-size:1.5rem;font-weight:700}.prose-content h3{color:var(--text-primary);margin:1.5rem 0 .5rem;font-size:1.25rem;font-weight:600}.prose-content p{margin:0 0 1rem}.prose-content ul,.prose-content ol{margin:0 0 1rem;padding-left:1.5rem}.prose-content li{margin-bottom:.375rem}.prose-content strong{color:var(--text-primary);font-weight:600}.prose-content a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.pricing-header{text-align:center;padding:2rem 0}.pricing-toggle-wrap{justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.pricing-toggle-wrap span{color:var(--text-secondary);font-size:.875rem}.pricing-card .price .price-inline-note{color:var(--text-muted);font-size:.7rem;font-weight:500}.pricing-grid{grid-template-columns:1fr;gap:1rem;padding:1rem 0 3rem;display:grid}@media (min-width:768px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.pricing-grid{grid-template-columns:repeat(4,1fr)}}.pricing-card{border:2px solid var(--border-light);border-radius:var(--radius-2xl);background:#fff;flex-direction:column;height:100%;padding:1.5rem;display:flex;position:relative}.pricing-card.popular{border-color:var(--color-primary);box-shadow:0 4px 20px #1a3c5e1f}.pricing-card.current{border-color:var(--color-success);background:#16a34a0a}.pricing-card .badge{position:absolute;top:-.5rem;right:1rem}.pricing-card h3{margin:0 0 .25rem;font-size:1.25rem}.pricing-card .price{color:var(--text-primary);margin:.5rem 0;font-size:2rem;font-weight:700}.pricing-card .price span{color:var(--text-muted);font-size:.875rem;font-weight:500}.pricing-card ul{color:var(--text-secondary);flex-grow:1;margin:1rem 0;padding:0;font-size:.875rem;list-style:none}.pricing-card li{padding:.25rem 0 .25rem 1.5rem;position:relative}.pricing-card li:before{content:"✓";color:var(--color-success);font-weight:700;position:absolute;left:0}.pricing-card .btn{width:100%;margin-top:auto}.signup-page-main{background:var(--bg-section);flex-direction:column;justify-content:flex-start;align-items:center;min-height:calc(100vh - 4rem);padding:clamp(3rem,6vh,5.5rem) 1.5rem 3rem;display:flex;position:relative}@media (max-width:767px){.signup-page-main{text-align:center;padding-top:2.5rem}.signup-page-main--form{padding-top:3rem}}.page-back{color:var(--text-primary);align-items:center;gap:.35rem;font-size:1.225rem;font-weight:500;text-decoration:none;display:none;position:absolute;top:2rem;left:calc(2.5rem + 40px)}@media (min-width:768px){.page-back{display:inline-flex;left:max(2.5rem + 40px,50vw - 560px + 2.5rem)}.site-header--with-progress~* .page-back{display:none!important}}.page-back:hover{color:var(--color-primary);text-decoration:none}.page-back svg{width:28px;height:28px}.header-back-mobile{color:var(--text-primary);flex-shrink:0;align-items:center;gap:.35rem;font-size:1.225rem;font-weight:500;text-decoration:none;display:none}.header-back-mobile:hover{color:var(--color-primary);text-decoration:none}.header-back-mobile svg{width:28px;height:28px}@media (max-width:767px){.header-back-mobile{order:1;display:inline-flex}.header-back-mobile+.site-logo{display:none}}@media (min-width:768px){.header-back-mobile{display:none}}.signup-page-title{margin:0 0 .5rem;font-size:clamp(1.5rem,4vw,2rem)}.signup-page-subtitle{color:var(--text-muted);margin:0 0 2rem;font-size:1rem}.signup-role-options{flex-direction:column;gap:1rem;width:100%;max-width:22rem;display:flex}@media (min-width:768px){.signup-role-options{flex-direction:row;justify-content:center;max-width:32rem}.signup-role-options .signup-role-option{flex:1;min-width:0}}.signup-role-option{border:2px solid var(--border-light);border-radius:var(--radius-2xl);color:var(--text-primary);min-height:var(--touch-min);text-align:center;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:1.5rem 2rem;font-size:1.125rem;font-weight:600;text-decoration:none;transition:border-color .2s,background .2s,color .2s;display:flex}.signup-role-option:hover{border-color:var(--color-primary);color:var(--color-primary);background:#2563eb14;text-decoration:none}.signup-role-option:hover .signup-role-hint{color:var(--color-primary);opacity:.9}.signup-role-label{text-align:center}.signup-role-hint{color:var(--text-muted);text-align:center;font-size:.75rem;font-weight:500}.signup-page-back{margin:2rem 0 0;font-size:.875rem}.signup-page-back a{color:var(--text-muted)}.signup-level-options{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr);grid-auto-flow:column;gap:.75rem;width:100%;max-width:22rem;display:grid}@media (min-width:768px){.signup-level-options{grid-template-rows:none;grid-template-columns:repeat(3,1fr);grid-auto-flow:row;max-width:28rem}}.signup-level-options--two{width:100%;max-width:22rem}@media (max-width:767px){.signup-level-options--two{flex-direction:column;gap:1rem;width:100%;max-width:22rem;margin-left:auto;margin-right:auto;display:flex}.signup-level-options--two .signup-level-option{min-height:var(--touch-min);flex:1}}@media (min-width:768px){.signup-level-options--two{grid-template-columns:repeat(2,1fr);justify-content:center;max-width:22rem}}.signup-level-option{border:2px solid var(--border-light);border-radius:var(--radius-2xl);color:var(--text-primary);min-height:var(--touch-min);background:0 0;justify-content:center;align-items:center;padding:1.25rem 1rem;font-size:1rem;font-weight:600;text-decoration:none;transition:border-color .2s,background .2s,color .2s;display:flex}.signup-level-option:hover{border-color:var(--color-primary);color:var(--color-primary);background:#2563eb14;text-decoration:none}.signup-admin-options{flex-direction:column;gap:1rem;width:100%;max-width:22rem;display:flex}@media (min-width:768px){.signup-admin-options{max-width:32rem}}.signup-admin-option{text-align:left;border:2px solid var(--border-light);border-radius:var(--radius-2xl);color:var(--text-primary);min-height:var(--touch-min);background:0 0;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.25rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:border-color .2s,background .2s,color .2s;display:flex}.signup-admin-option:hover{border-color:var(--color-primary);color:var(--color-primary);background:#2563eb14;text-decoration:none}.signup-admin-option:hover .signup-admin-option-desc{color:var(--text-primary)}.signup-admin-option-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;line-height:1;display:inline-flex}.signup-admin-option-icon svg{width:1.5rem;height:1.5rem}.signup-admin-option-label{font-size:1.125rem;font-weight:600}.signup-admin-option-desc{color:var(--text-muted);font-size:.8125rem;font-weight:400;line-height:1.4}.signup-page-main--form .signup-form{text-align:left;width:100%;max-width:22rem}@media (min-width:768px){.signup-page-main--form .signup-form--jhs{max-width:48rem}}.signup-page-main--form .input-group{margin-bottom:1rem}.signup-page-main--form .btn-full{margin-top:1rem}.input--parent-email{border:1px solid var(--color-neutral-400);background:0 0;min-height:3.25rem;padding:.75rem 1rem;font-size:1rem}.input--parent-email:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb33}.input--onboarding,.auth-form .input,.signup-page-main--form .input-group .input:not(.input--parent-email){border:1px solid var(--color-neutral-400);background:0 0}.auth-form .input:focus,.signup-page-main--form .input-group .input:not(.input--parent-email):focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb33}.signup-form--parent-email .input-group--parent-email{margin-bottom:1.25rem}.signup-page-main--parent-email{background:var(--bg-body,#fff);justify-content:flex-start;padding-top:10rem}@media (max-width:767px){.signup-page-main--parent-email{text-align:left;padding-top:3rem}}.signup-page-main--parent-email .signup-page-title{margin-bottom:1.5rem;font-weight:500}.signup-page-main--parent-email .input-group--parent-email .input-label{font-size:1.0625rem;font-weight:400}.signup-form-divider{color:var(--text-muted);align-items:center;gap:1rem;margin:1rem 0 .75rem;font-size:.75rem;display:flex}.signup-form-divider:before,.signup-form-divider:after{content:"";background:var(--border-light);flex:1;height:1px}.signup-google-wrap{text-align:center}.signup-parent-google-btn{border-width:1px;justify-content:center;align-items:center;gap:.5rem;margin-top:0;padding:.5rem 1rem;font-size:.875rem;display:inline-flex}.signup-google-icon{flex-shrink:0}.signup-page-legal{color:var(--text-muted);max-width:32rem;margin:1rem 0 0;font-size:.8125rem}.signup-page-legal a{color:var(--color-primary);font-weight:600;text-decoration:underline}.signup-page-legal a:hover{text-decoration:none}@media (min-width:768px){.signup-page-main--form .signup-form--parent-email{max-width:32rem}}.signup-form-hint{color:var(--text-muted);margin:.5rem 0 0;font-size:.8125rem}.subject-section{margin-bottom:1.5rem}.subject-section-heading{color:var(--text-primary);margin:0 0 .25rem;font-size:1rem;font-weight:600}.subject-details-toggle{cursor:pointer;width:100%;height:2.75rem;color:var(--text-primary);text-align:left;box-sizing:border-box;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:.5rem;padding:0 1rem;font-family:inherit;font-size:1rem;font-weight:600;display:flex}.subject-details-toggle:before{content:"";border-bottom:2px solid;border-right:2px solid;flex-shrink:0;width:.5rem;height:.5rem;transition:transform .2s;transform:rotate(45deg)}.subject-details-toggle[aria-expanded=true]:before{transform:rotate(-135deg)}.subject-section-desc{color:var(--text-muted);margin:0 0 .75rem;font-size:.8125rem}.subject-section-desc--variants{margin-top:1rem}.subject-details{border:1px solid var(--border-light);border-radius:var(--radius-lg)}.subject-details-content{padding:0 1rem 1rem}.subject-add-custom{gap:.5rem;margin-bottom:.75rem;display:flex}.subject-add-custom .input{flex:1;min-width:0}.subject-search-wrap{margin-bottom:.75rem}.subject-search-wrap .input{width:100%}.signup-subject-options{flex-direction:column;gap:.5rem;width:100%;display:flex}.signup-subject-options--grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (min-width:768px){.signup-subject-options--grid{grid-template-columns:repeat(2,1fr);max-width:20rem}}.signup-subject-options--cards{gap:.75rem;max-width:22rem}@media (min-width:768px){.signup-subject-options--cards{max-width:32rem}}.signup-subject-options--jhs-grid.signup-subject-options--cards{max-width:22rem}@media (min-width:768px){.signup-subject-options--jhs-grid.signup-subject-options--cards{grid-template-columns:repeat(4,1fr);max-width:48rem}}.signup-subject-options--cards .signup-subject-option{border-radius:var(--radius-xl);text-align:center;justify-content:center;align-items:center;min-height:3.5rem;padding:1rem .75rem;font-size:.875rem;font-weight:500;line-height:1.25;display:flex}.signup-subject-options--cards .signup-subject-option-label{padding-right:0;font-size:.875rem;font-weight:500;line-height:1.25}.signup-subject-options--cards .signup-subject-option:has(input:checked):after{content:"";background:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:.65rem;border-radius:50%;width:1.125rem;height:1.125rem;position:absolute;top:.35rem;right:.35rem}.signup-subject-options--list{flex-direction:column;gap:.5rem;max-height:16rem;padding-right:.25rem;display:flex;overflow-y:auto}.signup-subject-option{border:2px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;box-sizing:border-box;background:#fff;align-items:center;gap:.5rem;min-height:3.5rem;padding:1rem;font-size:.9375rem;font-weight:500;transition:border-color .2s,background .2s,color .2s;display:flex;position:relative}.signup-subject-option:has(input:checked):after{content:"";background:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:.65rem .65rem;border-radius:50%;width:1.125rem;height:1.125rem;position:absolute;top:.4rem;right:.4rem}.signup-subject-option input{opacity:0;clip:rect(0, 0, 0, 0);width:0;height:0;margin:0;position:absolute;overflow:hidden}.signup-subject-option:hover{border-color:var(--color-primary);background:#2563eb0f}.signup-subject-option:has(input:checked){border-color:var(--color-primary);background:var(--color-accent-light);color:var(--color-primary)}.signup-subject-option:has(input:checked) .signup-subject-option-label{color:inherit}.signup-subject-option-label{flex:1}.signup-program-options{flex-direction:column;gap:1rem;width:100%;max-width:22rem;display:flex}@media (min-width:768px){.signup-program-options{max-width:32rem}}.signup-subjects-review{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.signup-subject-chip{background:var(--color-accent-light);border:1px solid var(--color-primary);border-radius:var(--radius-full);color:var(--text-primary);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.signup-subject-chip--removed{opacity:.5;background:var(--color-neutral-100);border-color:var(--border-light)}.signup-subject-chip-label{flex:1}.signup-subject-chip-remove{color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;font-size:.75rem;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;padding:.2rem .5rem}.signup-subject-chip-remove:hover{color:var(--color-error,#b91c1c);background:#b91c1c1a}.signup-subject-chip--removed .signup-subject-chip-remove{display:none}.auth-page{background:var(--bg-section);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-page--full{background:#fff;justify-content:flex-start;padding-top:10rem}@media (max-width:767px){.auth-page--full{padding-top:calc(10rem - 20px)}}.signin-page-main{background:#fff;flex-direction:column;justify-content:flex-start;align-items:center;min-height:calc(100vh - 4rem);padding:10rem 1rem 2rem;display:flex}@media (max-width:767px){.signin-page-main{justify-content:flex-start;padding-top:1.5rem}}.auth-full-inner{width:100%;max-width:28rem;margin:0 auto}.auth-full-title{margin:0 0 1.5rem;font-size:1.5rem;font-weight:500}.auth-full-subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem}.auth-form--full .input-group{margin-bottom:1.25rem}.otp-boxes{justify-content:center;gap:.5rem;display:flex}.otp-box{border:1.5px solid var(--color-neutral-300,#d1d5db);border-radius:var(--radius-md,.5rem);text-align:center;width:2.75rem;height:3rem;color:var(--text-primary);background:#fff;outline:none;font-family:inherit;font-size:1.25rem;font-weight:700;transition:border-color .15s,box-shadow .15s}.otp-box:focus{border-color:var(--color-primary,#1a3c5e);box-shadow:0 0 0 3px #1a3c5e1f}@media (max-width:380px){.otp-boxes{gap:.375rem}.otp-box{width:2.5rem;height:2.75rem;font-size:1.125rem}}.reset-method-toggle{border:2px solid var(--border-light);border-radius:var(--radius-xl);background:var(--color-neutral-100);gap:0;margin-bottom:1.5rem;padding:.25rem;display:flex;overflow:hidden}.reset-method-btn{color:var(--text-secondary);border-radius:calc(var(--radius-xl) - .25rem);cursor:pointer;background:0 0;border:none;flex:1;padding:.75rem 1.25rem;font-size:1rem;font-weight:600;transition:color .2s,background .2s,box-shadow .2s}.reset-method-btn:hover{color:var(--text-primary);background:#fff9}.reset-method-btn.active{color:var(--color-primary);background:#fff;box-shadow:0 2px 8px #00000014}.otp-inputs{justify-content:center;gap:.5rem;margin:1.5rem 0;display:flex}.otp-input{text-align:center;border:2px solid var(--border-light);border-radius:var(--radius-lg);background:#fff;width:2.75rem;height:3rem;font-size:1.25rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.otp-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #1a3c5e26}.otp-input.error{border-color:#dc2626}.resend-row{color:var(--text-muted);margin-top:1.25rem;font-size:.875rem}.resend-row a,.resend-row button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.resend-row a:hover,.resend-row button:hover{text-decoration:none}.resend-row button:disabled{color:var(--text-muted);cursor:not-allowed;text-decoration:none}.otp-error,.reset-password-error{color:#dc2626;text-align:center;margin-top:.75rem;font-size:.875rem}.auth-card{border-radius:var(--radius-2xl);border:1px solid var(--border-light);background:#fff;width:100%;max-width:28rem;padding:2rem;box-shadow:0 4px 20px #0000000f}.auth-card h1{text-align:center;margin:0 0 .5rem;font-size:1.5rem}.auth-card .subtitle{text-align:center;color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem}.auth-divider{color:var(--text-muted);align-items:center;gap:1rem;margin:1rem 0;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-light);flex:1;height:1px}.auth-role-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.auth-role-btn{border:2px solid var(--border-light);border-radius:var(--radius-xl);cursor:pointer;font-family:var(--font-sans);color:var(--text-primary);background:#fff;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;font-size:.9375rem;font-weight:500;transition:border-color .2s,background .2s;display:flex}.auth-role-btn:hover{border-color:var(--color-primary);background:var(--color-accent-light)}.auth-role-btn.selected{border-color:var(--color-primary);background:var(--color-accent-light);color:var(--color-primary)}.auth-role-btn .icon{background:var(--color-neutral-100);border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.auth-role-grid-admin{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:480px){.auth-role-grid-admin{grid-template-columns:repeat(3,1fr)}}.auth-role-btn-block{min-height:6rem;color:var(--text-primary);border:2px solid var(--border-light);border-radius:var(--radius-xl);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.25rem;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.auth-role-btn-block:hover{border-color:var(--color-primary);background:var(--color-accent-light);color:var(--color-primary);text-decoration:none}.auth-steps{justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.auth-step{background:var(--color-neutral-200);border-radius:9999px;width:2rem;height:.25rem}.auth-step.active{background:var(--color-primary)}.level-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.level-btn{border:2px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;font-size:.9375rem;font-weight:500;font-family:var(--font-sans);text-align:center;background:#fff;padding:1rem;transition:border-color .2s,background .2s}.level-btn:hover,.level-btn.selected{border-color:var(--color-primary);background:var(--color-accent-light)}.subject-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.subject-btn{border:2px solid var(--border-light);border-radius:var(--radius-xl);cursor:pointer;min-height:3.5rem;font-size:.875rem;font-weight:500;font-family:var(--font-sans);text-align:center;color:var(--text-primary);background:#fff;padding:1rem .75rem;line-height:1.25;transition:border-color .2s,background .2s;position:relative}.subject-btn:hover{border-color:var(--color-primary);background:#2563eb0f}.subject-btn.selected{border-color:var(--color-primary);background:var(--color-accent-light);color:var(--color-primary)}.subject-btn.selected:after{content:"";background:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:.65rem;border-radius:50%;width:1.125rem;height:1.125rem;position:absolute;top:.35rem;right:.35rem}.dash-section{margin-bottom:1.5rem}.dash-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.readiness-overview{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:1rem;margin:0 -1rem;padding-bottom:.5rem;padding-left:1rem;padding-right:1rem;display:flex;overflow-x:auto}@media (min-width:768px){.readiness-overview{margin:0;padding-left:0;padding-right:0}}.readiness-card{scroll-snap-align:start;min-height:7rem;color:var(--text-primary);flex-direction:column;flex:0 0 10rem;justify-content:space-between;text-decoration:none;display:flex}.readiness-card:hover{color:var(--text-primary);text-decoration:none}.readiness-card-subject{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.readiness-score{color:var(--color-primary);font-size:1.5rem;font-weight:700}.readiness-card .progress{margin:.25rem 0}.readiness-card .caption{font-size:.75rem}.practice-cta-card{background:var(--color-primary);color:#fff;min-height:var(--touch-min);border:none;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1.25rem 1.5rem;text-decoration:none;display:flex}.practice-cta-card:hover{background:var(--color-primary-hover);color:#fff;text-decoration:none}.practice-cta-label{font-size:1.125rem;font-weight:700}.practice-cta-desc{opacity:.9;font-size:.875rem}.practice-cta-arrow{align-self:flex-end;font-size:1.25rem;font-weight:600}.tasks-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.tasks-header .dash-section-title{margin:0}.task-list{flex-direction:column;gap:1rem;display:flex}.task-card{padding:1rem 1.25rem;position:relative}.task-type-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.35rem;font-size:.6875rem;font-weight:600;display:inline-block}.task-type-assignment .task-type-label{color:var(--color-primary)}.task-type-sprint .task-type-label{color:var(--color-warning)}.task-type-recommended .task-type-label{color:var(--color-accent)}.task-type-mytask .task-type-label{color:var(--text-secondary)}.task-card-title{margin:0 0 .25rem;font-size:1rem;font-weight:600}.task-meta,.task-desc{color:var(--text-secondary);margin:0 0 .75rem;font-size:.875rem}.task-due-soon{font-size:.75rem;position:absolute;top:1rem;right:1.25rem}.task-card .btn{margin-top:.25rem}.history-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.history-header .dash-section-title{margin:0}.history-list{margin:0;padding:0;list-style:none}.history-list li{border-bottom:1px solid var(--border-light)}.history-list a{color:var(--text-primary);padding:.75rem 0;font-size:.9375rem;text-decoration:none;display:block}.history-list a:hover{color:var(--color-primary);text-decoration:none}.dash-header-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.dash-subject-select{min-width:12rem}.dash-badge-large{padding:.5rem 1rem;font-size:1rem}.dash-cards{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:768px){.dash-cards{grid-template-columns:repeat(2,1fr)}}.dash-card-title{color:var(--text-muted);margin:0 0 .5rem;font-size:.875rem;font-weight:600}.page-intro{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.9375rem}.practice-modes-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:768px){.practice-modes-grid{grid-template-columns:repeat(2,1fr)}}.practice-mode-card{color:var(--text-primary);min-height:var(--touch-min);flex-direction:column;gap:.35rem;padding:1.25rem;text-decoration:none;display:flex}.practice-mode-card:hover{color:var(--text-primary);text-decoration:none}.practice-mode-name{margin:0;font-size:1.0625rem;font-weight:700}.practice-mode-desc{color:var(--text-secondary);flex:1;margin:0;font-size:.875rem}.practice-mode-time{color:var(--text-muted);font-size:.8125rem}.practice-mode-cta{color:var(--color-primary);font-size:.875rem;font-weight:600}.review-section{margin-bottom:1.5rem}.review-section .dash-section-title{margin-bottom:.5rem}.filter-chips{flex-wrap:wrap;gap:.5rem;display:flex}.filter-chip{color:var(--text-secondary);background:var(--color-neutral-100);border-radius:var(--radius-full);padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s}.filter-chip:hover{background:var(--color-neutral-200);color:var(--text-primary);text-decoration:none}.filter-chip.active{background:var(--color-primary);color:#fff}.topic-mastery-list{margin:0;padding:0;list-style:none}.topic-mastery-row{border-bottom:1px solid var(--border-light);color:var(--text-primary);grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:.25rem 1rem;padding:.75rem 0;text-decoration:none;display:grid}.topic-mastery-row:hover{color:var(--color-primary);text-decoration:none}.topic-name{grid-column:1;font-weight:500}.topic-pct{color:var(--text-secondary);grid-column:2;font-size:.875rem;font-weight:600}.topic-mastery-row .progress{grid-column:1/-1;margin:0}.session-history-list{margin:0;padding:0;list-style:none}.session-history-list li{border-bottom:1px solid var(--border-light)}.session-history-list a{color:var(--text-primary);padding:.75rem 0;font-size:.9375rem;text-decoration:none;display:block}.session-history-list a:hover{color:var(--color-primary);text-decoration:none}.profile-section{margin-bottom:1.5rem}.profile-section .dash-section-title{margin-bottom:.5rem}.profile-toggle-row{justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9375rem;display:flex}.profile-toggle-row+.profile-toggle-row{border-top:1px solid var(--border-light)}.link-danger{color:var(--color-danger)}.link-danger:hover{color:#b91c1c}.resources-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.resource-card{color:var(--text-primary);padding:1rem 1.25rem;font-weight:500;text-decoration:none;display:block}.resource-card:hover{color:var(--color-primary);text-decoration:none}.practice-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.practice-progress-text{color:var(--text-primary);font-size:.875rem;font-weight:600}.question-stem{margin:1.5rem 0;font-size:1.125rem;font-weight:500;line-height:1.5}.options-list{flex-direction:column;gap:.5rem;display:flex}.option-row{border:2px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;min-height:var(--touch-min);align-items:center;gap:.75rem;padding:1rem 1.25rem;transition:border-color .2s,background .2s;display:flex}.option-row:hover,.option-row.selected{border-color:var(--color-primary);background:var(--color-accent-light)}.option-row.correct{border-color:var(--color-success);background:#dcfce7}.option-row.incorrect{border-color:var(--color-danger);background:#fee2e2}.option-letter{background:var(--color-neutral-200);border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;font-weight:700;display:flex}.option-row.selected .option-letter,.option-row.correct .option-letter{background:var(--color-primary);color:#fff}.option-row.incorrect .option-letter{background:var(--color-danger);color:#fff}.explanation-box{background:var(--bg-section);border-radius:var(--radius-lg);color:var(--text-secondary);margin-top:1rem;padding:1rem;font-size:.875rem}.session-summary-card{text-align:center;max-width:28rem;margin:0 auto}.session-summary-card .score-big{color:var(--color-primary);font-size:3rem;font-weight:700}.week-grid{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}@media (max-width:480px){.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}}.week-day{aspect-ratio:1;border:1px solid var(--border-light);border-radius:var(--radius-md);justify-content:center;align-items:center;font-size:.75rem;font-weight:500;display:flex}.week-day.done{background:var(--color-success);color:#fff;border-color:var(--color-success)}.week-day.today{border-color:var(--color-primary);border-width:2px}.chat-container{border:1px solid var(--border-light);border-radius:var(--radius-xl);flex-direction:column;height:24rem;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.chat-msg{border-radius:var(--radius-lg);max-width:85%;padding:.75rem 1rem;font-size:.875rem}.chat-msg.user{background:var(--color-primary);color:#fff;align-self:flex-end}.chat-msg.bot{background:var(--color-neutral-100);color:var(--text-primary);align-self:flex-start}.chat-input-row{border-top:1px solid var(--border-light);gap:.5rem;padding:.75rem;display:flex}.chat-input-row input{flex:1}.suggested-prompts{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.suggested-prompts button{background:var(--color-neutral-100);border-radius:var(--radius-md);cursor:pointer;font-size:.75rem;font-family:var(--font-sans);color:var(--text-secondary);border:none;padding:.5rem .75rem}.suggested-prompts button:hover{background:var(--color-neutral-200);color:var(--text-primary)}.metrics-row{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}@media (min-width:640px){.metrics-row{grid-template-columns:repeat(4,1fr)}}.filter-row{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.filter-row .select-select{min-width:8rem}.paywall-blur{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}.paywall-overlay{text-align:center;background:#ffffffe6;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.system-page{text-align:center;background:var(--bg-section);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.system-page h1{color:var(--color-primary);margin:0 0 .5rem;font-size:4rem}.system-page p{max-width:24rem;margin-bottom:1.5rem}.sb-screen{padding:0 0 6rem}.sb-topbar{justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem .5rem;display:flex}.sb-topbar-center{flex-direction:column;align-items:center;gap:.1rem;display:flex}.sb-mode-label{text-transform:uppercase;letter-spacing:.07em;color:var(--color-primary);font-size:.6875rem;font-weight:700}.sb-q-counter{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.sb-timer{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600;font-family:monospace, var(--font-sans);text-align:right;min-width:3.5rem}.sb-timer--over{color:var(--color-danger)}.sb-timer--elapsed{color:var(--text-muted)}.sb-progress-track{background:var(--border-light);border-radius:2px;height:4px;margin:0 1rem 1.25rem;overflow:hidden}.sb-progress-fill{background:var(--color-primary);border-radius:2px;height:100%;transition:width .4s}.sb-question-card{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-light);margin:0 1rem;padding:1.5rem 1.25rem;box-shadow:0 1px 4px #0000000d}.sb-question-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.sb-section-badge{text-transform:uppercase;letter-spacing:.07em;color:#4338ca;background:#e0e7ff;border-radius:999px;padding:.2rem .6rem;font-size:.6875rem;font-weight:700}.sb-type-badge{background:var(--bg-section);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:999px;padding:.2rem .6rem;font-size:.6875rem;font-weight:600}.sb-difficulty{text-transform:capitalize;border-radius:999px;padding:.2rem .6rem;font-size:.6875rem;font-weight:600}.sb-diff--easy{color:#15803d;background:#dcfce7}.sb-diff--medium{color:#92400e;background:#fef9c3}.sb-diff--hard{color:#b91c1c;background:#fee2e2}.sb-stem{color:var(--text-primary);white-space:pre-wrap;margin:.75rem 0 1.25rem;font-size:1.0625rem;line-height:1.6}.sb-input-wrap{margin:.25rem 0 1.25rem}.sb-fill-input{border:2px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-card);width:100%;color:var(--text-primary);box-sizing:border-box;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.sb-fill-input:focus{border-color:var(--color-primary);outline:none}.sb-fill-input:disabled{background:var(--bg-section);color:var(--text-secondary)}.sb-essay-input{border:2px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-card);width:100%;color:var(--text-primary);resize:vertical;box-sizing:border-box;padding:.875rem 1rem;font-family:inherit;font-size:.9375rem;line-height:1.6;transition:border-color .2s}.sb-essay-input:focus{border-color:var(--color-primary);outline:none}.sb-essay-input:disabled{background:var(--bg-section);color:var(--text-secondary)}.sb-essay-hint{color:var(--text-muted);margin-top:.4rem;font-size:.8125rem}.sb-short-input{border:2px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-card);width:100%;color:var(--text-primary);resize:vertical;box-sizing:border-box;min-height:96px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;line-height:1.55;transition:border-color .2s}.sb-short-input:focus{border-color:var(--color-primary);outline:none}.sb-short-input:disabled{background:var(--bg-section);color:var(--text-secondary)}.sb-input-meta{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.5rem;margin-top:.4rem;font-size:.75rem;display:flex}.sb-input-hint{flex:1;min-width:0}.sb-char-count{font-variant-numeric:tabular-nums;font-family:monospace, var(--font-sans);white-space:nowrap}.sb-parts-list{flex-direction:column;gap:.875rem;margin:.25rem 0 1rem;display:flex}.sb-parts-list--numbered{gap:.625rem}.sb-part-row{flex-direction:column;gap:.35rem;display:flex}.sb-part-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:inline-flex}.sb-part-label--num{color:var(--color-primary);text-transform:none;letter-spacing:0;flex-shrink:0;width:1.5rem;font-size:.875rem;font-weight:700}.sb-part-optional{text-transform:none;letter-spacing:0;color:var(--text-muted);font-size:.6875rem;font-weight:500}.sb-parts-list--numbered .sb-part-row{flex-direction:row;align-items:flex-start;gap:.625rem}.sb-parts-list--numbered .sb-part-row>.sb-fill-input,.sb-parts-list--numbered .sb-part-row>.sb-short-input,.sb-parts-list--numbered .sb-part-row>.sb-essay-input{flex:1;min-width:0}.sb-parts-helper{color:var(--text-muted);margin:.25rem 0 0;font-size:.75rem;line-height:1.5}.sb-reveal-btn{width:100%;margin-top:.25rem}.sb-feedback{border-radius:var(--radius-lg);border:1px solid #0000;margin-top:1rem;padding:.875rem 1rem}.sb-feedback--correct{background:#dcfce7;border-color:#bbf7d0}.sb-feedback--wrong{background:#fee2e2;border-color:#fecaca}.sb-feedback-header{align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.sb-explanation{color:var(--text-primary);margin:.5rem 0 0;font-size:.875rem;line-height:1.5}.sb-feedback-title{font-size:.9375rem;font-weight:600}.sb-feedback-title--correct{color:var(--color-success,#16a34a)}.sb-feedback-title--wrong{color:var(--color-error,#dc2626)}.sb-feedback-rows{margin-top:.4rem;font-size:.8125rem}.sb-feedback-row{flex-wrap:wrap;gap:.35rem;margin:.25rem 0;display:flex}.sb-feedback-label{color:var(--text-muted);flex-shrink:0;font-weight:500}.sb-feedback-value{color:var(--text-primary);word-break:break-word;min-width:0;font-weight:500}.sb-model-answer-wrap{border-radius:var(--radius-lg);background:#f0f9ff;border:1px solid #bae6fd;margin-top:1.25rem;padding:1rem 1.125rem}.sb-model-answer-header{text-transform:uppercase;letter-spacing:.06em;color:#0369a1;align-items:center;gap:.4rem;margin-bottom:.6rem;font-size:.75rem;font-weight:700;display:flex}.sb-model-answer-text{color:var(--text-primary);white-space:pre-wrap;margin:0;font-size:.9375rem;line-height:1.6}.sb-self-assess{border-top:1px solid #bae6fd;margin-top:1rem;padding-top:.875rem}.sb-self-assess-prompt{color:var(--text-secondary);margin:0 0 .625rem;font-size:.8125rem;font-weight:600}.sb-self-assess-btns{gap:.625rem;display:flex}.sb-got-it-btn{background:var(--color-success,#16a34a);color:#fff;border-radius:var(--radius-lg);cursor:pointer;min-height:var(--touch-min,44px);border:none;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;transition:opacity .15s;display:flex}.sb-got-it-btn:hover{opacity:.88}.sb-missed-btn{background:var(--color-danger,#dc2626);color:#fff;border-radius:var(--radius-lg);cursor:pointer;min-height:var(--touch-min,44px);border:none;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;transition:opacity .15s;display:flex}.sb-missed-btn:hover{opacity:.88}.sb-self-marked{border-top:1px solid #bae6fd;align-items:center;gap:.4rem;margin-top:.875rem;padding-top:.875rem;font-size:.875rem;font-weight:600;display:flex}.sb-self-marked--correct{color:var(--color-success,#16a34a)}.sb-self-marked--wrong{color:var(--color-danger,#dc2626)}.sb-nav-actions{text-align:center;margin:1.25rem 1rem 0}.sb-next-btn{justify-content:center;align-items:center;gap:.4rem;width:100%;display:flex}.sb-remaining-hint{color:var(--text-muted);margin:.5rem 0 0;font-size:.8125rem}.sb-dots-row{flex-wrap:wrap;justify-content:center;gap:.35rem;margin:1.25rem 1rem 0;padding:0 .5rem;display:flex}.sb-dot{background:var(--border-light);border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .2s}.sb-dot--current{background:var(--color-primary);transform:scale(1.3)}.sb-dot--correct{background:var(--color-success,#16a34a)}.sb-dot--wrong{background:var(--color-danger,#dc2626)}.sb-dot--done{background:var(--text-muted)}@media (max-width:480px){.sb-question-card{margin:0 .75rem;padding:1.25rem 1rem}.sb-topbar{padding:.625rem .75rem .5rem}.sb-progress-track{margin:0 .75rem 1rem}.sb-nav-actions,.sb-dots-row{margin:1rem .75rem 0}.sb-stem{font-size:1rem}.sb-fill-input,.sb-short-input,.sb-essay-input{padding:.75rem .875rem;font-size:16px}.sb-essay-input{min-height:180px}.sb-short-input{min-height:110px}.sb-self-assess-btns{flex-direction:column}.sb-got-it-btn,.sb-missed-btn{width:100%}.sb-reveal-btn{min-height:var(--touch-min,48px)}.sb-input-meta{font-size:.7rem}.sb-parts-list--numbered .sb-part-row{flex-direction:column;gap:.25rem}.sb-part-label--num{width:auto}.sb-feedback-row{gap:.25rem}}@media (max-width:360px){.sb-question-card{padding:1rem .875rem}.sb-stem{font-size:.9375rem}.sb-question-meta{gap:.35rem}.sb-section-badge,.sb-type-badge,.sb-difficulty{padding:.15rem .5rem;font-size:.625rem}}