:root{color-scheme:light dark;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--electric-50: #f0f8ff;--electric-100: #dbf0ff;--electric-200: #b3deff;--electric-300: #7ac6ff;--electric-400: #3dabff;--electric-500: #0091ff;--electric-600: #0079d6;--electric-700: #0265b1;--electric-800: #04508b;--electric-900: #063f6b;--silver-50: #f8fafc;--silver-100: #f1f5f9;--silver-200: #e2e8f0;--silver-300: #cbd5e1;--silver-400: #94a3b8;--silver-500: #64748b;--silver-600: #475569;--silver-700: #334155;--silver-800: #1e293b;--silver-900: #0f172a;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--space-0: 2px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--gutter: 1rem;--font-sans: system-ui, -apple-system, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-tight: 1.25;--line-height-normal: 1.4;--line-height-relaxed: 1.5;--letter-spacing-caps: .04em;--control-height-sm: 32px;--control-height-md: 40px;--control-height-lg: 48px;--icon-button-size: 36px;--touch-target: 44px;--motion-fast: .1s;--motion-base: .15s;--motion-slow: .25s;--motion-pulse: 1.4s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--transition: var(--motion-fast) var(--ease-standard);--z-sticky: 20;--z-popover: 40;--z-drawer: 60;--z-modal: 80;--z-toast: 90;--color-primary: light-dark( color-mix(in srgb, var(--blue-600), var(--blue-700)), var(--blue-400) );--color-on-primary: light-dark(#ffffff, var(--silver-900));--color-primary-hover: light-dark( color-mix(in srgb, var(--color-primary), black 14%), color-mix(in srgb, var(--color-primary), white 14%) );--color-primary-active: light-dark( color-mix(in srgb, var(--color-primary), black 26%), color-mix(in srgb, var(--color-primary), white 26%) );--color-primary-tint: light-dark( color-mix(in srgb, var(--color-primary) 10%, transparent), color-mix(in srgb, var(--color-primary) 12%, transparent) );--color-focus-ring: color-mix(in srgb, var(--color-primary) 35%, transparent);--color-bg: light-dark(var(--silver-50), #121212);--color-surface: light-dark(#ffffff, #1e1e1e);--color-surface-raised: light-dark(#ffffff, #262626);--color-surface-2: light-dark(var(--silver-100), #262b36);--color-border: light-dark(var(--silver-200), #333a45);--color-border-strong: light-dark( color-mix(in srgb, var(--silver-500) 85%, white), color-mix(in srgb, var(--silver-500) 75%, var(--silver-400)) );--color-text: light-dark(var(--silver-900), var(--silver-200));--color-text-muted: light-dark( color-mix(in srgb, var(--silver-500), var(--silver-600)), color-mix(in srgb, var(--silver-400) 60%, var(--silver-300)) );--state-hover: color-mix(in srgb, var(--color-text) 8%, transparent);--state-pressed: color-mix(in srgb, var(--color-text) 12%, transparent);--color-surface-2-hover: color-mix(in srgb, var(--color-surface-2), var(--color-text) 8%);--color-error: light-dark(#c0392b, #f87171);--color-error-bg: light-dark(#fdecea, #3f1d1a);--color-error-border: light-dark(#f3c2bc, #5c2b26);--color-danger: var(--color-error);--color-danger-bg: var(--color-error-bg);--color-danger-border: var(--color-error-border);--color-on-danger: light-dark(#ffffff, var(--silver-900));--color-danger-hover: light-dark( color-mix(in srgb, var(--color-danger), black 14%), color-mix(in srgb, var(--color-danger), white 14%) );--color-danger-active: light-dark( color-mix(in srgb, var(--color-danger), black 26%), color-mix(in srgb, var(--color-danger), white 26%) );--color-accent: light-dark(var(--electric-700), var(--electric-400));--color-accent-hover: light-dark(var(--electric-800), var(--electric-300));--color-accent-active: light-dark(var(--electric-900), var(--electric-200));--color-on-accent: light-dark(#ffffff, var(--silver-900));--color-accent-tint: light-dark(rgba(0, 145, 255, .12), rgba(61, 171, 255, .18));--color-success: light-dark(#166534, #86efac);--color-success-bg: light-dark(#ecfdf5, #123326);--color-success-border: light-dark(#bbf7d0, #256b4d);--color-warning: light-dark(#b45309, #fbbf24);--color-warning-text: var(--color-warning);--color-warning-bg: light-dark(#fffbeb, #3f2d0f);--color-warning-border: light-dark(#fde68a, #78530f);--color-sync-dirty: var(--color-warning);--color-sync-dirty-bg: var(--color-warning-bg);--color-sync-dirty-border: var(--color-warning-border);--color-sync-pending: var(--color-accent);--color-sync-pending-bg: var(--color-accent-tint);--color-sync-pending-border: var(--color-accent);--color-sync-done: var(--color-success);--color-sync-done-bg: var(--color-success-bg);--color-sync-done-border: var(--color-success-border);--color-progress-track: light-dark(#ffffff, var(--color-surface-2));--color-progress-track-border: var(--color-border);--color-progress-fill: var(--color-accent);--color-progress-warn: light-dark(#eab308, #fbbf24);--color-progress-critical: var(--color-error);--color-progress-text: var(--color-text);--color-progress-overdue-track: var(--color-error-bg);--color-progress-overdue-track-border: var(--color-error);--color-progress-overdue-fill: light-dark(#a93226, #ef4444);--color-scrim: rgba(15, 23, 42, .35);--radius-control: var(--radius-md);--radius-surface: var(--radius-lg);--radius-popover: var(--radius-lg);--radius-sheet: var(--radius-xl);--shadow-resting: 0 1px 2px light-dark(rgba(15, 23, 42, .08), rgba(0, 0, 0, .45)), 0 1px 1px light-dark(rgba(15, 23, 42, .04), rgba(0, 0, 0, .3));--shadow-raised: 0 2px 8px light-dark(rgba(15, 23, 42, .1), rgba(0, 0, 0, .5)), 0 1px 2px light-dark(rgba(15, 23, 42, .06), rgba(0, 0, 0, .35));--shadow-overlay: 0 4px 14px light-dark(rgba(15, 23, 42, .1), rgba(0, 0, 0, .55));--shadow-sm: var(--shadow-resting);--shadow-md: var(--shadow-overlay);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--focus-outline-offset: 2px}@media(min-width:761px){:root{--gutter: 2rem;--icon-button-size: 40px}}@media(prefers-reduced-motion:reduce){:root{--motion-fast: 0ms;--motion-base: 0ms;--motion-slow: 0ms;--motion-pulse: 0ms;--transition: 0ms linear}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}body{margin:0;font-family:var(--font-sans);padding:var(--gutter);background:var(--color-bg);color:var(--color-text)}main{display:flex;flex-direction:column;gap:var(--space-5);max-width:720px;margin-inline:auto}main.wide{max-width:none}:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.label-caps,.eyebrow{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-muted)}.eyebrow{margin:0 0 var(--space-1)}.focus-ring:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.radius-control{border-radius:var(--radius-control)}.radius-surface{border-radius:var(--radius-surface)}.radius-popover{border-radius:var(--radius-popover)}.radius-sheet{border-radius:var(--radius-sheet)}.radius-pill{border-radius:var(--radius-pill)}.elevation-resting{box-shadow:var(--shadow-resting)}.elevation-raised{box-shadow:var(--shadow-raised)}.elevation-overlay{box-shadow:var(--shadow-overlay)}code{background:var(--color-surface-2);padding:.1rem .35rem;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);box-sizing:border-box;min-height:var(--control-height-md);font:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);padding:var(--space-1) var(--space-4);border-radius:var(--radius-control);background:var(--color-surface-2);border:1px solid var(--color-border-strong);color:var(--color-text);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition),color var(--transition)}.btn:hover:not(:disabled){background:var(--color-surface-2-hover)}.btn:active:not(:disabled){background:color-mix(in srgb,var(--color-surface-2),var(--color-text) 14%)}.btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-primary,.btn-contained{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled),.btn-contained:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled),.btn-contained:active:not(:disabled){background:var(--color-primary-active);border-color:var(--color-primary-active)}.btn-danger,.btn-contained-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-on-danger)}.btn-danger:hover:not(:disabled),.btn-contained-danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.btn-danger:active:not(:disabled),.btn-contained-danger:active:not(:disabled){background:var(--color-danger-active);border-color:var(--color-danger-active)}.btn-secondary{background:var(--color-surface-2);border-color:var(--color-border-strong);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-2-hover)}.btn-secondary:active:not(:disabled){background:color-mix(in srgb,var(--color-surface-2),var(--color-text) 14%)}.btn-outline,.btn-outlined{background:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-outline:hover:not(:disabled),.btn-outlined:hover:not(:disabled){background:var(--color-primary-tint)}.btn-outline:active:not(:disabled),.btn-outlined:active:not(:disabled){background:color-mix(in srgb,var(--color-primary) 20%,transparent)}.btn-outline-danger{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}.btn-outline-danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn-outline-danger:active:not(:disabled){background:color-mix(in srgb,var(--color-danger) 20%,transparent)}.btn-text{background:transparent;border-color:transparent;color:var(--color-primary)}.btn-text:hover:not(:disabled){background:var(--color-primary-tint)}.btn-text:active:not(:disabled){background:color-mix(in srgb,var(--color-primary) 20%,transparent)}.btn-sm{min-height:var(--control-height-sm);padding:var(--space-0) var(--space-3);font-size:var(--font-size-sm)}.btn-lg{min-height:var(--control-height-lg);padding:var(--space-2) var(--space-5);font-size:var(--font-size-md)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--icon-button-size);min-height:var(--icon-button-size);background:transparent;border:none;border-radius:var(--radius-control);padding:var(--space-1);line-height:1;cursor:pointer;color:var(--color-text-muted);transition:background-color var(--transition),color var(--transition)}.icon-btn:hover:not(:disabled){background:var(--state-hover);color:var(--color-text)}.icon-btn:active:not(:disabled){background:var(--state-pressed)}.icon-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn-danger:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}.link-button{background:none;border:none;padding:0;color:var(--color-primary);text-decoration:underline;cursor:pointer;font:inherit}.link-button:hover{color:var(--color-primary-hover)}.form-label{display:block;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-bottom:var(--space-1);color:var(--color-text)}.form-control,.form-control-sm,.input,.select,.textarea{display:block;width:100%;box-sizing:border-box;min-height:var(--control-height-md);font:inherit;font-size:var(--font-size-base);line-height:var(--line-height-normal);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}.form-control::placeholder,.input::placeholder,.textarea::placeholder{color:var(--color-text-muted);opacity:1}.form-control:hover:not(:disabled),.form-control-sm:hover:not(:disabled),.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:var(--color-text-muted)}.form-control:focus,.form-control-sm:focus,.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.form-control:focus-visible,.form-control-sm:focus-visible,.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid transparent;outline-offset:var(--focus-outline-offset)}.form-control:disabled,.form-control-sm:disabled,.input:disabled,.select:disabled,.textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-2)}.form-control[aria-invalid=true],.form-control.is-invalid,.input[aria-invalid=true],.input.is-invalid,.select[aria-invalid=true],.select.is-invalid,.textarea[aria-invalid=true],.textarea.is-invalid{border-color:var(--color-danger)}.form-control-sm{display:inline-block;width:auto;min-height:var(--control-height-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}textarea.form-control,.textarea{min-height:calc(var(--control-height-md) * 2);resize:vertical}select.form-control:not([multiple]),select.form-control-sm:not([multiple]),.select:not([multiple]){-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:calc(var(--space-3) + var(--space-5));background-color:var(--color-surface);background-image:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%);background-position:calc(100% - var(--space-4) - 3px) 50%,calc(100% - var(--space-4)) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;cursor:pointer}select.form-control:disabled:not([multiple]),select.form-control-sm:disabled:not([multiple]),.select:disabled:not([multiple]){background-color:var(--color-surface-2)}select option{background:var(--color-surface);color:var(--color-text)}input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week]{color-scheme:light dark;color:var(--color-text)}input[type=date]:not(.form-control):not(.form-control-sm):not(.input),input[type=time]:not(.form-control):not(.form-control-sm):not(.input),input[type=datetime-local]:not(.form-control):not(.form-control-sm):not(.input),input[type=month]:not(.form-control):not(.form-control-sm):not(.input),input[type=week]:not(.form-control):not(.form-control-sm):not(.input){border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);box-sizing:border-box}input[type=date]::-webkit-datetime-edit,input[type=time]::-webkit-datetime-edit,input[type=datetime-local]::-webkit-datetime-edit,input[type=month]::-webkit-datetime-edit,input[type=week]::-webkit-datetime-edit,input[type=date]::-webkit-datetime-edit-fields-wrapper,input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper{color:var(--color-text)}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary);inline-size:1.125em;block-size:1.125em;flex:none;vertical-align:middle;cursor:pointer}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}.form-inline{display:flex;align-items:flex-end;gap:var(--space-2);flex-wrap:wrap}.form-inline .form-control{width:auto;flex:1 1 220px}.chip,.tag{display:inline-flex;align-items:center;gap:var(--space-1);box-sizing:border-box;min-height:var(--control-height-sm);padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);transition:background-color var(--transition),border-color var(--transition),color var(--transition)}button.chip{cursor:pointer}button.chip:hover:not(:disabled){background:var(--color-surface-2-hover)}button.chip:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.chip--selected,.chip[aria-pressed=true],.chip[aria-selected=true]{background:var(--color-primary-tint);border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.tag{min-height:0;padding:var(--space-0) var(--space-3);margin:var(--space-0) var(--space-1) var(--space-0) 0;background:var(--color-primary-tint);color:var(--color-primary)}.tag-remove{background:none;border:none;padding:0;margin:0;cursor:pointer;font:inherit;line-height:1;color:inherit;opacity:.7}.tag-remove:hover{opacity:1;color:var(--color-danger)}.tag-remove:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset);opacity:1}.badge{display:inline-flex;align-items:center;background:var(--color-surface-2);color:var(--color-text-muted);border-radius:var(--radius-pill);padding:var(--space-0) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}@media(max-width:760px){.btn,.btn-sm,.btn-lg,.icon-btn,.form-control,.input,.select{min-height:var(--touch-target)}.icon-btn{min-width:var(--touch-target)}.form-control-sm{min-height:var(--touch-target);font-size:var(--font-size-md)}.link-button{display:inline-flex;align-items:center;min-height:var(--touch-target)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]):not([type=color]):not(.sheet-table input),select:not([multiple]):not(.sheet-table select){min-height:var(--touch-target)}label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target)}.form-control,.input,.select,.textarea{font-size:var(--font-size-md)}}.menu,.popover,.grid-options-popover,.suggestion-list{box-sizing:border-box;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-popover);box-shadow:var(--shadow-overlay);padding:var(--space-1)}.popover{position:absolute;z-index:var(--z-popover);min-width:12rem}.menu-item,.grid-options-item,.suggestion-list-item{display:flex;align-items:center;gap:var(--space-2);box-sizing:border-box;min-height:var(--control-height-sm);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text);transition:background-color var(--transition)}.menu-item:hover,.grid-options-item:hover,.suggestion-list-item:hover,.menu-item--active,.suggestion-list-item--active{background:var(--state-hover)}.menu-item:active,.grid-options-item:active{background:var(--state-pressed)}.menu-item:focus-visible,.grid-options-item:focus-visible,.suggestion-list-item:focus-visible{outline:var(--focus-outline);outline-offset:calc(var(--space-0) * -1)}.menu-item:disabled,.menu-item[aria-disabled=true]{opacity:.55;cursor:not-allowed}.menu-item[aria-checked=true],.menu-item[aria-selected=true],.menu-item--selected,.grid-options-submenu .grid-options-item[aria-checked=true]{background:var(--color-primary-tint);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.menu-item[aria-checked]:before,.grid-options-submenu .grid-options-item[aria-checked]:before{content:"";display:inline-block;inline-size:1em;flex:none}.menu-item[aria-checked=true]:before,.menu-item[aria-selected=true]:before,.menu-item--selected:before,.grid-options-submenu .grid-options-item[aria-checked=true]:before{content:"✓"}.menu-item--danger{color:var(--color-danger)}.menu-item--danger:hover{background:var(--color-danger-bg)}button.menu-item,button.grid-options-item{width:100%;border:none;background:transparent;font:inherit;font-weight:var(--font-weight-medium);text-align:left}button.menu-item:hover,button.grid-options-item:hover,button.menu-item--active{background:var(--state-hover)}button.menu-item[aria-checked=true],button.menu-item[aria-selected=true],button.menu-item--selected,.grid-options-submenu button.grid-options-item[aria-checked=true]{background:var(--color-primary-tint)}.menu-heading{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-muted)}.menu-separator{height:1px;margin:var(--space-1) 0;background:var(--color-border);border:0}@media(max-width:760px){.menu-item,.grid-options-item,.suggestion-list-item{min-height:var(--touch-target)}.grid-options-item>input[type=checkbox]{flex:none;width:var(--space-5);height:var(--space-5);margin:0}}.org-switcher{font:inherit;color:inherit;background-color:var(--color-surface);background-image:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%);background-position:calc(100% - var(--space-4) - 3px) 50%,calc(100% - var(--space-4)) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);field-sizing:content;width:auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--space-1) calc(var(--space-3) + var(--space-5)) var(--space-1) var(--space-3);margin:0;cursor:pointer;transition:background-color var(--transition),border-color var(--transition)}.org-switcher:hover{background-color:var(--color-surface-2);border-color:var(--color-text-muted)}.org-switcher:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}@media(max-width:760px){.org-switcher{min-height:var(--touch-target)}}.org-switcher option{background:var(--color-surface);color:var(--color-text)}.account-menu{display:flex;flex-direction:column;gap:var(--space-2)}.account-menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition)}.account-menu-item:hover{background:var(--color-surface-2);border-color:var(--color-primary);color:var(--color-primary)}.account-menu-item:active{background:var(--state-pressed)}.account-menu-item:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.account-menu-item-chevron{color:var(--color-text-muted)}.account-menu-item-danger{color:var(--color-error)}.account-menu-item-danger:hover{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.grid-options{position:relative;display:inline-flex}.grid-options>.icon-btn{position:relative;width:3rem;height:3rem;border-radius:var(--radius-control)}.grid-options>.icon-btn .user-badge-menu-indicator{position:static;transform:none;width:auto;height:auto;gap:3px;background:none;border:none}.grid-options>.icon-btn .user-badge-menu-indicator span{width:5px;height:5px}.grid-options-popover{position:absolute;right:0;top:calc(100% + var(--space-1));z-index:var(--z-popover);min-width:15rem;width:max-content;max-width:calc(100vw - var(--space-5))}.grid-options-item{white-space:nowrap}.grid-options-submenu-trigger:after{content:"▸";flex:none;color:var(--color-text-muted);transition:transform var(--transition)}.grid-options-submenu-trigger[aria-expanded=true]:after{transform:rotate(90deg)}.grid-options-submenu-value{margin-left:auto;color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.grid-options-submenu{display:flex;flex-direction:column;margin:var(--space-1) 0;padding:var(--space-1);background:var(--color-surface-2);border-radius:var(--radius-control)}.suggestion-anchor{position:relative;display:inline-block}.suggestion-list{position:absolute;left:0;top:calc(100% + var(--space-1));z-index:var(--z-popover);min-width:100%;max-height:12rem;overflow-y:auto;margin:0;list-style:none}.suggestion-list-item{white-space:nowrap}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-surface);box-shadow:var(--shadow-resting);padding:var(--space-5)}a.card,button.card,.card[role=button]{color:inherit;text-align:inherit;text-decoration:none;cursor:pointer;transition:box-shadow var(--transition),border-color var(--transition)}a.card:hover,button.card:hover,.card[role=button]:hover{box-shadow:var(--shadow-raised);border-color:var(--color-border-strong)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);font-size:var(--font-size-base);border:1px solid transparent}.alert-error{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error)}.alert-info{background:var(--color-accent-tint);border-color:var(--color-accent);color:var(--color-accent)}.alert-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.alert-warning,.unapplied-changes-banner{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.unapplied-changes-banner{position:sticky;top:0;z-index:var(--z-sticky);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-warning-border);border-radius:var(--radius-control);font-size:var(--font-size-base);box-shadow:var(--shadow-resting)}.unapplied-changes-banner .form-inline{margin:0}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-2);min-width:0}.app-header-brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.app-header-logo{display:block;max-height:var(--control-height-md);max-width:calc(var(--control-height-lg) * 3);width:auto;object-fit:contain}.app-header h1{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.app-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.app-nav{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-border);overflow-x:auto}.app-nav button{min-height:var(--control-height-md);padding:var(--space-2) var(--space-4);white-space:nowrap;font:inherit;font-weight:var(--font-weight-medium);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition),border-color var(--transition),background-color var(--transition)}.app-nav button:hover{color:var(--color-text);background:var(--state-hover)}.app-nav button:focus-visible{outline-offset:calc(var(--focus-outline-offset) * -1)}.app-nav button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold);background:var(--color-primary-tint)}.sidebar-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-nav button{display:block;width:100%;text-align:left;min-height:var(--control-height-md);padding:var(--space-2) var(--space-4);padding-left:calc(var(--space-4) - var(--space-1));font:inherit;font-weight:var(--font-weight-medium);border:none;border-left:var(--space-1) solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition),color var(--transition)}.sidebar-nav button:hover{background:var(--state-hover);color:var(--color-text)}.sidebar-nav button.active,.sidebar-nav button[aria-current=page]{background:var(--color-primary-tint);color:var(--color-primary);font-weight:var(--font-weight-semibold);border-left-color:var(--color-primary)}.sidebar-nav-group-heading{display:block;padding:var(--space-3) var(--space-4) var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-muted)}.sidebar-nav-item--grouped button{padding-left:calc(var(--space-6) + var(--space-3))}.sidebar-nav-dot{display:inline-block;flex:none;width:var(--space-2);height:var(--space-2);margin-right:var(--space-2);border-radius:var(--radius-pill);vertical-align:baseline}.sidebar-nav-dot--dirty{background:var(--color-sync-dirty)}.sidebar-nav-dot--pending{background:transparent;border:2px solid var(--color-sync-pending)}.sidebar-nav-dot--failed{background:var(--color-error);border-radius:var(--radius-xs)}.save-status{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-style:italic;color:var(--color-text-muted);transition:color var(--transition)}.save-status .btn{font-style:normal}.save-status-icon{flex:none;width:var(--font-size-base);height:var(--font-size-base)}.save-status--dirty{color:var(--color-sync-dirty)}.save-status--pending{color:var(--color-sync-pending)}.save-status--failed{color:var(--color-error)}.save-status--confirmed{color:var(--color-sync-done)}@media(prefers-reduced-motion:no-preference){.save-status--saving .save-status-icon{animation:save-status-pulse var(--motion-pulse) ease-in-out infinite}}@keyframes save-status-pulse{0%,to{opacity:1}50%{opacity:.35}}.load-status{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-style:italic;color:var(--color-text-muted);transition:color var(--transition)}.load-status-icon{flex:none;width:var(--font-size-base);height:var(--font-size-base)}.load-status--loaded{color:var(--color-sync-done)}.load-status--error{color:var(--color-error)}@media(prefers-reduced-motion:no-preference){.load-status--loading .load-status-icon,.load-status--refreshing .load-status-icon{animation:save-status-pulse var(--motion-pulse) ease-in-out infinite}}main.auth-page{width:100%;max-width:24rem;min-height:70vh;justify-content:center;align-items:stretch}.auth-page h1{margin:0;text-align:center;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.auth-page .card{padding:var(--space-6);box-shadow:var(--shadow-raised)}.auth-page form{display:flex;flex-direction:column;gap:var(--space-3)}.auth-page .btn{width:100%;justify-content:center}.user-badge{position:relative;display:inline-flex;align-items:center;max-width:min(18rem,45vw);min-height:var(--control-height-md);padding:var(--space-1) calc(var(--space-6) + var(--space-2)) var(--space-1) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-resting);cursor:pointer;font:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:border-color var(--transition),color var(--transition),box-shadow var(--transition)}.user-badge-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-badge-menu-indicator{position:absolute;top:50%;right:var(--space-2);transform:translateY(-50%);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:var(--space-5);height:var(--space-5);border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-border)}.user-badge-menu-indicator span{width:3px;height:3px;border-radius:var(--radius-pill);background:var(--color-text-muted)}.user-badge:hover{border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-raised)}.user-badge:hover .user-badge-menu-indicator{border-color:var(--color-primary)}.user-badge:hover .user-badge-menu-indicator span{background:var(--color-primary)}.user-badge:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.account-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-drawer) + 10);display:flex;justify-content:flex-end;background:var(--color-scrim)}.account-panel{width:min(28rem,100vw);height:100%;overflow-y:auto;box-sizing:border-box;padding:var(--space-5);background:var(--color-surface);border-left:1px solid var(--color-border);border-radius:var(--radius-sheet) 0 0 var(--radius-sheet);box-shadow:var(--shadow-overlay);animation:account-slide-in-right var(--motion-slow) var(--ease-standard)}.account-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.account-panel-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.account-email{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.account-form{display:flex;flex-direction:column;gap:var(--space-3)}.account-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.account-subpage-back{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);min-height:var(--control-height-sm);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border:none;background:transparent;color:var(--color-text-muted);font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition),color var(--transition)}.account-subpage-back:hover{background:var(--color-surface-2);color:var(--color-text)}.account-subpage-title{margin:0 0 var(--space-4);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}@keyframes account-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:var(--color-scrim)}.modal-panel{width:min(32rem,calc(100vw - 2 * var(--gutter)));max-height:calc(100dvh - 2 * var(--gutter));overflow-y:auto;box-sizing:border-box;padding:var(--space-5);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sheet);box-shadow:var(--shadow-overlay);animation:modal-fade-in var(--motion-base) var(--ease-standard)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media(max-width:760px){.app-header{flex-wrap:wrap;align-items:flex-start;gap:var(--space-2)}.app-header-brand{flex:1 1 100%}.modal-header .icon-btn{min-width:var(--touch-target);min-height:var(--touch-target)}.app-header-actions{flex:1 1 100%;justify-content:flex-start}.user-badge,.app-nav button,.sidebar-nav button,.account-subpage-back{min-height:var(--touch-target)}.app-header h1{font-size:var(--font-size-xl)}.auth-page .card{padding:var(--space-5)}.modal-panel{padding:var(--space-4)}.account-panel{width:100vw;padding:var(--space-4);border-radius:0}.account-actions{align-items:stretch;flex-direction:column}.account-actions .btn{justify-content:center;width:100%}}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-border)}.table{border-collapse:collapse;width:100%}.table th{background:var(--color-surface-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--color-surface-2)}.table tbody tr{transition:background-color var(--transition)}.cell-empty-value{color:var(--color-text-muted);font-style:italic}.sync-review-badge{display:inline-flex;align-items:center;margin-top:var(--space-0);padding:var(--space-0) var(--space-2);border-radius:var(--radius-pill);background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);text-transform:uppercase;white-space:nowrap}.sheet-card-review{margin-bottom:var(--space-2)}.membership-list{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.membership-row{border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-2)}.membership-row-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.membership-add{display:flex;gap:var(--space-2);align-items:center}.sheet:focus-visible:focus{outline:var(--focus-outline);outline-offset:calc(-1 * var(--space-0))}.progress-bar-wrap{display:inline-flex;align-items:center;gap:var(--space-2);width:100%;min-width:0}.progress-bar{flex:1 1 auto;min-width:4rem;height:var(--space-2);background:var(--color-progress-track);border:1px solid var(--color-progress-track-border);border-radius:var(--radius-pill);overflow:hidden}.progress-bar-fill{display:block;height:100%;background:var(--color-progress-fill);transition:width var(--motion-base) var(--ease-standard)}.progress-bar-warn .progress-bar-fill{background:var(--color-progress-warn)}.progress-bar-critical .progress-bar-fill{background:var(--color-progress-critical)}.progress-bar-overdue{background:var(--color-progress-overdue-track);border-color:var(--color-progress-overdue-track-border)}.progress-bar-overdue .progress-bar-fill{background:var(--color-progress-overdue-fill)}.progress-bar-label{flex:0 0 auto;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-progress-text);white-space:nowrap}.progress-bar-urgency{color:var(--color-text-muted)}
