:root{color-scheme:light dark;--font-sans: system-ui, -apple-system, "Segoe UI", sans-serif;--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;--color-primary: light-dark(var(--blue-600), var(--blue-500));--color-primary-hover: light-dark(var(--blue-700), var(--blue-400));--color-primary-active: light-dark(var(--blue-800), var(--blue-300));--color-on-primary: #ffffff;--color-primary-tint: light-dark(rgba(37, 99, 235, .1), rgba(59, 130, 246, .18));--color-bg: light-dark(var(--silver-50), #121212);--color-surface: light-dark(#ffffff, #1e1e1e);--color-surface-2: light-dark(var(--silver-100), #262b36);--color-border: light-dark(var(--silver-200), #333a45);--color-text: light-dark(var(--silver-900), var(--silver-200));--color-text-muted: light-dark(var(--silver-500), var(--silver-400));--color-error: light-dark(#c0392b, #f87171);--color-error-bg: light-dark(#fdecea, #3f1d1a);--color-error-border: light-dark(#f3c2bc, #5c2b26);--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: #ffffff;--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-scrim: rgba(15, 23, 42, .35);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-sm: 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-md: 0 4px 14px light-dark(rgba(15, 23, 42, .1), rgba(0, 0, 0, .55));--focus-ring: 0 0 0 3px light-dark(rgba(37, 99, 235, .25), rgba(59, 130, 246, .35));--transition: .12s ease}body{margin:0;font-family:var(--font-sans);padding:2rem;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}.btn{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-weight:500;line-height:1.4;padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition),color var(--transition)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-active)}.btn-secondary{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:light-dark(var(--silver-200),#313847)}.btn-outline{background:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary-tint)}.btn-outline-danger{background:transparent;border-color:var(--color-error);color:var(--color-error)}.btn-outline-danger:hover:not(:disabled){background:var(--color-error-bg)}.btn-sm{padding:.3rem .65rem;font-size:.85em}.icon-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);padding:.3rem;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(--color-surface-2);color:var(--color-text)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn-danger:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error)}.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:600;font-size:.875rem;margin-bottom:var(--space-1);color:var(--color-text)}.form-control{display:block;width:100%;box-sizing:border-box;font:inherit;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.form-control-sm{display:inline-block;width:auto;padding:.35rem .6rem;font-size:.9em}.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}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:.9rem;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)}.badge{display:inline-flex;align-items:center;background:var(--color-surface-2);color:var(--color-text-muted);border-radius:var(--radius-pill);padding:.1rem .5rem;font-size:.72rem;font-weight:600;text-transform:uppercase}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.sync-review-badge{display:inline-flex;align-items:center;margin-top:.2rem;padding:.05rem .4rem;border-radius:var(--radius-pill);background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border);font-size:.66rem;font-weight:600;line-height:1.4;text-transform:uppercase;white-space:nowrap}.sheet-card-review{margin-bottom:.4rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--color-border)}code{background:var(--color-surface-2);padding:.1rem .35rem;border-radius:var(--radius-sm)}.table{border-collapse:collapse;width:100%}.table th{background:var(--color-surface-2);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;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)}.cell-empty-value{color:var(--color-text-muted);font-style:italic}.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-sm);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}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-2)}.app-header h1{margin:0;font-size:1.4rem}.org-switcher{font:inherit;color:inherit;background:transparent;border:none;padding:0;margin:0;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.eyebrow{color:var(--color-text-muted);font-size:.8rem;font-weight:700;text-transform:uppercase;margin:0 0 .15rem}.app-nav{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-border)}.app-nav button{padding:.65rem 1rem;font:inherit;font-weight:500;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition),border-color var(--transition)}.app-nav button:hover{color:var(--color-text)}.app-nav button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.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;padding:.65rem 1rem;font:inherit;font-weight:500;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition),color var(--transition)}.sidebar-nav button:hover{background:var(--color-surface-2);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:600}.sidebar-nav-group-heading{display:block;padding:.75rem 1rem .25rem;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.sidebar-nav-item--grouped button{padding-left:1.75rem}.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}.sidebar-nav-dot{display:inline-block;flex:none;width:.55rem;height:.55rem;margin-right:.5rem;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:2px}.save-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-style:italic;color:var(--color-text-muted);transition:color var(--transition)}.save-status .btn{font-style:normal}.save-status-icon{flex:none;width:.9rem;height:.9rem}.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 1.4s ease-in-out infinite}}@keyframes save-status-pulse{0%,to{opacity:1}50%{opacity:.35}}.auth-page{max-width:320px}.auth-page form{display:flex;flex-direction:column;gap:var(--space-2)}.auth-page .btn{width:100%;justify-content:center}.tag{display:inline-flex;align-items:center;gap:.25rem;background:var(--color-primary-tint);color:var(--color-primary);border-radius:var(--radius-pill);padding:.2rem .65rem;margin:.1rem .25rem .1rem 0;font-size:.85em;font-weight:500}.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-error)}.app-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.user-badge{position:relative;display:inline-flex;align-items:center;max-width:min(18rem,45vw);padding:.35rem 1.85rem .35rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;font-size:.9rem;font-weight:600}.user-badge-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-badge-menu-indicator{position:absolute;top:50%;right:.3rem;transform:translateY(-50%);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:1.15rem;height:1.15rem;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)}.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:none;box-shadow:var(--focus-ring)}.alert-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.account-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;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);box-shadow:var(--shadow-md);animation:account-slide-in-right .18s ease-out}.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:1.2rem}.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-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);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:600;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-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)}.account-subpage-back{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);padding:.3rem .6rem .3rem .3rem;border:none;background:transparent;color:var(--color-text-muted);font:inherit;font-weight:600;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:1.05rem}.grid-options{position:relative;display:inline-flex}.grid-options>.icon-btn{position:relative;width:3rem;height:3rem;border-radius:var(--radius-md)}.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% + .25rem);z-index:10;min-width:12rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2)}.grid-options-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;color:var(--color-text)}.grid-options-item:hover{background:var(--color-surface-2)}@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:80;display:flex;align-items:center;justify-content:center;background:var(--color-scrim)}.modal-panel{width:min(32rem,90vw);max-height:80vh;overflow-y:auto;box-sizing:border-box;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:modal-fade-in .15s ease-out}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.modal-header h2{margin:0;font-size:1.2rem}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media(max-width:760px){.account-panel{width:100vw;padding:var(--space-4)}.account-actions{align-items:stretch;flex-direction:column}.account-actions .btn{justify-content:center;width:100%}}
