:root{--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: clamp(2.25rem, 4vw, 3.5rem);--type-display: var(--text-5xl);--type-h1: var(--text-4xl);--type-h2: var(--text-3xl);--type-h3: var(--text-2xl);--type-h4: var(--text-xl);--type-body-large: var(--text-lg);--type-body: var(--text-md);--type-body-small: var(--text-sm);--type-label: var(--text-sm);--type-caption: var(--text-xs);--type-button: var(--text-sm);--type-navigation: var(--text-sm);--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.65;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: .875rem;--radius-xl: 1.125rem;--radius-2xl: 1.5rem;--radius-pill: 999px;--shadow-none: none;--shadow-subtle: 0 1px 2px color-mix(in srgb, var(--color-text-primary) 6%, transparent);--shadow-md: 0 8px 24px color-mix(in srgb, var(--color-text-primary) 8%, transparent);--shadow-lg: 0 16px 40px color-mix(in srgb, var(--color-text-primary) 12%, transparent);--shadow-floating: 0 20px 50px color-mix(in srgb, var(--color-text-primary) 14%, transparent);--duration-fast: .12s;--duration-normal: .18s;--duration-slow: .28s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.2, .8, .2, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--depth-none: 0px;--depth-subtle: 1px;--depth-medium: 2px;--depth-high: 4px;--motion-hover-lift: var(--depth-subtle);--motion-card-lift: var(--depth-medium);--motion-press-depth: var(--depth-none);--transition-fast: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);--container-max: 1440px;--content-padding: clamp(1rem, 3vw, 2.5rem)}:root,[data-theme=light]{color-scheme:light;--color-background: #f5f7fb;--color-surface: #ffffff;--color-surface-subtle: #f8f9fc;--color-surface-elevated: #ffffff;--color-surface-interactive: #f1f4f9;--color-text-primary: #172033;--color-text-secondary: #4f5d73;--color-text-muted: #718096;--color-text-disabled: #a0a9b8;--color-text-on-primary: #ffffff;--color-text-on-status: #ffffff;--color-border: #dce2eb;--color-border-subtle: #e9edf3;--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-active: #3730a3;--color-primary-subtle: #eef2ff;--color-success: #16834a;--color-success-subtle: #eaf8f0;--color-warning: #a66300;--color-warning-subtle: #fff6e5;--color-danger: #c73535;--color-danger-subtle: #fff0f0;--color-info: #1769aa;--color-info-subtle: #edf6ff;--color-focus: #6366f1;--color-overlay: rgb(15 23 42 / 45%)}[data-theme=dark]{color-scheme:dark;--color-background: #0d1118;--color-surface: #151b24;--color-surface-subtle: #111720;--color-surface-elevated: #1b2330;--color-surface-interactive: #222c3b;--color-text-primary: #edf2f7;--color-text-secondary: #b7c1cf;--color-text-muted: #8793a5;--color-text-disabled: #596474;--color-text-on-primary: #ffffff;--color-text-on-status: #ffffff;--color-border: #2b3544;--color-border-subtle: #202936;--color-primary: #818cf8;--color-primary-hover: #a5b4fc;--color-primary-active: #6366f1;--color-primary-subtle: #20264a;--color-success: #48b978;--color-success-subtle: #123322;--color-warning: #e0a348;--color-warning-subtle: #392a15;--color-danger: #f06b6b;--color-danger-subtle: #3d1d22;--color-info: #63a9df;--color-info-subtle: #142c3f;--color-focus: #a5b4fc;--color-overlay: rgb(0 0 0 / 60%)}.phase8-page{display:grid;gap:1.5rem;padding:clamp(1rem,2vw,2rem) 0}.phase8-page h2{margin:0}.phase8-panel{display:grid;gap:1rem}.phase8-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.phase8-action-group,.phase8-card-actions,.phase8-inline-actions,.phase8-stepper{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.phase8-summary-grid,.phase8-card-grid,.phase8-habit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.phase8-kicker{display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.phase8-big-value{display:block;font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin:.65rem 0}.phase8-stat-value{display:block;font-size:1.75rem;margin-top:.35rem}.phase8-attendance-card,.phase8-list-card,.phase8-habit-card{display:grid;gap:.9rem}.phase8-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.phase8-card-header h3{margin:0}.phase8-card-header p,.phase8-item-main span,.phase8-item-main small{display:block;margin:.25rem 0 0;opacity:.72}.phase8-attendance-number{font-size:2.5rem;font-weight:800}.phase8-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.phase8-stat-row>span{display:grid;gap:.25rem;padding:.65rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.8rem}.phase8-stat-row strong{font-size:1.1rem}.phase8-stepper{margin-top:.15rem}.phase8-stepper .ui-button{min-width:2rem;padding:.25rem .5rem}.phase8-warning,.phase8-error{margin:0;padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--color-border)}.phase8-warning{background:color-mix(in srgb,var(--color-warning) 10%,transparent)}.phase8-error{color:var(--color-danger)}.phase8-filter-grid,.phase8-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end}.phase8-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase8-record-list,.phase8-timetable-list,.phase8-list,.phase8-today-list{display:grid;gap:.75rem}.phase8-record{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center}.phase8-record strong,.phase8-record span{display:block}.phase8-record span{opacity:.72;margin-top:.25rem}.phase8-time-block{min-width:6rem;display:grid;gap:.15rem}.phase8-time-block strong{font-size:1rem}.phase8-time-block span{font-size:.8rem;opacity:.65}.phase8-timetable-list>.ui-card,.phase8-schedule-item{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}.phase8-item-main{min-width:0}.phase8-item-main strong{display:block}.phase8-item-main span{overflow-wrap:anywhere}.phase8-badge-stack{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.phase8-number-badge{width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:50%;background:var(--color-surface-muted);font-weight:800}.phase8-mini-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}.phase8-day-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.phase8-day-tabs button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:.7rem;border-radius:var(--radius-md);font:inherit;font-weight:700;cursor:pointer}.phase8-day-tabs button.is-active{background:var(--color-surface-strong);color:var(--color-on-strong);border-color:var(--color-surface-strong)}.phase8-habit-toggle{display:flex;align-items:center;gap:.85rem;text-align:left;background:none;border:0;color:inherit;padding:0;cursor:pointer;font:inherit}.phase8-habit-check{width:2.5rem;height:2.5rem;border:2px solid var(--color-border);border-radius:var(--radius-md);display:grid;place-items:center;font-weight:900;flex:none}.phase8-habit-card.is-complete .phase8-habit-check{background:var(--color-success);color:var(--color-on-success);border-color:var(--color-success)}.phase8-habit-toggle strong,.phase8-habit-toggle small{display:block}.phase8-habit-toggle small{margin-top:.2rem;opacity:.68}.phase8-habit-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center}.phase8-habit-history{display:grid;gap:.5rem;overflow:auto}.phase8-history-row{display:grid;grid-template-columns:4rem repeat(auto-fit,minmax(2.25rem,1fr));gap:.5rem;align-items:center;min-width:20rem}.phase8-history-row span{text-align:center;padding:.45rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-weight:800}.phase8-history-row .is-done{border-color:var(--color-success)}.phase8-history-row .is-missed{opacity:.55}.phase8-empty{display:grid;gap:1rem;justify-items:start}.phase8-empty>div{display:grid;gap:.8rem}.phase8-schedule-item{grid-template-columns:auto 1fr}.phase8-page .ui-card{min-width:0}@media(max-width:1000px){.phase8-mini-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.phase8-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.phase8-summary-grid,.phase8-card-grid,.phase8-habit-grid{grid-template-columns:1fr}.phase8-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.phase8-filter-grid,.phase8-form-grid{grid-template-columns:1fr}.phase8-record{grid-template-columns:1fr auto}.phase8-record .phase8-inline-actions{grid-column:1/-1}.phase8-timetable-list>.ui-card,.phase8-schedule-item{grid-template-columns:1fr;align-items:start}.phase8-time-block{display:flex;gap:.5rem;align-items:baseline}.phase8-day-tabs{grid-template-columns:repeat(7,minmax(3rem,1fr));overflow-x:auto}.phase8-day-tabs button{min-width:3rem}.phase8-action-group{width:100%}.phase8-action-group .ui-button{flex:1}.phase8-section-heading{align-items:flex-start;flex-direction:column}}@media(max-width:420px){.phase8-page{gap:1rem}.phase8-stat-row{grid-template-columns:1fr}.phase8-mini-stats{grid-template-columns:1fr 1fr}.phase8-card-actions .ui-button,.phase8-inline-actions .ui-button{min-height:2.5rem}.phase8-history-row{grid-template-columns:3rem repeat(auto-fit,minmax(2rem,1fr))}}@media(prefers-reduced-motion:reduce){.phase8-page *{scroll-behavior:auto}}.phase10-page{display:grid;gap:var(--space-6)}.phase10-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.phase10-header h2{margin:0 0 var(--space-2)}.phase10-header p{margin:0;color:var(--color-text-secondary)}.phase10-kicker{font-size:var(--text-xs)!important;font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)!important}.phase10-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.phase10-filters,.phase10-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.phase10-report-grid>.phase10-section{grid-column:span 2}.phase10-metric{display:block;font-size:var(--text-4xl);margin:var(--space-2) 0}.phase10-section h3{margin:0 0 var(--space-5)}.phase10-bars{display:grid;gap:var(--space-4)}.phase10-bar>div:first-child{display:flex;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.phase10-bar>div:first-child span{color:var(--color-text-secondary);font-size:var(--text-sm)}.phase10-track{height:10px;border-radius:999px;background:var(--color-surface-interactive);overflow:hidden}.phase10-track span{display:block;height:100%;border-radius:inherit;background:var(--color-primary);transition:width var(--duration-normal) var(--ease-standard)}.phase10-stat-list{display:grid;gap:var(--space-3)}.phase10-stat-line{display:flex;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.phase10-stat-line:last-child{border-bottom:0;padding-bottom:0}.phase10-form{display:grid;gap:var(--space-4)}.phase10-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.phase10-settings-grid h3{margin-top:0}.phase10-preferences{display:grid;gap:var(--space-2)}.phase10-pref{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.phase10-pref:last-child{border-bottom:0}.phase10-success{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-success-subtle);color:var(--color-success)}.phase10-error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-danger-subtle);color:var(--color-danger)}.notification-popover{position:absolute;right:0;top:calc(100% + var(--space-2));width:min(24rem,calc(100vw - 2rem));max-height:32rem;overflow:auto;z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-3)}.notification-popover__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2)}.notification-popover__header div{display:grid;gap:2px}.notification-popover__header span{font-size:var(--text-xs);color:var(--color-text-muted)}.notification-popover__list{display:grid}.notification-item{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);text-align:left;padding:var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:inherit;cursor:pointer}.notification-item:hover,.notification-item.is-unread{background:var(--color-surface-interactive)}.notification-item__icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--color-primary-subtle);color:var(--color-primary)}.notification-item span:last-child{display:grid;gap:3px}.notification-item small{color:var(--color-text-secondary);line-height:1.35}.notification-item time{font-size:var(--text-xs);color:var(--color-text-muted)}.notification-popover__state{padding:var(--space-6);text-align:center;color:var(--color-text-secondary)}.notification-popover__close{width:100%;margin-top:var(--space-2)}.app-shell__notification-wrap{position:relative}.app-shell__notification-count{position:absolute;right:-2px;top:-3px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--color-danger);color:var(--color-text-on-primary);font-size:10px;font-weight:700;display:grid;place-items:center}.app-shell__mobile-bottom{display:none}@media(max-width:720px){.phase10-header{display:grid}.phase10-filters,.phase10-settings-grid,.phase10-report-grid{grid-template-columns:1fr}.phase10-report-grid>.phase10-section{grid-column:auto}.phase10-actions{width:100%}.phase10-actions>*{flex:1}.app-shell__mobile-bottom{position:fixed;z-index:40;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);padding:8px max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--color-surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--color-border)}.app-shell__mobile-bottom a{display:grid;place-items:center;gap:3px;text-decoration:none;color:var(--color-text-secondary);font-size:11px;padding:6px 2px;min-height:44px}.app-shell__mobile-bottom a.active{color:var(--color-primary);font-weight:var(--weight-semibold)}.app-shell__main{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.notification-popover{position:fixed;right:var(--content-padding);top:4.5rem}.app-shell__sidebar,.app-shell__collapse{display:none}.app-shell__mobile-menu{display:inline-flex}}@media(min-width:721px){.app-shell__mobile-menu{display:none}}@media print{.app-shell__sidebar,.app-shell__topbar,.app-shell__mobile-bottom,.phase10-filters,.phase10-actions{display:none!important}.app-shell{display:block}.app-shell__main{padding:0;max-width:none}.phase10-page{gap:1rem}.phase10-report-grid{grid-template-columns:repeat(2,1fr)}.phase10-report-grid>.phase10-section{break-inside:avoid}.phase10-track span{print-color-adjust:exact;-webkit-print-color-adjust:exact}}:root{font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;background:var(--color-background)}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;color:var(--color-text-primary);background:var(--color-background);line-height:var(--leading-normal);transition:background-color var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard)}button,input,textarea,select{font:inherit}button,a{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--color-focus) 70%,transparent);outline-offset:2px}::selection{background:var(--color-primary);color:var(--color-text-on-primary)}h1,h2,h3,h4,p{margin-block-start:0}h1,h2,h3,h4{color:var(--color-text-primary);line-height:var(--leading-tight)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}.app-shell{min-height:100vh;display:grid;grid-template-columns:15rem minmax(0,1fr)}.app-shell__sidebar{padding:var(--space-6);border-right:1px solid var(--color-border);background:var(--color-surface)}.app-shell__brand{font-weight:var(--weight-extrabold);font-size:var(--text-xl);margin-bottom:var(--space-6);letter-spacing:-.02em}.app-shell__nav{display:grid;gap:var(--space-2)}.app-shell__nav a{text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.app-shell__nav a:hover{background:var(--color-surface-interactive);color:var(--color-text-primary)}.app-shell__nav a.active{background:var(--color-primary-subtle);color:var(--color-primary);font-weight:var(--weight-semibold)}.app-shell__topbar{min-height:4rem;padding:var(--space-3) var(--content-padding);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.app-shell__main{width:min(100%,var(--container-max));margin:0 auto;padding:var(--space-10) var(--content-padding)}.app-shell__theme-toggle{flex:0 0 auto}.placeholder-page{max-width:45rem}.placeholder-page__eyebrow{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}@media(max-width:900px){.app-shell{grid-template-columns:13rem minmax(0,1fr)}.app-shell__sidebar{padding:var(--space-4)}}@media(max-width:720px){.app-shell{grid-template-columns:1fr}.app-shell__sidebar{border-right:0;border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--content-padding)}.app-shell__brand{margin-bottom:var(--space-3)}.app-shell__nav{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell__main{padding-block:var(--space-6)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.ui-button{border:1px solid transparent;border-radius:var(--radius-md);min-height:2.5rem;padding:0 var(--space-4);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;font-weight:var(--weight-semibold);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(0)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--sm{min-height:2rem;padding-inline:var(--space-3);font-size:var(--text-sm)}.ui-button--lg{min-height:3rem;padding-inline:var(--space-6)}.ui-button--primary{background:var(--color-primary);color:var(--color-text-on-primary);box-shadow:var(--shadow-subtle)}.ui-button--primary:hover:not(:disabled){background:var(--color-primary-hover)}.ui-button--secondary{background:var(--color-surface-interactive);color:var(--color-text-primary)}.ui-button--outline{background:transparent;color:var(--color-text-primary);border-color:var(--color-border)}.ui-button--ghost{background:transparent;color:var(--color-text-secondary)}.ui-button--danger{background:var(--color-danger);color:var(--color-text-on-status)}.ui-button--success{background:var(--color-success);color:var(--color-text-on-status)}.ui-button--icon{width:2.5rem;padding:0;background:var(--color-surface-interactive);border-color:var(--color-border)}.ui-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);color:var(--color-text-primary)}.ui-card p{color:var(--color-text-secondary);margin-bottom:0}.ui-card--elevated{box-shadow:var(--shadow-md);border-color:transparent}.ui-card--interactive{transition:transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard),background-color var(--duration-normal) var(--ease-standard)}.ui-card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-surface-elevated)}.ui-card--compact{padding:var(--space-4)}.ui-card--highlighted{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:var(--color-primary-subtle)}.ui-field{display:grid;gap:var(--space-2)}.ui-field label,.text-label{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.ui-input,.ui-field input,.ui-field select{width:100%;min-height:2.75rem;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.ui-field textarea,.ui-textarea{min-height:7rem;padding:var(--space-3);resize:vertical}.ui-input:hover,.ui-field input:hover,.ui-field select:hover{border-color:var(--color-text-muted)}.ui-input:focus,.ui-field input:focus,.ui-field select:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus) 15%,transparent);outline:none}.ui-field__message{margin:0;font-size:var(--text-sm)}.ui-field__message--error{color:var(--color-danger)}.ui-field__message--success{color:var(--color-success)}.ui-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);overflow-x:auto}.ui-tab{position:relative;border:0;background:transparent;color:var(--color-text-secondary);padding:var(--space-3) var(--space-4);cursor:pointer;font-weight:var(--weight-medium);white-space:nowrap}.ui-tab:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;background:transparent}.ui-tab:hover:not(:disabled){color:var(--color-text-primary)}.ui-tab[aria-selected=true]{color:var(--color-primary);font-weight:var(--weight-semibold)}.ui-tab[aria-selected=true]:after{background:var(--color-primary)}.ui-tab:disabled{color:var(--color-text-disabled);cursor:not-allowed}.ui-badge{display:inline-flex;align-items:center;gap:var(--space-1);width:fit-content;border-radius:var(--radius-pill);padding:.25rem .625rem;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:capitalize}.ui-badge--completed,.ui-badge--present,.ui-badge--checked{color:var(--color-success);background:var(--color-success-subtle)}.ui-badge--pending,.ui-badge--not-checked{color:var(--color-text-secondary);background:var(--color-surface-interactive)}.ui-badge--in-progress,.ui-badge--due-soon{color:var(--color-warning);background:var(--color-warning-subtle)}.ui-badge--absent,.ui-badge--overdue,.ui-badge--at-risk{color:var(--color-danger);background:var(--color-danger-subtle)}.ui-progress{display:grid;gap:var(--space-2)}.ui-progress__meta{display:flex;justify-content:space-between;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm)}.ui-progress__track{width:100%;height:.625rem;border-radius:var(--radius-pill);background:var(--color-surface-interactive);overflow:hidden}.ui-progress--sm .ui-progress__track{height:.375rem}.ui-progress__bar{height:100%;border-radius:inherit;background:var(--color-primary);transition:width var(--duration-slow) var(--ease-standard)}.ui-check,.ui-toggle{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-text-secondary)}.ui-toggle input{position:absolute;width:1px;height:1px;opacity:0}.ui-toggle input:focus-visible+.ui-toggle__track{outline:3px solid color-mix(in srgb,var(--color-focus) 70%,transparent);outline-offset:2px}.ui-toggle__track{width:2.5rem;height:1.5rem;padding:.125rem;border-radius:var(--radius-pill);background:var(--color-text-disabled);transition:background-color var(--duration-fast) var(--ease-standard)}.ui-toggle__track span{display:block;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--color-text-on-primary);transition:transform var(--duration-fast) var(--ease-standard)}.ui-toggle input:checked+.ui-toggle__track{background:var(--color-primary)}.ui-toggle input:checked+.ui-toggle__track span{transform:translate(1rem)}.ui-divider{border:0;border-top:1px solid var(--color-border);margin:var(--space-6) 0}.ui-container{width:min(100%,var(--container-max));margin-inline:auto;padding-inline:var(--content-padding)}.ui-surface{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.ui-tooltip{position:relative;display:inline-flex}.ui-tooltip__content{position:absolute;z-index:10;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%) scale(.98);padding:.375rem .5rem;border-radius:var(--radius-sm);background:var(--color-text-primary);color:var(--color-background);font-size:var(--type-caption);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.ui-tooltip:hover .ui-tooltip__content,.ui-tooltip:focus-within .ui-tooltip__content{opacity:1;visibility:visible;transform:translate(-50%) scale(1)}.showcase{max-width:var(--container-max);margin:0 auto;padding:var(--space-4) var(--content-padding) var(--space-16)}.showcase__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-16)}.showcase__eyebrow{color:var(--color-primary);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.1em;font-size:var(--text-xs)}.showcase__lead{color:var(--color-text-secondary);font-size:var(--text-lg)}.showcase__section{margin-bottom:var(--space-16)}.showcase__section>h2{margin-bottom:var(--space-6)}.showcase__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--space-3)}.color-token{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface)}.color-token__swatch{width:2rem;height:2rem;border-radius:var(--radius-sm);background:var(--color-background);border:1px solid var(--color-border)}.color-token__swatch--surface{background:var(--color-surface)}.color-token__swatch--surface-subtle{background:var(--color-surface-subtle)}.color-token__swatch--surface-elevated{background:var(--color-surface-elevated)}.color-token__swatch--surface-interactive{background:var(--color-surface-interactive)}.color-token__swatch--primary{background:var(--color-primary)}.color-token__swatch--primary-subtle{background:var(--color-primary-subtle)}.color-token__swatch--success{background:var(--color-success)}.color-token__swatch--warning{background:var(--color-warning)}.color-token__swatch--danger{background:var(--color-danger)}.color-token__swatch--info{background:var(--color-info)}.color-token div{display:grid;gap:.125rem}.color-token small{color:var(--color-text-muted)}.type-stack{display:grid;gap:var(--space-3)}.type-stack h1,.type-stack h2,.type-stack h3,.type-stack h4,.type-stack p{margin:0}.type-display{font-size:var(--text-5xl);font-weight:var(--weight-extrabold);letter-spacing:-.04em;line-height:var(--leading-tight)}.text-lg{font-size:var(--text-lg)}.text-sm{font-size:var(--text-sm);color:var(--color-text-secondary)}.elevation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-5)}.elevation{min-height:7rem;display:grid;align-content:center;justify-items:center;gap:var(--space-1);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface)}.elevation span{color:var(--color-text-muted);font-size:var(--text-sm)}.elevation--subtle{box-shadow:var(--shadow-subtle)}.elevation--md{box-shadow:var(--shadow-md)}.elevation--lg{box-shadow:var(--shadow-lg)}.elevation--floating{box-shadow:var(--shadow-floating)}.showcase__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-4)}.showcase__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);max-width:60rem}.showcase__footer{color:var(--color-text-secondary)}@media(max-width:720px){.showcase__header{flex-direction:column;margin-bottom:var(--space-10)}.showcase__section{margin-bottom:var(--space-10)}.showcase__form{grid-template-columns:1fr}}.ui-button:focus-visible,.ui-tab:focus-visible,.ui-input:focus-visible,.ui-check input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--color-focus) 70%,transparent);outline-offset:2px}.ui-button[aria-busy=true]{cursor:wait}.ui-input:hover:not(:disabled),.ui-select:hover:not(:disabled){border-color:var(--color-text-secondary)}.ui-input:disabled,.ui-check input:disabled+span{cursor:not-allowed}.ui-progress-circle{--track: var(--color-border);--fill: var(--color-primary);width:7rem;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--fill) calc(var(--progress) * 1%),var(--track) 0)}.ui-progress-circle:before{content:"";position:absolute;inset:.55rem;border-radius:50%;background:var(--color-surface)}.ui-progress-circle>*{position:relative;z-index:1}.ui-progress-circle span{font-weight:var(--weight-bold)}.ui-progress-circle small{position:absolute;top:calc(100% + var(--space-2));color:var(--color-text-secondary);white-space:nowrap}.ui-progress-circle--sm{width:5rem}.ui-tabs{overflow-x:auto}.ui-tab[disabled]{cursor:not-allowed;opacity:.55}.ui-check{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.75rem;cursor:pointer}.ui-check input{accent-color:var(--color-primary)}.type-body-large{font-size:var(--type-body-large)}.type-body{font-size:var(--type-body)}.type-body-small{font-size:var(--type-body-small);color:var(--color-text-secondary)}.type-label,.type-button,.type-navigation{font-size:var(--type-label);font-weight:var(--weight-semibold)}.type-caption{font-size:var(--type-caption);color:var(--color-text-muted)}.type-button{font-size:var(--type-button)}.type-navigation{font-size:var(--type-navigation)}.ui-tabpanel{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.ui-tabpanel:focus-visible{outline:3px solid color-mix(in srgb,var(--color-focus) 70%,transparent);outline-offset:2px}.motion-hover-lift,.motion-press,.motion-floating,.motion-fade,.motion-slide,.motion-scale,.motion-page-transition{will-change:auto}.motion-hover-lift{transition:transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard)}.motion-hover-lift--subtle{--motion-lift: var(--depth-subtle)}.motion-hover-lift--medium{--motion-lift: var(--depth-medium)}@media(hover:hover)and (pointer:fine){.motion-hover-lift:hover{transform:translateY(calc(var(--motion-lift) * -1))}}.motion-press{transition:transform var(--duration-fast) var(--ease-accelerate)}.motion-press--subtle{--motion-press: 1px}.motion-press--medium{--motion-press: 2px}.motion-press:active{transform:translateY(var(--motion-press))}.motion-floating--slow{animation:syllora-float 4.8s var(--ease-standard) infinite}.motion-floating--normal{animation:syllora-float 3.6s var(--ease-standard) infinite}@keyframes syllora-float{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--depth-subtle) * -1))}}.motion-fade--fast{animation:syllora-fade-in var(--duration-fast) var(--ease-decelerate) both}.motion-fade--normal{animation:syllora-fade-in var(--duration-normal) var(--ease-decelerate) both}.motion-fade--slow{animation:syllora-fade-in var(--duration-slow) var(--ease-decelerate) both}@keyframes syllora-fade-in{0%{opacity:0}to{opacity:1}}.motion-slide{animation-fill-mode:both}.motion-slide--up{--motion-slide-x: 0;--motion-slide-y: var(--depth-medium)}.motion-slide--down{--motion-slide-x: 0;--motion-slide-y: calc(var(--depth-medium) * -1)}.motion-slide--left{--motion-slide-x: var(--depth-medium);--motion-slide-y: 0}.motion-slide--right{--motion-slide-x: calc(var(--depth-medium) * -1);--motion-slide-y: 0}.motion-slide--fast{animation:syllora-slide-in var(--duration-fast) var(--ease-decelerate) both}.motion-slide--normal{animation:syllora-slide-in var(--duration-normal) var(--ease-decelerate) both}.motion-slide--slow{animation:syllora-slide-in var(--duration-slow) var(--ease-decelerate) both}@keyframes syllora-slide-in{0%{opacity:0;transform:translate3d(var(--motion-slide-x),var(--motion-slide-y),0)}to{opacity:1;transform:translateZ(0)}}.motion-scale--fast{animation:syllora-scale-in var(--duration-fast) var(--ease-decelerate) both}.motion-scale--normal{animation:syllora-scale-in var(--duration-normal) var(--ease-decelerate) both}.motion-scale--slow{animation:syllora-scale-in var(--duration-slow) var(--ease-decelerate) both}@keyframes syllora-scale-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.motion-page-transition{animation:syllora-page-enter var(--duration-normal) var(--ease-decelerate) both}@keyframes syllora-page-enter{0%{opacity:0;transform:translateY(var(--depth-subtle))}to{opacity:1;transform:translateY(0)}}.ui-button{box-shadow:var(--shadow-subtle);transform:translateY(0)}.ui-button:hover:not(:disabled){transform:translateY(calc(var(--motion-hover-lift) * -1));box-shadow:var(--shadow-md)}.ui-button:active:not(:disabled){transform:translateY(var(--motion-press-depth));box-shadow:var(--shadow-subtle);transition-duration:var(--duration-fast)}.ui-button:focus-visible:not(:disabled){box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus) 22%,transparent),var(--shadow-subtle)}.ui-button:disabled{box-shadow:none}.ui-card--interactive,.ui-card--floating{transform:translateY(0);transition:transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard),background-color var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard)}.ui-card--floating{box-shadow:var(--shadow-floating)}@media(hover:hover)and (pointer:fine){.ui-card--interactive:hover{transform:translateY(calc(var(--motion-card-lift) * -1));box-shadow:var(--shadow-lg)}.ui-card--floating:hover{transform:translateY(calc(var(--motion-card-lift) * -1));box-shadow:var(--shadow-floating)}}.ui-card--interactive:active,.ui-card--floating:active{transform:translateY(var(--motion-press-depth))}.ui-tabs{position:relative}.ui-tab{transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}@media(hover:hover)and (pointer:fine){.ui-tab:hover:not(:disabled){transform:translateY(calc(var(--depth-subtle) * -1))}}.ui-tab:active:not(:disabled){transform:translateY(var(--motion-press-depth))}.ui-tab:after{transform:scaleX(0);transform-origin:center;transition:transform var(--duration-fast) var(--ease-emphasized),background-color var(--duration-fast) var(--ease-standard)}.ui-tab[aria-selected=true]:after{transform:scaleX(1)}.ui-toggle__track,.ui-toggle__track span,.ui-check input+span{transition:background-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ui-toggle:active .ui-toggle__track{transform:scale(.98)}.ui-check:active input+span{transform:translateY(1px)}.ui-progress__bar{transition:width var(--duration-slow) var(--ease-standard)}.ui-motion-overlay{animation:syllora-fade-in var(--duration-fast) var(--ease-decelerate) both}.ui-motion-modal{animation:syllora-modal-in var(--duration-normal) var(--ease-decelerate) both}@keyframes syllora-modal-in{0%{opacity:0;transform:translateY(var(--depth-medium)) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.ui-motion-popover{transform-origin:top center;animation:syllora-popover-in var(--duration-fast) var(--ease-decelerate) both}@keyframes syllora-popover-in{0%{opacity:0;transform:translateY(calc(var(--depth-medium) * -1))}to{opacity:1;transform:translateY(0)}}.motion-demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-4)}.motion-demo-surface{min-height:7rem;display:grid;place-items:center;padding:var(--space-5);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-subtle)}.motion-demo-surface--floating{min-height:6rem}.motion-demo-stack{display:grid;gap:var(--space-3)}.motion-demo-note{margin:0;color:var(--color-text-secondary);font-size:var(--type-body-small)}.motion-reduced-note{padding:var(--space-4);border-left:3px solid var(--color-primary);background:var(--color-primary-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary)}@media(max-width:720px){.motion-demo-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.motion-floating--slow,.motion-floating--normal,.motion-fade--fast,.motion-fade--normal,.motion-fade--slow,.motion-slide--fast,.motion-slide--normal,.motion-slide--slow,.motion-scale--fast,.motion-scale--normal,.motion-scale--slow,.motion-page-transition,.ui-motion-overlay,.ui-motion-modal,.ui-motion-popover{animation:none}.motion-hover-lift,.motion-press,.ui-button,.ui-card--interactive,.ui-card--floating,.ui-tab,.ui-toggle__track,.ui-toggle__track span,.ui-check input+span,.ui-progress__bar{transition-duration:.01ms!important}.ui-button:hover:not(:disabled),.ui-card--interactive:hover,.ui-card--floating:hover,.ui-tab:hover:not(:disabled){transform:none}}.auth-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--space-6) var(--content-padding);position:relative;overflow:hidden;background:var(--color-background)}.auth-page__backdrop{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--color-primary) 10%,transparent),transparent 30%),radial-gradient(circle at 85% 80%,color-mix(in srgb,var(--color-primary) 7%,transparent),transparent 32%)}.auth-page__content{width:min(100%,31rem);position:relative;z-index:1}.auth-brand{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);text-decoration:none;font-size:var(--text-xl);font-weight:var(--weight-extrabold);letter-spacing:-.02em}.auth-brand__mark{width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-on-primary);box-shadow:var(--shadow-subtle)}.auth-page__lift{width:100%}.auth-card{padding:clamp(var(--space-5),5vw,var(--space-8));box-shadow:var(--shadow-floating)}.auth-card__header{margin-bottom:var(--space-6)}.auth-card__header h1{margin-bottom:var(--space-2);font-size:clamp(var(--text-2xl),6vw,var(--text-4xl))}.auth-card__header>p:last-child{margin:0;color:var(--color-text-secondary)}.auth-eyebrow{margin:0 0 var(--space-2);color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.auth-form{display:grid;gap:var(--space-4)}.auth-form__row{display:flex;align-items:center;gap:var(--space-3)}.auth-form__row--end{justify-content:flex-end;margin-top:calc(var(--space-2) * -1)}.auth-form a,.auth-card__footer a{color:var(--color-primary);font-weight:var(--weight-semibold)}.auth-form a:hover,.auth-card__footer a:hover{text-decoration:none}.auth-submit,.auth-google-button{width:100%}.auth-google-button__mark{width:1.35rem;height:1.35rem;display:grid;place-items:center;font-weight:var(--weight-bold);border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface)}.auth-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--color-border-subtle)}.auth-divider span{flex:0 0 auto}.auth-helper{margin:calc(var(--space-2) * -1) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.auth-card__footer{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border-subtle);text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm)}.auth-page__security-note{margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:var(--text-xs);text-align:center}.auth-password-field{position:relative}.auth-password-field__input{padding-right:4.8rem!important}.auth-password-field__toggle{position:absolute;right:.25rem;bottom:.25rem;min-height:2.25rem;padding-inline:.65rem}.auth-route-loader{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--space-6)}.app-shell__identity{display:flex;align-items:center;gap:var(--space-3);min-width:0}.app-shell__user{color:var(--color-text-secondary);font-size:var(--text-sm)}.app-shell__actions{display:flex;align-items:center;gap:var(--space-2)}@media(max-width:480px){.auth-page{padding:var(--space-4);align-items:start;padding-top:var(--space-8)}.auth-card{padding:var(--space-5)}.auth-card__header h1{font-size:var(--text-3xl)}.app-shell__identity>span:first-child{display:none}}@media(prefers-reduced-motion:reduce){.auth-page__lift{transition:none!important}}.app-shell{min-height:100vh;display:grid;grid-template-columns:17rem minmax(0,1fr);background:var(--color-background)}.app-shell__sidebar{position:sticky;top:0;height:100vh;min-width:0;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5);border-right:1px solid var(--color-border);background:var(--color-surface);z-index:20;transition:width var(--duration-normal) var(--ease-standard),padding var(--duration-normal) var(--ease-standard);overflow:hidden}.app-shell--collapsed{grid-template-columns:5.25rem minmax(0,1fr)}.app-shell--collapsed .app-shell__sidebar{padding-inline:var(--space-3)}.app-shell__brand{display:flex;align-items:center;gap:var(--space-3);min-height:2.5rem;font-size:var(--text-xl);font-weight:var(--weight-extrabold);letter-spacing:-.02em;white-space:nowrap}.app-shell__brand-mark{width:2.25rem;height:2.25rem;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-on-primary);box-shadow:var(--shadow-subtle)}.app-nav{display:grid;gap:var(--space-5);overflow:auto;scrollbar-width:thin}.app-nav__group{display:grid;gap:.25rem}.app-nav__group>p{margin:0 var(--space-2) var(--space-1);color:var(--color-text-muted);font-size:.68rem;font-weight:var(--weight-bold);letter-spacing:.1em;text-transform:uppercase}.app-nav a{min-height:2.55rem;display:flex;align-items:center;gap:var(--space-3);padding:.55rem .7rem;border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.app-nav a:hover{background:var(--color-surface-interactive);color:var(--color-text-primary);transform:translate(1px)}.app-nav a.active{background:var(--color-primary-subtle);color:var(--color-primary);font-weight:var(--weight-semibold);box-shadow:inset 3px 0 0 var(--color-primary),var(--shadow-subtle)}.app-nav a:focus-visible{outline-offset:-2px}.app-nav a svg{flex:0 0 auto}.app-shell--collapsed .app-nav__group>p,.app-shell--collapsed .app-nav a span,.app-shell--collapsed .app-shell__account-copy,.app-shell--collapsed .app-shell__logout{display:none}.app-shell--collapsed .app-nav a{justify-content:center;padding-inline:.5rem}.app-shell__account{margin-top:auto;min-width:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-elevated)}.app-shell__account-copy,.app-shell__mobile-account>div{min-width:0;display:grid;gap:.15rem}.app-shell__account-copy strong,.app-shell__mobile-account strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.app-shell__account-copy span,.app-shell__mobile-account span{color:var(--color-text-muted);font-size:var(--text-xs)}.app-shell__logout{margin-left:auto}.app-shell__avatar{width:2rem;height:2rem;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--color-primary-subtle);color:var(--color-primary);font-size:.72rem;font-weight:var(--weight-bold)}.app-shell__content{min-width:0}.app-shell__topbar{min-height:4.5rem;position:sticky;top:0;z-index:15;padding:var(--space-3) var(--content-padding);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-shell__topbar-left,.app-shell__actions{display:flex;align-items:center;gap:var(--space-3);min-width:0}.app-shell__topbar-left>div:last-child{min-width:0}.app-shell__topbar h1{margin:0;font-size:var(--text-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell__breadcrumb{margin:0;color:var(--color-text-muted);font-size:var(--text-xs)}.app-shell__topbar-user{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.app-shell__collapse,.app-shell__mobile-menu{flex:0 0 auto}.app-shell__mobile-menu,.app-shell__mobile-drawer,.app-shell__backdrop{display:none}.app-shell__main{width:min(100%,var(--container-max));margin:0 auto;padding:var(--space-8) var(--content-padding) var(--space-12)}.dashboard-page{display:grid;gap:var(--space-6)}.dashboard-welcome{min-height:11rem;display:flex;align-items:end;position:relative;overflow:hidden}.dashboard-welcome:after{content:"";position:absolute;width:18rem;height:18rem;right:-7rem;top:-9rem;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 10%,transparent);pointer-events:none}.dashboard-welcome>div{position:relative;z-index:1;max-width:44rem}.dashboard-welcome h1{margin-bottom:var(--space-2);font-size:clamp(var(--text-2xl),4vw,var(--text-4xl))}.dashboard-welcome p:last-child{max-width:38rem}.dashboard-eyebrow{margin:0 0 var(--space-2);color:var(--color-primary);font-size:.7rem;font-weight:var(--weight-bold);letter-spacing:.1em;text-transform:uppercase}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.dashboard-summary-card{min-height:10.5rem;display:grid;align-content:start;gap:.4rem}.dashboard-summary-card__top{display:flex;align-items:center;gap:var(--space-2)}.dashboard-summary-card__icon{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--color-primary);background:var(--color-primary-subtle)}.dashboard-summary-card__label{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.dashboard-summary-card strong{margin-top:var(--space-2);font-size:var(--text-3xl);letter-spacing:-.03em}.dashboard-summary-card p{font-size:var(--text-sm)}.dashboard-grid{display:grid;gap:var(--space-4)}.dashboard-grid--primary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard-grid--secondary{grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr)}.dashboard-panel{min-width:0}.dashboard-panel__header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.dashboard-panel__header h2{margin:0;font-size:var(--text-xl)}.dashboard-panel__header a{color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.dashboard-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.dashboard-list__item{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-elevated)}.dashboard-list__item>span{min-width:0}.dashboard-list__item strong,.dashboard-list__item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-list__item small{margin-top:.2rem;color:var(--color-text-muted);font-size:var(--text-xs)}.dashboard-list__time{flex:0 0 7.5rem;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.dashboard-list--tasks .ui-badge{flex:0 0 auto}.dashboard-progress{display:grid;gap:var(--space-5)}.dashboard-progress__overall{display:flex;align-items:center;gap:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.dashboard-progress__overall>div:last-child{min-width:0}.dashboard-progress__overall strong{font-size:var(--text-lg)}.dashboard-progress__overall p{margin:.35rem 0 0;font-size:var(--text-sm)}.dashboard-progress__row{display:grid;gap:var(--space-2)}.dashboard-progress__row>span{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.dashboard-actions{display:grid;gap:var(--space-2)}.dashboard-action{min-height:3.25rem;display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-primary);text-decoration:none;transition:transform var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.dashboard-action:hover{transform:translateY(-1px);background:var(--color-surface-interactive);box-shadow:var(--shadow-subtle)}.dashboard-action>span{width:2rem;height:2rem;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--color-primary);background:var(--color-primary-subtle)}.dashboard-action strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.dashboard-error{display:grid;justify-items:start;gap:var(--space-3);padding:var(--space-8)}@media(max-width:1100px){.app-shell{grid-template-columns:5.25rem minmax(0,1fr)}.app-shell__sidebar{padding-inline:var(--space-3)}.app-shell__sidebar .app-nav__group>p,.app-shell__sidebar .app-nav a span,.app-shell__account-copy,.app-shell__logout,.app-shell__brand>span:last-child{display:none}.app-shell__brand{justify-content:center}.app-nav a{justify-content:center;padding-inline:.5rem}.app-shell__account{justify-content:center;padding:var(--space-2)}.app-shell__topbar-user span{display:none}.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-shell{display:block}.app-shell__sidebar{display:none}.app-shell__topbar{min-height:4rem;padding-inline:var(--content-padding)}.app-shell__mobile-menu{display:inline-flex}.app-shell__collapse,.app-shell__topbar-user,.app-shell__theme-toggle span{display:none}.app-shell__main{padding-block:var(--space-5) var(--space-8)}.app-shell__mobile-drawer{position:fixed;inset:0 auto 0 0;width:min(21rem,88vw);display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5);background:var(--color-surface);border-right:1px solid var(--color-border);box-shadow:var(--shadow-floating);transform:translate(-105%);transition:transform var(--duration-normal) var(--ease-standard);z-index:50}.app-shell__mobile-drawer.is-open{transform:translate(0)}.app-shell__mobile-drawer .app-nav{overflow:auto}.app-shell__mobile-header{display:flex;align-items:center;justify-content:space-between}.app-shell__mobile-account{margin-top:auto;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-elevated)}.app-shell__backdrop{position:fixed;inset:0;display:block;background:color-mix(in srgb,var(--color-text-primary) 35%,transparent);z-index:45}.dashboard-summary-grid,.dashboard-grid--primary,.dashboard-grid--secondary{grid-template-columns:1fr}.dashboard-welcome{min-height:auto}}@media(max-width:430px){.app-shell__actions{gap:var(--space-1)}.app-shell__actions>.ui-button--icon{width:2.25rem}.dashboard-page{gap:var(--space-4)}.dashboard-summary-grid{gap:var(--space-3)}.dashboard-summary-card{min-height:9.5rem;padding:var(--space-4)}.dashboard-list__item{align-items:start}.dashboard-list__time{flex-basis:6rem}.dashboard-progress__overall{align-items:start}}@media(prefers-reduced-motion:reduce){.app-shell__sidebar,.app-nav a,.app-shell__mobile-drawer,.dashboard-action{transition:none}.app-nav a:hover,.dashboard-action:hover{transform:none}}.academic-page{display:grid;gap:var(--space-6);min-width:0}.academic-page-header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-5)}.academic-page-header h1{margin:0 0 var(--space-2);font-size:clamp(var(--text-2xl),4vw,var(--text-4xl))}.academic-page-header>div:first-child>p:last-child{margin:0;max-width:48rem;color:var(--color-text-secondary)}.academic-page-header__action{flex:0 0 auto}.academic-eyebrow{margin:0 0 var(--space-2);color:var(--color-primary);font-size:.7rem;font-weight:var(--weight-bold);letter-spacing:.1em;text-transform:uppercase}.academic-feedback{margin:0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-surface-elevated)}.academic-inline-error,.academic-form__error{margin:0;color:var(--color-danger);font-size:var(--text-sm)}.academic-grid,.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.academic-card{min-width:0;padding:0;overflow:hidden}.academic-card__main,.module-card__main{width:100%;display:grid;gap:var(--space-3);padding:var(--space-5);text-align:left;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.academic-card__heading,.module-card__heading{display:flex;align-items:start;justify-content:space-between;gap:var(--space-3);min-width:0}.academic-card__heading{justify-content:start}.academic-card__heading h2,.module-card__heading h3{margin:0;font-size:var(--text-lg);overflow-wrap:anywhere}.academic-card__heading span:not(.academic-card__accent),.module-card__heading p{display:block;margin:.25rem 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.academic-card__accent{display:block;width:.25rem;min-height:2.8rem;flex:0 0 auto;border-radius:99px;background:var(--color-primary)}.academic-card__description{min-height:2.6rem;margin:0;color:var(--color-text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere}.academic-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs)}.academic-card__actions,.module-card__actions{display:flex;justify-content:flex-end;gap:var(--space-1);padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--color-border-subtle)}.academic-card__actions .ui-button,.module-card__actions .ui-button{min-height:2.25rem}.module-card{min-width:0;padding:0;overflow:hidden}.module-card__main{min-height:12rem}.module-card__main>p{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm);min-height:2.5rem}.academic-overview{display:grid;grid-template-columns:minmax(12rem,.4fr) minmax(0,1fr);align-items:center;gap:var(--space-6)}.academic-overview strong,.subject-hero strong,.module-hero strong{display:block;font-size:clamp(var(--text-3xl),5vw,var(--text-5xl));letter-spacing:-.04em}.academic-overview span,.subject-hero span,.module-hero span{display:block;margin-top:.25rem;color:var(--color-text-secondary);font-size:var(--text-sm)}.subject-hero,.module-hero{display:grid;gap:var(--space-6)}.subject-hero__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.academic-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.academic-stat-grid>div{display:grid;gap:.25rem;padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-elevated)}.academic-stat-grid strong{font-size:var(--text-xl)}.academic-stat-grid span{margin:0}.academic-section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.academic-section-heading h2{margin:0;font-size:var(--text-xl)}.academic-section-heading>span{color:var(--color-text-muted);font-size:var(--text-sm)}.academic-empty,.academic-error{display:grid;justify-items:start;gap:var(--space-4)}.academic-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm)}.academic-breadcrumbs a{color:var(--color-primary);font-weight:var(--weight-semibold)}.academic-modal__backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--color-text-primary) 42%,transparent);overflow:auto}.academic-modal{width:min(100%,34rem);max-height:min(90vh,46rem);overflow:auto;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-floating)}.academic-modal__header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.academic-modal__header h2{margin:0 0 var(--space-2);font-size:var(--text-xl)}.academic-modal__header p{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.academic-form{display:grid;gap:var(--space-4)}.academic-form__actions,.academic-confirm__actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2)}.academic-confirm{display:grid;gap:var(--space-4)}.topic-list-card{padding:var(--space-2)}.topic-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.topic-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.topic-item:hover{background:var(--color-surface-elevated);border-color:var(--color-border-subtle);transform:translateY(-1px)}.topic-item--completed strong{text-decoration:line-through;color:var(--color-text-secondary)}.topic-item__content{min-width:0}.topic-item__content strong{display:block;overflow-wrap:anywhere}.topic-item__content p{margin:.25rem 0 0;color:var(--color-text-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.topic-item__actions{display:flex;gap:var(--space-1)}@media(max-width:1100px){.academic-grid,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.academic-page{gap:var(--space-4)}.academic-page-header{align-items:start;flex-direction:column}.academic-page-header__action,.academic-page-header__action .ui-button{width:100%}.academic-grid,.module-grid,.academic-overview{grid-template-columns:1fr}.subject-hero__heading{align-items:start}.academic-stat-grid{grid-template-columns:1fr}.academic-modal{padding:var(--space-5)}.topic-item{grid-template-columns:auto minmax(0,1fr) auto}.topic-item>.ui-badge{grid-column:2;justify-self:start}.topic-item__actions{grid-column:3;grid-row:1 / span 2}}@media(max-width:430px){.academic-card__main,.module-card__main{padding:var(--space-4)}.academic-card__actions,.module-card__actions{padding-inline:var(--space-2)}.topic-item{gap:var(--space-2);padding:var(--space-2)}}@media(prefers-reduced-motion:reduce){.topic-item{transition:none}.topic-item:hover{transform:none}}.productivity-page{display:grid;gap:var(--space-6);min-width:0}.productivity-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.productivity-summary-card{min-height:8.75rem;display:grid;align-content:start;gap:.35rem}.productivity-summary-card>span{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.productivity-summary-card strong{font-size:var(--text-3xl);letter-spacing:-.03em}.productivity-summary-card small{color:var(--color-text-muted)}.study-timer-card{display:grid;gap:var(--space-5);overflow:hidden}.study-timer-card--compact{gap:var(--space-4)}.study-timer-card__heading{display:flex;align-items:start;justify-content:space-between;gap:var(--space-4)}.study-timer-card__heading h2{margin:0 0 var(--space-2);font-size:clamp(var(--text-xl),3vw,var(--text-2xl))}.study-timer-card__heading p:last-child{margin:0;color:var(--color-text-secondary)}.study-timer-card__icon{width:3rem;height:3rem;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-primary-subtle);color:var(--color-primary);box-shadow:var(--shadow-subtle)}.study-timer-card--active{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.study-timer-display{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-elevated);box-shadow:inset 0 1px color-mix(in srgb,var(--color-text-primary) 4%,transparent)}.study-timer-display>span:first-child{font-variant-numeric:tabular-nums;font-size:clamp(3rem,9vw,5.5rem);font-weight:var(--weight-extrabold);letter-spacing:-.055em;line-height:1}.study-timer-display__status{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em}.study-timer-card__duration{margin:0;text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm)}.study-timer-card__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.study-save-duration{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-elevated)}.study-save-duration span{color:var(--color-text-secondary);font-size:var(--text-sm)}.study-save-duration strong{font-variant-numeric:tabular-nums}.productivity-form,.productivity-target-picker{display:grid;gap:var(--space-4)}.productivity-form-label{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.productivity-two-column{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.productivity-inline-error{margin:0;color:var(--color-danger);font-size:var(--text-sm)}.productivity-muted{margin:0;color:var(--color-text-secondary)}.productivity-filter-row{display:grid;grid-template-columns:minmax(12rem,.45fr) minmax(12rem,.55fr);gap:var(--space-4);max-width:42rem}.productivity-list-header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.productivity-list-header h2{margin:0;font-size:var(--text-xl)}.productivity-list-header>span{color:var(--color-text-muted);font-size:var(--text-sm)}.productivity-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.study-history-item,.revision-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-elevated)}.study-history-item__main{min-width:0;display:flex;align-items:start;gap:var(--space-3)}.study-history-item__icon{width:2.25rem;height:2.25rem;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--color-primary);background:var(--color-primary-subtle)}.study-history-item strong,.revision-item strong{display:block;overflow-wrap:anywhere}.study-history-item small,.revision-item small{display:block;margin-top:.2rem;color:var(--color-text-muted);font-size:var(--text-xs)}.study-history-item p,.revision-item p{margin:.4rem 0 0;color:var(--color-text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere}.study-history-item__meta{display:flex;align-items:center;gap:var(--space-3);flex:0 0 auto}.study-history-item__meta>strong{font-variant-numeric:tabular-nums;white-space:nowrap}.revision-item>div:first-child{min-width:0}.productivity-empty{min-height:11rem;display:grid;align-content:center}.productivity-error{display:grid;justify-items:start;gap:var(--space-3)}.study-distribution{display:grid;gap:var(--space-4)}.study-distribution__row{display:grid;gap:var(--space-2)}.study-distribution__row>div{display:flex;justify-content:space-between;gap:var(--space-4)}.study-distribution__row>div span{color:var(--color-text-secondary);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.stopwatch-principles ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.stopwatch-principles li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-3);align-items:start;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.stopwatch-principles li>svg{color:var(--color-primary);margin-top:.1rem}.stopwatch-principles li strong{display:block;margin-bottom:.15rem}.app-shell__active-study{min-width:0;display:inline-flex;align-items:center;gap:var(--space-2);padding:.35rem .6rem;border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border));border-radius:var(--radius-pill);color:var(--color-text-primary);background:var(--color-primary-subtle);text-decoration:none}.app-shell__active-study-dot{width:.45rem;height:.45rem;flex:0 0 auto;border-radius:50%;background:var(--color-primary)}.app-shell__active-study-copy{display:grid;gap:.05rem;min-width:0}.app-shell__active-study-copy strong{font-size:.72rem;line-height:1.1}.app-shell__active-study-copy span{color:var(--color-text-secondary);font-size:.68rem;font-variant-numeric:tabular-nums}@media(max-width:1100px){.productivity-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.productivity-page{gap:var(--space-4)}.productivity-summary-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.productivity-summary-card{min-height:8rem;padding:var(--space-4)}.productivity-filter-row,.productivity-two-column{grid-template-columns:1fr}.study-history-item,.revision-item{align-items:start}.study-history-item__meta{flex-direction:column;align-items:end;gap:var(--space-2)}.study-timer-card__heading{align-items:start}.app-shell__active-study-copy{display:none}.app-shell__active-study{padding:.5rem}}@media(max-width:430px){.productivity-summary-grid{grid-template-columns:1fr}.study-timer-display{padding-block:var(--space-5)}.study-timer-display>span:first-child{font-size:clamp(2.7rem,16vw,4rem)}.study-timer-card__actions{display:grid;grid-template-columns:1fr 1fr}.study-timer-card__actions .ui-button:last-child{grid-column:1 / -1}.study-history-item{padding:var(--space-3)}.study-history-item__main{gap:var(--space-2)}.study-history-item__meta>strong{font-size:var(--text-sm)}}@media(prefers-reduced-motion:reduce){.app-shell__active-study{transition:none}}
