:root{--brand-deep: #153f32;--brand: #21845b;--brand-strong: #1a6e4a;--brand-rgb: 33, 132, 91;--on-brand: #ffffff;--sidebar-bg: #153f32;--sidebar-text: #eaf2ee;--brand-soft: #e7f3ed;--brand-soft-strong: #d5eadf;--white: #ffffff;--gray-light: #f3f5f4;--gray-50: #f8faf9;--gray-100: #eef2f0;--gray-200: #e2e9e5;--text: #20332b;--text-strong: #10271e;--muted: #5f766c;--muted-2: #60766c;--border: #e4ebe7;--border-strong: #d4dfd9;--surface: #ffffff;--surface-2: #f8faf9;--surface-3: #f2f6f4;--bg: #f3f5f4;--danger: #b42318;--danger-soft: #fef3f2;--warning: #b05a07;--warning-soft: #fff6e8;--amber: #b45309;--info: #1d5f9f;--info-soft: #eff6ff;--purple: #6d3eb3;--focus: #2c9b6e;--shadow-xs: 0 1px 2px rgba(16, 39, 30, .04);--shadow-sm: 0 4px 16px rgba(16, 39, 30, .055);--shadow-md: 0 14px 38px rgba(16, 39, 30, .1);--shadow-lg: 0 24px 70px rgba(16, 39, 30, .16);--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--font-sans: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-display: "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--sidebar-width: 248px;--topbar-height: 68px;--bottom-nav-height: 70px;--content-max: 1240px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 56px;--transition: .16s ease}:root[data-theme=dark]{--brand-deep: #b8e6d1;--brand: #52c596;--brand-strong: #74d8ac;--brand-rgb: 82, 197, 150;--on-brand: #062117;--sidebar-bg: #0b1713;--sidebar-text: #d9e8e1;--brand-soft: #17352a;--brand-soft-strong: #1d4435;--white: #ffffff;--gray-light: #0d1914;--gray-50: #0f1d17;--gray-100: #14251d;--gray-200: #1d3328;--text: #d9e8e1;--text-strong: #f0f7f4;--muted: #9ab0a5;--muted-2: #7e958a;--border: #233a2f;--border-strong: #2d4a3c;--surface: #101f19;--surface-2: #0d1a15;--surface-3: #162820;--bg: #08130f;--danger: #ff8a80;--danger-soft: #351b19;--warning: #f0b46a;--warning-soft: #2e2415;--amber: #e8a34b;--info: #84bdf0;--info-soft: #14273a;--purple: #c4a5f4;--focus: #6de0ae;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .18);--shadow-sm: 0 4px 16px rgba(0, 0, 0, .22);--shadow-md: 0 16px 42px rgba(0, 0, 0, .3);--shadow-lg: 0 28px 80px rgba(0, 0, 0, .45)}:root[data-palette]{--brand-soft: color-mix(in srgb, var(--brand) 11%, var(--surface));--brand-soft-strong: color-mix(in srgb, var(--brand) 19%, var(--surface))}:root[data-palette=azul-rojo]{--brand-deep: #162b5e;--brand: #2447b8;--brand-strong: #1a347f;--sidebar-bg: #14244d;--sidebar-text: #edf3ff;--focus: #c2413a;--brand-rgb: 36, 71, 184}:root[data-theme=dark][data-palette=azul-rojo]{--brand-deep: #b8c9ff;--brand: #8fa9ff;--brand-strong: #c7d5ff;--on-brand: #09152f;--sidebar-bg: #0b1326;--sidebar-text: #e2eaff;--focus: #ff8f88;--brand-rgb: 143, 169, 255}:root[data-palette=blanco-negro]{--brand-deep: #171717;--brand: #262626;--brand-strong: #000000;--sidebar-bg: #171717;--sidebar-text: #fafafa;--focus: #404040;--brand-rgb: 38, 38, 38}:root[data-theme=dark][data-palette=blanco-negro]{--brand-deep: #f5f5f5;--brand: #e5e5e5;--brand-strong: #ffffff;--on-brand: #111111;--sidebar-bg: #0b0b0b;--sidebar-text: #f5f5f5;--focus: #d4d4d4;--brand-rgb: 229, 229, 229}:root[data-palette=mercedes]{--brand-deep: #0b1f1f;--brand: #008f8b;--brand-strong: #00706d;--sidebar-bg: #081514;--sidebar-text: #e8fbf8;--focus: #00b3ad;--brand-rgb: 0, 143, 139}:root[data-theme=dark][data-palette=mercedes]{--brand-deep: #9ff2ee;--brand: #3ee0d8;--brand-strong: #8ff5ed;--on-brand: #062121;--sidebar-bg: #081514;--sidebar-text: #e8fbf8;--focus: #8ff5ed;--brand-rgb: 62, 224, 216}:root[data-palette=ferrari]{--brand-deep: #650000;--brand: #c90000;--brand-strong: #9d0000;--sidebar-bg: #210808;--sidebar-text: #fff1f0;--focus: #e11d48;--brand-rgb: 201, 0, 0}:root[data-theme=dark][data-palette=ferrari]{--brand-deep: #ffb4ab;--brand: #ff6b61;--brand-strong: #ffc9c3;--on-brand: #2c0000;--sidebar-bg: #210808;--sidebar-text: #fff1f0;--focus: #ffb4ab;--brand-rgb: 255, 107, 97}:root[data-palette=mclaren]{--brand-deep: #7a3a00;--brand: #d96b00;--brand-strong: #b45700;--sidebar-bg: #1c1208;--sidebar-text: #fff4e8;--focus: #ff8000;--brand-rgb: 217, 107, 0}:root[data-theme=dark][data-palette=mclaren]{--brand-deep: #ffd0a3;--brand: #ff9f45;--brand-strong: #ffd9b5;--on-brand: #2b1605;--sidebar-bg: #1c1208;--sidebar-text: #fff4e8;--focus: #ffd0a3;--brand-rgb: 255, 159, 69}:root[data-palette=red-bull]{--brand-deep: #0c1b5e;--brand: #1e41ff;--brand-strong: #1634cc;--sidebar-bg: #0b173d;--sidebar-text: #edf2ff;--focus: #d90429;--brand-rgb: 30, 65, 255}:root[data-theme=dark][data-palette=red-bull]{--brand-deep: #c4d2ff;--brand: #809cff;--brand-strong: #d4deff;--on-brand: #07112f;--sidebar-bg: #0b173d;--sidebar-text: #edf2ff;--focus: #ff8a9a;--brand-rgb: 128, 156, 255}:root[data-palette=aston-martin]{--brand-deep: #003f39;--brand: #007a70;--brand-strong: #005e56;--sidebar-bg: #062d29;--sidebar-text: #edfff9;--focus: #7fae00;--brand-rgb: 0, 122, 112}:root[data-theme=dark][data-palette=aston-martin]{--brand-deep: #b8f5e7;--brand: #45d6bd;--brand-strong: #a9f5e4;--on-brand: #032a23;--sidebar-bg: #062d29;--sidebar-text: #edfff9;--focus: #c7f36b;--brand-rgb: 69, 214, 189}:root[data-palette=alpine]{--brand-deep: #093c68;--brand: #0078d4;--brand-strong: #005ea6;--sidebar-bg: #0b2b4d;--sidebar-text: #eef8ff;--focus: #e83e8c;--brand-rgb: 0, 120, 212}:root[data-theme=dark][data-palette=alpine]{--brand-deep: #bfe3ff;--brand: #64b9ff;--brand-strong: #c9eaff;--on-brand: #061d30;--sidebar-bg: #0b2b4d;--sidebar-text: #eef8ff;--focus: #ff8fbe;--brand-rgb: 100, 185, 255}:root[data-palette=williams]{--brand-deep: #001b56;--brand: #0057d9;--brand-strong: #0044aa;--sidebar-bg: #081b45;--sidebar-text: #eef4ff;--focus: #00a3e0;--brand-rgb: 0, 87, 217}:root[data-theme=dark][data-palette=williams]{--brand-deep: #c9d8ff;--brand: #82aaff;--brand-strong: #d6e2ff;--on-brand: #06132f;--sidebar-bg: #081b45;--sidebar-text: #eef4ff;--focus: #9bd8ff;--brand-rgb: 130, 170, 255}:root[data-palette=haas]{--brand-deep: #5a0008;--brand: #c8102e;--brand-strong: #a00b24;--sidebar-bg: #2a0a0f;--sidebar-text: #fff2f3;--focus: #d6001c;--brand-rgb: 200, 16, 46}:root[data-theme=dark][data-palette=haas]{--brand-deep: #ffd0d4;--brand: #ff6b7a;--brand-strong: #ffdce0;--on-brand: #2a060b;--sidebar-bg: #2a0a0f;--sidebar-text: #fff2f3;--focus: #ffb3ba;--brand-rgb: 255, 107, 122}:root[data-palette=audi]{--brand-deep: #2a0009;--brand: #d90429;--brand-strong: #b00320;--sidebar-bg: #1c0a0d;--sidebar-text: #fff1f2;--focus: #f50537;--brand-rgb: 217, 4, 41}:root[data-theme=dark][data-palette=audi]{--brand-deep: #ffc2cb;--brand: #ff5c77;--brand-strong: #ffd0d6;--on-brand: #2a0510;--sidebar-bg: #1c0a0d;--sidebar-text: #fff1f2;--focus: #ffb0bc;--brand-rgb: 255, 92, 119}:root[data-palette=racing-bulls]{--brand-deep: #0b1b6b;--brand: #1634d8;--brand-strong: #1028a8;--sidebar-bg: #0a1748;--sidebar-text: #f0f4ff;--focus: #5470ff;--brand-rgb: 22, 52, 216}:root[data-theme=dark][data-palette=racing-bulls]{--brand-deep: #d0d8ff;--brand: #94a9ff;--brand-strong: #dbe2ff;--on-brand: #071133;--sidebar-bg: #0a1748;--sidebar-text: #f0f4ff;--focus: #c6d0ff;--brand-rgb: 148, 169, 255}:root[data-palette=cadillac]{--brand-deep: #3b2b00;--brand: #9b7b00;--brand-strong: #7a6000;--sidebar-bg: #141008;--sidebar-text: #fff9e8;--focus: #c9a227;--brand-rgb: 155, 123, 0}:root[data-theme=dark][data-palette=cadillac]{--brand-deep: #ffe08a;--brand: #d4af37;--brand-strong: #ffe9a8;--on-brand: #261c00;--sidebar-bg: #141008;--sidebar-text: #fff9e8;--focus: #ffe08a;--brand-rgb: 212, 175, 55}:root[data-density=compacta]{--space-4: 12px;--space-5: 15px;--space-6: 19px;--space-7: 26px;--topbar-height: 60px;--bottom-nav-height: 64px}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3,h4{color:var(--text-strong);font-family:var(--font-display);line-height:1.18;letter-spacing:-.025em}h1{font-size:clamp(28px,3.1vw,36px);font-weight:680}h2{font-size:19px;font-weight:640}h3{font-size:15px;font-weight:650}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-strong)}button,input,select,textarea{font:inherit}button,[role=button]{-webkit-tap-highlight-color:transparent}button{color:inherit}img,svg{display:block;max-width:100%}::selection{background:var(--brand-soft-strong);color:var(--text-strong)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}hr{border:0;border-top:1px solid var(--border)}code,pre{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace}input[type=date]::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:12px;left:12px;z-index:10000;padding:10px 16px;border-radius:var(--radius-sm);background:var(--brand-deep);color:var(--white);font-weight:600;transform:translateY(-160%);transition:transform var(--transition)}.skip-link:focus{transform:translateY(0);color:var(--white)}.muted{color:var(--muted)}.text-danger{color:var(--danger)!important}.eyebrow,.page-header__eyebrow,.card__eyebrow,.modal__eyebrow{color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.is-complete{color:var(--muted)!important;text-decoration:line-through;text-decoration-thickness:1px}.spinner{width:16px;height:16px;flex:0 0 auto;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;opacity:.8;animation:spin .7s linear infinite}.spinner--brand{color:var(--brand);width:20px;height:20px}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:padding-box;border-radius:99px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.logo{display:inline-flex;align-items:center;gap:10px;color:inherit;line-height:1}.logo__mark{flex:0 0 auto;border-radius:12px;box-shadow:0 6px 16px #153f3233}.logo__text{display:flex;align-items:baseline;gap:3px;letter-spacing:-.03em;font-family:var(--font-display);font-size:18px}.logo__text strong{font-weight:760}.logo__text span{font-weight:460;opacity:.86}.avatar{display:inline-grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:var(--brand-soft);color:var(--brand-strong);font-size:12px;font-weight:750;letter-spacing:.02em}.avatar--xl{width:84px;height:84px;font-size:25px;background:linear-gradient(145deg,var(--brand) 0%,var(--brand-strong) 100%);color:var(--on-brand);box-shadow:0 12px 30px rgba(var(--brand-rgb),.25)}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:99px;background:var(--brand-soft);color:var(--brand-strong);font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.pill--demo{background:var(--warning-soft);color:var(--warning)}.mode-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--border);border-radius:99px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:600}.mode-badge i{width:6px;height:6px;border-radius:50%;background:var(--brand)}.mode-badge--demo i{background:var(--amber)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:13.5px;font-weight:640;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),transform var(--transition),box-shadow var(--transition)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.58}.btn--primary{background:var(--brand);color:var(--on-brand);box-shadow:0 5px 14px rgba(var(--brand-rgb),.16)}.btn--primary:hover:not(:disabled){background:var(--brand-strong);box-shadow:0 7px 18px rgba(var(--brand-rgb),.24);color:var(--on-brand)}.btn--secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-strong);box-shadow:var(--shadow-xs)}.btn--secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted-2);color:var(--text-strong)}.btn--ghost{background:transparent;color:var(--brand);padding-inline:11px}.btn--ghost:hover:not(:disabled){background:var(--brand-soft);color:var(--brand-strong)}.btn--subtle{background:var(--brand-soft);color:var(--brand-strong)}.btn--subtle:hover:not(:disabled){background:var(--brand-soft-strong)}.btn--danger{background:var(--danger);color:#fff}[data-theme=dark] .btn--danger{color:#2a0806}.btn--danger:hover:not(:disabled){filter:brightness(1.07);color:inherit}.btn--sm{min-height:34px;padding-inline:12px;border-radius:10px;font-size:12.5px}.btn--lg{min-height:48px;padding-inline:22px;font-size:14.5px}.btn--full{width:100%}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 auto;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--transition),color var(--transition),border-color var(--transition)}.icon-btn:hover{background:var(--surface-3);color:var(--text-strong)}.icon-btn--danger:hover{background:var(--danger-soft);color:var(--danger)}.theme-toggle{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--muted);cursor:pointer;transition:background-color var(--transition),color var(--transition),border-color var(--transition)}.theme-toggle:hover{background:var(--surface-3);color:var(--text-strong);border-color:var(--border-strong)}.text-link{display:inline-flex;align-items:center;gap:5px;color:var(--brand);font-size:12.5px;font-weight:650;white-space:nowrap}.text-link:hover{gap:8px}.text-link--small{font-size:11.5px}.tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:6px;background:var(--surface-3);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.tag--project{background:var(--warning-soft);color:var(--amber)}.tag--delivery{gap:4px;background:var(--brand-soft);color:var(--brand-strong)}.tag--danger{background:var(--danger-soft);color:var(--danger)}.priority{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:6px;font-size:10px;font-weight:700;white-space:nowrap}.priority:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.priority--alta{background:var(--danger-soft);color:var(--danger)}.priority--media{background:var(--warning-soft);color:var(--warning)}.priority--baja{background:var(--surface-3);color:var(--muted)}.status-pill,.exam-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:99px;font-size:10.5px;font-weight:650;white-space:nowrap}.status-pill--pendiente{background:var(--surface-3);color:var(--muted)}.status-pill--en_proceso{background:var(--warning-soft);color:var(--warning)}.status-pill--completada{background:var(--brand-soft);color:var(--brand-strong)}.status-dot{display:block;width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--muted-2)}.status-dot--pendiente{background:var(--muted-2)}.status-dot--en_proceso{background:var(--amber)}.status-dot--completada{background:var(--brand)}.status-dot--examen{background:var(--purple)}.exam-status--pendiente{background:var(--surface-3);color:var(--muted)}.exam-status--en_proceso{background:var(--warning-soft);color:var(--warning)}.exam-status--listo{background:var(--brand-soft);color:var(--brand-strong)}.subject-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;color:var(--chip-color, var(--muted));font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.subject-chip:before{content:"";width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:currentColor}.form{display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field__label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-strong);font-size:12.5px;font-weight:640}.field__optional{color:var(--muted-2);font-size:10px;font-weight:500}.field__message{color:var(--muted);font-size:11.5px;line-height:1.4}.field__message--error{color:var(--danger)}.field--error .input,.field--error .select,.field--error .textarea{border-color:var(--danger)}.input,.select,.textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);font-size:14px;line-height:1.4;transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}.input::placeholder,.textarea::placeholder{color:var(--muted-2);opacity:.9}.input:hover,.select:hover,.textarea:hover{border-color:var(--muted-2)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.13)}.input:disabled{background:var(--surface-3);color:var(--muted);cursor:not-allowed}.textarea{resize:vertical;min-height:82px}.select{appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}[data-theme=dark] .select option{background:var(--surface);color:var(--text)}.form-grid{display:grid;gap:16px}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.fieldset{margin:0;padding:0;border:0}.form-alert{padding:10px 13px;border:1px solid color-mix(in srgb,var(--danger) 28%,transparent);border-radius:10px;background:var(--danger-soft);color:var(--danger);font-size:12.5px}.form-note{padding:10px 12px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:12px}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:2px}.password-field{position:relative}.password-field .input{padding-right:78px}.password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--brand);font-size:11px;font-weight:650;cursor:pointer}.password-toggle:hover{background:var(--brand-soft)}.segmented{display:inline-flex;width:100%;padding:3px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.segmented--compact{width:auto}.segmented__item{flex:1 1 0;min-height:34px;padding:5px 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:620;white-space:nowrap;cursor:pointer;transition:background-color var(--transition),color var(--transition),box-shadow var(--transition)}.segmented__item:hover{color:var(--text-strong)}.segmented__item.is-active{background:var(--surface);color:var(--text-strong);box-shadow:var(--shadow-xs)}.segmented--compact .segmented__item{flex:0 0 auto;min-height:30px;padding-inline:13px;font-size:11.5px}.color-picker{display:flex;flex-wrap:wrap;gap:10px;padding-top:3px}.color-swatch{display:grid;place-items:center;width:34px;height:34px;padding:0;border:2px solid transparent;border-radius:50%;box-shadow:inset 0 0 0 2px var(--surface);cursor:pointer;transition:transform var(--transition),box-shadow var(--transition)}.color-swatch:hover{transform:scale(1.08)}.color-swatch.is-selected{box-shadow:inset 0 0 0 2px var(--surface),0 0 0 2px var(--text-strong)}.color-swatch svg{width:18px;height:18px}.search-field{display:flex;align-items:center;gap:9px;min-width:240px;height:40px;padding:0 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--muted);transition:border-color var(--transition),box-shadow var(--transition)}.search-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.11)}.search-field input{width:100%;min-width:0;padding:0;border:0;outline:none;background:transparent;color:var(--text);font-size:13px}.search-field input::placeholder{color:var(--muted-2)}.select-inline .select{min-height:40px;font-size:12.5px}.card{padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs)}.card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.card__header--compact{align-items:center;margin-bottom:15px}.card__eyebrow{margin-bottom:4px}.card__header h2{font-size:18px}.empty-state,.empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:42px 24px;text-align:center}.empty-card{padding:58px 24px}.empty-state__icon,.empty-card__illustration{display:grid;place-items:center;width:52px;height:52px;margin-bottom:4px;border-radius:16px;background:var(--brand-soft);color:var(--brand)}.empty-card__illustration{width:66px;height:66px;border-radius:20px}.empty-state h3,.empty-card h2{margin:0;font-size:17px}.empty-state p,.empty-card p{max-width:390px;margin-bottom:10px;color:var(--muted);font-size:13px}.empty-state--compact{padding:24px}.progress-ring{position:relative;flex:0 0 auto}.progress-ring svg{display:block}.progress-ring__value{transition:stroke-dashoffset .5s ease}.progress-ring__label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.progress-ring__label strong{color:var(--text-strong);font-size:18px;line-height:1}.progress-ring__label span{color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.02em}.progress-bar{height:6px;overflow:hidden;border-radius:99px;background:var(--surface-3)}.progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--subject-color, var(--brand));transition:width .4s ease}.mini-progress{height:4px;overflow:hidden;border-radius:99px;background:var(--surface-3)}.mini-progress span{display:block;height:100%;border-radius:inherit;background:var(--brand)}.modal-overlay{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:24px;background:#07140f7a;backdrop-filter:blur(4px);animation:fade-in .16s ease}.modal{display:flex;flex-direction:column;width:min(100%,560px);max-height:min(88vh,900px);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:modal-in .18s ease}.modal--sm{width:min(100%,440px)}.modal--lg{width:min(100%,720px)}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 0}.modal__eyebrow{margin-bottom:4px}.modal__title{font-size:21px;font-weight:680}.modal__close{margin-top:-2px}.modal__body{overflow-y:auto;padding:20px 24px;overscroll-behavior:contain}.modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px;border-top:1px solid var(--border)}.modal__message{color:var(--muted);font-size:13.5px;line-height:1.6}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}.toast-stack{position:fixed;right:20px;bottom:22px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:min(380px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:9px;width:100%;padding:11px 12px;border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:11px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-md);pointer-events:auto;animation:toast-in .18s ease;font-size:12.5px;line-height:1.45}.toast--error{border-left-color:var(--danger)}.toast--info{border-left-color:var(--info)}.toast__icon{display:grid;place-items:center;width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:var(--brand-soft);color:var(--brand)}.toast--error .toast__icon{background:var(--danger-soft);color:var(--danger)}.toast--info .toast__icon{background:var(--info-soft);color:var(--info)}.toast p{flex:1;padding-top:2px}.toast__close{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.toast__close:hover{background:var(--surface-3)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.install-nudge{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--brand) 20%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--brand-soft) 55%,var(--surface))}.install-nudge__icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:9px;background:var(--surface);color:var(--brand)}.install-nudge p{flex:1;color:var(--muted);font-size:12px}.install-nudge p strong{color:var(--text-strong)}.install-nudge__close{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.install-nudge__close:hover{background:var(--surface)}.install-card{display:flex;align-items:center;gap:16px}.install-card__icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border-radius:14px;background:var(--brand-soft);color:var(--brand)}.install-card__copy{flex:1}.install-card__copy h2{margin-bottom:3px;font-size:16px}.install-card__copy p{color:var(--muted);font-size:12.5px;line-height:1.5}.install-dialog{display:flex;flex-direction:column;gap:18px}.install-dialog__hero{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;background:var(--brand-soft)}.install-dialog__icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:12px;background:var(--surface);color:var(--brand)}.install-dialog__hero p{color:var(--text);font-size:12.5px;line-height:1.5}.install-steps{display:flex;flex-direction:column;gap:14px}.install-step{display:flex;gap:11px;align-items:flex-start}.install-step>span{display:grid;place-items:center;width:23px;height:23px;flex:0 0 auto;border-radius:50%;background:var(--brand-soft);color:var(--brand-strong);font-size:10.5px;font-weight:750}.install-step p{color:var(--muted);font-size:12.5px;line-height:1.5}.install-step strong{color:var(--text-strong)}.install-note{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border-radius:10px;background:var(--info-soft);color:var(--info)}.install-note p{font-size:11.5px;line-height:1.5}.install-note--muted{background:var(--surface-2);color:var(--muted)}.install-success{display:flex;gap:12px;padding:14px;border-radius:12px;background:var(--brand-soft)}.install-success__icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:var(--surface);color:var(--brand)}.install-success h3{margin-bottom:3px}.install-success p{color:var(--muted);font-size:12px}.system-banner{position:fixed;left:50%;z-index:950;display:flex;align-items:center;gap:10px;width:min(560px,calc(100vw - 24px));padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-md);transform:translate(-50%);animation:banner-in .2s ease}.system-banner--offline{top:12px;border-color:color-mix(in srgb,var(--warning) 30%,var(--border))}.system-banner--update{bottom:24px}.system-banner__icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:8px;background:var(--surface-3);color:var(--brand)}.system-banner--offline .system-banner__icon{color:var(--warning)}.system-banner p{flex:1;font-size:11.5px;line-height:1.45}.system-banner__actions{display:flex;align-items:center;gap:4px}.system-banner__dismiss{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.system-banner__dismiss:hover{background:var(--surface-3)}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-6px)}}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;justify-content:space-between;height:100dvh;padding:26px 16px 20px;background:radial-gradient(circle at 12% 4%,rgba(255,255,255,.09),transparent 34%),var(--sidebar-bg);color:var(--sidebar-text);overflow-y:auto}.sidebar__top{display:flex;flex-direction:column;gap:30px}.sidebar__brand{display:inline-flex;width:fit-content;padding:0 8px;color:var(--sidebar-text)}.sidebar__brand:hover{color:var(--sidebar-text)}.sidebar .logo__text{color:#f7fbf9}.sidebar__nav{display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:11px;min-height:43px;padding:0 12px;border-radius:10px;color:#eaf2eead;font-size:13px;font-weight:550;transition:background-color var(--transition),color var(--transition)}.nav-link svg{opacity:.78}.nav-link:hover{background:#ffffff12;color:#fff}.nav-link.is-active{background:#ffffff1f;color:#fff;font-weight:650;box-shadow:inset 2px 0 #52c596}.nav-link.is-active svg{opacity:1;color:#7ee0b7}.sidebar__bottom{display:flex;flex-direction:column;gap:15px;padding:16px 8px 0;border-top:1px solid rgba(255,255,255,.1)}.profile-link{display:flex;align-items:center;gap:10px;color:var(--sidebar-text);min-width:0}.profile-link:hover{color:#fff}.profile-link__text{display:flex;flex-direction:column;min-width:0;line-height:1.35}.profile-link__text strong{overflow:hidden;color:#f2f8f5;font-size:12.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.profile-link__text span{overflow:hidden;color:#eaf2ee94;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.sidebar .avatar{background:#ffffff1f;color:#eafff5}.sidebar__utility{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar__date{color:#eaf2ee85;font-size:10.5px}.sidebar .theme-toggle{width:32px;height:32px;border-color:#ffffff21;background:#ffffff0f;color:#ffffffb8}.sidebar .theme-toggle:hover{background:#ffffff1f;color:#fff}.sidebar__signature{color:#eaf2ee57;font-size:9.5px;letter-spacing:.03em}.app-main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--topbar-height);padding:0 32px;border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(16px)}.topbar__mobile-brand{display:none;align-items:center;gap:9px;color:var(--text-strong);font-family:var(--font-display);font-size:15px;font-weight:650;letter-spacing:-.02em}.topbar__mobile-brand a{display:inline-flex}.topbar__desktop-title{display:flex;align-items:center;gap:10px}.topbar__section{color:var(--text-strong);font-family:var(--font-display);font-size:14px;font-weight:640}.topbar__actions{display:flex;align-items:center;gap:10px}@media(min-width:1025px){.topbar .theme-toggle{display:none}}.topbar__name{color:var(--muted);font-size:11.5px}.notification-bell{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);text-decoration:none}.notification-bell:hover{border-color:var(--brand);color:var(--brand-strong)}.notification-bell__badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border:2px solid var(--surface);border-radius:99px;background:var(--danger);color:#fff;font-size:9px;font-weight:800;line-height:13px;text-align:center}.topbar .profile-link{width:36px;height:36px;padding:0}.topbar .profile-link .avatar{width:36px;height:36px;background:var(--brand-deep);color:var(--surface)}[data-theme=dark] .topbar .profile-link .avatar{background:var(--brand-soft);color:var(--brand)}.page{width:100%;max-width:var(--content-max);flex:1;margin:0 auto;padding:30px 32px 64px;outline:none}.demo-banner{display:flex;align-items:center;gap:9px;min-height:34px;padding:6px 32px;border-bottom:1px solid color-mix(in srgb,var(--amber) 16%,var(--border));background:color-mix(in srgb,var(--warning-soft) 76%,var(--surface));color:var(--warning);font-size:11px}.demo-banner__dot{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--amber)}.demo-banner p{flex:1}.demo-banner strong{font-weight:700}.demo-banner .btn{min-height:26px;padding-inline:8px;color:var(--warning);font-size:11px}.demo-banner__link{color:var(--warning);font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:2px}.bottom-nav{display:none}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.page-header__copy{min-width:0}.page-header__eyebrow{margin-bottom:7px}.page-header h1{margin-bottom:6px}.page-header__description{max-width:620px;color:var(--muted);font-size:13.5px}.page-header__actions{display:flex;align-items:center;flex:0 0 auto;gap:9px}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:100dvh;padding:24px;background:radial-gradient(circle at 50% 38%,var(--brand-soft),transparent 34%),var(--bg)}.app-loading__mark{display:grid;place-items:center;width:82px;height:82px;border-radius:24px;background:var(--surface);box-shadow:var(--shadow-md)}.app-loading>div:nth-child(2){display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.app-loading strong{color:var(--text-strong);font-family:var(--font-display);font-size:19px;letter-spacing:-.03em}.app-loading span:not(.spinner){color:var(--muted);font-size:11.5px}.error-screen{display:grid;place-items:center;min-height:100dvh;padding:24px;background:radial-gradient(circle at 50% 32%,var(--brand-soft),transparent 32%),var(--bg)}.error-screen__card{width:min(100%,480px);padding:34px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);text-align:center}.error-screen__icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 17px;border-radius:16px;background:var(--danger-soft);color:var(--danger)}.error-screen__card h1{margin:4px 0 10px;font-size:26px}.error-screen__message{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.error-screen__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}.error-screen__hint{margin-top:20px;padding-top:15px;border-top:1px solid var(--border);color:var(--muted-2);font-size:11px}.auth-shell{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(460px,.98fr);min-height:100dvh;background:var(--bg)}.auth-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:32px;overflow:hidden;padding:34px clamp(32px,5vw,74px) 28px;background:var(--brand-deep);color:var(--sidebar-text)}.auth-brand:before{content:"";position:absolute;width:480px;height:480px;right:-220px;top:18%;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05;pointer-events:none}.auth-brand:after{content:"";position:absolute;left:-110px;bottom:-170px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(82,197,150,.25),transparent 67%);pointer-events:none}.auth-brand__top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px}.auth-logo-shell{display:inline-flex;padding:9px 12px;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:#ffffff17;backdrop-filter:blur(8px)}.auth-logo-shell .logo__text{color:#fff}.auth-demo-link{padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:99px;background:transparent;color:#ffffffd1;font-size:11.5px;font-weight:600;cursor:pointer}.auth-demo-link:hover{background:#ffffff1a;color:#fff}.auth-brand__content{position:relative;z-index:1;max-width:520px}.auth-eyebrow{margin-bottom:10px;color:var(--brand);font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.auth-eyebrow--light{color:#8ddcba}.auth-brand h1{margin-bottom:18px;color:#f7fcfa;font-size:clamp(45px,5.1vw,72px);font-weight:700;line-height:.98;letter-spacing:-.055em}.auth-brand__lead{max-width:450px;margin-bottom:32px;color:#eaf2eea6;font-size:14px;line-height:1.65}.auth-features{display:flex;flex-direction:column;gap:17px}.auth-features li{display:flex;align-items:flex-start;gap:11px}.auth-features li>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0e;color:#93e1c0}.auth-features strong{display:block;margin-bottom:1px;color:#fffffff0;font-size:12.5px}.auth-features p{color:#eaf2ee85;font-size:11.5px}.auth-brand__footer{position:relative;z-index:1;color:#eaf2ee59;font-size:10px;letter-spacing:.03em}.auth-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:36px clamp(24px,4vw,60px);background:var(--bg)}.auth-card{width:min(100%,430px);padding:30px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.auth-card--wide{width:min(100%,520px)}.account-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:16px}.account-choice__card{position:relative;display:flex;align-items:flex-start;gap:9px;min-height:112px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.account-choice__card:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--border));background:var(--surface)}.account-choice__card.is-selected{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 14%,transparent)}.account-choice__icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:9px;background:var(--surface);color:var(--brand)}.account-choice__copy{display:flex;flex-direction:column;min-width:0;gap:3px}.account-choice__copy strong{color:var(--text-strong);font-size:12px;line-height:1.25}.account-choice__copy span{color:var(--muted);font-size:10px;line-height:1.42}.account-choice__copy small{margin-top:2px;color:var(--muted-2);font-size:8.5px;line-height:1.35}.account-choice__check{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--brand);color:#fff}.account-choice__hint{display:flex;align-items:center;gap:6px;margin:0 0 16px;color:var(--muted);font-size:11px}.auth-card__header{margin-bottom:20px}.auth-card__header h2{margin-bottom:5px;font-size:25px}.auth-card__header p:last-child{color:var(--muted);font-size:12.5px}.auth-tabs{display:flex;gap:4px;margin-bottom:22px;padding:3px;border-radius:10px;background:var(--surface-3)}.auth-tabs button{flex:1;min-height:34px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:620;cursor:pointer}.auth-tabs button.is-active{background:var(--surface);color:var(--text-strong);box-shadow:var(--shadow-xs)}.auth-link{align-self:center;margin-top:11px;padding:2px;border:0;background:transparent;color:var(--brand);font-size:11px;font-weight:620;cursor:pointer}.auth-link:hover{text-decoration:underline}.auth-confirm-actions{display:flex;flex-direction:column;gap:8px}.auth-legacy{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.auth-legacy summary{color:var(--muted);font-size:10.5px;cursor:pointer}.auth-legacy>p{margin:8px 0 12px;color:var(--muted-2);font-size:10px;line-height:1.5}.auth-legacy .form{gap:10px}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted-2);font-size:10px;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-legal{margin-top:14px;color:var(--muted-2);font-size:10.5px;line-height:1.55;text-align:center}.auth-panel__footer{color:var(--muted-2);font-size:10px;text-align:center}.auth-shell--single{display:grid;grid-template-columns:1fr;place-items:center;padding:24px;background:radial-gradient(circle at 50% 34%,var(--brand-soft),transparent 40%),var(--bg)}.auth-card--confirmation{text-align:center}.auth-confirm-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:20px;background:var(--brand-soft);color:var(--brand)}.auth-card--confirmation h1{margin-bottom:11px;font-size:27px}.auth-card--confirmation>p:not(.auth-eyebrow,.auth-legal){margin-bottom:23px;color:var(--muted);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.auth-card--confirmation .auth-legal{margin-top:16px}.auth-card--confirmation .form{margin-top:18px;text-align:left}.auth-reset-brand{display:flex;justify-content:center;margin-top:22px;opacity:.7}@media(max-width:1024px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar{padding:0 20px}.topbar__mobile-brand{display:flex}.topbar__desktop-title,.topbar__name{display:none}.topbar .profile-link .avatar{background:var(--brand-deep);color:var(--white)}.page{padding:24px 20px calc(var(--bottom-nav-height) + 36px + env(safe-area-inset-bottom))}.demo-banner{padding-inline:20px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding:5px 6px env(safe-area-inset-bottom);border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);box-shadow:0 -6px 24px #10271e0f}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;border-radius:10px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.01em;text-align:center}.bottom-nav__item>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav__item:hover{color:var(--text-strong)}.bottom-nav__icon{display:grid;place-items:center;width:34px;height:30px;border-radius:9px}.bottom-nav__item.is-active{color:var(--brand-strong)}.bottom-nav__item.is-active .bottom-nav__icon{background:var(--brand-soft)}.system-banner--update,.toast-stack{bottom:calc(var(--bottom-nav-height) + 14px + env(safe-area-inset-bottom))}.auth-shell{grid-template-columns:minmax(0,1fr);min-height:100dvh}.auth-brand{min-height:auto;gap:16px;padding:22px 24px}.auth-brand__content,.auth-brand__footer{display:none}.auth-panel{padding:30px 20px 40px}}@media(max-width:640px){.topbar{height:58px;padding:0 16px}.topbar__actions{gap:7px}.topbar__mobile-brand{font-size:14px}.topbar .theme-toggle,.notification-bell{width:34px;height:34px}.page{padding:20px 16px calc(var(--bottom-nav-height) + 28px + env(safe-area-inset-bottom))}.demo-banner{align-items:flex-start;flex-wrap:wrap;gap:4px 7px;padding:7px 16px;line-height:1.4}.demo-banner p{font-size:10.5px}.demo-banner__link{margin-left:13px;font-size:10.5px}.page-header{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:20px}.page-header__actions,.page-header__actions .btn{width:100%}.page-header h1{font-size:28px}.page-header__description{font-size:12.5px}.modal-overlay{align-items:flex-end;padding:0}.modal{width:100%;max-height:92dvh;border-radius:20px 20px 0 0;border-bottom:0;animation:sheet-in .2s ease}.modal__header{padding:18px 18px 0}.modal__body{padding:17px 18px}.modal__footer{padding:13px 18px calc(16px + env(safe-area-inset-bottom))}.modal__footer .btn{flex:1}.modal__title{font-size:19px}.auth-brand{padding:16px 18px}.auth-brand__top{align-items:center}.auth-logo-shell{padding:6px 8px;border-radius:12px}.auth-logo-shell .logo__mark{width:30px;height:30px}.auth-logo-shell .logo__text{font-size:15px}.auth-demo-link{padding:6px 10px;font-size:10.5px}.auth-panel{padding:22px 16px 32px;justify-content:flex-start}.auth-card{padding:22px 18px;border-radius:18px}.auth-card__header h2{font-size:22px}.account-choice{grid-template-columns:1fr}.account-choice__card{min-height:96px}.auth-tabs button{font-size:11.5px}.auth-panel__footer{margin-top:4px}.system-banner{width:calc(100vw - 20px);gap:8px;padding:9px 10px}.system-banner p{font-size:10.5px}.system-banner__actions .btn{min-height:28px;padding-inline:9px;font-size:11px}.toast-stack{right:10px;bottom:calc(var(--bottom-nav-height) + 10px + env(safe-area-inset-bottom));width:calc(100vw - 20px)}@keyframes sheet-in{0%{opacity:0;transform:translateY(28px)}}}.dashboard{display:flex;flex-direction:column;gap:20px}.dashboard>.page-header{margin-bottom:4px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.stat-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-sm);color:var(--text)}.stat-card__icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:11px}.stat-card__icon--green{background:var(--brand-soft);color:var(--brand)}.stat-card__icon--mint{background:color-mix(in srgb,#d9f2e5 65%,var(--surface));color:#177a50}[data-theme=dark] .stat-card__icon--mint{background:#1a3c2d;color:#7ee0b7}.stat-card__icon--amber{background:var(--warning-soft);color:var(--amber)}.stat-card__icon--blue{background:var(--info-soft);color:var(--info)}.stat-card__copy{display:flex;flex-direction:column;min-width:0;line-height:1.3}.stat-card__label{overflow:hidden;color:var(--muted);font-size:10.5px;font-weight:600;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.stat-card__copy strong{margin:4px 0 1px;color:var(--text-strong);font-size:25px;font-weight:700;letter-spacing:-.04em;line-height:1.1}.stat-card__hint{overflow:hidden;color:var(--muted-2);font-size:9.5px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.stat-card__arrow{margin-left:auto;color:var(--border-strong);flex:0 0 auto}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.85fr);gap:16px;align-items:start}.dashboard-side{display:flex;flex-direction:column;gap:16px}.card--tasks{min-height:400px}.task-preview-list{display:flex;flex-direction:column}.task-preview{display:flex;align-items:center;gap:10px;min-width:0;padding:13px 0;border-top:1px solid var(--border)}.task-preview:first-child{border-top:0;padding-top:2px}.task-check{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted-2);cursor:pointer;transition:color var(--transition),background-color var(--transition)}.task-check:hover{background:var(--brand-soft);color:var(--brand)}.task-check:disabled{opacity:.5;cursor:wait}.task-check--large{width:30px;height:30px}.task-check--large.is-checked{background:var(--brand);color:var(--on-brand)}.task-preview__dot{width:3px;height:32px;flex:0 0 auto;border-radius:99px}.task-preview__copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.task-preview__title{overflow:hidden;padding:0;border:0;background:transparent;color:var(--text-strong);font-size:12.5px;font-weight:600;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.task-preview__title:hover{color:var(--brand)}.task-preview__meta{display:flex;align-items:center;gap:5px;overflow:hidden;color:var(--muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.task-preview .priority{margin-left:auto;flex:0 0 auto}.dashboard-empty{display:flex;align-items:center;gap:13px;padding:24px;border:1px dashed var(--border-strong);border-radius:12px;background:var(--surface-2)}.dashboard-empty__icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:50%;background:var(--brand-soft);color:var(--brand)}.dashboard-empty>div{flex:1}.dashboard-empty h3{margin-bottom:2px;font-size:14px}.dashboard-empty p{color:var(--muted);font-size:11.5px}.progress-summary{display:flex;align-items:center;gap:17px}.progress-summary__copy strong{display:block;margin-bottom:3px;color:var(--text-strong);font-size:12.5px}.progress-summary__copy p{margin-bottom:8px;color:var(--muted);font-size:11px;line-height:1.5}.card--exam{background:linear-gradient(140deg,color-mix(in srgb,var(--brand-soft) 65%,var(--surface)),var(--surface) 62%)}[data-theme=dark] .card--exam{background:linear-gradient(140deg,#143227,var(--surface) 65%)}.next-exam{display:flex;align-items:center;gap:15px}.next-exam__countdown{display:flex;flex-direction:column;align-items:center;justify-content:center;width:67px;height:67px;flex:0 0 auto;border-radius:16px;background:var(--brand);color:var(--on-brand);box-shadow:0 8px 20px rgba(var(--brand-rgb),.18)}.next-exam__countdown strong{font-size:24px;font-weight:720;line-height:1;letter-spacing:-.04em}.next-exam__countdown span{margin-top:2px;font-size:9.5px;font-weight:600;opacity:.85}.next-exam__copy{min-width:0;flex:1}.next-exam__copy h3{overflow:hidden;margin:5px 0 2px;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.next-exam__copy p{margin-bottom:8px;color:var(--muted);font-size:10.5px}.exam-empty p{margin-bottom:10px;color:var(--muted);font-size:12px;line-height:1.55}.date-short-list{display:flex;flex-direction:column;gap:10px}.date-short-list li{display:flex;align-items:center;gap:10px}.date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:38px;height:42px;flex:0 0 auto;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);line-height:1}.date-badge strong{color:var(--text-strong);font-size:14px}.date-badge span{margin-top:2px;color:var(--muted);font-size:8px;text-transform:uppercase}.date-short-list li>div{min-width:0}.date-short-list li>div strong{display:block;overflow:hidden;color:var(--text-strong);font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.date-short-list li>div span{color:var(--muted);font-size:10px}.onboarding-card{display:flex;align-items:center;gap:15px;padding:19px 21px;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--border));border-radius:var(--radius-md);background:var(--brand-soft)}.onboarding-card__icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border-radius:14px;background:var(--surface);color:var(--brand)}.onboarding-card>div:nth-child(2){flex:1}.onboarding-card h2{margin-bottom:2px;font-size:16px}.onboarding-card p{color:var(--muted);font-size:11.5px}.keyboard-hint{display:none}.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.subject-card{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:19px 20px 0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.subject-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.subject-card__accent{position:absolute;top:0;left:0;right:0;height:3px;background:var(--subject-color)}.subject-card__top{display:flex;align-items:flex-start;gap:11px}.subject-card__mark{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:11px;background:color-mix(in srgb,var(--subject-color) 13%,var(--surface));color:var(--subject-color);font-family:var(--font-display);font-size:18px;font-weight:700}.subject-card__title{min-width:0;flex:1}.subject-card__title h2{overflow:hidden;margin-bottom:1px;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.subject-card__title p{overflow:hidden;color:var(--muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.subject-card__actions{display:flex;gap:1px;margin:-4px -6px 0 0}.subject-card__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:17px 0 15px;border:1px solid var(--border);border-radius:10px;background:var(--border);overflow:hidden}.subject-card__metrics>div{display:flex;flex-direction:column;align-items:center;padding:8px 4px;background:var(--surface-2)}.subject-card__metrics strong{color:var(--text-strong);font-size:16px;line-height:1.15}.subject-card__metrics span{color:var(--muted);font-size:8.5px}.subject-progress{margin-bottom:14px}.subject-progress__header{display:flex;justify-content:space-between;margin-bottom:5px;color:var(--muted);font-size:9.5px}.subject-progress__header strong{color:var(--text-strong)}.subject-card__next{padding:11px 0 13px;border-top:1px solid var(--border)}.subject-card__label{margin-bottom:4px;color:var(--muted-2);font-size:8.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.subject-next{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.subject-next:hover{color:var(--brand)}.subject-next>span{display:flex;flex-direction:column;min-width:0}.subject-next strong{overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.subject-next small{color:var(--muted);font-size:9.5px}.subject-card__empty{color:var(--muted-2);font-size:11px}.subject-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:39px;margin:0 -20px;padding:0 20px;border:0;border-top:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:10.5px;font-weight:600;text-align:left;cursor:pointer;transition:background-color var(--transition),color var(--transition)}.subject-card__footer:hover{background:var(--brand-soft);color:var(--brand)}.subject-detail{display:flex;flex-direction:column;gap:20px}.subject-detail__summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px 12px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:11.5px}.subject-detail__dot{width:8px;height:8px;border-radius:50%}.detail-heading{margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.detail-list{border:1px solid var(--border);border-radius:11px;overflow:hidden}.detail-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--border)}.detail-row:first-child{border-top:0}.detail-row__copy{display:flex;flex-direction:column;flex:1;min-width:0}.detail-row__copy strong{font-size:12px;font-weight:600}.detail-row__copy span{color:var(--muted);font-size:10px}.filter-panel{display:flex;flex-direction:column;gap:11px;margin-bottom:18px}.status-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:1px;scrollbar-width:none}.status-tabs::-webkit-scrollbar{display:none}.status-tab{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 13px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--muted);font-size:11.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color var(--transition),color var(--transition),border-color var(--transition)}.status-tab span{display:inline-grid;place-items:center;min-width:18px;height:17px;padding:0 4px;border-radius:99px;background:var(--surface-3);color:var(--muted-2);font-size:9px;font-weight:700}.status-tab:hover{border-color:var(--border-strong);color:var(--text-strong)}.status-tab.is-active{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.status-tab.is-active span{background:#ffffff2e;color:inherit}.filter-row{display:flex;gap:9px;align-items:center}.filter-row .search-field{flex:1;max-width:430px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;padding:0 3px;color:var(--muted);font-size:10.5px}.task-list{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs)}.task-row{position:relative;display:flex;align-items:flex-start;gap:11px;padding:14px 17px;border-top:1px solid var(--border);background:var(--surface);transition:background-color var(--transition)}.task-row:first-child{border-top:0}.task-row:hover{background:var(--surface-2)}.task-row--done{background:color-mix(in srgb,var(--surface-2) 70%,var(--surface))}.task-row--done .task-row__title{color:var(--muted);text-decoration:line-through}.task-row__stripe{width:3px;height:38px;flex:0 0 auto;border-radius:99px;opacity:.85}.task-row .task-check{margin-top:4px}.task-row__main{min-width:0;flex:1}.task-row__title-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.task-row__title{max-width:100%;padding:0;border:0;background:transparent;color:var(--text-strong);font-size:13px;font-weight:620;text-align:left;cursor:pointer}.task-row__title:hover{color:var(--brand)}.task-row__description{display:-webkit-box;overflow:hidden;margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:1}.task-row__meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:6px;color:var(--muted);font-size:10px}.task-row__meta>span{display:inline-flex;align-items:center;gap:4px}.subject-inline{font-weight:600}.subject-inline__dot{width:6px;height:6px;border-radius:50%}.meta-separator{color:var(--border-strong)}.task-row__relative{color:var(--muted-2)}.task-row__side{display:flex;align-items:center;gap:7px;flex:0 0 auto;padding-top:3px}.row-actions{display:flex;align-items:center;gap:1px;margin-left:4px}.calendar-shell{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 17px;border-bottom:1px solid var(--border)}.calendar-toolbar__nav{display:flex;align-items:center;gap:5px;min-width:0}.calendar-toolbar__nav .icon-btn{width:31px;height:31px;border:1px solid var(--border)}.calendar-toolbar__nav .btn{margin-left:3px}.calendar-period{overflow:hidden;margin-left:8px;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px;padding:9px 18px;border-bottom:1px solid var(--border);background:var(--surface-2)}.calendar-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:9.5px;font-weight:550}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%}.legend-dot--task{background:var(--brand)}.legend-dot--project{background:var(--amber)}.legend-dot--exam{background:var(--purple)}.legend-dot--date{background:var(--brand-deep)}[data-theme=dark] .legend-dot--date{background:var(--muted)}.legend-hint{margin-left:auto;color:var(--muted-2);font-size:9px;font-style:italic}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border);background:var(--surface-2)}.calendar-weekdays span{padding:8px 4px;color:var(--muted-2);font-size:9px;font-weight:700;letter-spacing:.06em;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(94px,auto)}.calendar-day{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;min-height:94px;padding:7px;border:0;border-top:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;transition:background-color var(--transition),box-shadow var(--transition)}.calendar-day:nth-child(7n+1){border-left:0}.calendar-day:nth-child(-n+7){border-top:0}.calendar-day:hover,.calendar-day.is-outside{background:var(--surface-2)}.calendar-day.is-outside .calendar-day__number{color:var(--muted-2);opacity:.6}.calendar-day.is-selected{background:color-mix(in srgb,var(--brand-soft) 58%,var(--surface));box-shadow:inset 0 0 0 1.5px var(--brand)}.calendar-day.is-today .calendar-day__number{display:inline-grid;place-items:center;width:22px;height:22px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--brand);color:var(--on-brand);font-weight:700}.calendar-day__number{color:var(--text-strong);font-size:11px;font-weight:650;line-height:1.4}.calendar-day__events{display:flex;flex-direction:column;gap:2px;min-width:0}.calendar-chip{display:flex;align-items:center;gap:4px;min-width:0;padding:2px 4px;border-radius:4px;background:var(--surface-3);color:var(--text);font-size:8.5px;line-height:1.3}.calendar-chip.entry--task{background:color-mix(in srgb,var(--brand) 7%,var(--surface))}.calendar-chip i{width:4px;height:4px;flex:0 0 auto;border-radius:50%}.calendar-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-chip.entry--exam{background:color-mix(in srgb,var(--purple) 9%,var(--surface))}.calendar-chip.entry--project{background:color-mix(in srgb,var(--amber) 9%,var(--surface))}.calendar-more{padding-left:4px;color:var(--muted-2);font-size:8px}.calendar-day__dots{display:none;gap:3px;margin-top:auto}.calendar-day__dots i{width:4px;height:4px;border-radius:50%}.week-view{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:360px}.week-day{min-width:0;border-left:1px solid var(--border)}.week-day:first-child{border-left:0}.week-day__header{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;padding:9px 4px;border:0;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer}.week-day__header span{font-size:8.5px;font-weight:700;letter-spacing:.05em}.week-day__header strong{color:var(--text-strong);font-size:15px;font-weight:680}.week-day__header small{color:var(--brand);font-size:8px;font-weight:700}.week-day.is-today .week-day__header{background:var(--brand-soft)}.week-day.is-selected{box-shadow:inset 0 0 0 1.5px var(--brand)}.week-day__body{display:flex;flex-direction:column;gap:5px;padding:7px}.week-day__empty{display:flex;align-items:center;justify-content:center;gap:3px;min-height:34px;border:1px dashed var(--border);border-radius:7px;background:transparent;color:var(--muted-2);font-size:9px;cursor:pointer}.week-day__empty:hover{border-color:var(--brand);color:var(--brand)}.week-entry{display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:7px;background:var(--brand-soft);border-left:2px solid var(--brand)}.week-entry.entry--exam{border-left-color:var(--purple);background:color-mix(in srgb,var(--purple) 9%,var(--surface))}.week-entry.entry--date{border-left-color:var(--muted);background:var(--surface-3)}.week-entry.entry--project{border-left-color:var(--amber);background:color-mix(in srgb,var(--amber) 9%,var(--surface))}.week-entry__kind{display:flex;align-items:center;gap:4px;color:var(--muted)}.week-entry__dot{width:5px;height:5px;border-radius:50%}.week-entry strong{display:-webkit-box;overflow:hidden;color:var(--text-strong);font-size:9.5px;font-weight:600;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.week-entry small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.agenda{margin-top:15px}.agenda-empty{display:flex;align-items:center;gap:13px;padding:18px;border:1px dashed var(--border-strong);border-radius:11px;background:var(--surface-2);color:var(--muted)}.agenda-empty h3{margin-bottom:1px;font-size:13px}.agenda-empty p{font-size:11px}.agenda-list{display:flex;flex-direction:column;gap:7px}.agenda-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.agenda-item__icon{display:grid;place-items:center;width:35px;height:35px;flex:0 0 auto;border-radius:10px;background:var(--surface);color:var(--entry-color, var(--brand));box-shadow:var(--shadow-xs)}.agenda-item__copy{min-width:0;flex:1}.agenda-item__title{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.agenda-item__title strong{font-size:12px;font-weight:620}.agenda-item__kind{color:var(--muted-2);font-size:8.5px;font-weight:650;letter-spacing:.03em;text-transform:uppercase}.agenda-item__copy p{color:var(--muted);font-size:10px}.agenda-item__description{display:-webkit-box;overflow:hidden;margin-top:2px;color:var(--muted);font-size:10px;-webkit-box-orient:vertical;-webkit-line-clamp:1}.agenda-item__actions{display:flex;align-items:center;gap:1px;flex:0 0 auto}.agenda-item__link{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:7px;color:var(--brand);font-size:10px;font-weight:650}.agenda-item__link:hover{background:var(--brand-soft)}.section-block{margin-bottom:28px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:12px}.section-heading h2{font-size:16px}.section-heading p{margin-top:2px;color:var(--muted);font-size:10.5px}.exam-list{display:flex;flex-direction:column;gap:12px}.exam-card{display:flex;gap:17px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);transition:border-color var(--transition),box-shadow var(--transition)}.exam-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.exam-card__date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:61px;height:70px;flex:0 0 auto;border-radius:13px;background:color-mix(in srgb,var(--exam-color) 11%,var(--surface));color:var(--exam-color);line-height:1}.exam-card__date span{font-size:8px;font-weight:750;letter-spacing:.07em}.exam-card__date strong{margin:3px 0;font-size:26px;font-weight:720;letter-spacing:-.05em}.exam-card__date small{color:var(--muted);font-size:8px}.exam-card__body{min-width:0;flex:1}.exam-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.exam-card__head h2{margin:4px 0 3px;font-size:16px}.exam-card__date-label{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:10.5px}.exam-countdown{padding:2px 6px;border-radius:5px;background:var(--brand-soft);color:var(--brand-strong);font-size:8.5px;font-weight:700}.preparation{margin:13px 0 11px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.preparation__label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;color:var(--muted);font-size:9.5px}.preparation__label strong{color:var(--text-strong);font-size:9.5px}.preparation__steps{display:flex;gap:3px}.preparation__step{flex:1;min-height:27px;padding:3px 4px;border:0;border-radius:6px;background:var(--surface-3);color:var(--muted);font-size:8.5px;font-weight:600;cursor:pointer;transition:background-color var(--transition),color var(--transition)}.preparation__step:hover{color:var(--text-strong)}.preparation__step.is-active{background:var(--brand);color:var(--on-brand)}.preparation__step:disabled{opacity:.6;cursor:wait}.exam-topics{display:flex;align-items:flex-start;gap:7px}.exam-topics__label{display:inline-flex;align-items:center;gap:4px;padding-top:3px;color:var(--muted);font-size:9.5px;white-space:nowrap}.exam-topics ul{display:flex;flex-wrap:wrap;gap:4px}.exam-topics li{padding:3px 7px;border-radius:5px;background:var(--surface-3);color:var(--text);font-size:8.5px}.exam-notes{display:flex;gap:6px;align-items:flex-start;margin-top:9px;padding-top:8px;border-top:1px solid var(--border);color:var(--muted)}.exam-notes p{font-size:9.5px;line-height:1.5}.exam-card__no-topics{font-size:10px}.exam-list--past .exam-card{opacity:.8}.inline-empty{padding:17px;border:1px dashed var(--border-strong);border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:12px}.profile-hero{display:flex;align-items:center;gap:20px;margin-bottom:17px;background:linear-gradient(110deg,var(--surface) 25%,color-mix(in srgb,var(--brand-soft) 50%,var(--surface)))}.profile-hero__copy{min-width:0}.profile-hero__name{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.profile-hero__name h2{font-size:23px}.profile-hero__copy>p{margin:2px 0 8px;color:var(--muted);font-size:12.5px}.account-type-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:9.5px;font-weight:650;line-height:1.2;white-space:nowrap}.account-type-pill--uttn{background:var(--brand-soft);color:var(--brand)}.account-type-pill--external{background:color-mix(in srgb,var(--purple) 12%,transparent);color:var(--purple)}.account-type-pill--personal{background:var(--brand-soft);color:var(--brand)}.profile-avatar-image{object-fit:cover;border:1px solid var(--border)}.profile-verification,.account-verification{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:10px}.account-verification{margin-top:2px}.account-actions--stack{flex-direction:column;align-items:stretch}.settings-footnote{margin-top:10px;color:var(--muted-2);font-size:10px;line-height:1.5}.profile-hero__meta{display:flex;flex-wrap:wrap;gap:13px}.profile-hero__meta span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10.5px}.profile-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;align-items:start}.profile-column{display:flex;flex-direction:column;gap:16px}.settings-card{padding:22px}.profile-form{gap:14px}.setting{padding:15px 0;border-top:1px solid var(--border)}.setting:first-of-type{padding-top:2px;border-top:0}.setting--row{display:flex;align-items:center;justify-content:space-between;gap:16px}.setting__copy{display:flex;flex-direction:column;gap:1px}.setting__copy strong{color:var(--text-strong);font-size:12px;font-weight:620}.setting__copy span{color:var(--muted);font-size:10.5px}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.theme-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:62px;padding:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:600;cursor:pointer;transition:border-color var(--transition),background-color var(--transition),color var(--transition)}.theme-option:hover{border-color:var(--border-strong);color:var(--text-strong)}.theme-option.is-active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong)}.color-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.color-theme-option{position:relative;display:flex;align-items:center;gap:8px;min-width:0;padding:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--muted);text-align:left;cursor:pointer;transition:border-color var(--transition),background-color var(--transition),color var(--transition)}.color-theme-option:hover{border-color:var(--border-strong);color:var(--text-strong)}.color-theme-option.is-active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong)}.color-theme-option__preview{position:relative;flex:0 0 auto;width:38px;height:30px;overflow:hidden;border:1px solid color-mix(in srgb,#000 9%,transparent);border-radius:7px}.color-theme-option__sample{position:absolute;left:6px;bottom:5px;width:20px;height:5px;border-radius:99px;background:#ffffffeb}.color-theme-option__sample--small{left:6px;bottom:14px;width:12px;opacity:.65}.color-theme-option__copy{display:flex;min-width:0;flex-direction:column;gap:1px}.color-theme-option__copy strong{overflow:hidden;color:var(--text-strong);font-size:10.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.color-theme-option__copy span{overflow:hidden;font-size:9px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.color-theme-option__check{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--brand);color:var(--on-brand)}@media(max-width:390px){.color-theme-grid{grid-template-columns:minmax(0,1fr)}}.account-row{display:flex;align-items:flex-start;gap:9px;padding:10px 0;border-top:1px solid var(--border)}.account-row:first-of-type{border-top:0;padding-top:0}.account-row__icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:8px;background:var(--surface-3);color:var(--muted)}.account-row>div{display:flex;flex-direction:column;min-width:0}.account-row strong{color:var(--text-strong);font-size:11.5px}.account-row span:not(.account-row__icon){overflow-wrap:anywhere;color:var(--muted);font-size:10.5px}.mode-notice{display:flex;gap:9px;margin:13px 0;padding:11px;border:1px solid color-mix(in srgb,var(--amber) 18%,var(--border));border-radius:10px;background:var(--warning-soft)}.mode-notice--compact{margin-top:12px}.mode-notice__icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:7px;background:color-mix(in srgb,var(--amber) 11%,transparent);color:var(--amber)}.mode-notice strong{display:block;color:var(--text-strong);font-size:11.5px}.mode-notice p{color:var(--muted);font-size:10.5px;line-height:1.55}.account-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.setup-details{margin-top:13px;border-top:1px solid var(--border);padding-top:10px}.setup-details summary{color:var(--brand);font-size:11px;font-weight:600;cursor:pointer}.setup-details__body{display:flex;flex-direction:column;gap:8px;margin-top:9px;color:var(--muted);font-size:10.5px;line-height:1.55}.setup-details__body code{padding:1px 4px;border-radius:4px;background:var(--surface-3);color:var(--text);font-size:9.5px}.setup-details__body pre{overflow-x:auto;margin:0;padding:10px;border-radius:8px;background:var(--surface-2);color:var(--text);font-size:9px}.account-version{margin-top:12px;padding-top:9px;border-top:1px solid var(--border);color:var(--muted-2);font-size:8.5px;text-align:center}.info-card h2{margin-bottom:7px;font-size:15px}.info-card>p{color:var(--muted);font-size:11.5px;line-height:1.6}.info-list{display:flex;flex-direction:column;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid var(--border)}.info-list li{display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:10.5px;line-height:1.45}.info-list svg{flex:0 0 auto;margin-top:1px;color:var(--brand)}.settings-intro{margin-bottom:13px;color:var(--muted);font-size:11.5px;line-height:1.6}.api-endpoint{display:flex;flex-direction:column;gap:3px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.api-endpoint span{color:var(--muted-2);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.api-endpoint code{overflow-wrap:anywhere;color:var(--text);font-size:9.5px}.widget-token-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0 9px}.widget-token-head>div{display:flex;flex-direction:column}.widget-token-head strong{color:var(--text-strong);font-size:11.5px}.widget-token-head span{color:var(--muted);font-size:9.5px}.widget-empty{padding:7px 0;font-size:10.5px}.token-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:9px;overflow:hidden}.token-list li{display:flex;align-items:center;gap:8px;padding:8px 9px;border-top:1px solid var(--border)}.token-list li:first-child{border-top:0}.token-list li.is-revoked{opacity:.55}.token-list__icon{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:var(--surface-3);color:var(--muted)}.token-list__copy{display:flex;flex-direction:column;flex:1;min-width:0}.token-list__copy strong{font-size:10.5px}.token-list__copy span{color:var(--muted);font-size:8.5px}.token-warning{display:flex;align-items:flex-start;gap:5px;margin-top:10px;color:var(--muted);font-size:9.5px;line-height:1.5}.token-warning svg{flex:0 0 auto;margin-top:1px}.token-value{display:block;margin:13px 0;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);font-size:11px;line-height:1.6;overflow-wrap:anywhere;user-select:all}@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.card--dates{grid-column:1 / -1}.profile-grid{grid-template-columns:minmax(0,1fr)}.profile-column:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(max-width:900px){.subject-grid{grid-template-columns:minmax(0,1fr)}.calendar-chip{display:none}.calendar-day__dots{display:flex}.calendar-grid{grid-auto-rows:minmax(58px,auto)}.calendar-day{min-height:58px;padding:5px}.calendar-day.is-selected{box-shadow:inset 0 0 0 1.5px var(--brand)}.week-view{grid-template-columns:minmax(0,1fr);gap:0}.week-day{border-left:0;border-top:1px solid var(--border)}.week-day:first-child{border-top:0}.week-day__header{flex-direction:row;justify-content:flex-start;gap:8px;padding:10px 14px}.week-day__header strong{font-size:13px}.week-day__body{padding:0 14px 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.week-day__empty{grid-column:1 / -1;justify-content:flex-start;padding:0 10px;border-style:dashed}.week-entry strong{font-size:10.5px}.profile-column:last-child{display:flex}}@media(max-width:760px){.task-row__side{flex-direction:column;align-items:flex-end;gap:5px}.task-row .row-actions{margin-top:2px}.filter-row{align-items:stretch;flex-direction:column}.filter-row .search-field{max-width:none;width:100%}.select-inline .select{width:100%}.exam-card{gap:12px;padding:14px}.exam-card__date{width:52px;height:61px}.exam-card__date strong{font-size:22px}.exam-card__head{position:relative}.exam-card__head .row-actions{flex-direction:column;margin-top:-5px;margin-right:-5px}.exam-card__head h2{font-size:15px}.exam-topics{flex-direction:column;gap:4px}.dashboard-side{display:flex}.stats-grid{gap:9px}.stat-card{padding:13px;gap:9px}.stat-card__copy strong{font-size:22px}.stat-card__arrow{display:none}.stat-card__icon{width:33px;height:33px;border-radius:9px}}@media(max-width:600px){.card{padding:var(--space-5)}.subject-card{padding:17px 17px 0}.subject-card__footer{margin-inline:-17px;padding-inline:17px}.task-row{flex-wrap:wrap;padding:13px;gap:9px}.task-row__stripe{height:30px}.task-row__side{width:calc(100% - 76px);flex-direction:row;justify-content:flex-end;align-items:center;margin-left:66px;padding-top:0}.task-row__side .row-actions{margin-left:auto}.task-row__relative{display:none!important}.task-row__description{-webkit-line-clamp:2}.calendar-toolbar{align-items:flex-start;flex-direction:column;gap:10px;padding:12px}.calendar-toolbar__nav{width:100%;flex-wrap:wrap}.calendar-period{margin-left:auto;font-size:14px}.calendar-toolbar .segmented{width:100%}.calendar-toolbar .segmented__item{flex:1}.calendar-legend{gap:10px;padding:8px 12px}.calendar-legend span{font-size:8.5px}.calendar-legend .legend-hint{display:none}.calendar-weekdays span{font-size:8px;padding:6px 2px}.calendar-day{min-height:47px;padding:4px;gap:2px}.calendar-day__number{font-size:10px}.calendar-day.is-today .calendar-day__number{width:19px;height:19px;margin:-1px 0 0 -1px}.calendar-day__dots{gap:2px}.calendar-day__dots i{width:3px;height:3px}.calendar-grid{grid-auto-rows:minmax(47px,auto)}.agenda .card__header{align-items:flex-start;flex-direction:column;gap:10px}.agenda .card__header .btn{width:100%}.agenda-item{flex-wrap:wrap;padding:10px}.agenda-item__actions{width:100%;justify-content:flex-end}.profile-hero{align-items:flex-start;padding:17px;gap:14px}.avatar--xl{width:62px;height:62px;font-size:19px}.profile-hero__name{gap:7px}.profile-hero__name h2{font-size:19px}.profile-hero__meta{flex-direction:column;gap:3px}.setting--row{align-items:flex-start;flex-direction:column;gap:9px}.setting--row .segmented{width:100%}.setting--row .segmented__item{flex:1}.install-card{align-items:flex-start;flex-wrap:wrap}.install-card>.btn{width:100%}.form-grid--two{grid-template-columns:minmax(0,1fr);gap:14px}.section-heading{margin-bottom:9px}.exam-card{flex-direction:column}.exam-card__date{width:100%;height:42px;flex-direction:row;align-items:center;gap:5px}.exam-card__date strong{margin:0;font-size:20px}.exam-card__date span,.exam-card__date small{font-size:8.5px}.exam-card__head .row-actions{flex-direction:row}.preparation__label{font-size:9px}.onboarding-card{align-items:flex-start;flex-wrap:wrap}.onboarding-card>.btn{width:100%}.dashboard-empty{align-items:flex-start;flex-wrap:wrap}.dashboard-empty>.btn{width:100%}.progress-summary{align-items:flex-start}.date-short-list li>div strong{white-space:normal}.install-nudge{flex-wrap:wrap}.install-nudge p{min-width:calc(100% - 45px)}.install-nudge>.btn{margin-left:39px}}@media(max-width:390px){.stat-card{flex-direction:column}.stat-card__copy strong{font-size:21px}.status-tab{padding-inline:10px;font-size:10.5px}.calendar-legend{gap:8px}.theme-options{gap:5px}.theme-option{min-height:56px;font-size:9px}}.pill--brand{background:var(--brand-soft);color:var(--brand-strong)}.pill--neutral{background:var(--surface-2);color:var(--muted)}.pill--warning{background:var(--warning-soft);color:var(--warning)}.empty-state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:14px}.form-hint{color:var(--muted);font-size:11.5px;line-height:1.5}.classrooms-tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.classrooms-tabs--detail{margin:18px 0 14px}.classrooms-tab{min-height:32px;padding:6px 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:700}.classrooms-tab:hover{color:var(--text-strong)}.classrooms-tab.is-active{background:var(--brand-soft);color:var(--brand-strong)}.classroom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:13px}.classroom-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:190px;padding:17px;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.classroom-card:hover{border-color:color-mix(in srgb,var(--brand) 34%,var(--border));box-shadow:0 10px 24px #103f2c14;transform:translateY(-2px)}.classroom-card__top{display:flex;flex-wrap:wrap;gap:5px}.classroom-card h3{margin:3px 0 0;font-size:16px;line-height:1.25}.classroom-card__subject,.classroom-card__term{color:var(--muted);font-size:12px}.classroom-card__description{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:11.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.classroom-card__open{display:inline-flex;align-items:center;gap:4px;margin-top:auto;color:var(--brand-strong);font-size:11px;font-weight:700}.classroom-join{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;max-width:760px;padding:23px}.classroom-join__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--brand-soft);color:var(--brand-strong)}.classroom-join h2{margin:3px 0 6px}.classroom-join p{max-width:620px;color:var(--muted);font-size:12.5px}.classroom-join__form{margin-top:17px}.classroom-join__row{display:flex;gap:8px;margin-top:6px}.invite-input{max-width:230px;font-family:var(--font-mono, monospace);font-size:15px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.classroom-detail__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.classroom-detail__actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.classroom-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:22px;background:radial-gradient(circle at 100% 0%,var(--brand-soft),transparent 42%),var(--surface)}.classroom-hero__badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}.classroom-hero h2{margin:0 0 4px;font-size:24px;line-height:1.18}.classroom-hero__subject,.classroom-hero__description,.classroom-hero__teacher{color:var(--muted);font-size:12.5px;line-height:1.55}.classroom-hero__description{max-width:620px;margin-top:8px}.classroom-hero__teacher{margin-top:9px}.classroom-hero__teacher strong{color:var(--text-strong)}.classroom-code-card{display:flex;align-items:flex-start;gap:9px;width:min(100%,320px);padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--brand-strong)}.classroom-code-card p{margin-top:2px;color:var(--muted);font-size:10.5px;line-height:1.4}.classroom-code-card__actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.classroom-archived-banner{display:flex;align-items:center;gap:7px;margin-top:12px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--amber) 22%,var(--border));border-radius:10px;background:var(--warning-soft);color:var(--warning);font-size:11.5px}.classroom-panel{padding:2px 0}.classroom-panel__header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.classroom-panel__header h3{margin-top:2px;font-size:17px}.classroom-loading{display:flex;align-items:center;justify-content:center;gap:9px;padding:35px;color:var(--muted);font-size:12px}.announcement-list,.assignment-list,.submission-groups,.submission-list,.member-list{display:grid;gap:9px}.announcement-card{padding:15px}.announcement-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10.5px}.announcement-card h4,.assignment-card h4,.submission-group h4,.submission-card h4{margin:4px 0 5px;font-size:14px}.announcement-card p,.assignment-card p,.submission-card p{color:var(--muted);font-size:12px;line-height:1.55;white-space:pre-wrap}.assignment-card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px}.assignment-card__main{min-width:0}.assignment-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:10.5px}.assignment-card__due{display:inline-flex;align-items:center;gap:3px}.assignment-card__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;flex:0 0 auto}.comment-section{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.comment-section__header,.comment-card__top,.comment-form__actions{display:flex;align-items:center;gap:8px}.comment-section__header{justify-content:space-between;margin-bottom:8px;font-size:12px}.comment-list{display:grid;gap:7px;margin-bottom:10px}.comment-card{padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.comment-card__top{color:var(--muted);font-size:10.5px}.comment-card__top strong{color:var(--text);font-size:11.5px}.comment-card__top span{margin-right:auto}.comment-card p{margin:5px 0 0;color:var(--text);font-size:12px;line-height:1.5;white-space:pre-wrap}.comment-form{display:grid;gap:5px}.comment-form__actions{justify-content:space-between;flex-wrap:wrap}.comment-form__actions .input--file{max-width:min(100%,310px)}.attachment-list{display:grid;gap:5px;margin-top:10px}.attachment-row{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:5px 7px}.attachment-row__open{display:flex;min-width:0;flex:1;align-items:center;gap:7px;border:0;background:transparent;color:var(--text);cursor:pointer;text-align:left}.attachment-row__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600}.attachment-row__size{margin-left:auto;color:var(--muted);font-size:10px}.input--file{padding:7px;font-size:12px}.assignment-card__status{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:7px}.assignment-card__grade,.assignment-card__feedback{color:var(--muted);font-size:11px}.submission-badge{display:inline-flex;padding:3px 7px;border-radius:99px;background:var(--surface-2);color:var(--muted);font-size:9.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.submission-badge--submitted{background:var(--brand-soft);color:var(--brand-strong)}.submission-badge--late{background:var(--warning-soft);color:var(--warning)}.submission-badge--reviewed{background:color-mix(in srgb,var(--brand) 14%,var(--surface));color:var(--brand-strong)}.member-row{display:flex;align-items:center;gap:10px;padding:11px 13px}.member-row__avatar{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border-radius:50%;background:var(--brand-soft);color:var(--brand-strong);font-size:12px;font-weight:800}.member-row strong{display:block;font-size:12.5px}.member-row p,.submission-row p,.submission-group__header p{color:var(--muted);font-size:10.5px}.member-row .icon-button{margin-left:auto}.submission-group{padding:14px}.submission-group__header{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;padding-bottom:8px;border-bottom:1px solid var(--border)}.submission-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.submission-row:last-child{border-bottom:0}.submission-row>div:first-child{min-width:130px;flex:1}.submission-row__grade{color:var(--brand-strong);font-size:12px;font-weight:700}.classroom-muted{color:var(--muted);font-size:11.5px}.submission-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;padding:14px}.submission-card>div{flex:1;min-width:180px}.submission-card>strong{color:var(--brand-strong);font-size:12px}.classroom-note{padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.classroom-note strong{display:block;margin-bottom:3px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.classroom-note p{color:var(--muted);font-size:12px;line-height:1.55;white-space:pre-wrap}.invite-code{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0;text-align:center}.invite-code p{max-width:380px;color:var(--muted);font-size:12px;line-height:1.55}.invite-code code{padding:11px 16px;border:1px dashed color-mix(in srgb,var(--brand) 38%,var(--border));border-radius:10px;background:var(--brand-soft);color:var(--brand-strong);font-family:var(--font-mono, monospace);font-size:20px;font-weight:800;letter-spacing:.12em}.classroom-panel .empty-state{margin:8px 0}@media(max-width:760px){.classrooms-tabs{display:flex;width:100%}.classrooms-tab{flex:1;padding-inline:8px}.classroom-hero,.classroom-join{grid-template-columns:1fr;display:flex;flex-direction:column}.classroom-hero{padding:17px}.classroom-hero h2{font-size:20px}.classroom-code-card{width:100%}.classroom-detail__top{align-items:flex-start;flex-direction:column}.classroom-detail__actions{width:100%}.classroom-detail__actions .btn{flex:1}.assignment-card{flex-direction:column}.assignment-card__actions{width:100%;justify-content:flex-start}.classroom-grid{grid-template-columns:1fr}.classroom-join__row{flex-direction:column}.invite-input{max-width:none}.classroom-card{min-height:0}.submission-card{align-items:flex-start}}.notifications-card{overflow:visible}.notifications-demo-banner{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid color-mix(in srgb,var(--amber) 22%,var(--border));border-radius:11px;background:var(--warning-soft)}.notifications-demo-banner__icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border-radius:8px;background:color-mix(in srgb,var(--amber) 12%,transparent);color:var(--amber)}.notifications-demo-banner strong{display:block;margin-bottom:2px;color:var(--text-strong);font-size:12px}.notifications-demo-banner p{color:var(--muted);font-size:10.5px;line-height:1.55}.push-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:13px}.push-status{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.push-status .status-dot{margin-top:4px}.push-status>div{display:flex;flex-direction:column;min-width:0}.push-status span:not(.status-dot){color:var(--muted);font-size:9px}.push-status strong{overflow:hidden;color:var(--text-strong);font-size:10.5px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.notifications-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:13px 0 3px}.notifications-actions .btn{min-height:36px;font-size:12px}.notification-settings{margin-top:6px;border-top:1px solid var(--border)}.switch{position:relative;display:inline-flex;align-items:center;width:40px;height:23px;flex:0 0 auto;padding:2px;border:0;border-radius:99px;background:var(--border-strong);cursor:pointer;transition:background-color var(--transition)}.switch span{display:block;width:19px;height:19px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #0000002e;transition:transform var(--transition)}.switch.is-on{background:var(--brand)}.switch.is-on span{transform:translate(17px)}.switch--small{width:34px;height:20px}.switch--small span{width:16px;height:16px}.switch--small.is-on span{transform:translate(14px)}.lead-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}.lead-option{display:flex;flex-direction:column;gap:2px;padding:9px 8px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--muted);text-align:left;cursor:pointer;transition:border-color var(--transition),background-color var(--transition),color var(--transition)}.lead-option:hover{border-color:var(--border-strong)}.lead-option.is-selected{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong)}.lead-option strong{font-size:11.5px}.lead-option span{font-size:8.5px}.input--time{width:116px;min-height:37px;flex:0 0 auto;padding-block:5px;font-size:12.5px}.timezone-control{display:flex;align-items:center;gap:4px;flex:0 0 auto}.select--timezone{width:210px;min-height:36px;padding-block:6px;font-size:10.5px}.notification-categories{display:flex;flex-direction:column;gap:1px;margin-top:9px;overflow:hidden;border:1px solid var(--border);border-radius:10px}.notification-category{display:flex;align-items:center;gap:9px;padding:8px 10px;border-top:1px solid var(--border);background:var(--surface)}.notification-category:first-child{border-top:0}.notification-category__icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:7px;background:var(--surface-3);color:var(--brand)}.notification-category__copy{display:flex;flex-direction:column;flex:1;min-width:0}.notification-category__copy strong{color:var(--text-strong);font-size:11px}.notification-category__copy span{overflow:hidden;color:var(--muted);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.notification-preview-list{display:flex;flex-direction:column;gap:8px}.notification-preview-list--inline{margin:14px 0 2px;padding:12px;border:1px dashed var(--border-strong);border-radius:11px;background:var(--surface-2)}.notification-preview-card{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-xs)}.notification-preview-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:1px}.notification-preview-card__app{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:8.5px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.notification-preview-card__icon{display:grid;place-items:center;width:19px;height:19px;border-radius:5px;background:var(--brand-deep);color:var(--white)}.notification-preview-card__time{color:var(--muted-2);font-size:8.5px}.notification-preview-card>strong{color:var(--text-strong);font-size:11.5px}.notification-preview-card>p{color:var(--muted);font-size:10.5px;line-height:1.45}.notification-preview-card__category{align-self:flex-start;margin-top:2px;padding:2px 6px;border-radius:5px;background:var(--brand-soft);color:var(--brand-strong);font-size:8.5px;font-weight:650}.notification-demo{display:flex;flex-direction:column;gap:13px}.notification-demo__notice{display:flex;align-items:flex-start;gap:8px;padding:11px;border-radius:9px;background:var(--warning-soft);color:var(--muted)}.notification-demo__notice svg{flex:0 0 auto;margin-top:1px;color:var(--amber)}.notification-demo__notice p{font-size:11px;line-height:1.55}.notification-demo__notice strong{color:var(--text-strong)}.notification-demo__disclaimer{display:flex;align-items:flex-start;gap:5px;color:var(--muted-2);font-size:9px;font-style:italic;line-height:1.5}.task-details{display:grid;gap:18px}.task-details__section{display:grid;gap:8px}.task-file-selection{margin-top:8px;padding:9px 11px;border:1px dashed var(--border);border-radius:10px;background:var(--surface-2)}.task-file-selection ul{display:grid;gap:4px;margin:6px 0;padding:0;list-style:none}.task-file-selection li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px}.task-file-selection__preview{width:38px;height:38px;flex:0 0 auto;border-radius:7px;object-fit:cover;background:var(--surface);border:1px solid var(--border)}.task-file-selection__kind{flex:0 0 auto;color:var(--text-muted);font-size:10px;font-weight:700}.task-file-selection__name{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-file-selection__name small{color:var(--text-muted);font-size:10px}.task-file-selection li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-unavailable{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text-muted);font-size:12px;line-height:1.45}.attachment-unavailable strong{color:var(--text);font-size:12.5px}.attachment-unavailable p{margin:0}.notification-inbox-list{display:grid;min-width:0;gap:9px}.notification-inbox-card{display:flex;min-width:0;max-width:100%;overflow:hidden;gap:11px;padding:13px 14px}.notification-inbox-card.is-unread{border-color:var(--brand);background:var(--brand-soft)}.notification-inbox-card__icon{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:var(--surface);color:var(--brand-strong)}.notification-inbox-card__body{min-width:0;flex:1}.notification-inbox-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.notification-inbox-card__meta strong{min-width:0;overflow-wrap:anywhere;font-size:13px}.notification-inbox-card__app-mark{display:inline-flex;flex:0 0 auto;opacity:.9}.notification-inbox-card__meta time{margin-left:auto;color:var(--muted);font-size:10.5px}.notification-inbox-card__unread{padding:2px 6px;border-radius:99px;background:var(--brand);color:#fff;font-size:9px;font-weight:800;text-transform:uppercase}.notification-inbox-card__body p{margin:4px 0 0;color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.5;white-space:pre-wrap}.notification-inbox-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px}.upload-progress{margin-top:7px;color:var(--brand-strong);font-weight:600}@media(max-width:640px){.notification-inbox-card{align-items:flex-start;gap:9px;padding:11px 12px}.notification-inbox-card__icon{width:30px;height:30px;border-radius:9px}.notification-inbox-card__meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 7px;width:100%}.notification-inbox-card__meta strong{grid-column:1 / -1;font-size:12.5px}.notification-inbox-card__meta time{grid-column:1 / -1;margin-left:0;font-size:10px}.notification-inbox-card__unread{justify-self:start}.notification-inbox-card__actions{width:100%;align-items:stretch;flex-direction:column;gap:6px}.notification-inbox-card__actions .btn,.notification-inbox-card__actions .text-link{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:40px;text-align:center}.comment-form__actions .input--file{max-width:100%}}@media(max-width:380px){.notification-inbox-card{gap:7px;padding:10px}.notification-inbox-card__icon{width:26px;height:26px}.notification-inbox-card__icon svg{width:15px;height:15px}.notification-inbox-card__meta strong{font-size:12px}.bottom-nav__item{font-size:8.5px}.bottom-nav__icon{width:30px;height:28px}}.notification-history{margin-top:15px;padding-top:12px;border-top:1px solid var(--border)}.notification-history__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.notification-history__header>div{display:flex;flex-direction:column}.notification-history__header strong{color:var(--text-strong);font-size:11.5px}.notification-history__header span{color:var(--muted);font-size:9.5px}.notification-history__list{display:flex;flex-direction:column;margin-top:7px;border:1px solid var(--border);border-radius:9px;overflow:hidden}.notification-history__list li{display:flex;align-items:flex-start;gap:8px;padding:8px 9px;border-top:1px solid var(--border)}.notification-history__list li:first-child{border-top:0}.notification-history__list li>.status-dot{margin-top:4px}.notification-history__list li>div{display:flex;flex-direction:column;flex:1;min-width:0}.notification-history__list strong{overflow:hidden;color:var(--text-strong);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.notification-history__list li span:not(.status-dot):not(.notification-status){overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.notification-history__empty{padding:12px 2px 3px;font-size:10.5px;line-height:1.5}.notification-status{flex:0 0 auto;padding:2px 5px;border-radius:4px;font-size:8px;font-weight:650}.notification-status--sent{background:var(--brand-soft);color:var(--brand-strong)}.notification-status--partial,.notification-status--pending{background:var(--warning-soft);color:var(--warning)}.notification-status--failed{background:var(--danger-soft);color:var(--danger)}.notifications-footnote{display:flex;align-items:flex-start;gap:5px;margin-top:14px;padding-top:10px;border-top:1px solid var(--border);color:var(--muted-2);font-size:8.5px;line-height:1.5}.notification-reliability-notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;padding:11px 12px;border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:11px;line-height:1.5}.notification-reliability-notice__icon{display:inline-grid;flex:0 0 auto;place-items:center;width:28px;height:28px;margin-top:1px;border-radius:8px;background:var(--brand-soft);color:var(--brand-deep)}.notification-reliability-notice__copy{flex:1;min-width:0}.notification-reliability-notice__copy strong{display:block;color:var(--text-strong);font-size:12px}.notification-reliability-notice__copy p{margin:3px 0 0}@media(max-width:600px){.notification-reliability-notice{gap:8px;padding:10px 11px;font-size:10.5px}.notification-reliability-notice__icon{width:25px;height:25px}}.admin-notice{display:flex;align-items:flex-start;gap:9px;margin-bottom:15px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--border));border-radius:11px;background:var(--brand-soft);color:var(--muted)}.admin-notice svg{flex:0 0 auto;margin-top:1px;color:var(--brand)}.admin-notice p{font-size:11px;line-height:1.5}.admin-notice strong{color:var(--text-strong)}.admin-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px;align-items:start}.admin-column{display:flex;flex-direction:column;gap:16px}.admin-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:35px;color:var(--muted);font-size:12px}.admin-count{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:99px;background:var(--warning-soft);color:var(--warning);font-size:11px;font-weight:700}.admin-empty{display:flex;align-items:center;gap:8px;padding:17px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:11.5px}.admin-empty svg{color:var(--brand)}.admin-account-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:11px;overflow:hidden}.admin-account-list li{display:flex;align-items:center;gap:10px;padding:11px;border-top:1px solid var(--border)}.admin-account-list li:first-child{border-top:0}.admin-account-item__copy{display:flex;flex-direction:column;flex:1;min-width:0}.admin-account-item__copy strong{color:var(--text-strong);font-size:11.5px}.admin-account-item__copy span{overflow:hidden;color:var(--muted);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.admin-account-item__copy .account-type-pill{align-self:flex-start;width:max-content;margin:2px 0;padding:2px 7px;overflow:visible;font-size:9px}.admin-account-item__copy .account-type-pill--uttn{color:var(--brand)}.admin-account-item__copy .account-type-pill--external{color:var(--purple)}.admin-account-item__actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}.admin-status{display:inline-flex;padding:2px 6px;border-radius:5px;font-size:8.5px;font-weight:650}.admin-status--pending{background:var(--warning-soft);color:var(--warning)}.admin-status--active{background:var(--brand-soft);color:var(--brand-strong)}.admin-status--suspended,.admin-status--rejected{background:var(--danger-soft);color:var(--danger)}.admin-settings{display:flex;flex-direction:column;gap:13px}.admin-member-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:9px;overflow:hidden}.admin-member-list li{display:flex;align-items:center;gap:8px;padding:9px;border-top:1px solid var(--border)}.admin-member-list li:first-child{border-top:0}.admin-member-list li>div{display:flex;flex-direction:column;flex:1;min-width:0}.admin-member-list strong{color:var(--text-strong);font-size:10.5px}.admin-member-list span{color:var(--muted);font-size:9px}.admin-promote{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.admin-promote>strong{color:var(--text-strong);font-size:11.5px}.admin-promote>p{margin:2px 0 9px;color:var(--muted);font-size:9.5px;line-height:1.5}.admin-promote__form{display:flex;align-items:flex-end;gap:7px}.admin-promote__form .field{flex:1}.admin-promote__form .btn{margin-bottom:1px}@media(max-width:1180px){.admin-grid{grid-template-columns:minmax(0,1fr)}.admin-column:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(max-width:900px){.admin-column:last-child{display:flex}}@media(max-width:760px){.push-status-grid,.lead-options{grid-template-columns:minmax(0,1fr)}.lead-option{flex-direction:row;align-items:baseline;justify-content:space-between}.push-status strong{white-space:normal}.notifications-actions .btn{flex:1}.notification-category__copy span{white-space:normal}}@media(max-width:600px){.setting--row .timezone-control{width:100%}.select--timezone{flex:1;width:auto}.input--time{width:100%}.notification-category{align-items:flex-start}.notification-category>.switch{margin-top:5px}.admin-account-list li{flex-wrap:wrap}.admin-account-item__actions{width:100%;justify-content:flex-end}.admin-promote__form{align-items:stretch;flex-direction:column}.admin-promote__form .btn{width:100%}}
