: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%}}.app-header-sticky{position:sticky;top:0;z-index:20;margin:-2rem -2rem var(--space-5);padding:var(--space-4) 2rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.app-shell{display:grid;grid-template-columns:220px 1fr;gap:var(--space-5);align-items:start}.app-content{display:grid;grid-template-columns:1fr 360px;gap:var(--space-5);align-items:start}.app-main{min-width:0}.app-calendar-panel{min-width:0;position:sticky;top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.mini-slot-picker{width:100%}.mini-slot-empty{min-height:200px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--color-border);border-radius:var(--radius-md)}.mini-slot-toolbar{display:flex;align-items:center;gap:var(--space-2)}.mini-slot-toolbar .mini-slot-picker{flex:1}.mini-slot-remove{flex-shrink:0}.mini-list,.mini-board{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.mini-list h3,.mini-board h3{margin:0 0 var(--space-3);font-size:1.1rem}.mini-board h4{margin:var(--space-3) 0 var(--space-2);font-size:.85rem;color:var(--color-text-muted)}.mini-list-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.mini-list-items li{display:flex;flex-direction:column;gap:.1rem;padding:.35rem 0;border-bottom:1px solid var(--color-border)}.mini-list-items li:last-child{border-bottom:none}.mini-list-meta{font-size:.8rem;color:var(--color-text-muted)}.record-tree{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.record-tree h3{margin:0 0 var(--space-3);font-size:1.1rem}.record-tree-level{display:flex;flex-direction:column;gap:.2rem;padding:var(--space-2) 0;border-top:1px solid var(--color-border)}.record-tree-level:first-of-type{border-top:none;padding-top:0}.record-tree-node{padding:.3rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem}.record-tree-node:hover{background:var(--color-surface-2)}.record-tree-node.is-target{font-weight:700;border:1px solid var(--color-accent);background:var(--color-accent-tint)}.is-tree-highlighted{background:var(--color-accent-tint);box-shadow:inset 0 0 0 2px var(--color-accent)}.entity-tree{display:flex;flex-direction:column;gap:.15rem}.entity-tree-empty{color:var(--color-text-muted)}.entity-tree-node{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;border-radius:var(--radius-sm);cursor:pointer}.entity-tree-node:hover{background:var(--color-surface-2)}.entity-tree-toggle{border:none;background:none;cursor:pointer;color:var(--color-text-muted);font-size:.7rem;width:1.1rem;flex:none}.entity-tree-toggle-spacer{display:inline-block;width:1.1rem;flex:none}.entity-tree-node-name{font-size:.9rem;flex:1 1 auto}.entity-tree-edit{flex:none}.entity-tree-cycle{color:var(--color-error);font-style:italic}.breadcrumb-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem;margin-bottom:var(--space-4)}.breadcrumb-segment{display:inline-flex;align-items:center;gap:.2rem}.breadcrumb-sep{color:var(--color-text-muted)}.breadcrumb-item{background:none;border:none;padding:.2rem .35rem;font:inherit;font-weight:600;color:var(--color-primary);cursor:pointer;border-radius:var(--radius-sm)}.breadcrumb-item:hover:not(:disabled){background:var(--color-surface-2)}.breadcrumb-item:disabled{color:var(--color-text);cursor:default}@media(max-width:1100px){.app-content{grid-template-columns:1fr}.app-calendar-panel{position:static}.record-detail-layout:has(>.editor-drawer){grid-template-columns:1fr}.editor-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}}.editor-drawer--mobile{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.page-title-row{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4)}.page-title-row h2{margin:0 auto 0 0}.view-toggle{display:inline-flex;align-items:center;padding:.15rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2)}.view-toggle button{min-width:5.5rem;padding:.35rem .65rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:.9rem;font-weight:600}.view-toggle button:hover{color:var(--color-text)}.view-toggle button.active,.view-toggle button[aria-pressed=true]{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.calendar-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-5);box-shadow:var(--shadow-sm)}.calendar-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.calendar-panel-header h2{margin:0;font-size:1.1rem}.calendar-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.calendar-controls strong{min-width:9.5rem;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.calendar-agenda{display:none}.calendar-weekday{background:var(--color-surface-2);color:var(--color-text-muted);font-size:.78rem;font-weight:700;padding:var(--space-2);text-transform:uppercase}.calendar-day{min-height:8rem;padding:var(--space-2);border-top:1px solid var(--color-border);border-right:1px solid var(--color-border);background:var(--color-surface);overflow:hidden}.calendar-day:nth-child(7n+7){border-right:none}.calendar-day.outside-month{background:color-mix(in srgb,var(--color-surface-2) 55%,transparent);color:var(--color-text-muted)}.calendar-day.today .calendar-day-number{background:var(--color-accent);color:var(--color-on-primary)}.calendar-day.drop-target{background:var(--color-accent-tint);box-shadow:inset 0 0 0 2px var(--color-accent)}.calendar-day-number{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:var(--radius-pill);font-weight:700;font-size:.85rem}.calendar-events{display:flex;flex-direction:column;gap:.3rem;margin-top:var(--space-2)}.calendar-empty{color:var(--color-text-muted);margin-block:0 1rem}.calendar-event{display:grid;gap:.05rem;padding:.35rem .45rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-2);font-size:.78rem;line-height:1.2;cursor:grab;-webkit-user-select:none;user-select:none;transition:opacity var(--transition),transform var(--transition),box-shadow var(--transition)}.calendar-event:active{cursor:grabbing}.calendar-event.dragging,.calendar-event.saving{opacity:.62}.calendar-event.dragging{transform:scale(.98)}.calendar-event.saving{box-shadow:var(--focus-ring)}.calendar-event span{color:var(--color-text-muted);font-size:.68rem;font-weight:700;text-transform:uppercase}.calendar-event strong,.calendar-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.deadline{border-left:3px solid var(--color-warning)}.calendar-event.completion{border-left:3px solid var(--color-success)}.calendar-event-name-row{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.calendar-event-name-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-edit{flex:none;padding:.1rem;font-size:.7rem}.entity-gantt-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.entity-gantt-header h2{margin:0;font-size:1.1rem}.entity-gantt-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.entity-gantt-empty{color:var(--color-text-muted)}.entity-gantt-days-header,.entity-gantt-row{display:grid;align-items:stretch;border-top:1px solid var(--color-border)}.entity-gantt-days-header{border-top:none;border-bottom:1px solid var(--color-border)}.entity-gantt-day-header{padding:var(--space-2);text-align:center;font-size:.72rem;color:var(--color-text-muted);border-left:1px solid var(--color-border)}.entity-gantt-day-header.today{color:var(--color-accent);font-weight:700}.entity-gantt-day-header.drop-target{background:var(--color-accent-tint)}.entity-gantt-row-label{display:block;width:100%;text-align:left;border:none;background:none;padding:var(--space-2);font-size:.85rem;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-gantt-row-track{display:grid;position:relative;min-height:2.4rem;border-left:1px solid var(--color-border)}.entity-gantt-bar{align-self:center;margin:.2rem;padding:.25rem .5rem;border-radius:var(--radius-sm);background:var(--color-primary-tint);border:1px solid var(--color-primary);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grab}.entity-gantt-bar:active{cursor:grabbing}.entity-gantt-bar.dragging{opacity:.62}.entity-gantt-unscheduled{margin-top:var(--space-4)}.entity-gantt-unscheduled h4{margin:0 0 var(--space-2);font-size:.9rem;color:var(--color-text-muted)}.entity-gantt-unscheduled ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.entity-gantt-unscheduled-item{display:block;width:100%;text-align:left;border:none;background:none;padding:.3rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem}.entity-gantt-unscheduled-item:hover{background:var(--color-surface-2)}.entity-gantt-mobile-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.entity-gantt-mobile-item{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.entity-gantt-mobile-range{font-size:.78rem;color:var(--color-text-muted)}.calendar-agenda-day{display:grid;gap:var(--space-2);padding-block:var(--space-3);border-top:1px solid var(--color-border)}.calendar-agenda-day:first-child{border-top:none;padding-top:0}.calendar-agenda-day h3{margin:0;color:var(--color-text-muted);font-size:.85rem;text-transform:uppercase}.calendar-agenda-events{display:grid;gap:var(--space-2)}.calendar-agenda-event{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2)}.calendar-agenda-event.deadline{border-left:3px solid var(--color-warning)}.calendar-agenda-event.completion{border-left:3px solid var(--color-success)}.calendar-agenda-event.saving{opacity:.72;box-shadow:var(--focus-ring)}.calendar-agenda-event-body{display:grid;gap:.12rem;min-width:0}.calendar-agenda-event-body span{color:var(--color-text-muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.calendar-agenda-event-body strong,.calendar-agenda-event-body small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-agenda-event-body small{color:var(--color-text-muted)}.calendar-agenda-date{display:grid;gap:.2rem}.calendar-agenda-date span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.calendar-agenda-date input{min-height:2.35rem;box-sizing:border-box;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.projects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-block:0 .75rem}.toolbar-save-row{display:flex;align-items:center;gap:.4rem}.card:has(>.sheet){padding-inline:0;padding-block-start:var(--space-3);overflow:hidden}.card:has(>.sheet)>.projects-toolbar{padding-inline:var(--space-5)}.card:has(>.sheet)>.sheet{margin-inline:0;border-inline:none;border-bottom:none}.sheet{overflow:auto;max-height:70vh;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-block:1rem}.sheet:focus{outline:none}.sheet-table{--row-control-width: 2.75rem;border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.92rem}.sheet-table th,.sheet-table td{border-right:1px solid color-mix(in srgb,var(--color-border) 60%,transparent);border-bottom:1px solid var(--color-border);padding:.5rem .65rem;white-space:nowrap;text-align:left;transition:background-color var(--transition);scroll-margin-left:calc(var(--row-control-width) * 2)}.sheet-table thead th{position:sticky;top:0;background:var(--color-surface-2);color:var(--color-text-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;border-right-color:var(--color-border);z-index:2}.sheet-table tbody tr:hover td{background:var(--color-surface-2)}.sheet-table tbody tr.row-pending-delete td{background:var(--color-error-bg);color:var(--color-error)}.sheet-table tbody tr.row-deleted td{background:var(--color-surface-2);color:var(--color-text-muted);font-style:italic}.sheet-table th.rowedit-header,.sheet-table td.rowedit{position:sticky;left:0;box-sizing:border-box;width:var(--row-control-width);min-width:var(--row-control-width);max-width:var(--row-control-width);padding-inline:.25rem;background:var(--color-surface-2);text-align:center;z-index:3}.sheet-table th.rownum-header,.sheet-table td.rownum{position:sticky;left:0;box-sizing:border-box;width:var(--row-control-width);min-width:var(--row-control-width);max-width:var(--row-control-width);padding-inline:.25rem;background:var(--color-surface-2);text-align:center;-webkit-user-select:none;user-select:none;z-index:3}.sheet-table th.rownum-header.has-rowedit,.sheet-table td.rownum.has-rowedit{left:var(--row-control-width)}.sheet-table td.rowedit,.sheet-table td.rownum{z-index:1}.sheet-table td.rowdelete{text-align:center}.sheet-table td.selected{outline:2px solid var(--color-accent);outline-offset:-2px}.sheet-table td input:not([type=checkbox]),.sheet-table td select,.sheet-table td textarea{width:100%;box-sizing:border-box;font:inherit;border:none;outline:none;background:transparent;padding:.35rem .5rem;margin:-.35rem -.5rem}.sheet-table td textarea{min-height:4.5em;resize:vertical}.sheet-table td.cell-longtext{max-width:22rem;overflow:hidden;text-overflow:ellipsis}.sheet-cards{display:flex;flex-direction:column;gap:var(--space-3);margin-block:1rem}.sheet-cards-empty{color:var(--color-text-muted)}.sheet-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-3);cursor:pointer}.sheet-card.row-pending-delete{background:var(--color-error-bg)}.sheet-card.row-deleted{background:var(--color-surface-2);color:var(--color-text-muted);font-style:italic}.sheet-card-fields{display:grid;gap:var(--space-2)}.sheet-card-field{display:grid;gap:.15rem}.sheet-card-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-muted)}.sheet-card-value{overflow-wrap:anywhere}.sheet-card-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}.entity-record-editor-field{display:grid;gap:var(--space-1)}.entity-record-editor-field-label{color:var(--color-text);font-weight:600}.multi-select-editor{display:flex;flex-direction:column;gap:.15rem;max-height:12rem;overflow-y:auto;padding:.2rem 0}.multi-select-option{display:flex;align-items:center;gap:.4rem;font-weight:400;cursor:pointer}.record-detail-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);align-items:start}.record-detail-layout:has(>.editor-drawer){grid-template-columns:minmax(0,1fr) minmax(360px,440px)}.editor-drawer{width:100%;min-width:0;max-width:none;overflow-y:auto;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-md);animation:fade-in .15s ease-out;position:sticky;top:var(--space-4)}.editor-drawer form{display:flex;flex-direction:column;gap:var(--space-5);min-height:100%;padding:var(--space-5);box-sizing:border-box}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.drawer-header h2{margin:0}.eyebrow{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:.76rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.project-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.project-editor-grid label{display:grid;gap:var(--space-1);color:var(--color-text);font-weight:600}.field-full{grid-column:1 / -1}.form-control{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:400;padding:.55rem .65rem}textarea.form-control{resize:vertical}.project-editor-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2)}.project-editor-meta div{min-width:0}.project-editor-meta dt{color:var(--color-text-muted);font-size:.78rem;font-weight:700}.project-editor-meta dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.drawer-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.project-combobox{position:relative;max-width:360px}.project-combobox-list{position:absolute;z-index:10;top:calc(100% + .25rem);left:0;right:0;margin:0;padding:.25rem;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:260px;overflow-y:auto}.project-combobox-list li{margin:0}.project-combobox-empty{padding:.5rem .65rem;color:var(--color-text-muted)}.project-combobox-list button{display:block;width:100%;text-align:left;padding:.5rem .65rem;font:inherit;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);cursor:pointer}.project-combobox-list button:hover,.project-combobox-list button.highlighted{background:var(--color-primary-tint);color:var(--color-primary)}.task-board{display:flex;align-items:flex-start;gap:var(--space-4);margin-block:var(--space-4);overflow-x:auto;padding-bottom:var(--space-2)}.phase-column{flex:0 0 280px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.phase-column-add{justify-content:center;align-items:flex-start;background:transparent;border-style:dashed}.board-column-switcher{overflow-x:auto;margin-block:var(--space-3)}.task-board--mobile{flex-direction:column}.task-board--mobile .phase-column{width:100%}.phase-column-header{display:flex;align-items:center;gap:.35rem}.phase-date-fields{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.phase-date-fields label{display:grid;gap:.2rem;color:var(--color-text-muted);font-size:.76rem;font-weight:700}.phase-date-fields input{width:100%;box-sizing:border-box;color:var(--color-text)}.phase-column-reorder{display:flex;gap:.1rem}.phase-column-title{flex:1;text-align:left;background:none;border:none;padding:.2rem .3rem;font:inherit;font-weight:600;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-column-title:hover{background:var(--color-surface)}.phase-column-title-input{flex:1}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);min-height:2rem}.task-list-empty{color:var(--color-text-muted);font-size:.85rem;padding:.5rem .25rem}.task-card{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem;box-shadow:var(--shadow-sm)}.task-card-handle{background:none;border:none;padding:.2rem;cursor:grab;color:var(--color-text-muted);touch-action:none}.task-card-body{flex:1;display:flex;flex-direction:column;gap:.3rem;min-width:0}.task-card-title{text-align:left;background:none;border:none;padding:.1rem .2rem;font:inherit;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);overflow-wrap:break-word}.task-card-title:hover{background:var(--color-surface-2)}.my-work-undated{margin-top:1rem}.my-work-undated-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.my-work-undated-list button{width:100%;text-align:left;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem .6rem;cursor:pointer;color:var(--color-text)}.my-work-undated-list button:hover{background:var(--color-surface-2)}.task-card-assignee{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--color-surface-2);color:var(--color-text);font-size:.65rem;font-weight:600;flex-shrink:0}.task-add-form{gap:.35rem}.add-task-btn{align-self:flex-start}.task-card-error{flex-basis:100%;margin:.35rem 0 0;font-size:.8rem}.notes-section{margin-top:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.notes-section h3{margin:0 0 var(--space-3);font-size:1rem}.notes-loading,.notes-empty{color:var(--color-text-muted);font-size:.9rem}.note-composer{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-bottom:var(--space-4)}.note-editor-toolbar{display:flex;gap:.15rem;padding:.3rem .4rem;border-bottom:1px solid var(--color-border)}.camera-capture{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.camera-capture-video,.camera-capture-preview{width:100%;max-width:100%;max-height:60vh;border-radius:var(--radius-md);background:#000}.camera-capture-actions{display:flex;gap:var(--space-2);justify-content:flex-end;width:100%}.camera-capture-fallback{cursor:pointer}.note-editor-content{min-height:4.5rem;padding:.6rem .75rem;outline:none;color:var(--color-text)}.note-editor-content p{margin:0 0 .5em}.note-editor-content p:last-child{margin-bottom:0}.note-editor-content ul,.note-editor-content ol{margin:0 0 .5em;padding-left:1.4em}.note-editor-content a{color:var(--color-primary)}.note-editor-readonly .note-editor-content{padding:0;min-height:0}.note-composer-actions{display:flex;justify-content:flex-end;padding:.4rem}.notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.note-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-3)}.note-card-header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--space-2)}.note-card-author{font-weight:600}.note-card-timestamp{color:var(--color-text-muted);font-size:.8rem}.note-card-edited-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}.note-card-history-btn{font-size:.85rem}.note-card-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.note-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.note-history-entry{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);padding:var(--space-3)}.note-history-entry-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.note-attachments{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.note-attachment{display:inline-flex;align-items:center;gap:.3rem}.note-attachment-image{display:block;max-width:200px;max-height:200px;object-fit:contain;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.note-attachment-file{display:inline-flex;align-items:center;padding:.35rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-primary);font-size:.85rem;font-family:inherit;cursor:pointer;text-decoration:none}.note-attachment-file:hover{text-decoration:underline}.pdf-viewer-modal{width:min(900px,92vw);height:min(85vh,1100px);max-width:none;display:flex;flex-direction:column;gap:var(--space-2)}.pdf-viewer-fallback-link{align-self:flex-end;font-size:.85rem;color:var(--color-primary)}.pdf-viewer-frame{flex:1;width:100%;border:none;border-radius:var(--radius-sm)}@media(max-width:760px){.pdf-viewer-modal{width:100vw;height:100vh;max-height:none;border-radius:0}}.attachment-picker{margin-top:var(--space-3)}.attachment-picker-input{font-size:.85rem}.attachment-chip-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.attachment-chip{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);font-size:.82rem}.attachment-chip-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14rem}.attachment-chip-size{color:var(--color-text-muted)}.attachment-chip-status{margin-left:auto;color:var(--color-text-muted)}.attachment-chip-error .attachment-chip-status{color:var(--color-error)}.attachment-chip-done .attachment-chip-status{color:var(--color-success)}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;justify-content:flex-end;background:var(--color-scrim)}.mobile-nav-panel{width:min(20rem,85vw);height:100%;overflow-y:auto;box-sizing:border-box;padding:var(--space-4);background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-md);animation:mobile-nav-slide-in .18s ease-out}.mobile-nav-panel-header{display:flex;justify-content:flex-end;margin-bottom:var(--space-3)}.mobile-nav-trigger{font-size:1.1rem}@keyframes mobile-nav-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.calendar-panel-header,.page-title-row{align-items:flex-start;flex-direction:column}.calendar-controls{justify-content:flex-start}.calendar-grid{display:none}.calendar-agenda{display:grid;gap:var(--space-3)}.calendar-agenda-event{grid-template-columns:1fr;align-items:stretch}.calendar-agenda-date input{width:100%}.projects-toolbar{align-items:stretch;flex-direction:column}.editor-drawer form{padding:var(--space-4)}.project-editor-grid,.project-editor-meta{grid-template-columns:1fr}.drawer-actions{flex-direction:column-reverse}.drawer-actions .btn{justify-content:center;width:100%}}.sync-status-banner{display:flex;align-items:center;gap:var(--space-2);margin:calc(var(--space-5) * -1) -2rem var(--space-5);padding:.25rem 2rem;font-size:.78rem;font-weight:600;border-bottom:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-muted)}.sync-status-banner-dot{width:.5rem;height:.5rem;border-radius:50%;background:currentColor;flex:none}.sync-status-banner--offline{background:var(--color-warning-bg);color:var(--color-warning-text);border-bottom-color:var(--color-warning-border)}.sync-status-banner--syncing{background:var(--color-accent-tint);color:var(--color-accent);border-bottom-color:var(--color-accent)}.sync-status-banner--synced{color:var(--color-text-muted)}
