:root{--font-ui:"Inter Tight", -apple-system, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--s-2:2px;--s-4:4px;--s-8:8px;--s-12:12px;--s-16:16px;--s-20:20px;--s-24:24px;--s-32:32px;--s-40:40px;--s-48:48px;--s-64:64px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-full:9999px;--t-fast:.12s;--t-base:.18s;--t-slow:.24s;--ease-in:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.4, 0, 1, 1);--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 8px 24px #0006}:root,[data-theme=dark]{--bg-base:#0a0a0b;--bg-surface:#111113;--bg-surface-2:#17171a;--bg-inset:#08080a;--border-subtle:#1e1e22;--border-default:#2a2a30;--border-strong:#3a3a42;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--text-disabled:#52525b;--action-primary-bg:#f4f4f5;--action-primary-fg:#0a0a0b;--action-primary-hover:#e4e4e7;--focus-ring:#6366f1;--danger:#ef4444;--st-not-started:#a1a1aa;--st-editing:#60a5fa;--st-submitted:#f5a623;--st-revisions:#fb923c;--st-approved:#4ade80;--st-overdue:#f87171;--shadow-md:0 8px 24px #0006;--overlay-bg:#141417d9;--overlay-border:#ffffff14}[data-theme=light]{--bg-base:#fafafa;--bg-surface:#fff;--bg-surface-2:#f4f4f5;--bg-inset:#f0f0f1;--border-subtle:#eaeaec;--border-default:#e2e2e5;--border-strong:#d1d1d6;--text-primary:#18181b;--text-secondary:#52525b;--text-tertiary:#8a8a93;--text-disabled:#a1a1aa;--action-primary-bg:#18181b;--action-primary-fg:#fff;--action-primary-hover:#27272a;--focus-ring:#4f46e5;--danger:#dc2626;--st-not-started:#71717a;--st-editing:#2563eb;--st-submitted:#b45309;--st-revisions:#c2410c;--st-approved:#15803d;--st-overdue:#dc2626;--shadow-md:0 8px 24px #0000001a;--overlay-bg:#ffffffd9;--overlay-border:#0000000f}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:22px}h1,h2,h3,h4,p{margin:0}a{color:inherit}.tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "cv01" 1}.page-title,.queue-title,.section-head,.signin-card-head h1,.empty-state h2{text-wrap:balance}.prose{text-wrap:pretty}.muted{color:var(--text-secondary)}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:500;line-height:14px}.page-title{letter-spacing:-.02em;color:var(--text-primary);font-size:28px;font-weight:600;line-height:34px}.section-head{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--s-12);font-size:11px;font-weight:600;line-height:14px}.prose{max-width:70ch;color:var(--text-secondary);line-height:24px}.helper{color:var(--text-tertiary);margin-top:var(--s-8);font-size:13px}.error{color:var(--danger);margin-top:var(--s-8);font-size:13px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dot-sep{color:var(--text-tertiary)}.surface{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);padding:var(--s-20)}.client-dot{border-radius:var(--r-full);flex-shrink:0;width:8px;height:8px;display:inline-block}.avatar{border-radius:var(--r-full);background:var(--bg-surface-2);border:1px solid var(--border-default);width:32px;height:32px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.avatar-sm{width:26px;height:26px;font-size:10px}button{font-family:inherit}.primary-button,.secondary-button,.ghost-button{justify-content:center;align-items:center;gap:var(--s-8);border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast) var(--ease-in), border-color var(--t-fast) var(--ease-in), transform var(--t-fast) var(--ease-in);padding:9px 14px;font-size:13px;font-weight:500;display:inline-flex}.primary-button{background:var(--action-primary-bg);color:var(--action-primary-fg);border:1px solid #0000}.primary-button:hover:not(:disabled){background:var(--action-primary-hover)}.primary-button:active:not(:disabled){transform:translateY(.5px)}.secondary-button{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default)}.secondary-button:hover:not(:disabled){background:var(--bg-surface-2);border-color:var(--border-strong)}.ghost-button{color:var(--text-secondary);border:1px solid var(--border-subtle);background:0 0}.ghost-button:hover:not(:disabled){background:var(--bg-surface-2);color:var(--text-primary)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.4;cursor:not-allowed}.icon-button{border-radius:var(--r-md);border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast) var(--ease-in), color var(--t-fast) var(--ease-in), border-color var(--t-fast) var(--ease-in);background:0 0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--bg-surface-2);color:var(--text-primary)}input,select,textarea{width:100%;color:var(--text-primary);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--r-sm);transition:border-color var(--t-fast) var(--ease-in);padding:9px 11px;font-family:inherit;font-size:14px}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}textarea{resize:vertical;min-height:64px;line-height:22px}:focus-visible{box-shadow:0 0 0 2px var(--bg-base), 0 0 0 4px var(--focus-ring);outline:none}.app-shell{min-height:100vh;display:flex}.sidebar-slot{flex:none}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border-subtle);width:240px;height:100vh;padding:var(--s-24) var(--s-16);gap:var(--s-24);transition:width var(--t-base) var(--ease-in);flex-direction:column;display:flex;position:sticky;top:0}.sidebar-collapsed{width:64px}.sidebar-head{justify-content:space-between;align-items:center;gap:var(--s-8);min-height:36px;display:flex}.logo{color:var(--text-primary);align-items:flex-end;gap:.2em;font-size:20px;line-height:1;display:inline-flex}.logo-words{letter-spacing:-.045em;flex-direction:column;font-weight:800;line-height:.82;display:flex}.logo-words span{display:block}.logo-arrow{flex-shrink:0;width:auto;height:.64em;margin-bottom:.05em}.logo-sidebar{font-size:19px}.logo-bar{font-size:17px}.logo-hero{font-size:42px}.sidebar-collapsed .logo-words{display:none}.sidebar-collapsed .logo{gap:0}.wordmark{align-items:center;gap:var(--s-8);text-decoration:none;display:inline-flex}.wordmark-mark{border-radius:var(--r-sm);background:var(--text-primary);flex-shrink:0;width:24px;height:24px}.wordmark-mark-lg{border-radius:var(--r-md);width:40px;height:40px}.wordmark-text{letter-spacing:-.02em;color:var(--text-primary);font-size:18px;font-weight:600;line-height:24px}.sidebar-nav{gap:var(--s-8);flex-direction:column;display:flex}.nav-item{align-items:center;gap:var(--s-12);border-radius:var(--r-md);color:var(--text-secondary);transition:background var(--t-fast) var(--ease-in), color var(--t-fast) var(--ease-in);padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover,.nav-item-active{background:var(--bg-surface-2);color:var(--text-primary)}.nav-item-active:before{content:"";border-radius:var(--r-full);background:var(--text-primary);width:2px;position:absolute;top:6px;bottom:6px;left:-16px}.nav-icon{flex-shrink:0}.sidebar-foot{gap:var(--s-12);flex-direction:column;margin-top:auto;display:flex}.editor-card{align-items:center;gap:var(--s-12);min-width:0;display:flex}.editor-card-text{flex-direction:column;min-width:0;display:flex}.editor-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.editor-tz{color:var(--text-tertiary);font-size:11px}.sidebar-foot-actions{gap:var(--s-8);display:flex}.theme-toggle{flex:1}.sidebar-collapsed .wordmark-text,.sidebar-collapsed .nav-label,.sidebar-collapsed .editor-card-text,.sidebar-collapsed .theme-toggle-label{display:none}.sidebar-collapsed .nav-item,.sidebar-collapsed .editor-card,.sidebar-collapsed .sidebar-foot-actions{justify-content:center}.sidebar-collapsed .sidebar-head{gap:var(--s-12);flex-direction:column}.sidebar-collapsed .sidebar-foot-actions{flex-direction:column}.content{flex:auto;min-width:0}.content-inner{max-width:1120px;padding:var(--s-32);gap:var(--s-24);flex-direction:column;margin:0 auto;display:flex}.mobile-bar,.mobile-close,.scrim{display:none}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--s-16);padding-bottom:var(--s-16);border-bottom:1px solid var(--border-subtle);display:flex}.page-header-text{gap:var(--s-4);flex-direction:column;display:flex}.page-header-actions{align-items:center;gap:var(--s-8);display:flex}.notif,.notif-trigger{position:relative}.notif-badge{border-radius:var(--r-full);background:var(--danger);color:#fff;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;display:inline-flex;position:absolute;top:-4px;right:-4px}.notif-menu{background:var(--overlay-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--overlay-border);border-radius:var(--r-lg);width:320px;max-width:84vw;box-shadow:var(--shadow-md);z-index:40;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notif-menu-head{padding:var(--s-12) var(--s-16);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);font-size:11px}.notif-empty{padding:var(--s-20) var(--s-16);color:var(--text-secondary);font-size:14px}.notif-list{padding:var(--s-4);max-height:360px;margin:0;list-style:none;overflow-y:auto}.notif-item{align-items:start;gap:var(--s-12);width:100%;padding:var(--s-12);border-radius:var(--r-md);text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:auto 1fr auto;display:grid}.notif-item:hover{background:var(--bg-surface-2)}.notif-kind{border-radius:var(--r-full);width:8px;height:8px;margin-top:5px}.notif-kind-assignment{background:var(--st-editing)}.notif-kind-revisions{background:var(--st-revisions)}.notif-kind-approval{background:var(--st-approved)}.notif-kind-digest{background:var(--focus-ring)}.notif-body{flex-direction:column;gap:2px;min-width:0;display:flex}.notif-title{color:var(--text-primary);font-size:13px;font-weight:500}.notif-sub{color:var(--text-secondary);font-size:12px}.notif-time{color:var(--text-tertiary);white-space:nowrap;font-size:11px}.pill{border-radius:var(--r-full);letter-spacing:.02em;color:var(--pill,var(--text-secondary));background:color-mix(in srgb, var(--pill,var(--text-secondary)) 14%, transparent);white-space:nowrap;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:500;line-height:14px;display:inline-flex}.pill-dot{border-radius:var(--r-full);background:currentColor;width:6px;height:6px}.status-not_started{--pill:var(--st-not-started)}.status-editing{--pill:var(--st-editing)}.status-submitted{--pill:var(--st-submitted)}.status-revisions_requested{--pill:var(--st-revisions)}.status-approved{--pill:var(--st-approved)}.urgency-overdue{color:var(--st-overdue)}.urgency-due_soon{color:var(--st-submitted)}.urgency-on_track{color:var(--text-tertiary)}.summary-strip{align-items:center;gap:var(--s-8);color:var(--text-secondary);font-size:13px;display:flex}.summary-strip .is-overdue{color:var(--st-overdue);font-weight:500}.filters{gap:var(--s-12);flex-direction:column;display:flex}.filter-group{align-items:center;gap:var(--s-12);flex-wrap:wrap;display:flex}.filter-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);flex-shrink:0;width:52px;font-size:11px}.chip-row{gap:var(--s-8);flex-wrap:wrap;display:flex}.chip{border-radius:var(--r-full);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast) var(--ease-in), color var(--t-fast) var(--ease-in), border-color var(--t-fast) var(--ease-in);align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.chip-active{background:var(--text-primary);color:var(--bg-base);border-color:var(--text-primary)}.queue-list{gap:var(--s-12);animation:list-fade var(--t-base) var(--ease-in);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.queue-card{gap:var(--s-8);padding:var(--s-20);border-radius:var(--r-md);background:var(--bg-surface);border:1px solid var(--border-default);color:inherit;transition:background var(--t-fast) var(--ease-in), border-color var(--t-fast) var(--ease-in), box-shadow var(--t-fast) var(--ease-in);flex-direction:column;text-decoration:none;display:flex}.queue-card:hover{background:var(--bg-surface-2);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.queue-card-top{justify-content:space-between;align-items:center;gap:var(--s-12);display:flex}.queue-client{align-items:center;gap:var(--s-8);color:var(--text-secondary);font-size:13px;font-weight:500;display:inline-flex}.due-label{font-size:13px;font-weight:500}.queue-title{letter-spacing:-.01em;color:var(--text-primary);font-size:18px;font-weight:600;line-height:24px}.queue-meta{align-items:center;gap:var(--s-8);letter-spacing:.02em;color:var(--text-tertiary);font-size:11px;display:flex}.queue-card-bottom{justify-content:space-between;align-items:center;gap:var(--s-12);margin-top:var(--s-4);display:flex}.open-affordance{color:var(--text-secondary);align-items:center;gap:4px;font-size:13px;font-weight:500;display:inline-flex}.queue-card:hover .open-affordance{color:var(--text-primary)}.queue-card-status{align-items:center;gap:var(--s-8);display:inline-flex}.notes-badge{border-radius:var(--r-full);color:var(--st-revisions);background:color-mix(in srgb, var(--st-revisions) 14%, transparent);padding:3px 8px;font-size:11px;font-weight:500}.empty-state{justify-content:center;align-items:center;gap:var(--s-16);min-height:320px;padding:var(--s-48) var(--s-24);text-align:center;border:1px dashed var(--border-default);border-radius:var(--r-lg);color:var(--text-tertiary);flex-direction:column;display:flex}.empty-state h2{margin-top:var(--s-4);color:var(--text-primary);font-size:18px;font-weight:600}.detail{gap:var(--s-24);flex-direction:column;display:flex}.detail-topbar{justify-content:space-between;align-items:center;display:flex}.back-link{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text-primary)}.detail-header{justify-content:space-between;align-items:flex-start;gap:var(--s-16);padding-bottom:var(--s-16);border-bottom:1px solid var(--border-subtle);display:flex}.detail-header-text{gap:var(--s-8);flex-direction:column;display:flex}.detail-client{align-items:center;gap:var(--s-8);color:var(--text-secondary);font-size:13px;font-weight:500;display:inline-flex}.detail-action{align-items:flex-end;gap:var(--s-4);flex-direction:column;display:flex}.detail-grid{gap:var(--s-24);grid-template-columns:2fr 1fr;align-items:start;display:grid}.detail-main,.detail-side{gap:var(--s-24);flex-direction:column;min-width:0;display:flex}.spec-grid{gap:var(--s-16);grid-template-columns:repeat(2,1fr);margin:0;display:grid}.spec-grid dt{letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--s-4);font-size:11px}.spec-grid dd{color:var(--text-primary);margin:0;font-size:14px}.asset-list,.comment-list{gap:var(--s-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.asset-row{justify-content:space-between;align-items:center;gap:var(--s-12);padding:var(--s-12);border-radius:var(--r-sm);background:var(--bg-inset);border:1px solid var(--border-subtle);color:var(--text-primary);transition:border-color var(--t-fast) var(--ease-in);font-size:14px;text-decoration:none;display:flex}.asset-row:hover{border-color:var(--border-strong)}.asset-row svg{color:var(--text-tertiary)}.comment{gap:var(--s-12);grid-template-columns:auto 1fr;display:grid}.comment-body{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.comment-meta{align-items:baseline;gap:var(--s-8);display:flex}.comment-author{color:var(--text-primary);font-size:13px;font-weight:500}.comment-time{color:var(--text-tertiary);font-size:11px}.comment-body p{color:var(--text-secondary);font-size:14px;line-height:22px}.compose{align-items:flex-end;gap:var(--s-12);margin-top:var(--s-16);flex-direction:column;display:flex}.compose textarea{width:100%}.delivery-current{color:var(--st-editing);margin-bottom:var(--s-12);align-items:center;gap:6px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.delivery-current:hover{text-decoration:underline}.detail-side .surface input,.detail-side .surface .secondary-button{margin-top:var(--s-8)}.revisions{gap:var(--s-8);flex-direction:column;display:flex}.revision{border:1px solid var(--border-subtle);border-radius:var(--r-sm);padding:var(--s-12);background:var(--bg-inset)}.revision>summary{cursor:pointer;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;list-style:none;display:flex}.revision>summary::-webkit-details-marker{display:none}.revision-state{border-radius:var(--r-full);padding:2px 8px;font-size:11px;font-weight:500}.revision-state.is-open{color:var(--st-revisions);background:color-mix(in srgb, var(--st-revisions) 14%, transparent)}.revision-state.is-resolved{color:var(--st-approved);background:color-mix(in srgb, var(--st-approved) 14%, transparent)}.revision-notes{margin:var(--s-12) 0 var(--s-8);padding-left:var(--s-20);color:var(--text-secondary);font-size:14px;line-height:22px}.revision-time{color:var(--text-tertiary);font-size:11px}.running-hours{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:var(--s-12);font-size:28px;font-weight:600;line-height:34px}.log-fields{gap:var(--s-12);margin-bottom:var(--s-12);grid-template-columns:1fr 1fr;display:grid}.log-fields label,.log-row label{color:var(--text-tertiary);flex-direction:column;gap:6px;font-size:12px;display:flex}.period-summary{gap:var(--s-4);flex-direction:column;display:flex}.period-total{letter-spacing:-.02em;color:var(--text-primary);font-size:40px;font-weight:600;line-height:44px}.log-row{gap:var(--s-12);grid-template-columns:2fr 1fr 1fr auto;align-items:end;display:grid}.log-row .primary-button{height:38px}.entries-table{border-collapse:collapse;width:100%;font-size:14px}.entries-table th,.entries-table td{padding:var(--s-12) var(--s-12);border-bottom:1px solid var(--border-subtle);text-align:left}.entries-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:500}.entries-table tbody tr:last-child td{border-bottom:none}.entries-table .num{text-align:right}.th-sort{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.th-sort:hover{color:var(--text-primary)}.history-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.history-list li{gap:var(--s-16);padding:var(--s-12) 0;border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr auto auto;font-size:14px;display:grid}.history-list li:last-child{border-bottom:none}.history-list li span:nth-child(2){color:var(--text-secondary);text-align:right;min-width:64px}.history-list li span:last-child{text-align:right;min-width:96px}.resource-groups{gap:var(--s-24);flex-direction:column;display:flex}.definition-rows{flex-direction:column;margin:0;display:flex}.definition-row{gap:var(--s-16);padding:var(--s-12) 0;border-bottom:1px solid var(--border-subtle);grid-template-columns:180px 1fr;display:grid}.definition-row:last-child{border-bottom:none}.definition-row dt{color:var(--text-primary);font-size:13px;font-weight:500}.definition-row dd{color:var(--text-secondary);margin:0;font-size:14px;line-height:22px}.signin-screen{justify-content:center;align-items:center;gap:var(--s-24);min-height:100vh;padding:var(--s-24);background:var(--bg-base);flex-direction:column;display:flex;position:relative}.signin-theme{top:var(--s-24);right:var(--s-24);width:36px;height:36px;padding:0;position:absolute}.signin-wordmark{align-items:center;gap:var(--s-12);flex-direction:column;display:flex}.signin-wordmark-text{letter-spacing:-.02em;color:var(--text-primary);font-size:24px;font-weight:600}.signin-card{gap:var(--s-20);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-lg);width:400px;max-width:100%;padding:var(--s-32);flex-direction:column;display:flex}.signin-card-head{gap:var(--s-4);flex-direction:column;display:flex}.signin-card-head h1{color:var(--text-primary);font-size:18px;font-weight:600}.signin-options{gap:var(--s-8);border:none;flex-direction:column;margin:0;padding:0;display:flex}.signin-option{align-items:center;gap:var(--s-12);padding:var(--s-12);border-radius:var(--r-md);border:1px solid var(--border-default);background:var(--bg-surface);cursor:pointer;transition:border-color var(--t-fast) var(--ease-in);display:flex}.signin-option:hover{border-color:var(--border-strong)}.signin-option-active{border-color:var(--text-primary);background:var(--bg-surface-2)}.signin-option input{width:auto;accent-color:var(--focus-ring)}.signin-option-text{flex-direction:column;display:flex}.signin-option-name{color:var(--text-primary);font-size:14px;font-weight:500}.signin-option-tz{color:var(--text-tertiary);font-size:11px}.signin-submit{width:100%}.signin-alt{text-align:center;font-size:13px}.signin-alt a{color:var(--text-primary);font-weight:500}.toast{bottom:var(--s-24);right:var(--s-24);background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-12) var(--s-16);color:var(--text-primary);box-shadow:var(--shadow-md);z-index:60;animation:toast-in var(--t-base) var(--ease-in);font-size:14px;position:fixed}.skeleton-line,.skeleton-box-lg{background:linear-gradient(100deg, var(--bg-surface-2) 30%, color-mix(in srgb, var(--text-tertiary) 22%, transparent) 50%, var(--bg-surface-2) 70%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.3s linear infinite shimmer}.skeleton-line{height:12px;margin-bottom:var(--s-12)}.skeleton-box-lg{min-height:220px}.w-40{width:40%}.w-55{width:55%}.w-70{width:70%}.queue-card-skeleton{pointer-events:none}.detail-skeleton,.hours-skeleton,.resources-skeleton{gap:var(--s-24);flex-direction:column;display:flex}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes list-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.detail-grid{grid-template-columns:1fr}.content-inner{padding:var(--s-24)}}@media (width<=900px){.sidebar{width:64px}.sidebar .wordmark-text,.sidebar .nav-label,.sidebar .editor-card-text,.sidebar .theme-toggle-label{display:none}.sidebar .nav-item,.sidebar .editor-card,.sidebar .sidebar-foot-actions{justify-content:center}.sidebar .sidebar-head{gap:var(--s-12);flex-direction:column}.sidebar .sidebar-foot-actions{flex-direction:column}.collapse-toggle{display:none}}@media (width<=768px){.mobile-bar{align-items:center;gap:var(--s-12);z-index:30;padding:var(--s-12) var(--s-16);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);display:flex;position:sticky;top:0}.app-shell{flex-direction:column}.sidebar-slot{z-index:50;transition:transform var(--t-base) var(--ease-in);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-shell.mobile-open .sidebar-slot{transform:translate(0)}.app-shell.mobile-open .scrim{z-index:45;background:#00000080;border:none;display:block;position:fixed;inset:0}.sidebar{width:260px}.sidebar .wordmark-text,.sidebar .nav-label,.sidebar .editor-card-text,.sidebar .theme-toggle-label{display:revert}.sidebar .nav-item,.sidebar .editor-card{justify-content:flex-start}.sidebar .sidebar-foot-actions,.sidebar .sidebar-head{flex-direction:row}.collapse-toggle{display:none}.mobile-close{top:var(--s-16);right:calc(-1 * (36px + var(--s-12)));background:var(--bg-surface);border:1px solid var(--border-subtle);display:inline-flex;position:absolute}.content-inner{padding:var(--s-16)}.page-title{font-size:24px;line-height:30px}.spec-grid,.log-fields,.log-row{grid-template-columns:1fr}.summary-strip{flex-wrap:wrap}.toast{left:var(--s-16);right:var(--s-16)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.role-badge{margin-left:var(--s-8);border-radius:var(--r-full);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border-default);color:var(--text-tertiary);align-items:center;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.role-owner{color:var(--st-approved);border-color:color-mix(in srgb, var(--st-approved) 45%, transparent);background:color-mix(in srgb, var(--st-approved) 12%, transparent)}.role-admin{color:var(--st-editing);border-color:color-mix(in srgb, var(--st-editing) 45%, transparent)}.field{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.signin-demo{border-top:1px solid var(--border-subtle);padding-top:var(--s-16);gap:var(--s-8);flex-direction:column;display:flex}.signin-demo-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px}.signin-demo-list{gap:var(--s-8);flex-wrap:wrap;display:flex}.viewas-banner{z-index:70;justify-content:center;align-items:center;gap:var(--s-12);padding:var(--s-8);color:var(--action-primary-fg);background:var(--st-editing);font-size:13px;display:flex;position:fixed;top:0;left:0;right:0}.viewas-exit{color:inherit;border-radius:var(--r-sm);cursor:pointer;background:#0000002e;border:1px solid #00000040;padding:2px 10px;font-size:12px;font-weight:600}.app-shell:has(.viewas-banner) .sidebar{height:calc(100vh - 36px);top:36px}.app-shell:has(.viewas-banner) .content-inner{padding-top:calc(var(--s-32) + 36px)}.metric-row{gap:var(--s-16);grid-template-columns:repeat(4,1fr);display:grid}.metric{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);padding:var(--s-20);gap:var(--s-4);flex-direction:column;display:flex}.metric-value{letter-spacing:-.02em;font-size:28px;font-weight:600;line-height:34px}.metric-value.is-overdue{color:var(--st-overdue)}.metric-label{color:var(--text-tertiary);font-size:12px}.team-project-list{margin:0;padding:0;list-style:none}.team-project-row{align-items:center;gap:var(--s-16);padding:var(--s-12) 0;border-bottom:1px solid var(--border-subtle);color:inherit;grid-template-columns:1fr auto auto auto;text-decoration:none;display:grid}.team-project-row:hover{background:var(--bg-surface-2)}.team-project-list li:last-child .team-project-row{border-bottom:none}.team-project-main{flex-direction:column;gap:2px;min-width:0;display:flex}.team-project-title{color:var(--text-primary);font-size:14px;font-weight:500}.team-project-editor{color:var(--text-secondary);font-size:13px}.view-as-btn,.owner-edit{font-size:12px}.people-table td{vertical-align:middle}.people-name{align-items:center;gap:var(--s-12);display:flex}.people-fullname{color:var(--text-primary);font-weight:500;display:block}.people-email{color:var(--text-tertiary);font-size:11px;display:block}.role-select{width:auto;padding:4px 8px;font-size:12px}.status-tag{border-radius:var(--r-full);text-transform:capitalize;border:1px solid var(--border-default);color:var(--text-secondary);padding:2px 8px;font-size:11px;font-weight:500}.status-tag-active{color:var(--st-approved);border-color:color-mix(in srgb, var(--st-approved) 40%, transparent)}.status-tag-invited{color:var(--st-submitted);border-color:color-mix(in srgb, var(--st-submitted) 40%, transparent)}.status-tag-disabled{color:var(--text-tertiary)}.invite-row{gap:var(--s-12);grid-template-columns:1.2fr 1.4fr .8fr auto;align-items:end;display:grid}.invite-row label{color:var(--text-tertiary);flex-direction:column;gap:6px;font-size:12px;display:flex}.profile-head{align-items:center;gap:var(--s-16);margin-bottom:var(--s-20);display:flex}.avatar-lg{width:56px;height:56px;font-size:18px}.profile-email{color:var(--text-tertiary);margin-top:var(--s-4);font-size:13px}.profile-fields{gap:var(--s-16);grid-template-columns:repeat(3,1fr);display:grid}.pref-group-label{color:var(--text-secondary);margin:var(--s-16) 0 var(--s-8);font-size:12px;font-weight:500}.pref-toggles{gap:var(--s-8);flex-wrap:wrap;display:flex}.toggle{border-radius:var(--r-full);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.toggle input{width:auto;accent-color:var(--focus-ring)}.toggle-on{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-surface-2)}.profile-save{margin-top:var(--s-20)}.notif-unread .notif-title{font-weight:600}.notif-viewall{border:none;border-top:1px solid var(--border-subtle);width:100%;color:var(--text-secondary);padding:var(--s-12);cursor:pointer;background:0 0;font-size:13px;font-weight:500}.notif-viewall:hover{background:var(--bg-surface-2);color:var(--text-primary)}.notif-center-list{margin:0;padding:0;list-style:none}.notif-row{align-items:center;gap:var(--s-12);width:100%;padding:var(--s-12);border-radius:var(--r-md);text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:auto 1fr auto;display:grid}.notif-row:hover{background:var(--bg-surface-2)}.notif-row.notif-unread{background:color-mix(in srgb, var(--st-editing) 7%, transparent)}.delivery-version{color:var(--text-secondary);margin-bottom:var(--s-8);font-size:13px}.delivery-composer,.reviewer-actions{gap:var(--s-8);margin-top:var(--s-12);flex-direction:column;display:flex}.version-list{gap:var(--s-12);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.version-row{border:1px solid var(--border-subtle);border-radius:var(--r-sm);padding:var(--s-12);background:var(--bg-inset)}.version-top{margin-bottom:var(--s-4);justify-content:space-between;align-items:center;display:flex}.version-tag{font-size:13px;font-weight:600}.delivery-outcome{border-radius:var(--r-full);padding:2px 8px;font-size:11px;font-weight:500}.outcome-pending{color:var(--st-submitted);background:color-mix(in srgb, var(--st-submitted) 14%, transparent)}.outcome-approved{color:var(--st-approved);background:color-mix(in srgb, var(--st-approved) 14%, transparent)}.outcome-changes_requested{color:var(--st-revisions);background:color-mix(in srgb, var(--st-revisions) 14%, transparent)}.version-note{color:var(--text-secondary);margin-bottom:var(--s-4);font-size:13px}.version-meta{color:var(--text-tertiary);font-size:11px}.owner-edit-actions{gap:var(--s-8);display:flex}.edit-title-input{letter-spacing:-.01em;font-size:22px;font-weight:600}.edit-brief{width:100%}.revision-callout{border-color:color-mix(in srgb, var(--st-revisions) 35%, var(--border-default))}.callout-head{justify-content:space-between;align-items:center;gap:var(--s-12);margin-bottom:var(--s-12);display:flex}.callout-head .section-head{color:var(--st-revisions);margin-bottom:0}.ai-chip,.ai-label{font-size:12px}.ai-chip{border-radius:var(--r-full);border:1px solid color-mix(in srgb, var(--focus-ring) 45%, transparent);background:color-mix(in srgb, var(--focus-ring) 12%, transparent);color:var(--text-primary);cursor:pointer;align-items:center;gap:5px;padding:4px 10px;font-weight:500;display:inline-flex}.ai-summary .ai-label,.ai-brief-output .ai-label{color:var(--focus-ring);margin-bottom:var(--s-8);font-weight:600}.ai-summary ul{padding-left:var(--s-20);color:var(--text-secondary);margin:0;font-size:14px;line-height:22px}.ai-disclaimer{align-items:center;gap:var(--s-12);color:var(--focus-ring);display:flex}.ai-disclaimer p{font-size:13px}.ai-brief-fields{gap:var(--s-12);grid-template-columns:1fr 1fr 1.4fr auto;align-items:end;display:grid}.ai-brief-fields label{color:var(--text-tertiary);flex-direction:column;gap:6px;font-size:12px;display:flex}.ai-brief-output{margin-top:var(--s-16)}.ai-messages{gap:var(--s-12);max-height:360px;padding:var(--s-4) 0 var(--s-16);flex-direction:column;display:flex;overflow-y:auto}.ai-hint{font-size:14px}.ai-bubble{max-width:80%;padding:var(--s-12) var(--s-16);border-radius:var(--r-md);font-size:14px;line-height:22px}.ai-bubble-user{background:var(--action-primary-bg);color:var(--action-primary-fg);align-self:flex-end}.ai-bubble-assistant{background:var(--bg-surface-2);border:1px solid var(--border-subtle);color:var(--text-primary);align-self:flex-start}.ai-thinking{color:var(--text-tertiary)}.ai-compose{gap:var(--s-8);border-top:1px solid var(--border-subtle);padding-top:var(--s-16);display:flex}@media (width<=768px){.metric-row{grid-template-columns:repeat(2,1fr)}.profile-fields,.invite-row,.ai-brief-fields{grid-template-columns:1fr}.team-project-row{grid-template-columns:1fr auto}.team-project-editor{display:none}}.overlay-scrim{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:flex-start;padding-top:14vh;display:flex;position:fixed;inset:0}.cmd-palette,.cmd-help{background:var(--overlay-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--overlay-border);border-radius:var(--r-lg);width:560px;max-width:92vw;box-shadow:var(--shadow-md);animation:overlay-in var(--t-base) var(--ease-in);overflow:hidden}.cmd-input-row{align-items:center;gap:var(--s-12);padding:var(--s-16);border-bottom:1px solid var(--border-subtle);color:var(--text-tertiary);display:flex}.cmd-input{color:var(--text-primary);background:0 0;border:none;padding:0;font-size:15px}.cmd-input:focus-visible{box-shadow:none}.cmd-list{padding:var(--s-8);max-height:50vh;margin:0;list-style:none;overflow-y:auto}.cmd-group{letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);padding:var(--s-8) var(--s-8) var(--s-4);font-size:11px}.cmd-item{align-items:center;gap:var(--s-12);width:100%;padding:var(--s-8) var(--s-12);border-radius:var(--r-md);text-align:left;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:14px;display:flex}.cmd-item-active{background:var(--bg-surface-2);color:var(--text-primary)}.cmd-empty{padding:var(--s-16);color:var(--text-tertiary);font-size:14px}.cmd-help-head{padding:var(--s-16);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);font-size:11px}.cmd-help-list{padding:var(--s-12) var(--s-16);gap:var(--s-12);flex-direction:column;margin:0;list-style:none;display:flex}.cmd-help-list li{align-items:center;gap:var(--s-8);color:var(--text-secondary);font-size:13px;display:flex}.cmd-help-list span{color:var(--text-tertiary);margin-left:auto}kbd{font-family:var(--font-mono);border-radius:var(--r-sm);border:1px solid var(--border-default);background:var(--bg-inset);color:var(--text-secondary);padding:2px 6px;font-size:11px}.detail-header .pill{animation:pill-cross-fade .12s var(--ease-in)}@keyframes overlay-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes pill-cross-fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-lg);width:560px;max-width:92vw;max-height:86vh;box-shadow:var(--shadow-md);animation:overlay-in var(--t-base) var(--ease-in);overflow-y:auto}.modal-head{padding:var(--s-16) var(--s-20);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.modal-head h2{font-size:18px;font-weight:600}.modal-body{gap:var(--s-16);padding:var(--s-20);flex-direction:column;display:flex}.modal-grid{gap:var(--s-16);grid-template-columns:1fr 1fr;display:grid}.modal-foot{justify-content:flex-end;gap:var(--s-8);padding:var(--s-16) var(--s-20);border-top:1px solid var(--border-subtle);display:flex}.field-head{justify-content:space-between;align-items:center;gap:var(--s-8);display:flex}.modal-sub{align-items:center;gap:var(--s-8);margin:calc(-1 * var(--s-4)) 0 var(--s-4);font-size:13px;display:flex}.view-tabs{background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:var(--r-md);gap:2px;padding:3px;display:inline-flex}.view-tab{color:var(--text-tertiary);cursor:pointer;transition:background var(--t-fast) var(--ease-in), color var(--t-fast) var(--ease-in);background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:500;display:inline-flex}.view-tab:hover{color:var(--text-secondary)}.view-tab-active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.cal-editor-pick{align-items:center;gap:var(--s-12);display:flex}.calendar{gap:var(--s-16);flex-direction:column;display:flex}.cal-header{justify-content:space-between;align-items:center;gap:var(--s-16);flex-wrap:wrap;display:flex}.cal-nav{align-items:center;gap:var(--s-8);display:flex}.cal-title{letter-spacing:-.01em;text-align:center;min-width:150px;font-size:18px;font-weight:600}.cal-today{padding:6px 12px;font-size:12px}.cal-payout{font-size:13px}.cal-payout .tabular{color:var(--text-primary);margin-left:4px;font-weight:500}.cal-grid-wrap{border:1px solid var(--border-default);border-radius:var(--r-lg);background:var(--bg-surface);overflow:hidden}.cal-weekdays{border-bottom:1px solid var(--border-subtle);grid-template-columns:repeat(7,1fr);display:grid}.cal-weekday{letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);padding:8px 10px;font-size:11px;font-weight:500}.cal-grid{grid-template-columns:repeat(7,1fr);display:grid}.cal-cell{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:4px;min-height:104px;padding:6px;display:flex}.cal-cell:nth-child(7n){border-right:none}.cal-grid>.cal-cell:nth-last-child(-n+7){border-bottom:none}.cal-cell-out{background:color-mix(in srgb, var(--bg-inset) 50%, transparent)}.cal-cell-out .cal-daynum{color:var(--text-disabled)}.cal-daynum{color:var(--text-tertiary);border-radius:var(--r-full);justify-content:center;align-self:flex-start;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:12px;display:inline-flex}.cal-cell-today .cal-daynum{color:var(--focus-ring);background:color-mix(in srgb, var(--focus-ring) 16%, transparent);font-weight:600}.cal-chips{flex-direction:column;gap:3px;min-width:0;display:flex}.cal-chip{border-radius:var(--r-sm);background:color-mix(in srgb, var(--chip-accent) 13%, transparent);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;transition:background var(--t-fast) var(--ease-in);border:none;border-left:2px solid #0000;align-items:center;gap:5px;padding:2px 7px;font-size:11px;font-weight:500;display:flex}.cal-chip:hover{background:color-mix(in srgb, var(--chip-accent) 22%, transparent)}.cal-chip-overdue{border-left-color:var(--st-overdue)}.cal-chip-due{border-left-color:var(--st-submitted)}.cal-chip-dot{border-radius:var(--r-full);background:var(--chip-accent);flex-shrink:0;width:6px;height:6px}.cal-chip-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-more{color:var(--text-tertiary);text-align:left;cursor:pointer;background:0 0;border:none;padding:1px 4px;font-size:11px;font-weight:500}.cal-more:hover{color:var(--text-primary)}.cal-scrim{z-index:70;cursor:default;background:#0006;border:none;position:fixed;inset:0}.cal-panel{z-index:80;background:var(--bg-surface);border-left:1px solid var(--border-default);width:360px;max-width:90vw;box-shadow:var(--shadow-md);animation:panel-in var(--t-base) var(--ease-in);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes panel-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.cal-panel-head{padding:var(--s-16) var(--s-20);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.cal-panel-head h3{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px}.cal-panel-body{gap:var(--s-12);padding:var(--s-20);flex-direction:column;display:flex;overflow-y:auto}.cal-panel-title{letter-spacing:-.01em;font-size:20px;font-weight:600}.cal-panel-meta{gap:var(--s-12);margin:var(--s-4) 0;flex-direction:column;display:flex}.cal-panel-meta div{flex-direction:column;gap:2px;display:flex}.cal-panel-meta dt{letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px}.cal-panel-meta dd{color:var(--text-primary);margin:0;font-size:14px}.cal-panel-brief{font-size:14px}.cal-panel-open{margin-top:var(--s-8);width:100%}.cal-chips-stack .cal-chip{padding:8px 10px;font-size:13px}.cal-agenda{gap:var(--s-8);flex-direction:column;display:flex}.cal-empty{padding:var(--s-24);text-align:center}.agenda-day{gap:var(--s-12);padding:var(--s-12) 0;border-bottom:1px solid var(--border-subtle);grid-template-columns:44px 1fr;display:grid}.agenda-date{flex-direction:column;align-items:center;gap:2px;display:flex}.agenda-date.is-today{color:var(--focus-ring)}.agenda-dow{text-transform:uppercase;color:var(--text-tertiary);font-size:11px}.agenda-num{font-size:18px;font-weight:600}.agenda-items{flex-direction:column;gap:4px;min-width:0;display:flex}.client-list{margin:0 0 var(--s-16);flex-direction:column;padding:0;list-style:none;display:flex}.client-row{justify-content:space-between;align-items:center;gap:var(--s-12);padding:var(--s-12) 0;border-bottom:1px solid var(--border-subtle);display:flex}.client-row:last-child{border-bottom:none}.client-row-name{align-items:center;gap:var(--s-8);color:var(--text-primary);font-size:14px;font-weight:500;display:flex}.client-row-count{color:var(--text-tertiary);font-size:12px;font-weight:400}.client-delete:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.client-confirm{align-items:center;gap:var(--s-8);display:flex}.client-confirm-text{color:var(--text-secondary);max-width:240px;font-size:12px}.client-add{gap:var(--s-8);display:flex}.pay-models{gap:var(--s-8);flex-wrap:wrap;display:flex}.pay-flat-grid{gap:var(--s-12);grid-template-columns:1fr 1fr;display:grid}.people-actions{gap:var(--s-8);justify-content:flex-end;align-items:center;display:flex}@media (width<=768px){.pay-flat-grid{grid-template-columns:1fr}}.danger-button{border-radius:var(--r-md);cursor:pointer;color:#fff;background:var(--danger);border:1px solid #0000;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;display:inline-flex}.danger-button:hover{filter:brightness(1.05)}.invite-link{align-items:center;gap:var(--s-8);margin-top:var(--s-12);display:flex}.invite-link-label{color:var(--text-tertiary);white-space:nowrap;font-size:12px}.invite-link input{font-family:var(--font-mono);font-size:12px}@media (width<=768px){.modal-grid{grid-template-columns:1fr}}
