*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit}:root{--color-bg: #F3F2EE;--color-bg-2: #e9e7e0;--color-surface: #ffffff;--color-surface-2: #f7f6f2;--color-surface-solid: #ffffff;--color-border: #e8e6e0;--color-text: #1a1410;--color-text-2: #3a342a;--color-text-muted: #6f6859;--color-primary: #1f2d4a;--color-primary-hover: #2a3d63;--color-primary-light: rgba(31,45,74,.1);--color-accent: #bf8b2e;--color-accent-light: rgba(191,139,46,.14);--color-ai-1: #7c5dba;--color-ai-2: #3b6fb6;--color-ai-3: #c9a14a;--color-warning: #c06f47;--color-warning-bg: rgba(192,111,71,.14);--color-warning-text: #8f4a2b;--color-danger: #c2453a;--color-danger-bg: rgba(194,69,58,.11);--color-success: #2f9468;--color-success-bg: rgba(47,148,104,.14);--color-info: #3f8ca0;--color-info-bg: rgba(63,140,160,.14);--color-under: #35619b;--color-vacant: #7c5dba;--color-vacant-bg: rgba(124,93,186,.13);--proposal-color: #7c5dba;--proposal-text: #4c3080;--proposal-bg-draft: rgba(124,93,186,.1);--proposal-bg: rgba(124,93,186,.18);--proposal-on: #ffffff;--sidebar-width: 200px;--sidebar-bg: #ffffff;--sidebar-text: #3a342a;--sidebar-text-active: #1a1410;--sidebar-active-bg: #ffffff;--sidebar-hover-bg: rgba(0,0,0,.04);--font-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Roboto Mono", "SF Mono", ui-monospace, Menlo, monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 26px;--text-3xl: 36px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--page-margin: 4%;--page-margin-grid: 2%;--page-min: 960px;--shadow-card: 0 1px 3px rgba(20,24,31,.06), 0 8px 24px -8px rgba(20,24,31,.08);--shadow-hover: 0 2px 6px rgba(20,24,31,.08), 0 20px 44px -16px rgba(20,24,31,.18);--row-alt-bg: rgba(31,45,74,.025);--color-zero: #b8b2a4;--color-val-under: #9a5330;--color-val-ok: #297a52;--color-val-over: #b03a2f;--color-group-bg: rgba(31,45,74,.04);--color-editable-hover: rgba(31,45,74,.07);--color-month-current-bg: rgba(31,45,74,.05);--glass-bg: #ffffff;--glass-border: #e8e6e0;--glass-blur: 0px;--color-text-inverse: #fff;--color-tooltip-bg: #1f2937;--color-tooltip-text: #f3f4f6;--radius-xs: 2px;--radius-xsm: 3px;--shadow-dropdown: 0 12px 32px -8px rgba(20,24,31,.18);--shadow-modal: 0 24px 60px -20px rgba(20,24,31,.3);--z-dropdown: 100;--z-popover: 200;--z-settings: 300;--z-modal: 400;--plan-color: #3b6fb6;--plan-bg: rgba(59,111,182,.1);--actual-color: var(--color-text);--actual-bg: rgba(31,45,74,.03);--budget-color: #6f6859;--budget-bg: rgba(111,104,89,.08);--color-border-strong: #cfc8b3;--color-text-faint: rgba(26,20,16,.38);--color-person-header-bg: rgba(31,45,74,.04);--color-chip-text: #2c4f8c;--plan-text-color: #2c4f8c;--bp-xs: 480px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--touch-target: 44px;--control-h: 32px;--control-h-inner: 26px;--filter-label-w: 56px}@media(pointer:coarse){:root{--control-h: calc(var(--touch-target) + 6px);--control-h-inner: var(--touch-target)}}:root[data-theme=dark]{--color-bg: #16130f;--color-bg-2: #1f1b16;--color-surface: #201c17;--color-surface-2: #2a251f;--color-surface-solid: #201c17;--color-border: #35302a;--color-text: #ece7de;--color-text-2: #c9c2b5;--color-text-muted: #9a9184;--color-primary: #3f5fa8;--color-primary-hover: #4a6cbb;--color-primary-light: rgba(96,140,225,.16);--color-accent: #d4a24a;--color-accent-light: rgba(212,162,74,.18);--color-ai-1: #a38ad8;--color-ai-2: #6f9be0;--color-ai-3: #d8b968;--color-warning: #e0955f;--color-warning-bg: rgba(224,149,95,.18);--color-warning-text: #e8a888;--color-danger: #e06a5f;--color-danger-bg: rgba(224,106,95,.16);--color-success: #4bb487;--color-success-bg: rgba(75,180,135,.16);--color-info: #5aa9bd;--color-info-bg: rgba(90,169,189,.16);--color-under: #6f9be0;--color-vacant: #a38ad8;--color-vacant-bg: rgba(163,138,216,.18);--proposal-color: #a38ad8;--proposal-text: #d9c6f5;--proposal-bg-draft: rgba(163,138,216,.12);--proposal-bg: rgba(163,138,216,.22);--proposal-on: #16130f;--sidebar-bg: #16130f;--sidebar-text: #c9c2b5;--sidebar-text-active: #ece7de;--sidebar-active-bg: #201c17;--sidebar-hover-bg: rgba(255,255,255,.06);--shadow-card: 0 1px 3px rgba(0,0,0,.4), 0 8px 24px -8px rgba(0,0,0,.55);--shadow-hover: 0 2px 6px rgba(0,0,0,.5), 0 20px 44px -16px rgba(0,0,0,.65);--row-alt-bg: rgba(255,255,255,.022);--color-zero: #6b6459;--color-val-under: #e0955f;--color-val-ok: #4bb487;--color-val-over: #e06a5f;--color-group-bg: rgba(255,255,255,.035);--color-editable-hover: rgba(96,140,225,.12);--color-month-current-bg: rgba(96,140,225,.12);--glass-bg: #201c17;--glass-border: #35302a;--color-text-inverse: #fff;--color-tooltip-bg: #322c24;--color-tooltip-text: #ece7de;--shadow-dropdown: 0 12px 32px -8px rgba(0,0,0,.6);--shadow-modal: 0 24px 60px -20px rgba(0,0,0,.7);--plan-color: #6f9be0;--plan-bg: rgba(111,155,224,.14);--actual-color: var(--color-text);--actual-bg: rgba(255,255,255,.04);--budget-color: #9a9184;--budget-bg: rgba(154,145,132,.12);--color-border-strong: #4a443c;--color-text-faint: rgba(236,231,222,.32);--color-person-header-bg: rgba(255,255,255,.035);--color-chip-text: #9db8ec;--plan-text-color: #9db8ec}body{font-family:var(--font-base);font-size:var(--text-base);line-height:1.5;color:var(--color-text);background:var(--color-bg)}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-card),inset 0 1px #ffffff0a}.text-2xs{font-size:var(--text-2xs)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-muted{color:var(--color-text-muted)}.text-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.text-section{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.toolbar-microlabel,.filter-group label{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);white-space:nowrap}.hide-xs{display:none}@media(min-width:480px){.hide-xs{display:revert}}.hide-sm{display:none}@media(min-width:640px){.hide-sm{display:revert}}.hide-md{display:none}@media(min-width:768px){.hide-md{display:revert}}.hide-lg{display:none}@media(min-width:1024px){.hide-lg{display:revert}}.app-layout{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--color-bg)}.ptr{position:absolute;top:0;left:50%;width:40px;height:40px;border-radius:50%;background:var(--color-surface-solid);border:1px solid var(--color-border);box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;z-index:var(--z-dropdown);transition:transform .2s ease,opacity .15s}.ptr.is-visible{opacity:1}.ptr-pulling,.ptr-armed{transition:opacity .15s}.ptr-ring{width:20px;height:20px;border-radius:50%;border:2.5px solid var(--color-border-strong);border-top-color:var(--color-primary)}.ptr-armed .ptr-ring{border-top-color:var(--color-primary)}.ptr-refreshing .ptr-ring{animation:login-spin .8s linear infinite}@media(prefers-reduced-motion:reduce){.ptr{transition:none}}@media(hover:hover)and (pointer:fine){.ptr{display:none}}.topnav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-shrink:0}.topnav-brand{display:flex;align-items:center;gap:12px}.topnav-wordmark{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--color-text);line-height:1}.topnav-main{display:flex;align-self:stretch;align-items:stretch;gap:18px;margin-left:48px;margin-right:auto}.topnav-main-link{position:relative;display:inline-flex;align-items:center;gap:8px;padding:0 2px;color:var(--color-text-2);text-decoration:none;font-size:var(--text-base);font-weight:500;letter-spacing:-.01em;transition:color .15s}.topnav-main-link:hover{color:var(--color-text)}.topnav-main-link.active{color:var(--color-primary);font-weight:600}.topnav-main-link.active:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;border-radius:2px 2px 0 0;background:var(--color-primary)}.topnav-right{display:flex;align-items:center;gap:12px}.topnav-user{display:flex;align-items:center;gap:10px;padding:4px 4px 4px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px}.user-menu{position:relative;display:inline-flex}.topnav-user-trigger{font:inherit;color:inherit;cursor:pointer;transition:background .15s,border-color .15s}.topnav-user-trigger:hover,.topnav-user-trigger.open{background:var(--color-surface-2);border-color:var(--color-border-strong)}.topnav-user-caret{color:var(--color-text-muted);margin-right:4px;transition:transform .15s}.topnav-user-trigger.open .topnav-user-caret{transform:rotate(180deg)}.topnav-user-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text);white-space:nowrap}.topnav-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:600;text-transform:uppercase}.subnav{display:flex;align-items:center;justify-content:center;gap:4px;padding:10px 24px;background:var(--color-bg);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.subnav::-webkit-scrollbar{display:none}.subnav-link{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid transparent;color:var(--color-text-2);text-decoration:none;font-size:var(--text-sm);font-weight:500;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.subnav-link:hover{background:var(--sidebar-hover-bg);color:var(--color-text)}.subnav-link.active{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);font-weight:600;box-shadow:var(--shadow-card)}.login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-text);position:relative;overflow:hidden}.login-main{display:contents}.login-bg-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.18;animation:login-glow-drift 12s ease-in-out infinite alternate}.login-bg-glow-1{width:500px;height:500px;background:var(--color-primary);top:-10%;left:-5%;animation-delay:0s}.login-bg-glow-2{width:400px;height:400px;background:var(--color-accent);bottom:-10%;right:-5%;animation-delay:-4s}.login-bg-glow-3{width:300px;height:300px;background:var(--color-ai-2);top:50%;left:60%;transform:translate(-50%,-50%);animation-delay:-8s}@keyframes login-glow-drift{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-20px) scale(1.1)}}.login-card{position:relative;z-index:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:48px 44px 40px;text-align:center;width:400px;max-width:calc(100vw - 40px);box-shadow:var(--shadow-hover);animation:login-card-enter .5s ease-out}@keyframes login-card-enter{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-logo{margin-bottom:16px}.login-logo svg{filter:drop-shadow(0 2px 8px rgba(31,45,74,.25))}.login-brand{font-family:var(--font-display);font-size:44px;font-weight:700;letter-spacing:-.02em;color:var(--color-text);margin-bottom:4px}.login-subtitle{color:var(--color-text-muted);font-size:var(--text-lg);margin-bottom:28px;font-weight:400}.access-pending-card{padding-bottom:44px}.access-pending-copy{font-size:var(--text-sm);line-height:1.6;max-width:310px;margin-left:auto;margin-right:auto}.invite-greeting{font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:.02em;margin-bottom:4px}.error-card{width:460px;padding:40px 44px 36px}.error-glyph{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:20px;-webkit-user-select:none;user-select:none}.error-glyph-digit{font-family:var(--font-display);font-size:80px;font-weight:700;letter-spacing:-.02em;line-height:1;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-text-muted) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.error-glyph-orbit{position:relative;width:56px;height:56px;border-radius:50%;border:1.5px dashed var(--color-border-strong);animation:error-orbit 8s linear infinite}.error-glyph-dot{position:absolute;top:-5px;left:50%;transform:translate(-50%);width:10px;height:10px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 12px #1f2d4a66,0 0 24px #1f2d4a33}@keyframes error-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-accent);margin-bottom:10px}.error-title{font-size:var(--text-2xl);letter-spacing:-.5px;margin-bottom:10px;line-height:1.25}.error-subtitle{font-size:var(--text-sm);line-height:1.6;max-width:360px;margin-left:auto;margin-right:auto;margin-bottom:24px}.error-details{text-align:left;background:var(--color-bg-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 14px;margin-bottom:20px;font-size:var(--text-xs);color:var(--color-text-muted)}.error-details summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500;color:var(--color-text-2)}.error-details summary:hover{color:var(--color-text)}.error-details pre{margin:10px 0 2px;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--text-2xs);white-space:pre-wrap;word-break:break-word;color:var(--color-text-muted);max-height:160px;overflow:auto}.error-actions{display:flex;flex-direction:column;gap:10px}.error-secondary{padding:11px;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface);color:var(--color-text-2);font-size:var(--text-sm);font-weight:600;font-family:var(--font-base);cursor:pointer;transition:all .15s}.error-secondary:hover{background:var(--color-surface-2);border-color:var(--color-text-muted);color:var(--color-text)}.login-form{display:flex;flex-direction:column;gap:16px;text-align:left}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.login-field input{padding:11px 14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-base);font-family:var(--font-base);background:var(--color-surface);color:var(--color-text);outline:none;transition:all .15s}.login-field input::placeholder{color:var(--color-text-faint)}.login-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);background:var(--color-surface)}.login-error{padding:10px 14px;border-radius:8px;background:#e031311f;border:1px solid rgba(224,49,49,.25);color:var(--color-danger);font-size:var(--text-sm);text-align:center;animation:login-shake .4s ease}@keyframes login-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-submit{padding:12px;border:none;border-radius:999px;font-size:var(--text-base);font-weight:600;background:var(--color-primary);color:var(--color-text-inverse);cursor:pointer;transition:all .15s;margin-top:4px;box-shadow:0 1px 2px #0000001f,inset 0 1px #ffffff29}.login-submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 4px 16px #1f2d4a40;transform:translateY(-1px)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-submit-loading{display:flex;align-items:center;justify-content:center;gap:8px}.login-btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:login-spin .8s linear infinite}.login-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--color-text-muted);font-size:var(--text-xs)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.login-google{display:flex;flex-direction:column;align-items:center;gap:8px}.login-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 40px}.login-spinner{width:32px;height:32px;border:3px solid var(--color-border-strong);border-top-color:var(--color-primary);border-radius:50%;animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.main-content{flex:1;padding:24px;overflow:auto;scrollbar-gutter:stable;scrollbar-gutter:stable both-edges;position:relative;overscroll-behavior-y:contain;display:flex;flex-direction:column;min-height:0}.sidebar-footer{margin-top:auto;padding:8px;border-top:1px solid rgba(255,255,255,.1)}.settings-dropdown{position:relative}.settings-trigger{height:auto;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-2);cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:7px 12px;font-size:var(--text-sm);font-weight:500;transition:all .15s;box-shadow:none}.settings-trigger:hover{color:var(--color-text);background:var(--color-surface-2)}.settings-panel{width:200px;z-index:var(--z-settings);background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);overflow:hidden;font-family:var(--font-base);padding:4px 0}.settings-section{padding:8px 14px 4px;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.settings-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border:none;background:none;cursor:pointer;font-size:var(--text-sm);font-family:var(--font-base);color:var(--color-text);text-decoration:none;text-align:left;border-radius:0;transition:background .1s}.settings-option:hover{background:var(--sidebar-hover-bg)}.settings-option-active,.settings-option.active{font-weight:600;color:var(--color-primary)}.settings-check{margin-left:auto;color:var(--color-primary)}.settings-divider{height:1px;background:var(--color-border);margin:4px 0}.settings-appearance-label{display:block;padding:8px 14px 6px;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.settings-theme-options{display:flex;gap:4px;padding:0 10px 4px}.settings-theme-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-2xs);font-family:var(--font-base);transition:all .1s}.settings-theme-btn:hover{background:var(--sidebar-hover-bg);color:var(--color-text)}.settings-theme-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light);font-weight:600}.settings-shortcut-hint{margin-left:auto;font-size:var(--text-2xs);color:var(--color-text-muted);font-family:var(--font-base)}.breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-shrink:0;font-size:var(--text-sm);font-weight:500}.breadcrumb-link{color:var(--color-text-muted);text-decoration:none;transition:color .15s}.breadcrumb-link:hover{color:var(--color-text)}.breadcrumb-sep{color:var(--color-text-faint);flex-shrink:0}.breadcrumb-current{color:var(--color-text-2)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-header h1{font-family:var(--font-display);font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1.1;display:flex;align-items:center;gap:10px}.page-header-count{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);background:var(--color-bg);padding:2px 10px;border-radius:10px}.page-header-right{display:flex;align-items:center;gap:12px}@media(max-width:639.98px){.page-header{flex-wrap:wrap;gap:10px}}.page-switcher{position:relative;display:inline-flex}.page-switcher-trigger{display:inline-flex;align-items:center;gap:10px;font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:16px;padding:8px 11px 8px 12px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.page-switcher-trigger:hover{border-color:var(--color-primary);background:var(--color-surface-2)}.page-switcher-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.page-switcher-trigger.open{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.page-switcher-ico{width:30px;height:30px;border-radius:9px;background:var(--color-primary-light);color:var(--color-primary);display:grid;place-items:center;flex-shrink:0}.page-switcher-name{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.01em;line-height:1.15;color:var(--color-text)}.page-switcher-count{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:999px;padding:2px 7px}.page-switcher-chev{color:var(--color-text-muted);transition:transform .18s ease;margin-left:2px}.page-switcher-trigger.open .page-switcher-chev{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.page-switcher-chev{transition:none}}.page-switcher-menu{width:264px;max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);padding:6px;z-index:100}.page-switcher-grouplabel{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--color-text-faint);padding:9px 10px 4px}.page-switcher-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;font-size:var(--text-sm);font-weight:500;color:var(--color-text-2);background:none;border:none;border-radius:9px;padding:8px 10px;cursor:pointer}.page-switcher-item:hover{background:var(--color-surface-2);color:var(--color-text)}.page-switcher-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.page-switcher-item-ico{color:var(--color-text-muted);display:grid;place-items:center;flex-shrink:0}.page-switcher-item.current{background:var(--color-primary-light);color:var(--color-text);font-weight:600}.page-switcher-item.current .page-switcher-item-ico{color:var(--color-primary)}.page-switcher-item-check{margin-left:auto;color:var(--color-primary)}.page-switcher-div{height:1px;background:var(--color-border);margin:5px 6px}.ws-status{display:flex;align-items:center;gap:5px}.ws-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ws-dot-connected{background:var(--color-success)}.ws-dot-disconnected{background:var(--color-danger)}.ws-dot-connecting{background:var(--color-warning);animation:cursor-blink 1s infinite}.ws-status-label{font-size:var(--text-2xs);color:var(--color-text-muted)}.admin-page,.ds-page,.dashboard,.profile-page,.pivot-page{width:min(100%,max(var(--page-min),100% - 2 * var(--page-margin)));margin-inline:auto}.pivot-page,.profile-page{width:min(100%,max(var(--page-min),100% - 2 * var(--page-margin-grid)))}.admin-page-fill,.pivot-page{flex:1;min-height:0;display:flex;flex-direction:column}.admin-page-fill>*,.admin-card-fill>*{flex-shrink:0}.admin-page-fill>.tab-panel-fill,.admin-page-fill>.admin-card-fill,.admin-card-fill>.editable-table,.admin-card-fill>.admin-card-scroll{flex:1;min-height:0}.admin-card-scroll{overflow-y:auto}.pivot-page>.page-header,.pivot-page>.toolbar-wrapper,.pivot-page>.snapshot-bar{flex-shrink:0}.admin-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card),inset 0 1px #ffffff0a}.tabs-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.tabs{display:inline-flex;gap:2px;padding:3px;background:var(--color-bg-2);border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;border:none;background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;padding:6px 16px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:background .1s,color .1s}.tab:hover{color:var(--color-text)}.tab.is-active{background:var(--color-primary);color:var(--color-text-inverse)}.tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.tab.is-active:focus-visible{outline-color:var(--color-text-inverse)}.tab-group-start{margin-left:5px;padding-left:12px;border-left:1px solid var(--color-border-strong);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.tab-dot{width:6px;height:6px;margin-right:7px;border-radius:999px;flex:0 0 auto;background:var(--color-text-faint)}.tab-dot-ok{background:var(--color-success)}.tab-dot-off{background:var(--color-text-faint)}.tab-dot-error{background:var(--color-danger)}.tab.is-active .tab-dot-off{background:#ffffff73}.tab-trailing{margin-left:auto;font-size:var(--text-xs);color:var(--color-text-muted)}.tab-panel-fill{flex:1;min-height:0;display:flex;flex-direction:column}.tab-panel-fill>*{flex-shrink:0}.tab-panel-fill>.admin-card-fill{flex:1;min-height:0}.admin-card-body{padding:20px}.pcsv-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.pcsv-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-top:1px solid var(--color-border)}.pcsv-row:first-child{border-top:none}.pcsv-row.is-off{opacity:.5}.pcsv-check{display:flex;align-items:center}.pcsv-main{flex:1;min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pcsv-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pcsv-badge{font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-success) 18%,transparent);color:var(--color-success)}.pcsv-seg{display:inline-flex}.pcsv-seg .btn{border-radius:0}.pcsv-seg .btn:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.pcsv-seg .btn:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.pcsv-seg .btn.is-active{background:var(--color-primary);color:var(--color-text-inverse)}.pcsv-strike{text-decoration:line-through;color:var(--color-text-muted);margin-right:4px}.pcsv-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.pcsv-cand{background:none;border:none;padding:0 4px;color:var(--color-primary);text-decoration:underline;cursor:pointer;font-size:var(--text-xs)}.admin-card-toggle{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:none;cursor:pointer;color:inherit;font:inherit}.admin-card-toggle:hover .card-chevron{color:var(--color-text)}.card-chevron{color:var(--color-text-muted);transition:transform .15s ease;flex-shrink:0;margin-left:auto}.card-chevron.is-collapsed{transform:rotate(-90deg)}.admin-card.is-collapsed{overflow:hidden}.admin-card-fill{flex:1;min-height:0;display:flex;flex-direction:column}.admin-card-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--color-border);gap:12px;flex-wrap:wrap}.admin-page-fill>.toolbar-wrapper>.toolbar{flex-wrap:wrap;overflow:visible}.toolbar>.admin-list-filters{margin-left:0}.admin-search{position:relative;flex:1;max-width:320px}.admin-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.admin-search input{width:100%;padding:7px 12px 7px 32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-base);outline:none;background:var(--color-surface);color:var(--color-text);transition:border-color .15s}.admin-search input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.admin-search input::placeholder{color:var(--color-text-muted)}.admin-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-list-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.admin-filter-field{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.admin-filter-field span{font-size:var(--text-2xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.admin-filter-dropdown{min-width:260px;max-width:min(420px,42vw)}.admin-filter-control{width:100%;justify-content:space-between;gap:8px;font-size:var(--text-xs)}.admin-filter-tags{min-width:0;flex-wrap:nowrap;overflow:hidden}.admin-filter-tag{max-width:90px;overflow:hidden;text-overflow:ellipsis}.admin-filter-selected{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-filter-menu{min-width:320px;width:max-content;max-width:min(520px,80vw)}.admin-filter-option{width:100%;border:none;background:transparent;font-family:var(--font-base);text-align:left}.admin-filter-option.selected{color:var(--color-primary);font-weight:600}.admin-filter-check.empty{opacity:0}@media(max-width:639.98px){.admin-list-filters{flex-direction:column;align-items:stretch;width:100%;margin-left:0}.admin-filter-field{flex-direction:column;align-items:stretch;gap:4px}.admin-filter-dropdown,.users-filter-multiselect{min-width:0;max-width:none;width:100%}}.admin-add-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:500;font-family:var(--font-base);cursor:pointer;transition:all .15s;white-space:nowrap}.admin-add-btn:hover{opacity:.9}.admin-add-btn:active{transform:scale(.98)}.admin-add-btn .admin-add-shortcut{font-size:var(--text-2xs);opacity:.7;margin-left:4px}.admin-footer{padding:8px 16px;font-size:var(--text-xs);color:var(--color-text-muted);background:#00000026;border-top:1px solid var(--color-border)}.editable-table{display:flex;flex-direction:column;font-size:var(--text-sm);color:var(--color-text);flex:1;min-height:0}.editable-table-head{display:flex;background:var(--color-bg-2);border-bottom:1px solid var(--color-border);flex-shrink:0}.editable-table-th{padding:8px 12px;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px;min-width:0}.editable-table-th.sortable{cursor:pointer}.editable-table-th.sortable:hover{color:var(--color-text)}.editable-table-th.align-right{justify-content:flex-end}.editable-table-th.align-center{justify-content:center}.editable-table-th-arrow{font-size:var(--text-2xs);flex-shrink:0}.editable-table-th-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.editable-table-body{flex:1;overflow-y:auto}.editable-table-row{display:flex;border-bottom:1px solid var(--color-border);transition:background .1s}.editable-table-row:hover{background:var(--color-primary-light)}.editable-table-cell{padding:8px 12px;display:flex;align-items:center;min-width:0;overflow:hidden}.editable-table-cell>*{min-width:0}.editable-table-cell.align-right{justify-content:flex-end;text-align:right}.editable-table-cell.align-center{justify-content:center;text-align:center}.editable-table-cell.editable{cursor:text}.editable-table-cell.editable:hover{background:var(--color-editable-hover)}.editable-table-cell.editing{padding:0;background:var(--color-surface);position:relative;overflow:visible}@media(max-width:639.98px){.editable-table{gap:8px}.editable-table-head{display:none}.editable-table-body{display:flex;flex-direction:column;gap:8px;padding:8px 0}.editable-table-row{display:flex;flex-direction:column;position:relative;border:1px solid var(--color-border);border-radius:10px;padding:12px 14px;background:var(--color-surface-solid);transition:border-color .15s}.editable-table-row:hover{background:var(--color-surface-solid);border-color:color-mix(in srgb,var(--color-border) 50%,var(--color-text-muted))}.editable-table-cell.hide-xs,.editable-table-cell.hide-sm,.editable-table-cell.hide-md{display:flex!important}.editable-table-cell.hide-in-card{display:none!important}.editable-table-cell.card-title{width:100%!important;flex:0 0 auto!important;padding:0 0 10px;margin-bottom:4px;border-bottom:1px solid var(--color-border);font-size:var(--text-base);overflow:visible}.editable-table-cell.card-corner{position:absolute;top:12px;right:12px;width:auto!important;flex:0 0 auto!important;padding:0;overflow:visible}.editable-table-cell.card-corner~.editable-table-cell.card-title{padding-right:24px}.editable-table-cell.card-meta{width:100%!important;flex:0 0 auto!important;padding:6px 0;overflow:visible;justify-content:space-between;gap:12px}.editable-table-cell.card-meta:before{content:attr(data-label);flex-shrink:0;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);align-self:center}.editable-table-cell.editing:before{display:none}.editable-table-cell.editable:hover,.editable-table-cell.selectable:hover{background:transparent}.editable-table-cell-actions{position:absolute;top:8px;right:10px;width:auto!important;flex:0 0 auto!important;padding:0;background:transparent!important}.editable-table-cell.card-corner~.editable-table-cell-actions{top:38px}}.editable-table-cell.selectable{cursor:cell;-webkit-user-select:none;user-select:none}.editable-table-cell.selectable:hover{background:var(--color-editable-hover)}.editable-table-input{width:100%;height:100%;padding:8px 12px;border:2px solid var(--color-primary);background:var(--color-surface-solid);color:var(--color-text);font-family:var(--font-base);font-size:var(--text-sm);outline:none;border-radius:0;box-sizing:border-box}.editable-table-list-editor{position:relative;width:100%}.editable-table-list-popover{position:absolute;top:100%;left:0;right:auto;min-width:100%;width:max-content;max-width:min(340px,90vw);z-index:var(--z-popover);max-height:240px;overflow-y:auto;background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column}.editable-table-list-option{padding:6px 12px;border:none;background:transparent;color:var(--color-text);font-family:var(--font-base);font-size:var(--text-sm);text-align:left;cursor:pointer;white-space:nowrap}.editable-table-list-option.highlight,.editable-table-list-option:hover{background:var(--color-primary-light)}.editable-table-list-option.selected{font-weight:600;color:var(--color-primary)}.editable-table-list-empty{padding:8px 12px;color:var(--color-text-muted);font-size:var(--text-xs)}.editable-table-empty{padding:32px 16px;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.xero-tag{display:inline-block;padding:2px 8px;font-size:var(--text-xs);font-weight:500;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dashboard{display:flex;flex-direction:column;gap:16px}.dashboard-header{align-items:center}.dashboard-period{display:flex;align-items:center;gap:8px}@media(max-width:639.98px){.dashboard-header>.page-header-right{flex-basis:100%}}.dashboard-period-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.metric-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.metric-card{display:flex;flex-direction:column;gap:8px;background:var(--color-surface);border:1px solid var(--color-border);border-top:2px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:14px 14px 10px;box-shadow:var(--shadow-card);transition:box-shadow .15s,border-color .15s,transform .08s ease}.metric-clickable{cursor:pointer}.metric-clickable:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.metric-clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.metric-card-head{display:flex;align-items:center;gap:7px;color:var(--color-text-muted)}.metric-icon{display:inline-flex}.metric-label{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.metric-value-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.metric-value{font-family:var(--font-display);font-size:30px;font-weight:400;line-height:1;color:var(--color-text);font-variant-numeric:tabular-nums}.metric-delta{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-2xs);font-weight:600;font-variant-numeric:tabular-nums}.metric-delta-arrow{font-size:8px}.metric-delta-good{color:var(--color-success)}.metric-delta-bad{color:var(--color-danger)}.metric-delta-neutral{color:var(--color-text-muted)}.metric-target{font-size:var(--text-2xs);color:var(--color-text-faint);font-weight:500;margin-top:-2px}.sparkline{display:block}.metric-card.metric-good{border-top-color:var(--color-success)}.metric-card.metric-warning{border-top-color:var(--color-warning)}.metric-card.metric-danger{border-top-color:var(--color-danger)}.metric-card.metric-vacant{border-top-color:var(--color-vacant)}.skeleton-metric{height:116px;border-radius:var(--radius-lg)}.dash-grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}.dash-grid-2-even{grid-template-columns:1fr 1fr}.overview-chart{position:relative}.overview-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chart-legend-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-size:var(--text-2xs);font-weight:600;color:var(--color-text-2);cursor:pointer;transition:opacity .15s,background .15s}.chart-legend-chip:hover{background:var(--color-surface-2)}.chart-legend-chip.off{opacity:.4}.chart-legend-chip.off .chart-legend-dot{background:var(--color-text-faint)!important}.chart-legend-dot{width:9px;height:9px;border-radius:2px}.overview-canvas{position:relative}.overview-tooltip{background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);padding:8px 10px;min-width:150px;pointer-events:none}.overview-tooltip-month{font-size:var(--text-2xs);font-weight:700;color:var(--color-text);margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px}.overview-tooltip-row{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);padding:1px 0}.overview-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.overview-tooltip-name{color:var(--color-text-muted)}.overview-tooltip-val{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text)}.overview-tooltip-total{margin-top:4px;padding-top:4px;border-top:1px solid var(--color-border)}.overview-tooltip-total .overview-tooltip-name{color:var(--color-text);font-weight:600}.role-gap-legend{display:inline-flex;gap:12px;margin-left:auto;font-size:var(--text-2xs);color:var(--color-text-muted);font-weight:500}.role-gap-legend-item{display:inline-flex;align-items:center;gap:5px}.role-gap-legend-bar{width:14px;height:8px;border-radius:2px;background:color-mix(in srgb,var(--color-success) 55%,transparent)}.role-gap-legend-tick{width:2px;height:12px;background:var(--color-text);border-radius:1px}.role-gap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.role-gap-row{display:grid;grid-template-columns:130px 1fr 56px;align-items:center;gap:12px;padding:8px 6px;border-bottom:1px solid var(--color-border)}.role-gap-row:last-child{border-bottom:none}.role-gap-clickable{cursor:pointer;border-radius:var(--radius-sm)}.role-gap-clickable:hover{background:var(--color-editable-hover)}.role-gap-name{font-size:var(--text-sm);font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-gap-track{position:relative;height:14px;background:var(--color-bg-2);border-radius:4px;overflow:visible}.role-gap-supply{position:absolute;top:0;left:0;height:100%;border-radius:4px;min-width:2px}.role-gap-supply.surplus{background:color-mix(in srgb,var(--color-success) 55%,transparent)}.role-gap-supply.deficit{background:color-mix(in srgb,var(--color-danger) 50%,transparent)}.role-gap-demand-tick{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--color-text);border-radius:1px;transform:translate(-1px)}.role-gap-value{font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.role-gap-surplus{color:var(--color-success)}.role-gap-deficit{color:var(--color-danger)}.recharts-wrapper,.recharts-surface{font-family:var(--font-base)}.recharts-wrapper:focus,.recharts-surface:focus{outline:none}.recharts-cartesian-axis-tick text{font-variant-numeric:tabular-nums}.timeline-chart-rc{width:100%}.breakdown-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.breakdown-table th{text-align:left;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);padding:4px 8px;border-bottom:1px solid var(--color-border);white-space:nowrap}.breakdown-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.breakdown-sortable:hover{color:var(--color-text)}.breakdown-num{text-align:right}.breakdown-trend-col{width:96px;text-align:right}.breakdown-table td{padding:7px 8px;border-bottom:1px solid var(--color-border);vertical-align:top}.breakdown-table tbody tr:last-child td{border-bottom:none}.breakdown-row-clickable{cursor:pointer}.breakdown-row-clickable:hover{background:var(--color-editable-hover)}.breakdown-name{font-weight:500;color:var(--color-text)}.breakdown-vac-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--color-vacant);margin-right:6px;vertical-align:middle}.breakdown-var{font-weight:600;font-variant-numeric:tabular-nums;font-size:var(--text-xs)}.breakdown-var-ok{color:var(--color-success)}.breakdown-var-over{color:var(--color-danger)}.breakdown-var-under{color:var(--color-warning-text)}.breakdown-var-none{color:var(--color-text-faint)}.cell-bar{display:flex;align-items:center;gap:8px;justify-content:flex-end}.cell-bar-track{flex:1;max-width:120px;height:6px;background:var(--color-bg-2);border-radius:999px;overflow:hidden}.cell-bar-fill{height:100%;border-radius:999px}.cell-bar-label{font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--text-xs);color:var(--color-text);min-width:28px;text-align:right}.action-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.action-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .15s}.action-tab:hover{background:var(--sidebar-hover-bg);color:var(--color-text)}.action-tab.active{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}.action-tab-count{font-size:var(--text-2xs);font-weight:700;padding:0 6px;border-radius:999px;min-width:18px;text-align:center}.action-tab-count-danger{background:var(--color-danger-bg);color:var(--color-danger)}.action-tab-count-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.action-tab-count-vacant{background:var(--color-vacant-bg);color:var(--color-vacant)}.action-tab-count-neutral{background:var(--color-bg-2);color:var(--color-text-muted)}.action-panel{min-height:80px}.action-panel .dash-widget{background:none;border:none;box-shadow:none;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none}.action-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;max-height:360px;overflow-y:auto}.action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 6px;border-bottom:1px solid var(--color-border)}.action-row:last-child{border-bottom:none}.action-row-clickable{cursor:pointer;border-radius:var(--radius-sm)}.action-row-clickable:hover{background:var(--color-editable-hover)}.action-row-main{display:flex;flex-direction:column;min-width:0}.action-row-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-row-sub{font-size:var(--text-2xs);color:var(--color-text-muted);text-transform:capitalize}.action-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.action-row-when{font-size:var(--text-2xs);color:var(--color-text-muted)}.action-badge{font-size:var(--text-2xs);font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.action-badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.action-badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.action-badge-neutral{background:var(--color-bg-2);color:var(--color-text-2)}.subs-metric-strip{grid-template-columns:repeat(4,1fr)}.subs-row-sub{text-transform:none}.subs-share-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.subs-share-row{display:grid;grid-template-columns:10px minmax(0,1fr) minmax(140px,1.2fr) 40px;align-items:center;gap:10px;padding:7px 6px;border-bottom:1px solid var(--color-border);cursor:pointer;border-radius:var(--radius-sm)}.subs-share-row:last-child{border-bottom:none}.subs-share-row:hover{background:var(--color-editable-hover)}.subs-share-dot{width:9px;height:9px;border-radius:2px}.subs-share-name{font-size:var(--text-sm);font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subs-share-row .cell-bar-track{max-width:none}.subs-share-pct{font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-muted);text-align:right}.subs-table-header{flex-wrap:wrap;row-gap:8px}.subs-table-tools{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;text-transform:none;letter-spacing:0}.subs-search{display:inline-flex;align-items:center;gap:6px;padding:0 10px;height:30px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font-weight:500}.subs-search:focus-within{border-color:var(--color-primary);color:var(--color-text)}.subs-search input{border:none;background:none;outline:none;width:140px;font-size:var(--text-sm);color:var(--color-text)}.subs-search input::placeholder{color:var(--color-text-faint)}.subs-search input::-webkit-search-cancel-button{-webkit-appearance:none}.subs-table tbody tr:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.subs-cell-name{display:flex;align-items:center;gap:8px;min-width:0}.subs-vendor-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subs-vendor-sources{display:inline-flex;gap:4px;flex-shrink:0}.subs-source-tag{font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;padding:1px 6px;border-radius:999px;background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-muted)}.subs-source-tag.is-reimbursed{background:var(--color-warning-bg);border-color:transparent;color:var(--color-warning-text)}.subs-reimbursed-note{color:var(--color-warning-text)}.subs-status-dot{width:7px;height:7px;border-radius:50%;background:var(--color-text-faint);flex-shrink:0}.subs-status-dot.is-active{background:var(--color-success)}.subs-status-pill{font-size:var(--text-2xs);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--color-bg-2);color:var(--color-text-muted);margin-left:4px}.subs-status-pill.is-active{background:var(--color-success-bg);color:var(--color-success)}.subs-cell-plans{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.subs-cell-monthly{font-weight:600;font-variant-numeric:tabular-nums}.subs-cell-window,.subs-cell-last{font-variant-numeric:tabular-nums;white-space:nowrap}.subs-last-amount{display:block;font-size:var(--text-2xs);color:var(--color-text-muted)}.subs-muted{color:var(--color-text-faint)}.subs-provenance{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;padding:4px 0 12px}.subs-link{background:none;border:none;padding:0;font:inherit;color:var(--color-chip-text);text-decoration:underline;cursor:pointer}.subs-modal-body{display:flex;flex-direction:column;gap:14px}.subs-plans{display:flex;flex-wrap:wrap;gap:8px}.subs-plan{display:flex;flex-direction:column;gap:2px;padding:8px 12px;min-width:120px;border:1px solid var(--color-border);border-left:3px solid var(--color-success);border-radius:var(--radius-md);background:var(--color-surface-2)}.subs-plan.is-lapsed{border-left-color:var(--color-border-strong);opacity:.75}.subs-plan-amount{font-size:var(--text-lg);font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text);display:flex;align-items:baseline;gap:5px}.subs-plan-cadence{font-size:var(--text-2xs);font-weight:500;color:var(--color-text-muted)}.subs-plan-meta{font-size:var(--text-2xs);color:var(--color-text-muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.subs-plan-step{font-weight:700;font-variant-numeric:tabular-nums}.subs-plan-step.is-up{color:var(--color-danger)}.subs-plan-step.is-down{color:var(--color-success)}.subs-modal-facts{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--text-xs);color:var(--color-text-muted)}.subs-modal-facts strong{color:var(--color-text);font-weight:600}.subs-charges td{vertical-align:top}.subs-charge-date{white-space:nowrap;font-variant-numeric:tabular-nums}.subs-charge-desc{color:var(--color-text-2)}.subs-charge-ref{display:block;font-size:var(--text-2xs);color:var(--color-text-muted)}.subs-charge-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.subs-charge-orig{display:block;font-size:var(--text-2xs);color:var(--color-text-muted)}.subs-charges tfoot td{padding:8px;font-size:var(--text-xs);color:var(--color-text-muted);border-top:1px solid var(--color-border-strong);font-weight:600}@media(max-width:1279.98px){.subs-page .dash-grid-2{grid-template-columns:1fr 1fr}}@media(max-width:1099.98px){.subs-metric-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:899.98px){.subs-page .dash-grid-2{grid-template-columns:1fr}}@media(max-width:639.98px){.subs-page .dashboard-period-label{display:none}.dashboard .subs-metric-strip{grid-template-columns:1fr 1fr;gap:10px}.subs-table-tools{margin-left:0;width:100%}.subs-search{flex:1 1 160px}.subs-search input{width:100%}.subs-table,.subs-table tbody,.subs-table tr,.subs-table td{display:block}.subs-table thead{display:none}.subs-table .subs-cell-name{display:flex}.subs-table .subs-trend-col{display:none}.subs-table tr{padding:10px 4px;border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:1fr auto;gap:2px 12px;min-height:var(--touch-target)}.subs-table td{padding:0;border:none}.subs-cell-name{grid-column:1 / -1;font-size:var(--text-base);margin-bottom:2px}.subs-cell-monthly{grid-column:2;grid-row:2 / span 3;align-self:start;font-size:var(--text-xl);text-align:right}.subs-cell-monthly:before{content:attr(data-label);display:block;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted)}.subs-cell-plans,.subs-cell-window,.subs-cell-last{grid-column:1;text-align:left;font-size:var(--text-xs);color:var(--color-text-2);white-space:normal}.subs-cell-plans:before,.subs-cell-window:before,.subs-cell-last:before{content:attr(data-label) ": ";color:var(--color-text-muted)}.subs-last-amount{display:inline;margin-left:4px}.subs-charges .subs-charge-desc{max-width:160px}}@media(max-width:1099.98px){.metric-strip{grid-template-columns:repeat(3,1fr)}}@media(max-width:899.98px){.dash-grid-2{grid-template-columns:1fr}}@media(max-width:719.98px){.metric-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:479.98px){.metric-strip{grid-template-columns:1fr}}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:18px 20px;text-align:center;box-shadow:var(--shadow-card),inset 0 1px #ffffff0a;transition:box-shadow .15s,border-color .15s}.kpi-clickable{cursor:pointer}.kpi-clickable:hover{border-color:var(--color-primary);box-shadow:var(--shadow-hover)}.kpi-icon{color:var(--color-text-muted);margin-bottom:6px}.kpi-value{font-size:var(--text-2xl);font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.kpi-label{font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.kpi-good .kpi-icon{color:var(--color-success)}.kpi-danger .kpi-icon{color:var(--color-danger)}.kpi-vacant .kpi-icon{color:var(--color-vacant)}.kpi-good .kpi-value{color:var(--color-success)}.kpi-good{border-color:var(--color-success)}.kpi-warning .kpi-value{color:var(--color-warning-text)}.kpi-warning{border-color:var(--color-warning)}.kpi-danger .kpi-value{color:var(--color-danger)}.kpi-danger{border-color:var(--color-danger)}.kpi-vacant .kpi-value{color:var(--color-vacant)}.kpi-vacant{border-color:var(--color-vacant)}.dash-main{display:grid;grid-template-columns:1fr 320px;gap:16px}.dash-main-left,.dash-main-right{min-width:0}@media(max-width:767.98px){.dash-main{grid-template-columns:1fr}.kpi-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:639.98px){.kpi-row{grid-template-columns:1fr}}.dash-widget{min-width:0;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:16px;box-shadow:0 1px 2px #0000000f,0 4px 12px #00000014,inset 0 1px #ffffff0a}.dash-table-scroll{overflow-x:auto}.dash-widget-header{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:12px;display:flex;align-items:center;gap:8px}.dash-widget-count{background:var(--color-vacant-bg);color:var(--color-vacant);font-size:var(--text-2xs);padding:1px 7px;border-radius:10px}.dash-widget-basis{font-size:var(--text-2xs);font-weight:500;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border);padding:1px 7px;border-radius:999px;text-transform:none;letter-spacing:0}.dash-empty{color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;padding:20px}.util-legend{display:inline-flex;gap:6px;margin-left:auto;font-size:var(--text-2xs);color:var(--color-text-muted);text-transform:none;letter-spacing:0}.util-legend-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:var(--radius-xsm);font-weight:600;font-variant-numeric:tabular-nums}.util-legend-chip.util-over{color:var(--color-danger);background:var(--color-danger-bg)}.util-legend-chip.util-under{color:var(--color-warning-text);background:var(--color-warning-bg)}.util-legend-sw{width:10px;height:10px;border-radius:2px}.util-sw-over{background:var(--color-danger)}.util-sw-under{background:var(--color-warning)}.util-scroll{overflow:auto;max-height:560px;margin:0 -16px -16px;border-top:1px solid var(--color-border)}.util-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.util-sortable:hover{color:var(--color-text);background:var(--color-group-bg)}.util-sorted{color:var(--color-text)}.util-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-xs)}.util-table th{padding:10px 8px 8px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint);text-align:center;white-space:nowrap;background:var(--color-surface-solid);position:sticky;top:0;z-index:2;border-bottom:1px solid var(--color-border)}.util-name-col{text-align:left;padding-left:16px;width:180px;left:0;z-index:3}.util-status-col{text-align:left;width:110px}.util-status-cell{padding:9px 10px;border-bottom:1px dashed var(--color-border);white-space:nowrap}.util-table thead .util-current:after{content:"";display:block;height:2px;margin-top:6px;margin-left:auto;margin-right:auto;width:50%;background:var(--color-primary);border-radius:2px}.util-name-cell{display:flex;align-items:center;gap:8px;padding:9px 10px 9px 16px;white-space:nowrap;border-bottom:1px dashed var(--color-border);background:var(--color-surface-solid);position:sticky;left:0}.util-person-name{font-weight:500;font-size:var(--text-sm);color:var(--color-text)}.util-status{font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:1px 6px;border-radius:var(--radius-xsm);background:var(--color-group-bg);color:var(--color-text-muted)}.util-status-consultant{color:var(--plan-color);background:var(--plan-bg)}.util-status-contracted{color:var(--color-text-muted);background:var(--color-group-bg)}.util-cell{text-align:center;vertical-align:middle;padding:0;min-width:52px;height:34px;border-bottom:1px dashed var(--color-border);border-right:1px solid var(--color-border);transition:background .15s}.util-cell.util-current,.util-table thead th.util-current{background:#60a5fa1f}.util-cell.util-current[style*=background]{box-shadow:inset 0 0 0 9999px #60a5fa1f}.util-table thead th.util-current{color:var(--color-primary)}.util-flag-none{background:transparent}.util-cell-val{display:inline-block;font-size:var(--text-2xs);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.02em;color:var(--color-text)}.util-flag-over .util-cell-val{color:var(--color-danger)}.util-flag-under .util-cell-val{color:var(--color-warning-text)}.util-row-clickable{cursor:pointer}.util-row-clickable:hover .util-name-cell{background:var(--color-group-bg)}.util-row-clickable:hover .util-person-name{color:var(--color-primary)}@media(max-width:639.98px){.dash-widget-header{flex-wrap:wrap}.breakdown-trend-col{display:none}.breakdown-table th{white-space:normal}.util-status-col,.util-status-cell{display:none}.util-name-col{width:120px}}.gaps-list{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}.gap-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .1s}.gap-item:hover{background:var(--color-vacant-bg)}.gap-item-main{display:flex;flex-direction:column}.gap-role{font-weight:500;font-size:var(--text-sm)}.gap-project{font-size:var(--text-2xs);color:var(--color-text-muted)}.gap-item-meta{display:flex;flex-direction:column;align-items:flex-end}.gap-urgency{font-size:var(--text-2xs);color:var(--color-text-muted)}.gap-urgent{color:var(--color-danger);font-weight:600}.gap-soon{color:var(--color-warning-text);font-weight:500}.gap-pct{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--color-text-muted)}.capacity-timeline{position:relative}.timeline-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;font-size:var(--text-2xs);color:var(--color-text-muted)}.timeline-legend:not(.expanded){max-height:var(--legend-row-h, 26px);overflow:hidden}.timeline-legend-item{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 6px;background:var(--color-group-bg);border:1px solid transparent;border-radius:999px;font-family:var(--font-base);font-size:var(--text-2xs);color:var(--color-text-muted);cursor:pointer;transition:background .12s,border-color .12s,opacity .12s,color .12s}.timeline-legend-item:hover,.timeline-legend-item.active{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.timeline-legend-item.dimmed{opacity:.35}.timeline-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px var(--color-surface-solid)}.timeline-legend-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-legend-toggle{display:inline-block;margin:0 0 14px;padding:6px 10px;font-size:var(--text-2xs);font-weight:500;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s}.timeline-legend-toggle:hover{color:var(--color-text);border-color:var(--color-border-strong)}@media(max-width:639.98px){.capacity-timeline{display:flex;flex-direction:column}.capacity-timeline .dash-widget-header{order:0}.capacity-timeline .timeline-chart-rc{order:1;margin-bottom:12px}.capacity-timeline .timeline-legend{order:2;margin:0 0 8px}.capacity-timeline .timeline-legend-toggle{order:3;align-self:flex-start}}.person-cell{display:flex;align-items:center;gap:10px}.person-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:600;color:var(--color-text-inverse);flex-shrink:0;letter-spacing:.5px}.person-avatar-vacant{background:var(--color-vacant-bg);color:var(--color-vacant);border:1px dashed var(--color-vacant)}.person-info{display:flex;flex-direction:column;min-width:0}.person-name{font-weight:500;font-size:var(--text-sm);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-email{font-size:var(--text-2xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.person-status-dot.online{background:var(--color-success)}.person-status-dot.offline{background:var(--color-zero)}.user-last-login{color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.role-name-cell{display:flex;align-items:center;gap:8px}.role-name-icon{color:var(--color-text-muted);flex-shrink:0;opacity:.5}.role-name-text{font-weight:500}.role-category-tag{font-size:var(--text-2xs);padding:1px 7px;border-radius:4px;background:var(--color-bg-2);color:var(--color-text-muted);white-space:nowrap}.role-badge{font-size:var(--text-xs);color:var(--color-text-muted)}.role-description{font-size:var(--text-sm);color:var(--color-text-muted)}.project-link{font-weight:500}.project-name-cell{display:flex;align-items:center;gap:8px}.project-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.project-name-text{font-weight:500;position:relative}.project-name-text[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 4px);left:0;z-index:1000;background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:4px 8px;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;color:var(--color-text);white-space:nowrap;pointer-events:none}.editable-table-cell:has(.project-name-text[data-tooltip]:hover){overflow:visible}.project-dates{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.gantt-header{position:relative;flex:1 1 auto;min-width:0;width:100%;height:28px}.gantt-header-year{position:absolute;top:0;font-size:var(--text-2xs);font-weight:600;color:var(--color-text);white-space:nowrap;text-transform:none;letter-spacing:0}.gantt-header-month{position:absolute;top:14px;font-size:var(--text-2xs);font-weight:500;color:var(--color-text-muted);white-space:nowrap;text-transform:none;letter-spacing:.3px}.gantt-track{position:relative;flex:1 1 auto;min-width:0;width:100%;height:26px;background:#0000000a;border-radius:13px}.gantt-bar{position:absolute;top:4px;height:18px;border-radius:9px;min-width:8px;z-index:1;transition:filter .15s}.gantt-bar:hover{filter:brightness(1.15)}.gantt-bar-open{border-top-right-radius:3px;border-bottom-right-radius:3px;mask-image:linear-gradient(to right,black 80%,transparent 100%);-webkit-mask-image:linear-gradient(to right,black 80%,transparent 100%)}.gantt-tick{position:absolute;top:0;width:1px;height:100%;background:#0000000f}.gantt-today{position:absolute;top:0;width:2px;height:100%;background:var(--color-primary);opacity:.5;z-index:2;border-radius:1px}.toolbar-wrapper{display:flex;flex-direction:column;gap:0;margin-bottom:12px;position:relative;z-index:10;overflow:visible}.toolbar{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:8px 14px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}.toolbar.toolbar-clustered{display:grid;grid-template-columns:1fr auto 1fr}.toolbar-cluster{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;row-gap:8px}.toolbar-cluster-left{justify-self:start}.toolbar-cluster-center{justify-self:center}.toolbar-cluster-right{justify-self:end;margin-left:auto}@media(max-width:1279.98px){.toolbar.toolbar-clustered{display:flex;flex-wrap:wrap;row-gap:10px}}.toolbar:has(+.filter-row-collapse.is-open){border-radius:var(--radius-lg) var(--radius-lg) 0 0}.toolbar .btn-primary .filter-row-badge{background:var(--color-text-inverse);color:var(--color-primary)}@media(max-width:767.98px){.toolbar .toolbar-sep{display:none}}@media(max-width:1279.98px){.toolbar.toolbar-clustered .toolbar-sep{display:none}}.filter-row-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.filter-row-collapse.is-open{grid-template-rows:1fr}.filter-row-clip{overflow:hidden;min-height:0}.filter-row{display:flex;align-items:center;gap:10px;padding:6px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap;opacity:0;transition:opacity .2s ease}.filter-row-collapse.is-open>.filter-row-clip>.filter-row{opacity:1}.filter-row .filter-clear{margin-left:auto}.filter-row-toggle{display:flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:all .15s}.filter-row-toggle:hover{color:var(--color-text);background:#0000000a;border-color:var(--color-border)}.filter-row-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--text-2xs);font-weight:600;line-height:1.2;background:var(--color-primary);color:var(--color-text-inverse)}.filter-row-arrow{display:inline-flex;align-items:center;color:var(--color-text-muted);transition:transform .15s}.filter-row-arrow.open{transform:rotate(180deg)}.filter-chips{display:flex;gap:4px;flex-wrap:wrap}.filter-chip{padding:2px 4px 2px 8px;background:var(--color-primary-light);color:var(--color-chip-text, var(--color-primary));border-radius:var(--radius-sm);font-size:var(--text-2xs);font-weight:500;display:inline-flex;align-items:center;gap:4px}.filter-chip-label{cursor:default}.filter-chip-x{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:inherit;font-size:var(--text-base);line-height:1;padding:2px 4px;border-radius:3px;cursor:pointer;opacity:.7;transition:all .1s}.filter-chip-x:hover{opacity:1;background:#00000014}.filter-row-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 0;overflow:visible;flex:1 1 auto}.filter-cluster{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-cluster-right{margin-left:auto}.filter-cluster-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,max-content));align-items:center;gap:12px;flex:1 1 auto;min-width:0}.filter-group{display:flex;align-items:center;gap:6px;flex-shrink:0}.filter-group label{min-width:var(--filter-label-w)}.filter-group .multi-select{width:clamp(150px,15vw,220px)}.filter-group select,.filter-group input[type=month],.admin-filter-field select,.admin-filter-field input[type=date],.admin-filter-field input[type=month]{padding:5px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-base);background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .15s}.filter-group select:focus,.filter-group input[type=month]:focus,.admin-filter-field select:focus,.admin-filter-field input[type=date]:focus,.admin-filter-field input[type=month]:focus{border-color:var(--color-primary)}.multi-select{position:relative;min-width:140px}.multi-select-control{padding:5px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-base);background:var(--color-surface);color:var(--color-text);cursor:pointer;min-height:var(--control-h);display:flex;align-items:center;transition:border-color .15s}.multi-select-control:hover{border-color:var(--color-text-muted)}.multi-select-control[aria-expanded=true]{border-color:var(--color-border-strong)}.multi-select-placeholder{color:var(--color-text-muted)}.multi-select-caret{margin-left:auto;padding-left:6px;flex-shrink:0;color:var(--color-text-muted);transition:transform .15s}.multi-select-control[aria-expanded=true] .multi-select-caret{transform:rotate(180deg)}.multi-select-tags{display:flex;flex-wrap:nowrap;min-width:0;gap:3px}.multi-select-tag{display:inline-flex;align-items:center;gap:2px;min-width:0;max-width:100%;padding:1px 6px;background:var(--color-primary-light);color:var(--color-primary);border-radius:3px;font-size:var(--text-2xs);font-weight:500;white-space:nowrap}.multi-select-tag-overflow{flex-shrink:0;font-weight:700}.multi-select-tag-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-tag-x{background:none;border:none;padding:0;cursor:pointer;font-size:var(--text-sm);line-height:1;margin-left:2px;opacity:.6;color:inherit}.multi-select-tag-x:hover{opacity:1}.multi-select-dropdown{position:absolute;top:100%;left:0;right:0;min-width:200px;margin-top:4px;background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:var(--z-dropdown);font-family:var(--font-base);padding:4px 0}.multi-select-dropdown-portaled{margin-top:0}.multi-select-dropdown-portaled .multi-select-option{white-space:nowrap}.multi-select-search{width:calc(100% - 16px);margin:4px 8px;padding:7px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-base);outline:none;background:var(--color-surface);color:var(--color-text);transition:border-color .15s}.multi-select-search:focus{border-color:var(--color-primary)}.multi-select-search::placeholder{color:var(--color-text-muted)}.multi-select-options{max-height:200px;overflow-y:auto;padding:2px 0}.filter-group .multi-select-dropdown{left:auto;right:0;min-width:max(100%,200px);max-width:min(520px,calc(100vw - 48px));width:max-content}.projects-filter-multiselect .multi-select-dropdown,.users-filter-multiselect .multi-select-dropdown,.roles-filter-multiselect .multi-select-dropdown,.people-filter-multiselect .multi-select-dropdown,.assignments-person-filter-multiselect .multi-select-dropdown,.assignments-role-filter-multiselect .multi-select-dropdown,.assignments-project-filter-multiselect .multi-select-dropdown{right:auto;min-width:100%;max-width:min(520px,calc(100vw - 32px));width:max-content}.filter-group .multi-select-option,.projects-filter-multiselect .multi-select-option,.users-filter-multiselect .multi-select-option,.roles-filter-multiselect .multi-select-option,.people-filter-multiselect .multi-select-option,.assignments-person-filter-multiselect .multi-select-option,.assignments-role-filter-multiselect .multi-select-option,.assignments-project-filter-multiselect .multi-select-option{white-space:nowrap}.multi-select-option{display:flex;align-items:center;gap:8px;padding:7px 14px;font-size:var(--text-sm);color:var(--color-text);cursor:pointer;transition:background .1s}.multi-select-option:hover{background:var(--sidebar-hover-bg)}.multi-select-option input[type=checkbox]{margin:0;accent-color:var(--color-primary)}.multi-select-empty{padding:12px 14px;color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.multi-select-clear{width:100%;padding:8px 14px;border:none;border-top:1px solid var(--color-border);background:none;font-size:var(--text-xs);font-family:var(--font-base);color:var(--color-text-muted);cursor:pointer;transition:background .1s}.multi-select-clear:hover{background:var(--sidebar-hover-bg);color:var(--color-text)}.toggle-group{display:flex;align-items:center;gap:2px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:999px;padding:2px;min-height:var(--control-h)}.toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-h-inner);line-height:1;padding:0 12px;border:1px solid transparent;border-radius:999px;font-size:var(--text-xs);font-weight:500;font-family:var(--font-base);white-space:nowrap;cursor:pointer;background:transparent;color:var(--color-text-muted);transition:all .15s}.toggle-btn .tico{flex-shrink:0;opacity:.75}.toggle-btn.active .tico{opacity:1}.toggle-btn.active{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:0 1px 2px #14181f1a}.toggle-btn-icon{padding:0 8px;display:flex;align-items:center;justify-content:center}.util-badge{font-size:var(--text-2xs);margin-left:2px;vertical-align:super}.util-over{color:var(--color-danger);font-weight:600}.util-ok{color:var(--color-text-muted)}.search-popover{width:280px;background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;overflow:hidden;font-family:var(--font-base)}.search-popover-header{padding:10px;border-bottom:1px solid var(--color-border)}.search-popover-search{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-base);outline:none;background:var(--color-surface);color:var(--color-text);transition:border-color .15s}.search-popover-search:focus{border-color:var(--color-primary)}.search-popover-search::placeholder{color:var(--color-text-muted)}.search-popover-list{overflow-y:auto;flex:1;padding:4px 0;scrollbar-gutter:stable}.search-popover-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:6px 14px;border:none;background:none;cursor:pointer;font-size:var(--text-sm);font-family:var(--font-base);text-align:left;color:var(--color-text);transition:background .1s}.search-popover-item:hover{background:var(--sidebar-hover-bg)}.search-popover-item:disabled{opacity:.5;cursor:wait}.search-popover-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.search-popover-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-popover-sublabel{font-size:var(--text-2xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-popover-empty{padding:16px;color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.search-popover-error{padding:8px 12px;margin:6px 10px;border-radius:var(--radius-sm);background:var(--color-danger-bg);color:var(--color-danger);font-size:var(--text-xs);text-align:center}.assign-trigger,.role-trigger,.status-trigger{cursor:pointer}.assign-trigger:hover,.role-trigger:hover{text-decoration:underline}.status-trigger:hover{opacity:.8}.status-popover{background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-hover);padding:4px;display:flex;flex-direction:column;gap:2px}.status-popover-option{display:flex;align-items:center;padding:6px 10px;border:none;background:none;cursor:pointer;border-radius:var(--radius-sm);transition:background .1s}.status-popover-option:hover,.status-popover-option.active{background:var(--color-surface)}.popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-popover)}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-modal);animation:bottom-sheet-fade-in .15s ease}@keyframes bottom-sheet-fade-in{0%{opacity:0}to{opacity:1}}.bottom-sheet{width:100%;max-width:720px;max-height:85vh;max-height:85dvh;background:var(--color-surface-solid);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);border:1px solid var(--color-border);border-bottom:none;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0);animation:bottom-sheet-slide-up .2s cubic-bezier(.32,.72,0,1)}@keyframes bottom-sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet-grabber{width:36px;height:4px;background:var(--color-border-strong);border-radius:2px;margin:8px auto 4px;flex-shrink:0}.bottom-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 12px;border-bottom:1px solid var(--color-border);flex-shrink:0}.bottom-sheet-title{font-size:var(--text-base);font-weight:600;color:var(--color-text)}.bottom-sheet-close{width:var(--touch-target);height:var(--touch-target);border:none;background:none;color:var(--color-text-muted);font-size:24px;line-height:1;cursor:pointer;border-radius:var(--radius-sm);margin-right:-8px}.bottom-sheet-close:hover{background:var(--color-surface);color:var(--color-text)}.bottom-sheet-body{flex:1 1 auto;overflow-y:auto;padding:12px 16px 16px;-webkit-overflow-scrolling:touch}.desktop-only-fallback{max-width:420px;margin:48px auto;padding:24px 20px;text-align:center}.desktop-only-fallback h2{font-size:var(--text-xl);font-weight:600;color:var(--color-text);margin-bottom:8px}.desktop-only-fallback p{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:16px}.desktop-only-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.cell-warning{background-color:var(--color-warning-bg)!important}.cell-danger{background-color:var(--color-danger-bg)!important}.cell-vacant{background-color:var(--color-vacant-bg)!important}.badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-vacant{background:var(--color-vacant-bg);color:var(--color-vacant)}.badge-tentative{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-over{background:var(--color-danger-bg);color:var(--color-danger)}.badge-under{background:var(--color-success-bg);color:var(--color-success)}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border:1px solid var(--color-border-strong);border-radius:999px;font-size:var(--text-sm);font-family:var(--font-base);font-weight:600;letter-spacing:-.005em;line-height:1;cursor:pointer;background:var(--color-surface);color:var(--color-text);transition:background .15s,color .15s,border-color .15s,box-shadow .15s,transform .08s ease}.btn>svg{flex-shrink:0}.btn:hover{background:var(--color-surface-2)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary);box-shadow:0 1px 2px #0000001f,inset 0 1px #ffffff29}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-ai{background:linear-gradient(135deg,var(--color-ai-1),var(--color-ai-2));color:var(--color-text-inverse);border-color:transparent;box-shadow:0 1px 2px #0000001f,inset 0 1px #ffffff29}.btn-ai:hover{filter:brightness(1.05);background:linear-gradient(135deg,var(--color-ai-1),var(--color-ai-2))}.btn-danger{background:var(--color-danger);color:var(--color-text-inverse);border-color:var(--color-danger)}.btn-danger:hover{opacity:.92;background:var(--color-danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{background:var(--color-surface)}.btn-primary:disabled:hover{background:var(--color-primary);opacity:.5}.btn-danger:disabled:hover{background:var(--color-danger);opacity:.5}.btn-sm{min-height:var(--control-h);padding:6px 12px;font-size:var(--text-xs)}.btn:focus-visible,.toggle-btn:focus-visible,.modal-close:focus-visible,.settings-trigger:focus-visible,.settings-option:focus-visible,.filter-chip-x:focus-visible,.multi-select-tag-x:focus-visible,.month-picker-nav:focus-visible,.month-picker-month:focus-visible,.date-picker-nav:focus-visible,.date-picker-cell:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-danger:focus-visible{outline-color:var(--color-danger)}.status-active{color:var(--color-success)}.status-planned{color:var(--color-primary)}.status-closed{color:var(--color-text-muted)}.status-consultant{color:var(--color-success)}.status-contracted{color:var(--color-warning-text)}.status-filled{color:var(--color-success)}.status-vacant{color:var(--color-vacant)}.status-tentative{color:var(--color-warning-text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding-bottom:10vh;z-index:var(--z-modal);animation:modal-fade-in .15s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);width:520px;max-width:calc(100vw - 40px);max-height:calc(90vh - 80px);max-height:calc(100dvh - 80px - 10vh);display:flex;flex-direction:column;animation:modal-slide-in .15s ease;font-family:var(--font-base)}.modal-panel-wide{width:680px}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:639.98px){.modal-overlay{align-items:flex-end;padding-bottom:0}.modal-panel{width:100%;max-width:none;max-height:85dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:none;padding-bottom:env(safe-area-inset-bottom,0);animation:bottom-sheet-slide-up .2s cubic-bezier(.32,.72,0,1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--text-lg);font-weight:600;display:flex;align-items:center;gap:8px}.modal-close{width:28px;height:28px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);color:var(--color-text-muted);transition:all .1s}.modal-close:hover{background:var(--color-bg);color:var(--color-text)}.modal-body{padding:16px 20px;overflow-y:auto;flex:1}.modal-footer{padding:12px 20px;border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted);text-align:center}.confirm-modal{width:560px}.confirm-modal-title-row{gap:10px}.confirm-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--color-danger-bg);color:var(--color-danger);flex-shrink:0}.confirm-modal-body{padding:16px 20px}.confirm-modal-message{font-size:var(--text-sm);color:var(--color-text);line-height:1.5}.confirm-modal-message+.confirm-groups{margin-top:14px}.confirm-groups{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.confirm-group+.confirm-group{border-top:1px solid var(--color-border)}.confirm-group>summary,.confirm-group-static{list-style:none;cursor:pointer;padding:10px 12px;display:block;transition:background .1s}.confirm-group-static{cursor:default}.confirm-group>summary::-webkit-details-marker{display:none}.confirm-group>summary:hover{background:var(--sidebar-hover-bg)}.confirm-group-summary-row{display:flex;align-items:center;gap:10px;font-size:var(--text-sm)}.confirm-group-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 6px;border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums}.confirm-group-label{color:var(--color-text)}.confirm-group-hint{color:var(--color-text-muted);font-size:var(--text-xs)}.confirm-group-chevron{margin-left:auto;color:var(--color-text-muted);display:inline-flex;transition:transform .15s}.confirm-group[open]>summary .confirm-group-chevron{transform:rotate(180deg)}.confirm-group-list{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto;border-top:1px solid var(--color-border);background:#0000001f}.confirm-group-item{padding:8px 12px 8px 46px;font-size:var(--text-sm);display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--color-border)}.confirm-group-item:first-child{border-top:none}.confirm-group-item-label{color:var(--color-text)}.confirm-group-item-sublabel{color:var(--color-text-muted);font-size:var(--text-xs)}.confirm-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;text-align:initial;font-size:inherit;color:inherit}.shortcut-group{margin-bottom:16px}.shortcut-group:last-child{margin-bottom:0}.shortcut-group-title{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--color-border)}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0}.shortcut-label{font-size:var(--text-sm);color:var(--color-text)}.shortcut-keys{display:flex;align-items:center;gap:2px}.shortcut-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:var(--color-bg-2);border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-base);font-size:var(--text-2xs);font-weight:500;color:var(--color-text);box-shadow:0 1px #0003}.shortcut-plus{font-size:var(--text-2xs);color:var(--color-text-muted);margin:0 1px}.snapshot-bar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);overflow:hidden;max-height:0;opacity:0;margin-bottom:0;transition:max-height .25s ease,opacity .2s ease .05s,padding .25s ease,margin .25s ease}.snapshot-bar.visible{max-height:52px;opacity:1;padding:10px 16px;margin-bottom:8px}.snapshot-bar-left{display:flex;align-items:center;gap:10px;color:var(--color-text);font-size:var(--text-sm)}.snapshot-bar-name{font-weight:600}.snapshot-bar-meta{color:var(--color-text-muted);font-size:var(--text-xs)}.snapshot-bar-close{padding:5px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:var(--text-xs);font-weight:500;font-family:var(--font-base);cursor:pointer;transition:all .15s}.snapshot-bar-close:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.snapshot-modal{width:480px}.snapshot-save-section{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.snapshot-save-label{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.snapshot-input,.snapshot-textarea,.setup-select{width:100%;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-base);background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .15s}.snapshot-input:focus,.snapshot-textarea:focus,.setup-select:focus{border-color:var(--color-primary)}.snapshot-input::placeholder,.snapshot-textarea::placeholder{color:var(--color-text-muted)}.snapshot-textarea{resize:vertical;min-height:48px}.setup-field{margin-bottom:18px}.setup-field:last-of-type{margin-bottom:0}.setup-label{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.setup-label-hint{text-transform:none;letter-spacing:0;font-weight:400;color:var(--color-text-faint)}.setup-help{margin:0 0 10px;font-size:var(--text-xs);line-height:1.5;color:var(--color-text-muted)}.setup-position-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}.setup-position{display:flex;align-items:center;gap:8px}.setup-position .setup-select{flex:1;min-width:0}.setup-add{align-self:flex-start}.snapshot-save-btn{align-self:flex-start;padding:7px 20px;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:500;font-family:var(--font-base);cursor:pointer;transition:all .15s}.snapshot-save-btn:hover:not(:disabled){opacity:.9}.snapshot-save-btn:disabled{opacity:.5;cursor:not-allowed}.snapshot-list-section{border-top:1px solid var(--color-border);padding-top:16px}.modal-body>.snapshot-list-section:first-child{border-top:none;padding-top:0}.modal-title .snapshot-list-count{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--text-2xs);font-weight:600;line-height:1.2;background:var(--color-primary-light);color:var(--color-primary);margin-left:4px}.people-xero-cell{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:0;color:inherit}.project-group-label{font-size:var(--text-xs)}.project-code{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.archived-badge{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:10px;background:var(--color-bg-2);color:var(--color-text-muted);white-space:nowrap}.admin-filter-checkbox{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.admin-name-cell{display:inline-flex;align-items:center;gap:8px;min-width:0}.admin-cell-archived{opacity:.55}.row-action-btn{width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .1s}.row-action-btn:hover{background:var(--color-editable-hover);color:var(--color-text)}.editable-table-cell-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.profile-page{display:flex;flex-direction:column;gap:24px;padding:18px 0 56px}.profile-skeleton-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.profile-project-link{color:inherit;text-decoration:none;border-radius:var(--radius-sm)}.profile-project-link:hover{text-decoration:underline}.profile-project-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.profile-intro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}.profile-avatar{width:76px;height:76px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-inverse);font-size:30px;font-weight:700;flex-shrink:0;box-shadow:inset 0 1px #ffffff2e,0 6px 18px -12px #14181f73}.profile-intro-copy{min-width:0}.profile-intro-copy h1{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.05;font-weight:700;letter-spacing:0;color:var(--color-text)}.profile-intro-copy p{margin-top:6px;font-size:var(--text-lg);color:var(--color-text-2)}.profile-allocation-link{align-self:start;margin-top:8px}.profile-avatar-project{background:var(--color-primary)}.profile-card{padding:20px 22px}.profile-block-title{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);margin:0}.profile-answer{font-size:var(--text-lg);line-height:1.45;color:var(--color-text);margin:12px 0 0}.profile-answer strong{font-weight:650}.profile-quiet{color:var(--color-text-muted);margin:12px 0 0;font-size:var(--text-sm)}.profile-source{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.55}.profile-source strong{color:var(--color-text-2);font-weight:600}.profile-load-error{margin:12px 0 0;padding:11px 13px;border-radius:var(--radius-md);background:var(--color-surface-2);border-left:3px solid var(--color-warning);font-size:var(--text-sm);color:var(--color-text-2)}.profile-now-list{list-style:none;margin:14px 0 0;padding:0}.profile-now-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--color-border);font-size:var(--text-sm)}.profile-now-swatch{width:8px;height:8px;border-radius:2px;flex:none}.profile-now-name{flex:1;color:var(--color-text-2)}.profile-now-val{font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.profile-now-val small{font-weight:400;color:var(--color-text-muted)}.profile-balances{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.profile-balance{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);padding:9px 12px;min-width:120px}.profile-balance-n{font-size:var(--text-lg);font-weight:650;color:var(--color-text);font-variant-numeric:tabular-nums}.profile-balance-n.is-negative{color:var(--color-danger)}.profile-balance-l{font-size:var(--text-2xs);color:var(--color-text-muted)}.profile-fold{display:flex;align-items:center;gap:8px;background:none;border:none;padding:0;cursor:pointer;color:var(--color-text-muted)}.profile-fold:hover .profile-block-title{color:var(--color-text-2)}.field-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding:12px 14px;background:var(--color-surface-2);border-radius:var(--radius-md)}.absence-sentence{font-size:var(--text-sm);color:var(--color-text-2)}.field-row .absence-note-input{flex:1;min-width:130px;width:auto}.field-error{margin-top:10px;color:var(--color-danger);font-size:var(--text-sm)}.absence-undo{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:var(--text-sm);color:var(--color-text-2)}.absence-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:1px}.absence-list li{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--radius-sm);font-size:var(--text-sm)}.absence-list li:hover{background:var(--color-surface-2)}.absence-dates{font-weight:600;color:var(--color-text);flex:0 0 auto;white-space:nowrap}.absence-days{color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex:0 0 auto;white-space:nowrap}.absence-list li.is-now{box-shadow:inset 2px 0 0 var(--color-info)}.absence-now{flex:0 0 auto;font-size:var(--text-2xs);font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--color-info);background:var(--color-info-bg);border-radius:var(--radius-sm);padding:2px 6px;white-space:nowrap}.absence-note-text{flex:1 1 auto;min-width:0;color:var(--color-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.absence-actions{margin-left:auto;flex:0 0 auto;display:flex;gap:6px}.btn-remove{color:var(--color-text-muted)}.btn-remove:hover{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-bg)}@media(max-width:639.98px){.absence-list li{flex-wrap:wrap}.absence-note-text{flex:1 0 100%;white-space:normal;order:1}.absence-actions{order:2}}.absence-past{margin-top:12px}.absence-past summary{cursor:pointer;color:var(--color-text-muted);font-size:var(--text-xs)}.profile-record-table{width:100%;border-collapse:collapse;margin-top:14px;font-size:var(--text-sm)}.profile-record-table th,.profile-record-table td{text-align:left;padding:9px 0;border-bottom:1px solid var(--color-border);vertical-align:baseline}.profile-record-table tr:last-child th,.profile-record-table tr:last-child td{border-bottom:none}.profile-record-table th{width:200px;font-weight:500;color:var(--color-text-muted);padding-right:16px}.profile-record-table td{color:var(--color-text)}.profile-record-table td.is-unset{color:var(--color-text-faint)}@media(max-width:559.98px){.profile-record-table th{width:40%;padding-right:10px}}.profile-months{display:none}.profile-month{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;margin-top:8px}.profile-month.is-current{border-color:var(--color-primary)}.profile-month-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:6px}.profile-month-row{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:var(--text-sm);color:var(--color-text-2)}.profile-month-row b{color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.profile-month-row b small{font-weight:400;color:var(--color-text-muted)}.profile-month-row.is-leave{color:var(--color-info)}.profile-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}@media(max-width:899.98px){.profile-pair{grid-template-columns:1fr}}.profile-lead-card{display:flex;flex-direction:column}.profile-lead-link{display:flex;align-items:center;gap:12px;margin-top:12px;color:inherit;text-decoration:none;border-radius:var(--radius-md)}.profile-lead-link:hover .profile-lead-name{text-decoration:underline}.profile-lead-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.profile-lead-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:700}.profile-lead-name{flex:1;min-width:0;font-size:var(--text-lg);font-weight:650;color:var(--color-text)}.profile-lead-arrow{color:var(--color-text-muted);flex-shrink:0}.profile-lead-unset{margin:12px 0 0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.profile-key{margin:0 0 14px;font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;max-width:68ch}.profile-key-item{white-space:nowrap}.profile-key .profile-cell-planned,.profile-key .profile-cell-actual{font-size:inherit}.profile-cell{display:flex;flex-direction:column;line-height:1.25}.profile-cell-planned{font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums}.profile-cell-editable{font:inherit;font-weight:inherit;font-variant-numeric:inherit;color:inherit;background:none;border:1px solid transparent;border-radius:var(--radius-xsm);padding:0 3px;margin:0 -3px;cursor:text;transition:background .12s,border-color .12s}.profile-cell-editable:hover,.profile-cell-editable:focus-visible{background:var(--color-surface-2);border-color:var(--glass-border);outline:none}.profile-cell-input{font:inherit;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text);width:100%;min-width:3.5em;box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-xsm);padding:0 3px;text-align:inherit}.profile-cell-input:focus{outline:none}.profile-cell-input.is-invalid{border-color:var(--color-danger)}.profile-lead-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-lead-edit{flex-shrink:0}.profile-lead-locked{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);cursor:help}.profile-cell-actual{font-size:var(--text-2xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.profile-cell-actual.is-none{color:var(--color-zero)}@media(max-width:759.98px){.profile-allocation-card{display:none}.profile-months{display:block}.profile-card{padding:16px}.field-row{gap:6px}.field-row input{flex:1;min-width:120px}.absence-list li{flex-wrap:wrap;row-gap:2px;padding:9px 8px}.absence-note-text{flex-basis:100%;white-space:normal}.absence-actions{margin-left:auto}}.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}.profile-allocation-section{display:flex;flex-direction:column;gap:14px}.profile-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.profile-allocation-card{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.profile-allocation-table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:var(--text-sm)}.profile-allocation-table th,.profile-allocation-table td{border-bottom:1px solid var(--color-border);padding:12px 10px;vertical-align:middle}.profile-allocation-table thead th{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700;text-align:center}.profile-allocation-table tbody th,.profile-allocation-table tfoot th{text-align:left}.profile-allocation-table tbody tr:last-child th,.profile-allocation-table tbody tr:last-child td{border-bottom-color:var(--color-border)}.profile-allocation-table tfoot th,.profile-allocation-table tfoot td{background:var(--color-bg);border-bottom:none}.profile-allocation-table .current{background:var(--color-month-current-bg)}.profile-activity-col{width:280px}.profile-activity-name{color:var(--color-text);font-weight:700}.profile-activity-row-label{display:flex;align-items:center;gap:10px;min-width:0}.profile-activity-text{display:flex;flex-direction:column;min-width:0}.profile-activity-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-activity-text small{margin-top:2px;color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:600}.profile-activity-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.profile-allocation-table td{text-align:center}.profile-allocation-table th.is-over{color:var(--color-danger-text, var(--color-danger))}.profile-allocation-table th.is-under{color:var(--color-under)}.profile-month-over-icon{vertical-align:-2px;margin-right:3px}.profile-month.is-over{border-color:var(--color-danger)}.profile-month.is-under{border-color:var(--color-under)}.profile-month-flag{display:inline-flex;align-items:center;gap:2px;margin-left:6px;font-weight:700}.profile-month-flag.is-over{color:var(--color-danger-text, var(--color-danger))}.profile-month-flag.is-under{color:var(--color-under)}@media(max-width:899.98px){.profile-page{padding-left:18px;padding-right:18px}.profile-intro{grid-template-columns:auto minmax(0,1fr)}.profile-allocation-link{grid-column:2;justify-self:start;margin-top:0}.profile-section-heading{align-items:flex-start;flex-direction:column}}@media(max-width:519.98px){.profile-page{padding-left:12px;padding-right:12px}.profile-intro{grid-template-columns:1fr;justify-items:start}.profile-avatar{width:62px;height:62px;font-size:var(--text-xl)}.profile-intro-copy h1{font-size:var(--text-2xl)}.profile-allocation-link{grid-column:auto}}.xero-link-section{display:flex;flex-direction:column;gap:8px}.xero-link-section+.xero-link-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.xero-link-section-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.xero-link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto}.xero-link-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:var(--radius-sm)}.xero-link-item:hover{background:var(--sidebar-hover-bg)}.xero-link-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.xero-link-item-name{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.xero-link-item-sub{font-size:var(--text-xs);color:var(--color-text-muted)}.xero-link-muted{color:var(--color-zero);font-style:italic}.xero-link-status{color:var(--color-text-muted);margin-left:4px}.xero-link-kind{color:var(--color-text-muted)}.xero-link-warning{color:var(--color-warning-text)}.xero-link-empty{font-size:var(--text-sm);color:var(--color-text-muted);padding:8px 0}.xero-link-help{font-size:var(--text-xs);color:var(--color-text-muted);margin:0 0 4px;line-height:1.5}.xero-link-error{font-size:var(--text-xs);color:var(--color-danger);margin-top:4px}.xero-link-item.has-error{background:color-mix(in srgb,var(--color-danger) 8%,transparent)}.payroll-suggest-help{font-size:var(--text-xs);color:var(--color-text-muted);padding-bottom:8px}.payroll-suggest-list .xero-link-item{align-items:flex-start;gap:12px}.payroll-suggest-list .xero-link-item-main{flex:1}.payroll-suggest-target{font-weight:500}.payroll-suggest-confidence{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:8px;margin-left:8px}.payroll-suggest-confidence.high{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.payroll-suggest-confidence.ambiguous{background:color-mix(in srgb,var(--color-warning) 16%,transparent);color:var(--color-warning-text)}.payroll-suggest-footer{display:flex;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.snapshot-list{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto}.snapshot-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-sm);transition:background .1s}.snapshot-item:hover{background:var(--sidebar-hover-bg)}.snapshot-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.snapshot-item-name{font-size:var(--text-sm);font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snapshot-item-meta{font-size:var(--text-2xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snapshot-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.snapshot-view-btn{padding:4px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:var(--text-xs);font-family:var(--font-base);cursor:pointer;transition:all .15s}.snapshot-view-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.snapshot-delete-btn{width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:var(--text-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s}.snapshot-delete-btn:hover{background:var(--color-danger-bg);color:var(--color-danger)}.snapshot-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px;color:var(--color-text-muted);text-align:center;font-size:var(--text-sm)}.snapshot-empty-hint{font-size:var(--text-xs);opacity:.7}.invite-modal{width:560px}.invite-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:14px}.invite-field{display:flex;flex-direction:column;gap:6px}.invite-field>span{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.invite-role-field{grid-column:1 / -1}.invite-role-toggle{align-self:start}.invite-created{display:flex;gap:8px;margin-bottom:16px}.invite-url-input{font-family:var(--font-mono);font-size:var(--text-xs)}.invite-list-section{margin-top:4px}.invite-item-meta{display:flex;align-items:center;gap:8px}.invite-item-meta .status-badge{flex-shrink:0}.invite-google{width:100%;margin:6px 0 10px}.linked-person-cell{display:flex;align-items:center;gap:6px;min-width:0}.linked-person-trigger{min-width:0;flex:1;display:block;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;padding:2px 4px;text-align:left;cursor:pointer;transition:background .1s}.linked-person-trigger:hover{background:var(--color-editable-hover)}.linked-person-trigger.is-empty{flex:0 1 auto}.linked-person-unlink{width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:var(--text-lg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .1s}.linked-person-unlink:hover{background:var(--color-danger-bg);color:var(--color-danger)}@media(max-width:639.98px){.invite-form{grid-template-columns:1fr}.invite-created{flex-direction:column}}@keyframes snapshot-saved{0%{background:var(--color-success-bg)}to{background:transparent}}.snapshot-item-new{animation:snapshot-saved 1.5s ease-out}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-bg) 25%,var(--color-border) 50%,var(--color-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-card{height:90px;border-radius:var(--radius-lg)}.skeleton-widget{height:200px;border-radius:var(--radius-lg)}.skeleton-table-row{height:36px;margin-bottom:2px}.skeleton-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.skeleton-line{height:11px;margin:3px 0}.skeleton-avatar{width:30px;height:30px;border-radius:50%;flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:var(--text-2xs);font-weight:600;letter-spacing:-.005em;text-transform:capitalize;white-space:nowrap}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-badge-active{background:var(--color-success-bg);color:var(--color-success)}.status-badge-pipeline{background:var(--color-primary-light);color:var(--color-primary)}.status-badge-muted,.status-badge-completed,.status-badge-viewer{background:var(--color-bg);color:var(--color-text-muted)}.status-badge-danger,.status-badge-canceled,.status-badge-admin{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge-consultant{background:var(--color-success-bg);color:var(--color-success)}.status-badge-contracted{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-badge-filled{background:var(--color-success-bg);color:var(--color-success)}.status-badge-vacant{background:var(--color-vacant-bg);color:var(--color-vacant)}.status-badge-tentative{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-badge-treasurer{background:var(--color-info-bg);color:var(--color-info)}.status-badge-planner{background:var(--color-primary-light);color:var(--color-primary)}.status-badge-pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.person-name-vacant{color:var(--color-vacant)}.status-badge-pipeline,.status-badge-planner{color:var(--color-chip-text, var(--color-primary))}.loading-center{padding:40px;text-align:center;color:var(--color-text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;color:var(--color-text-muted);text-align:center}.empty-state-icon{opacity:.4}.empty-state-text{font-size:var(--text-base)}.empty-state-hint{font-size:var(--text-xs);opacity:.7}.empty-state-v2{display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 24px;color:var(--color-text-muted);text-align:center}.empty-state-compact{padding:24px 16px;gap:6px}.empty-state-illustration{color:var(--color-text-muted);opacity:.7;margin-bottom:4px;animation:empty-state-float 4s ease-in-out infinite}.empty-state-compact .empty-state-illustration{transform:scale(.7);margin-bottom:0}.empty-state-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text)}.empty-state-compact .empty-state-title{font-size:var(--text-sm)}.empty-state-hint-v2{font-size:var(--text-sm);opacity:.75;max-width:360px;line-height:1.5}.empty-state-compact .empty-state-hint-v2{font-size:var(--text-xs)}.empty-state-action{margin-top:10px}@keyframes empty-state-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.empty-state-illustration{animation:none}.filter-row-collapse,.filter-row,.lv-hero-name>svg,.lv-roster{transition:none}}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;margin-bottom:12px;background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius-sm);font-size:var(--text-sm)}.error-banner button{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:var(--text-xs);opacity:.7}.error-banner button:hover{opacity:1}.ds-toc{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:32px;padding:12px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.ds-toc-link{font-size:var(--text-xs);color:var(--color-text-muted);text-decoration:none;padding:4px 10px;border-radius:var(--radius-sm);transition:all .15s}.ds-toc-link:hover{background:var(--color-primary-light);color:var(--color-primary)}.ds-section{margin-bottom:48px}.ds-section-title{font-size:var(--text-xl);font-weight:700;margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.ds-subsection{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin:24px 0 12px}.ds-swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.ds-swatch{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.ds-swatch-color{width:36px;height:36px;border-radius:6px;border:1px solid rgba(128,128,128,.2);flex-shrink:0}.ds-swatch-info{display:flex;flex-direction:column;min-width:0}.ds-var-name{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--color-primary)}.ds-swatch-value{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--color-text-muted)}.ds-swatch-label{font-size:var(--text-2xs);color:var(--color-text-muted);opacity:.7}.ds-type-specimen{margin-bottom:16px}.ds-type-row{display:flex;align-items:baseline;gap:12px;padding:6px 0;border-bottom:1px solid var(--color-border)}.ds-type-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);min-width:100px}.ds-type-value{font-size:var(--text-xs);font-family:var(--font-mono);word-break:break-all}.ds-type-samples{display:flex;flex-direction:column;gap:12px}.ds-radius-row{display:flex;gap:24px}.ds-radius-item{display:flex;flex-direction:column;align-items:center;gap:6px}.ds-radius-box{width:64px;height:64px;background:var(--color-primary);opacity:.3}.ds-radius-item code{font-size:var(--text-2xs)}.ds-spacing-scale{display:flex;flex-direction:column;gap:6px}.ds-spacing-item{display:flex;align-items:center;gap:10px}.ds-spacing-bar{height:10px;background:var(--color-primary);opacity:.4;border-radius:2px}.ds-spacing-item span{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--color-text-muted)}.ds-shadow-row{display:flex;gap:24px;margin-bottom:24px}.ds-shadow-card{width:200px;height:120px;background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.ds-shadow-card code{font-size:var(--text-2xs);color:var(--color-primary)}.ds-shadow-card span{font-size:var(--text-2xs);color:var(--color-text-muted)}.ds-glass-demo{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-vacant) 100%);border-radius:var(--radius-md);padding:32px;margin-bottom:16px}.ds-glass-panel{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:inset 0 1px #ffffff0a;border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:4px}.ds-glass-panel code{font-size:var(--text-sm);font-weight:600}.ds-glass-panel span{font-size:var(--text-2xs);color:#fff9;font-family:var(--font-mono)}.ds-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:4px;margin-bottom:16px}.ds-icon-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:var(--radius-sm);transition:background .15s}.ds-icon-item:hover{background:var(--color-surface)}.ds-icon-item code{font-size:var(--text-2xs);color:var(--color-text-muted);text-align:center}.ds-button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.ds-form-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.ds-badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.ds-value-colors{display:flex;flex-direction:column;gap:6px;font-size:var(--text-base);font-variant-numeric:tabular-nums}.ds-spec-table{margin:12px 0}.ds-spec-row{display:flex;padding:6px 0;border-bottom:1px solid var(--color-border);font-size:var(--text-xs)}.ds-spec-row span:first-child{min-width:140px;font-weight:600;color:var(--color-text-muted)}.ds-spec-row span:last-child{font-family:var(--font-mono)}.ds-code{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 16px;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6;overflow-x:auto;margin:12px 0;white-space:pre}.ds-theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:16px}.ds-theme-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:8px}.ds-theme-name{font-size:var(--text-sm);font-weight:600}.ds-theme-swatches{display:flex;gap:4px}.ds-theme-dot{width:20px;height:20px;border-radius:50%;border:1px solid rgba(128,128,128,.3)}.presence{display:flex;align-items:center;gap:10px}.presence-label{font-size:var(--text-xs);color:var(--color-text-muted);display:flex;align-items:center;gap:6px}.presence-label:before{content:"";width:6px;height:6px;border-radius:3px;background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-bg)}.presence-connecting .presence-label:before{background:var(--color-warning);box-shadow:0 0 0 3px var(--color-warning-bg);animation:cursor-blink 1s infinite}.presence-disconnected .presence-label:before{background:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-bg)}.presence-stack{display:flex;align-items:center}.presence-avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:600;color:var(--color-text-inverse);margin-left:-6px;position:relative;box-shadow:0 0 0 2px var(--color-bg);transition:transform .12s ease;cursor:pointer;overflow:visible}.presence-avatar:first-child{margin-left:0}.presence-avatar:hover{transform:translateY(-1px);z-index:2}.avatar>img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.avatar-initials{-webkit-user-select:none;user-select:none;letter-spacing:.2px}.presence-avatar.overflow{background:var(--color-surface-solid)!important;color:var(--color-text);font-size:var(--text-2xs)}.presence-avatar .tip{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-bg);font-size:var(--text-2xs);font-weight:500;padding:4px 8px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;z-index:10}.presence-avatar:hover .tip{opacity:1}.toolbar-sep{width:1px;height:20px;background:var(--color-border);margin:0 4px;flex-shrink:0}.grow{flex:1}.toolbar-control{display:inline-flex;align-items:center;gap:8px}.range-unit-short{display:none}@media(max-width:1023.98px){.range-unit-long{display:none}.range-unit-short{display:inline}}.tool-field{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:var(--control-h);padding:5px 10px;font-size:var(--text-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-solid);color:var(--color-text);cursor:pointer;transition:border-color .1s}.tool-field:hover{border-color:var(--color-border-strong)}.tool-field .lbl{color:var(--color-text-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.3px}.tool-field svg{color:var(--color-text-muted);flex-shrink:0}.month-picker{position:relative;display:inline-flex}.month-picker-trigger{font-family:var(--font-base)}.month-picker-trigger[aria-expanded=true]{border-color:var(--color-border-strong)}.month-picker-value{font-weight:500;font-variant-numeric:tabular-nums}.month-picker-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-popover);width:220px;padding:10px;background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;gap:8px}.month-picker-year{display:flex;align-items:center;justify-content:space-between;gap:4px}.month-picker-nav{width:26px;height:26px;padding:0;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-lg);line-height:1;cursor:pointer;transition:background .1s,color .1s}.month-picker-nav:hover{background:var(--color-group-bg);color:var(--color-text)}.month-picker-year-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums}.month-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.month-picker-cell{padding:7px 0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-base);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.month-picker-cell:hover{background:var(--color-group-bg);color:var(--color-text)}.month-picker-cell.current{border-color:var(--color-border-strong);color:var(--color-text)}.month-picker-cell.selected{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.month-picker-cell.selected:hover{background:var(--color-primary);color:var(--color-text-inverse)}.month-picker-today{padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-base);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.month-picker-today:hover{background:var(--color-group-bg);color:var(--color-text);border-color:var(--color-border-strong)}.date-picker{position:relative;display:inline-flex}.date-picker-trigger{font-family:var(--font-base)}.date-picker-trigger[aria-expanded=true]{border-color:var(--color-border-strong)}.date-picker-value{font-weight:500;font-variant-numeric:tabular-nums}.date-picker-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-popover);width:252px;padding:10px;background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;gap:6px}.date-picker-header{display:flex;align-items:center;justify-content:space-between;gap:4px}.date-picker-nav{width:26px;height:26px;padding:0;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-lg);line-height:1;cursor:pointer;transition:background .1s,color .1s}.date-picker-nav:hover{background:var(--color-group-bg);color:var(--color-text)}.date-picker-header-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums}.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);text-align:center;padding-bottom:2px}.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-picker-cell{padding:6px 0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-base);font-size:var(--text-xs);font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.date-picker-cell:hover{background:var(--color-group-bg)}.date-picker-cell.muted{color:var(--color-text-muted);opacity:.5}.date-picker-cell.current{border-color:var(--color-border-strong);color:var(--color-text)}.date-picker-cell.selected{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.date-picker-cell.selected:hover{background:var(--color-primary);color:var(--color-text-inverse)}.date-picker-actions{display:flex;gap:6px;margin-top:2px}.date-picker-action{flex:1;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-base);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.date-picker-action:hover{background:var(--color-group-bg);color:var(--color-text);border-color:var(--color-border-strong)}.date-picker-action.primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.date-picker-action:disabled{opacity:.45;cursor:not-allowed}.date-range-picker{position:relative;display:inline-flex}.date-range-trigger{font-family:var(--font-base)}.date-range-value{font-weight:500;font-variant-numeric:tabular-nums}.date-range-popover{z-index:var(--z-popover);padding:12px;background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;gap:10px}.date-range-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.date-range-summary-btn{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:var(--font-base);text-align:left;cursor:pointer}.date-range-summary-btn span{color:var(--color-text-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.4px}.date-range-summary-btn strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:600}.date-range-summary-btn.active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.date-range-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--text-sm);font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums}.date-range-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.date-range-month h3{margin:0 0 8px;font-size:var(--text-sm);font-weight:600;text-align:center}.date-range-weekdays,.date-range-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.date-range-weekdays{gap:2px;padding-bottom:4px;color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.5px}.date-range-grid{gap:2px 0}.date-range-cell{position:relative;z-index:0;min-width:0;height:30px;padding:0;border:none;background:transparent;color:var(--color-text);font-family:var(--font-base);font-size:var(--text-xs);font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer}.date-range-cell:before{content:"";position:absolute;top:3px;right:0;bottom:3px;left:0;z-index:-2;background:transparent}.date-range-cell:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;z-index:-1;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent}.date-range-cell:hover:after{background:var(--color-group-bg)}.date-range-cell:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.35}.date-range-cell:disabled:before,.date-range-cell:disabled:after{background:transparent;border-color:transparent}.date-range-cell.muted{color:var(--color-text-muted);opacity:.55}.date-range-cell.current:after{border-color:var(--color-border-strong)}.date-range-cell.in-range:before{background:var(--color-primary-light)}.date-range-cell.range-start:before{left:50%;background:var(--color-primary-light)}.date-range-cell.range-end:before{right:50%;background:var(--color-primary-light)}.date-range-cell.range-start.range-end:before{background:transparent}.date-range-cell.range-start:after,.date-range-cell.range-end:after{background:var(--color-primary);border-color:var(--color-primary)}.date-range-cell.range-start,.date-range-cell.range-end{color:var(--color-text-inverse)}.date-range-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:639.98px){.date-range-months{grid-template-columns:1fr}.date-range-months .date-range-month:nth-child(2){display:none}.date-range-summary{grid-template-columns:1fr}}.display-menu{position:relative;display:inline-flex;flex-shrink:0}.display-trigger{display:inline-flex;align-items:center;gap:6px}.display-trigger.active{border-color:var(--color-border-strong);background:var(--color-surface-2)}.display-trigger-dots{display:inline-flex;align-items:center;gap:2px;margin-left:1px}.display-trigger-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.display-panel{z-index:300;min-width:230px;max-height:min(70vh,420px);overflow-y:auto;padding:6px;background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;gap:4px}.display-section{display:flex;flex-direction:column;gap:1px;padding:4px 0}.display-section+.display-section{border-top:1px solid var(--color-border)}.display-section-title{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);padding:2px 8px 4px;display:flex;justify-content:space-between;gap:10px}.display-section-count{text-transform:none;letter-spacing:0;font-weight:500;font-variant-numeric:tabular-nums}.display-option{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);font-size:var(--text-sm);font-family:var(--font-base);cursor:pointer;transition:background .12s,color .12s}.display-option:hover{background:var(--color-editable-hover);color:var(--color-text)}.display-option.active{color:var(--color-text)}.display-option-ico{flex-shrink:0;opacity:.8}.display-option.active .display-option-ico{opacity:1}.display-option-label{flex:1;text-align:left;font-weight:500}.display-option-check{color:var(--color-primary)}.display-key{gap:6px}.display-key-row{display:flex;flex-wrap:wrap;gap:4px 12px;padding:0 8px}.display-key-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-2xs);color:var(--color-text-muted)}.display-key-dot{width:9px;height:9px;border-radius:3px;display:inline-block;box-shadow:inset 0 0 0 1px #00000014}.display-sheet .display-section+.display-section{border-top-color:var(--color-border)}.display-sheet .display-option{font-size:var(--text-base);padding:11px 8px}.grid-card{background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 1px 2px #0f172a0a,0 8px 24px -12px #0f172a14;overflow:auto;flex:0 1 auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.35) transparent}.grid-card::-webkit-scrollbar{width:10px;height:10px}.grid-card::-webkit-scrollbar-track{background:transparent}.grid-card::-webkit-scrollbar-thumb{background:#64748b47;border-radius:6px;border:2px solid transparent;background-clip:padding-box}.grid-card::-webkit-scrollbar-thumb:hover{background:#64748b80;background-clip:padding-box}.grid-card::-webkit-scrollbar-corner{background:transparent}.pivot-loading,.pivot-empty{padding:32px;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}:root{--pivot-col-label: 200px;--pivot-col-layer: 81px;--pivot-col-month: 74px;--pivot-row-layer: 35px}table.pivot{width:100%;border-collapse:collapse;font-size:var(--text-sm);table-layout:fixed}table.pivot.pivot-sized-label{min-width:calc(var(--pivot-col-label) + var(--pivot-col-layer) + var(--pivot-month-count, 0) * var(--pivot-col-month))}table.pivot thead th{background:var(--color-surface-2);border-bottom:1px solid var(--color-border);font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);padding:13px 10px;text-align:center;vertical-align:middle;position:sticky;top:0;z-index:2}table.pivot thead th.left{text-align:left}table.pivot thead th.month-col{padding-left:6px;padding-right:6px}td.person-cell{display:table-cell;padding:0;vertical-align:middle;border-right:1px solid var(--color-border);background:var(--color-surface-solid)}.person-body{padding:10px 8px;display:flex;align-items:center;gap:10px;line-height:1.2}.person-toggle{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:pointer;transition:transform .15s;flex-shrink:0;background:transparent;border:0;padding:0}.person-toggle.open{transform:rotate(90deg)}.person-col-toggle{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:6px;padding:0;border:0;border-radius:3px;background:transparent;color:var(--color-text-muted);cursor:pointer;vertical-align:-3px;transition:transform .15s,background .15s,color .15s}.person-col-toggle:hover{background:#0000000d;color:var(--color-text)}.person-col-toggle.open{transform:rotate(90deg)}.person-avatar{width:28px;height:28px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:600;color:var(--color-text-inverse);flex-shrink:0;box-shadow:0 0 0 2px var(--color-surface-solid),0 1px 2px #0f172a14;letter-spacing:.02em}.person-meta{min-width:0;flex:1}.person-name{display:flex;align-items:center;gap:4px;min-width:0;font-size:var(--text-sm);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-name-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.person-name-profile-link{display:inline-flex;align-items:center;gap:2px;min-width:0;max-width:100%;color:inherit;text-decoration:none}.person-name-profile-link:hover,.person-name-profile-link:focus-visible{color:var(--color-primary)}.person-name-profile-icon{opacity:0;color:var(--color-text-muted);transition:opacity .15s,color .15s,transform .15s;flex-shrink:0}.person-name-profile-link:hover .person-name-profile-icon,.person-name-profile-link:focus-visible .person-name-profile-icon{opacity:1;color:var(--color-primary);transform:translate(1px)}.person-sub{font-size:var(--text-2xs);color:var(--color-text-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-add-position{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:none;color:var(--color-text-muted);cursor:pointer;opacity:.7;transition:opacity .12s ease,color .12s ease,border-color .12s ease}.person-add-position:hover{opacity:1;color:var(--proposal-color);border-color:var(--proposal-color)}.proj-delete{flex-shrink:0;margin-left:6px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;border-radius:var(--radius-sm);color:var(--color-text-faint);cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease}.proj-cell:hover .proj-delete,.proj-delete:focus-visible{opacity:.6}.proj-delete:hover{opacity:1;color:var(--color-danger);background:var(--color-danger-bg)}.new-position-pick.is-unset .label-selector{color:var(--color-text-muted);font-style:italic;border-bottom:1px dashed var(--color-border-strong)}.new-position-remove{margin-left:6px;border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);line-height:1;padding:0 3px;border-radius:var(--radius-xs)}.new-position-remove:hover{color:var(--color-danger)}tr.is-project-layer td,tr.person-leave-row td{height:var(--pivot-row-layer)}td.layer-label{border-right:1px solid var(--color-border);padding:0 5px 0 8px;font-size:var(--text-2xs);font-weight:500;letter-spacing:.01em;font-family:var(--font-base);color:var(--color-text-muted);vertical-align:middle;white-space:nowrap;text-align:left}td.layer-label .layer-label-text{display:inline-block;line-height:1}td.layer-label{box-shadow:inset 2px 0 0 var(--layer-color, transparent)}td.layer-label .lico{margin-right:5px;vertical-align:-2px;opacity:.95;color:var(--layer-color, inherit)}tr.layer-plan td.layer-label{--layer-color: var(--plan-color)}tr.layer-actual td.layer-label{--layer-color: var(--actual-color)}tr.layer-budget td.layer-label{--layer-color: var(--budget-color)}tr.layer-requests td.layer-label{--layer-color: var(--proposal-color)}tr.person-leave-row td.layer-label.layer-leave{--layer-color: var(--color-info)}tr.layer-requests td.mcell .val{color:var(--proposal-text)}tr.layer-requests td.mcell .val.zero{color:var(--color-text-faint)}tr.person-leave-row td.proj-cell,tr.person-leave-row td.layer-label{background:color-mix(in srgb,var(--color-info) 6%,var(--color-surface-solid))!important}tr.person-leave-row td.mcell{background:var(--color-surface-solid)}tr.person-leave-row td.mcell .val{font-size:var(--text-xs);color:var(--color-text-muted)}tr.person-leave-row .proj-body.is-leave{opacity:.85}td.layer-continuation{border-right:1px solid var(--color-border);background:var(--row-alt-bg)}tr.is-project-layer td.proj-cell,tr.is-project-layer td.layer-continuation,tr.is-project-layer td.layer-label{background:var(--color-surface-solid)!important}tr.person-header td:not(.total-cell){background:var(--color-surface-solid)!important}tr.person-header td.total-cell{background:var(--color-surface-solid)}td.mcell{padding:0;text-align:center;border-right:1px solid var(--color-border);position:relative;vertical-align:middle;transition:background .12s ease;user-select:none;-webkit-user-select:none}td.total-cell{user-select:none;-webkit-user-select:none}td.mcell .val{display:flex;align-items:center;justify-content:center;height:32px;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--color-text)}td.mcell .val.zero{color:var(--color-zero);font-weight:500}tr.is-project-layer.layer-plan td.mcell .val.zero,tr.is-project-layer.layer-budget td.mcell .val.zero,tr.is-project-layer.layer-actual td.mcell .val.zero{color:color-mix(in srgb,var(--color-zero) 55%,var(--color-text))}td.mcell.current{background:var(--color-month-current-bg)}td.mcell.future .val{color:var(--color-text-faint)}table.pivot tbody td{border-bottom:1px solid var(--color-border)}td.mcell.overridden:after{content:"";position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--color-warning);pointer-events:none}.actual-override-tooltip{position:fixed;z-index:300;min-width:180px;padding:8px 10px;background:var(--color-tooltip-bg);color:var(--color-tooltip-text);border-radius:6px;box-shadow:0 6px 16px #0000003d;font-size:var(--text-xs);line-height:1.35;font-family:var(--font-mono);pointer-events:auto}.actual-override-tooltip .aot-row{display:flex;justify-content:space-between;gap:12px}.actual-override-tooltip .aot-label{color:color-mix(in srgb,var(--color-tooltip-text) 65%,transparent)}.actual-override-tooltip .aot-delta{margin-left:6px}.actual-override-tooltip .aot-delta.positive{color:var(--color-val-ok)}.actual-override-tooltip .aot-delta.negative{color:var(--color-val-over)}.actual-override-tooltip .aot-days{margin-left:8px;color:color-mix(in srgb,var(--color-tooltip-text) 72%,transparent)}.actual-override-tooltip .aot-footnote{margin-top:4px;padding-top:4px;border-top:1px solid color-mix(in srgb,var(--color-tooltip-text) 14%,transparent);font-size:var(--text-2xs);color:color-mix(in srgb,var(--color-tooltip-text) 50%,transparent);font-family:var(--font-base)}.actual-override-tooltip .aot-attribution{margin-top:4px;font-size:var(--text-2xs);color:color-mix(in srgb,var(--color-tooltip-text) 55%,transparent);font-family:var(--font-base)}.actual-override-tooltip .aot-sources{margin-top:4px;padding-top:4px;border-top:1px solid color-mix(in srgb,var(--color-tooltip-text) 14%,transparent);font-size:var(--text-2xs);color:color-mix(in srgb,var(--color-tooltip-text) 60%,transparent);font-family:var(--font-base)}.actual-override-tooltip .aot-sources-label{color:color-mix(in srgb,var(--color-tooltip-text) 80%,transparent);font-weight:500}.actual-override-tooltip .aot-revert{margin-top:6px;display:block;width:100%;padding:4px 8px;background:color-mix(in srgb,var(--color-tooltip-text) 10%,transparent);color:inherit;border:1px solid color-mix(in srgb,var(--color-tooltip-text) 20%,transparent);border-radius:4px;font-size:var(--text-2xs);cursor:pointer}.actual-override-tooltip .aot-revert:hover{background:color-mix(in srgb,var(--color-tooltip-text) 18%,transparent)}tr.is-project-layer td.mcell{background:var(--color-surface-solid)}tr.is-project-layer td.mcell.current{background:var(--color-month-current-bg)}tr.layer-plan td.mcell .val{color:var(--plan-text-color, var(--plan-color))}tr.layer-budget td.mcell .val{color:var(--budget-color)}tr.person-header td{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:0}tr.is-project-layer+tr.is-project-layer.proj-header-row td{border-top:1px solid var(--color-border)}tr.person-header .person-total-label{font-family:var(--font-base);font-size:var(--text-2xs);font-weight:600;letter-spacing:-.01em;color:var(--color-text-muted);padding:8px 5px 8px 8px;border-right:1px solid var(--color-border);line-height:1.3;vertical-align:middle}.person-total-label .tl-title{font-weight:700;color:var(--color-text);display:block;margin-bottom:3px;font-size:var(--text-xs)}td.total-cell{padding:0;border-right:1px solid var(--color-border);vertical-align:middle}tr.person-header td.total-cell.current{background:var(--color-month-current-bg)}.total-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px;gap:5px;height:100%}.total-stack .tnum{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);font-weight:600;letter-spacing:-.02em;color:var(--color-text);line-height:1.2;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.total-stack .tnum.over{color:var(--color-danger)}.total-stack .tnum.zero{color:var(--color-zero);font-weight:400}.total-stack .tbudget{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;color:var(--budget-color);letter-spacing:-.02em;line-height:1.2;white-space:nowrap;opacity:.85;display:inline-flex;align-items:center;gap:4px}.total-stack .tdot,.foot-num .tdot{flex-shrink:0;width:6px;height:6px;border-radius:50%;display:inline-block}.total-stack .tdot.plan,.foot-num .tdot.plan{background:var(--plan-color)}.total-stack .tdot.actual,.foot-num .tdot.actual{background:var(--actual-color)}.total-stack .tdot.budget,.foot-num .tdot.budget{background:var(--budget-color)}td.proj-cell{padding:0;border-right:1px solid var(--color-border);vertical-align:middle}.proj-body{padding:9px 8px 9px 34px;display:flex;align-items:center;gap:8px;line-height:1.2}.proj-body .proj-meta{min-width:0;flex:1}.proj-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:7px}.proj-sub{font-size:var(--text-2xs);color:var(--color-text-muted);margin-top:1px;font-family:var(--font-mono);letter-spacing:-.01em}.proj-name .proj-sub-inline{color:var(--color-text-muted);font-weight:500;font-size:var(--text-xs);margin-left:2px;white-space:nowrap}.proj-name .label-selector{cursor:pointer}.proj-name .label-selector:hover{color:var(--color-text)}.proj-name .label-editor-host{position:relative;display:inline-block}.single-select-dropdown{right:auto;min-width:200px;max-width:min(360px,calc(100vw - 32px));width:max-content;font-weight:400;font-style:normal}.single-select-option{width:100%;text-align:left;background:transparent;border:none;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:inherit}.single-select-option.selected{font-weight:600}.single-select-option-vacant{color:var(--color-vacant);font-style:italic}@media(max-width:1023.98px){.proj-name .proj-sub-inline{display:none}}.proj-body.is-planned .proj-name-text,.proj-body.is-tentative .proj-name-text{font-style:italic;color:var(--color-text-muted);font-weight:500}.proj-body.is-closed .proj-name-text{text-decoration:line-through;color:var(--color-text-faint)}.proj-toggle{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:pointer;transition:transform .15s;flex-shrink:0;margin-left:-4px;background:transparent;border:0;padding:0}.proj-toggle.open{transform:rotate(90deg)}.proj-layer-glyph{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-left:-4px;background:transparent;border:0;padding:0;opacity:.9}.proj-layer-glyph.is-static{cursor:default}.proj-layer-glyph.layer-plan{color:var(--plan-color)}.proj-layer-glyph.layer-actual{color:var(--actual-color)}.proj-layer-glyph.layer-budget{color:var(--budget-color)}tr.person-divider td{border-bottom:1px solid var(--color-border)}.grid-card{outline:none}.grid-card:focus{box-shadow:var(--shadow-card),0 0 0 2px var(--color-primary-light)}td.mcell.editable:hover{background:var(--color-editable-hover);cursor:cell}.cell-edit-input{width:100%;height:32px;padding:0 6px;border:0;background:var(--color-surface-solid);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-align:center;outline:none}td.mcell .val.edit-preview{color:var(--color-primary);font-style:italic;opacity:.9}.grid-readonly td.mcell.editable:hover{background:inherit;cursor:default}.cell-in-range,.cell-cursor{outline:2px solid var(--color-primary);outline-offset:-2px;background:color-mix(in srgb,var(--color-primary) 18%,var(--color-surface-solid));position:relative;z-index:2}tr.is-project-layer.layer-plan td.mcell.cell-in-range,tr.is-project-layer.layer-plan td.mcell.cell-cursor{background:color-mix(in srgb,var(--color-primary) 18%,var(--plan-bg))}tr.is-project-layer.layer-actual td.mcell.cell-in-range,tr.is-project-layer.layer-actual td.mcell.cell-cursor{background:color-mix(in srgb,var(--color-primary) 18%,var(--actual-bg))}tr.is-project-layer.layer-budget td.mcell.cell-in-range,tr.is-project-layer.layer-budget td.mcell.cell-cursor{background:color-mix(in srgb,var(--color-primary) 18%,var(--budget-bg))}.fill-handle{position:absolute;right:-3px;bottom:-3px;width:8px;height:8px;background:var(--color-primary);border:1.5px solid var(--color-surface-solid);border-radius:1px;cursor:crosshair;z-index:3}.fill-handle:hover{transform:scale(1.2)}td.mcell.remote-cursor{box-shadow:inset 0 0 0 2px var(--remote-cursor-color, var(--color-primary));position:relative;z-index:1}.remote-label{position:absolute;top:-16px;left:-2px;height:16px;padding:0 6px;font-size:var(--text-2xs);font-weight:600;line-height:16px;color:var(--color-text-inverse);border-radius:2px 2px 2px 0;white-space:nowrap;z-index:4;pointer-events:none;max-width:160px;overflow:hidden;text-overflow:ellipsis}tr.is-project-layer.row-vacant td.proj-cell,tr.is-project-layer.row-vacant td.layer-continuation,tr.is-project-layer.row-vacant td.layer-label{background:color-mix(in srgb,var(--color-vacant-bg) 50%,var(--color-surface-solid))!important}tr.is-project-layer.row-vacant td.mcell{background:color-mix(in srgb,var(--color-vacant-bg) 40%,var(--actual-bg))}tr.is-project-layer.row-vacant.layer-plan td.mcell{background:color-mix(in srgb,var(--color-vacant-bg) 40%,var(--plan-bg))}tr.is-project-layer.row-vacant.layer-budget td.mcell{background:color-mix(in srgb,var(--color-vacant-bg) 40%,var(--budget-bg))}tr.is-project-layer.row-vacant .proj-name-text{color:var(--color-vacant)}tr.person-header.person-header-vacant td,tr.person-header.person-header-vacant td.person-cell{background:var(--color-vacant-bg)!important}tr.person-header.person-header-vacant .person-name{color:var(--color-vacant)}table.pivot thead th.person-col,table.pivot thead th.layer-col{position:sticky;top:0;z-index:3}table.pivot thead th.person-col{left:0}table.pivot thead th.layer-col{left:var(--pivot-col-label)}td.person-cell,tr.person-header td.person-cell,tr.person-header td.person-total-label,td.proj-cell,td.layer-continuation,td.layer-label{position:sticky;z-index:1}td.person-cell{left:0}tr.person-header td.person-total-label{left:var(--pivot-col-label)}td.proj-cell,td.layer-continuation{left:0}tr.is-project-layer td.layer-label{left:var(--pivot-col-label)}.grid-card-shell{position:relative;flex:0 1 auto;min-height:0;display:flex;flex-direction:column}.grid-card-shell>.grid-card{flex:1 1 auto;min-height:0}.col-resize-rail{position:absolute;top:0;bottom:0;left:var(--pivot-col-label-edge, calc(var(--pivot-col-label) + 1px));width:9px;transform:translate(-50%);cursor:col-resize;touch-action:none;user-select:none;-webkit-user-select:none;z-index:5;background:transparent}.col-resize-rail:after{content:"";position:absolute;inset:0 auto;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%);background:transparent;transition:background .12s}.col-resize-rail:hover:after,.col-resize-rail:focus-visible:after,.col-resize-rail.is-dragging:after{background:var(--color-primary)}.col-resize-rail:focus-visible{outline:none}@media(pointer:coarse){.col-resize-rail{width:28px}.col-resize-rail:after{width:3px;background:var(--color-border-strong, var(--color-border))}}.grid-card-shell.is-resizing-col{cursor:col-resize}.grid-card-shell.is-resizing-col *{-webkit-user-select:none;user-select:none}td.cell-cursor,td.remote-cursor{z-index:4}td.mcell.past,td.total-cell.past{opacity:.55}table.pivot tfoot td{position:sticky;bottom:0;z-index:2;background:var(--color-surface-2);border-top:1px solid var(--color-border-strong);border-bottom:0}table.pivot tfoot td.foot-label{left:0;z-index:3;text-align:left;font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);padding:8px 12px}table.pivot tfoot td.foot-cell{text-align:center;padding:0;vertical-align:middle}.foot-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 6px}.foot-num{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}.foot-num.foot-plan{font-size:var(--text-sm);font-weight:700;color:var(--color-text)}.foot-num.foot-actual,.foot-num.foot-budget{font-size:var(--text-2xs);font-weight:500;color:var(--color-text-muted)}.person-toggle.is-disabled,.person-toggle[disabled],.proj-toggle.is-disabled,.proj-toggle[disabled]{opacity:.3;cursor:not-allowed;pointer-events:none;transition:none}.person-toggle.is-disabled:hover,.person-toggle.is-disabled:active,.person-toggle.is-disabled:focus,.person-toggle[disabled]:hover,.person-toggle[disabled]:active,.person-toggle[disabled]:focus,.proj-toggle.is-disabled:hover,.proj-toggle.is-disabled:active,.proj-toggle.is-disabled:focus,.proj-toggle[disabled]:hover,.proj-toggle[disabled]:active,.proj-toggle[disabled]:focus{color:var(--color-text-muted);background:transparent;outline:none}table.pivot thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.pivot thead th.sortable:hover{color:var(--color-text);background:var(--color-group-bg)}table.pivot thead th.sorted{color:var(--color-text)}table.pivot thead th .sort-indicator{font-size:var(--text-2xs);font-weight:700;margin-left:3px;color:var(--color-primary);display:inline-block}.toast-stack{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:9999;pointer-events:none}.toast{pointer-events:auto;display:inline-flex;align-items:center;gap:12px;min-width:260px;max-width:420px;padding:10px 12px;background:var(--color-surface-solid);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:0 4px 16px #0f172a1f,0 1px 3px #0f172a0f;color:var(--color-text);font-size:var(--text-sm);font-weight:500;animation:toast-enter .18s ease-out}.toast-error{border-left-color:var(--color-danger)}.toast-success{border-left-color:var(--color-success)}.toast-info{border-left-color:var(--color-primary)}.toast-message{flex:1;line-height:1.3}.toast-action{background:var(--color-primary);border:none;border-radius:999px;padding:3px 12px;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--color-text-inverse);cursor:pointer;white-space:nowrap;min-height:28px}.toast-action:hover{background:var(--color-primary-hover)}.toast-dismiss{width:22px;height:22px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:var(--text-lg);line-height:1;cursor:pointer;flex-shrink:0;transition:background .1s,color .1s}.toast-dismiss:hover{background:#0000000f;color:var(--color-text)}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.log-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:1px}.log-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--radius-sm);font-size:var(--text-sm)}.log-row:hover{background:var(--color-surface-2)}.log-status{flex:0 0 62px;font-size:var(--text-xs);font-weight:600;white-space:nowrap;color:var(--color-text-muted)}.log-status-ok{color:var(--color-success)}.log-status-warn{color:var(--color-warning-text)}.log-status-bad{color:var(--color-danger)}.log-status-muted{color:var(--color-text-muted)}.log-text{flex:1 1 auto;min-width:0;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-detail{flex:0 1 33%;min-width:0;color:var(--color-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-meta{flex:0 0 auto;margin-left:auto;font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.log-item{border-radius:var(--radius-sm)}.log-item.is-open{background:var(--color-surface-2)}.log-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:2px;flex:0 0 18px;display:inline-flex;align-items:center;color:var(--color-text-muted);cursor:pointer}.log-toggle:hover{color:var(--color-text)}.log-expand{padding:2px 8px 12px 36px;display:flex;flex-direction:column;gap:10px;font-size:var(--text-sm)}.log-expand-text{margin:0;white-space:pre-wrap;color:var(--color-text)}.log-filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-filter:hover{color:var(--color-primary);text-decoration:underline}.log-kind{color:var(--color-text-muted);font-size:var(--text-2xs);margin-left:6px}.log-ids{font-size:var(--text-xs);color:var(--color-text-muted)}@media(max-width:639.98px){.log-row{flex-wrap:wrap;gap:4px 8px}.log-text{flex:1 1 100%;order:2}.log-detail{display:none}.log-meta{margin-left:0}.log-expand{padding-left:8px}}.history-select-wide{min-width:240px}.history-num{width:96px}.history-empty{padding:24px 16px;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.history-op{border-bottom:1px solid var(--color-border)}.history-op:last-child{border-bottom:none}.history-op-head{display:flex;align-items:center;gap:10px;padding:10px 16px;transition:background .1s}.history-op-head:hover{background:var(--color-primary-light)}.history-op-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;display:inline-flex;padding:2px}.history-op-when{font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--color-text);min-width:150px}.history-op-actor{font-size:var(--text-sm);color:var(--color-text-muted)}.history-op-count,.history-op-models{font-size:var(--text-xs);color:var(--color-text-muted)}.history-op-detail{padding:4px 16px 14px 40px;display:flex;flex-direction:column;gap:12px}.history-affected{display:flex;flex-direction:column;gap:4px}.history-affected-label{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);color:var(--color-text-muted)}.history-affected-subject{font-size:var(--text-sm);color:var(--color-text);font-weight:500}.history-record-label{padding:10px 16px;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border)}.history-entry{padding:10px 16px;border-bottom:1px solid var(--color-border);transition:background .1s}.history-entry:hover{background:var(--color-primary-light)}.history-entry:last-child{border-bottom:none}.history-entry-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.history-entry-subject{font-size:var(--text-sm);color:var(--color-text);font-weight:500}.history-action{text-transform:uppercase;font-size:var(--text-2xs);font-weight:700;letter-spacing:.03em;padding:2px 8px;border-radius:var(--radius-sm);line-height:1.2}.history-action-created{background:var(--color-success-bg);color:var(--color-success)}.history-action-updated{background:var(--color-info-bg);color:var(--color-info)}.history-action-deleted{background:var(--color-danger-bg);color:var(--color-danger)}.history-action-no_change{background:var(--color-bg-2);color:var(--color-text-muted)}.history-type{font-size:var(--text-2xs);font-weight:600;padding:2px 8px;border-radius:10px;line-height:1.2;white-space:nowrap}.history-type-info{background:var(--color-info-bg);color:var(--color-info)}.history-type-warning{background:var(--color-warning-bg);color:var(--color-warning)}.history-type-danger{background:var(--color-danger-bg);color:var(--color-danger)}.history-type-neutral{background:var(--color-bg-2);color:var(--color-text-muted)}.history-diff{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.history-diff-row{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);font-variant-numeric:tabular-nums}.history-diff-field{min-width:160px;color:var(--color-text-muted)}.history-diff-old{color:var(--color-text-muted);text-decoration:line-through}.history-diff-was,.history-diff-arrow{color:var(--color-text-muted)}.history-diff-new{color:var(--color-text);font-weight:500}.history-diff-empty{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic}.history-dialog-lead{margin:0 0 8px;color:var(--color-text)}.history-dialog-footer{display:flex;justify-content:flex-end;gap:8px;text-align:left}.history-conflict{background:var(--color-danger-bg);border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--text-sm);color:var(--color-text)}.history-conflict ul{margin:6px 0;padding-left:18px}td.mcell.is-draft,td.total-cell.is-draft{background:var(--proposal-bg-draft)!important;color:var(--proposal-text)!important;outline:1px dashed var(--proposal-color);outline-offset:-2px}td.mcell.is-pending,td.total-cell.is-pending{background:var(--proposal-bg)!important;color:var(--proposal-text)!important;box-shadow:inset 3px 0 0 var(--proposal-color)}td.mcell.is-draft .val,td.mcell.is-pending .val,td.mcell.is-draft .val.zero,td.mcell.is-pending .val.zero{color:inherit!important}td.mcell.is-pending .val{font-weight:600}td.mcell.is-draft.cell-cursor,td.mcell.is-pending.cell-cursor{outline:2px solid var(--proposal-text);outline-offset:-2px}.proposal-tip-line{display:flex;justify-content:space-between;gap:12px}.proposal-tip-from{text-decoration:line-through;opacity:.6}.proj-name-text.is-swap-staged .label-selector{color:var(--proposal-text);text-decoration:underline dashed var(--proposal-color);text-underline-offset:3px}.submit-request-btn{background:var(--proposal-color);border-color:var(--proposal-color);color:var(--proposal-on)}.submit-request-btn:hover{background:var(--proposal-color);filter:brightness(1.08)}.bell-trigger{position:relative;padding:7px 9px}.bell-count{position:absolute;top:1px;right:1px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--color-danger);color:#fff;font-size:9.5px;font-weight:700;line-height:15px;text-align:center}.bell-panel{width:380px;max-height:60vh;overflow-y:auto;padding:6px}.bell-empty{padding:24px 12px;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.bell-item{display:block;width:100%;text-align:left;padding:10px 12px;border:none;border-radius:var(--radius-md);background:none;cursor:pointer;border-bottom:1px solid var(--color-border)}.bell-item:last-child{border-bottom:none}.bell-item:hover{background:var(--color-surface-2)}.bell-item.is-unread{background:var(--color-primary-light)}.bell-item-title{font-size:var(--text-sm);font-weight:600;margin-bottom:2px}.bell-item-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.bell-item-conflict{font-size:var(--text-xs);color:var(--color-danger);margin-top:3px}.bell-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--color-border);margin-bottom:4px}.bell-header-title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.bell-mark-read{font-size:var(--text-xs);background:none;border:none;color:var(--color-primary);cursor:pointer;font-weight:600}.rq-pill{display:inline-block;font-size:var(--text-2xs);letter-spacing:-.005em;text-transform:capitalize;padding:3px 9px;border-radius:999px;border:1px solid transparent;white-space:nowrap;font-weight:600}.rq-pill-neutral{background:var(--color-bg-2);color:var(--color-text-muted)}.rq-pill-good{background:var(--color-success-bg);color:var(--color-success)}.rq-pill-warn{background:var(--color-warning-bg);color:var(--color-warning-text)}.rq-pill-bad{background:var(--color-danger-bg);color:var(--color-danger)}.rq-pill-info{background:var(--color-vacant-bg);color:var(--color-vacant)}.rq-pill-opt{border-color:var(--color-border-strong);color:var(--color-text-muted);cursor:pointer;background:none}.rq-pill-on{background:var(--color-primary);color:var(--color-text-inverse);cursor:pointer;border-color:var(--color-primary)}.rq-pills{display:flex;flex-wrap:wrap;gap:6px}.rq-section{margin-top:16px}.rq-section:first-child{margin-top:0}.rq-label{display:block;font-size:var(--text-2xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:6px}.rq-from{text-decoration:line-through;color:var(--color-text-muted);margin-right:5px}.rq-to{color:var(--proposal-text);font-weight:700}.rq-line-drop{border:none;background:none;cursor:pointer;color:var(--color-text-muted);padding:2px 4px;border-radius:var(--radius-xs);flex-shrink:0}.rq-line-drop:hover{background:var(--color-danger-bg);color:var(--color-danger)}.rq-heading{display:flex;align-items:baseline;gap:7px;margin-bottom:8px}.rq-heading h4{margin:0;font-family:var(--font-base);font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.rq-heading-n{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.rq-heading-n:before{content:"· "}.rq-ledger{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.rq-ledger-row{display:grid;grid-template-columns:22px minmax(150px,1fr) auto 22px;align-items:start;gap:10px;padding:9px 11px}.rq-ledger-row+.rq-ledger-row{border-top:1px solid var(--color-border)}.rq-ledger-ico{width:22px;height:22px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--proposal-bg-draft);color:var(--proposal-text)}.rq-ledger-id{min-width:0}.rq-ledger-name{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rq-ledger-sub{display:block;font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rq-ledger-rail{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:5px;justify-self:end}.rq-chip{display:inline-flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:var(--text-xs);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px 7px}.rq-chip-mo{font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);min-width:20px;flex-shrink:0}.rq-chip-v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--proposal-text);font-weight:600;min-width:38px;text-align:right}.rq-chip .rq-from{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-right:0}.rq-chip .rq-swap-arrow{padding:0}.rq-swap-arrow{color:var(--color-text-faint);padding:0 2px}.rq-conflict{border-radius:var(--radius-md);padding:9px 11px;font-size:var(--text-xs);margin-bottom:7px}.rq-conflict:last-child{margin-bottom:0}.rq-conflict-hard{background:var(--color-danger-bg);border:1px solid var(--color-danger)}.rq-conflict-soft{background:var(--color-warning-bg);border:1px solid var(--color-warning)}.rq-conflict-msg{margin-left:6px}.rq-conflict-why{display:block;margin-top:3px;color:var(--color-text-muted)}.rq-conflict-dismissable{position:relative;padding-right:32px}.rq-conflict-dismiss{position:absolute;top:6px;right:6px;border:none;background:none;cursor:pointer;color:var(--color-text-muted);padding:3px;border-radius:var(--radius-xs);line-height:0}.rq-conflict-dismiss:hover{background:color-mix(in srgb,var(--color-text) 10%,transparent);color:var(--color-text)}.rq-textarea{width:100%;min-height:68px;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:var(--font-base);font-size:var(--text-sm);resize:vertical}.rq-empty-note{font-size:var(--text-sm);color:var(--color-text-muted)}.rq-list{display:flex;flex-direction:column}.rq-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border);cursor:pointer}.rq-row:last-child{border-bottom:none}.rq-row:hover{background:var(--color-surface-2)}.rq-row.is-decided{opacity:.55}.rq-row-title{font-size:var(--text-base);font-weight:600;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.rq-row-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.rq-row-actions{display:flex;gap:6px;flex-shrink:0;align-items:center}.rq-toolbar-filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.rq-row-decision{font-size:var(--text-xs);color:var(--color-text-2);margin-top:3px;font-style:italic}.rq-row.is-declined .rq-row-decision{color:var(--color-danger)}.rq-row-more{padding:4px 8px;line-height:1}.rq-actions-panel{width:210px;padding:5px 0}.settings-option-danger{color:var(--color-danger)}.settings-option:disabled{opacity:.45;cursor:not-allowed}.rq-review-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;margin-bottom:12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.rq-review-main{min-width:0}.rq-review-title{font-size:var(--text-lg);font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rq-review-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.rq-back{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-sm)}.rq-back:hover{color:var(--color-text)}.rq-review-actions{display:flex;gap:8px;flex-shrink:0}.rq-review-conflicts{margin-bottom:12px}.rq-thread{margin-top:12px}.rq-comment{font-size:var(--text-sm);padding:6px 0}.rq-comment-author{font-weight:600}.rq-comment-body{color:var(--color-text-2)}.rq-comment-time{font-size:var(--text-2xs);color:var(--color-text-muted);margin-left:6px}td.total-cell.has-proposal .tnum{text-decoration:underline dotted var(--proposal-color);text-underline-offset:3px;text-decoration-thickness:2px}.rq-discard-all{margin-right:auto}.stamp-list{display:flex;flex-wrap:wrap;gap:8px}.stamp-card{flex:1 1 220px;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:10px 12px}.stamp-card-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}.stamp-lane-pill{background:var(--color-bg-2);color:var(--color-text-2)}.stamp-because{font-size:var(--text-xs);color:var(--color-text-2)}.stamp-approver{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:4px}.stamp-routed{font-size:var(--text-2xs);color:var(--color-warning-text);margin-top:4px}.stamp-note{font-size:var(--text-xs);font-style:italic;margin-top:6px;color:var(--color-text-2)}.stamp-counter{font-size:var(--text-xs);margin-top:6px;color:var(--color-text-2)}.stamp-counter-line{font-variant-numeric:tabular-nums;margin-right:6px}.counter-lines{display:flex;flex-direction:column;max-height:46vh;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.counter-line{display:flex;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.counter-line:last-child{border-bottom:0}.counter-line.is-changed{background:var(--color-warning-bg)}.counter-line-who{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.counter-line-name{font-weight:560}.counter-line-where{font-size:var(--text-2xs);color:var(--color-text-muted)}.counter-line-asked{font-size:var(--text-2xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.counter-line-input{display:flex;align-items:center;gap:3px;flex-shrink:0}.counter-line-input input{width:62px;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:right}.counter-line-unit{font-size:var(--text-2xs);color:var(--color-text-muted)}.stamp-card.is-sealed{border-style:dashed;background:var(--color-surface-2)}.stamp-sealed-note{font-size:var(--text-2xs);color:var(--color-text-muted);font-style:italic}.stamp-approved{border-left:3px solid var(--color-success)}.stamp-declined{border-left:3px solid var(--color-danger)}.stamp-countered{border-left:3px solid var(--color-warning)}.rq-review-stamps{margin-bottom:12px}.rq-approvals-toggle{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;padding:2px 0;cursor:pointer;text-align:left}.rq-approvals-chevron{color:var(--color-text-muted);transition:transform .12s ease;flex-shrink:0}.rq-approvals-chevron.is-open{transform:rotate(90deg)}.rq-approvals-toggle .rq-label{margin-bottom:0}.rq-sealed-hint{color:var(--color-text-muted);font-weight:400;text-transform:none;letter-spacing:0}.verdict-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;margin-bottom:12px;border:1px solid var(--proposal-color);border-radius:var(--radius-lg);background:var(--proposal-bg-draft)}.verdict-bar-main{display:flex;align-items:center;gap:10px}.verdict-bar-title{font-weight:600;font-size:var(--text-base)}.verdict-bar-why{font-size:var(--text-xs);color:var(--color-text-2)}.verdict-bar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.verdict-bar-blind{font-size:var(--text-2xs);color:var(--color-text-muted);max-width:34ch;line-height:1.35}.bell-item-because{font-size:var(--text-2xs);color:var(--color-text-2);margin-top:2px}.lane-toggles{display:inline-flex;gap:4px}.rq-appeal-note{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;border-left:3px solid var(--color-warning);background:var(--color-warning-bg);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--text-sm);color:var(--color-text)}.rq-select{width:100%;font-family:var(--font-base);font-size:var(--text-sm);padding:7px 9px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.lv-roster{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px;align-items:start;transition:opacity .15s ease}.lv-list{overflow:hidden}.lv-today{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.lv-toolbar{flex-wrap:wrap;row-gap:8px}.lv-scope .toggle-btn,.lv-range .toggle-btn{white-space:nowrap}.lv-scope-short{display:none}@media(max-width:479.98px){.lv-scope-long{display:none}.lv-scope-short{display:inline}}.lv-scope .toggle-btn{overflow:hidden}.lv-scope-long,.lv-scope-short{overflow:hidden;text-overflow:ellipsis;min-width:0}.lv-count{flex-shrink:0}.lv-scope,.lv-range{flex-wrap:wrap}.lv-count{display:inline-block;min-width:2.4em;text-align:center;margin-left:6px;padding:1px 5px;border-radius:999px;background:var(--color-primary-light);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.lv-roster.is-stale{opacity:.55}.lv-group{font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:9px 14px 6px;background:var(--color-surface-2);border-bottom:1px solid var(--color-border)}.lv-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:5px;width:100%;text-align:left;padding:9px 14px;border:0;border-bottom:1px solid var(--color-border);border-left:3px solid transparent;background:transparent;color:var(--color-text);font-family:inherit;font-size:var(--text-sm);cursor:pointer;min-height:var(--touch-target)}.lv-row:last-child{border-bottom:0}.lv-row:hover{background:var(--color-editable-hover)}.lv-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.lv-row.is-selected{background:var(--color-info-bg);border-left-color:var(--color-info)}.lv-row-main{display:flex;flex-direction:column;gap:1px;flex:1;min-width:180px}.lv-name{font-weight:540;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lv-sub{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lv-avatar{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;overflow:hidden;background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--text-2xs);font-weight:640}.lv-avatar-lg{width:42px;height:42px;font-size:var(--text-base)}.lv-chip{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:2px 9px;border-radius:999px;font-size:var(--text-2xs);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.lv-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.lv-chip-back{background:var(--color-info-bg);color:var(--color-info)}.lv-chip-unknown{background:var(--color-warning-bg);color:var(--color-warning-text, var(--color-warning));cursor:help}.lv-chip-soon{background:var(--color-surface-2);color:var(--color-text-2)}.lv-chip-in{background:transparent;color:var(--color-text-muted);font-weight:500}.lv-chip-holiday{background:var(--color-surface-2);color:var(--color-text-2)}.lv-row-holiday{cursor:default}.lv-row-holiday:hover{background:transparent}.lv-holiday-icon{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--color-surface-2);color:var(--color-text-muted)}.lv-row-holiday.is-weekend .lv-name,.lv-row-holiday.is-weekend .lv-sub,.lv-row-holiday.is-weekend .lv-holiday-icon{color:var(--color-text-muted)}.lv-row-holiday.is-weekend .lv-name{font-weight:500}.lv-row-holiday.is-weekend .lv-chip-holiday{background:transparent;color:var(--color-text-muted)}.lv-detail{padding:14px 16px 16px}.lv-hero{display:flex;align-items:center;gap:11px;margin-bottom:4px}.lv-hero-text{min-width:0}.lv-hero-name{display:inline-flex;align-items:center;gap:1px;max-width:100%;font-size:var(--text-lg);font-weight:620;letter-spacing:-.01em;color:inherit;text-decoration:none;border-radius:var(--radius-xsm)}.lv-hero-name>svg{flex-shrink:0;color:var(--color-text-muted);transition:transform .12s ease}.lv-hero-name:hover{text-decoration:underline}.lv-hero-name:hover>svg{transform:translate(2px)}.lv-hero-name:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;text-decoration:underline}.lv-readout{margin:14px 0 4px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.lv-readout-main{font-size:var(--text-2xl);font-weight:660;letter-spacing:-.02em;line-height:1.15;color:var(--color-info);text-wrap:balance}.lv-readout-unknown{color:var(--color-warning-text, var(--color-warning))}.lv-readout-soon{color:var(--color-text);font-size:var(--text-xl)}.lv-readout-in{color:var(--color-text-2);font-size:var(--text-xl)}.lv-readout-sub{margin-top:5px;font-size:var(--text-xs);color:var(--color-text-muted);max-width:52ch}.lv-balances{margin-top:14px}.lv-balance-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.lv-balance{display:flex;flex-direction:column;gap:1px;min-width:82px;padding:7px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);cursor:help}.lv-balance-days{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:640;font-variant-numeric:tabular-nums;line-height:1.2;color:var(--color-text)}.lv-balance-name{font-size:var(--text-2xs);color:var(--color-text-muted)}.lv-balance.is-negative .lv-balance-days{color:var(--color-warning-text, var(--color-warning))}.lv-apps{margin-top:14px}.lv-apps-head{font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:4px}.lv-app{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.lv-app:last-child{border-bottom:0}.lv-app-main{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.lv-app-type{display:flex;align-items:center;gap:6px}.lv-app-days{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--color-text-2);flex-shrink:0}.lv-swatch{width:10px;height:10px;border-radius:var(--radius-xsm);flex-shrink:0}.lv-cat-planned{background:var(--color-info)}.lv-cat-unplanned{background:var(--color-danger)}.lv-cat-other{background:var(--color-text-muted)}.lv-inexact,.lv-suspect{font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:var(--radius-xsm);background:var(--color-warning-bg);color:var(--color-warning-text, var(--color-warning));cursor:help}.lv-suspect{background:var(--color-danger-bg);color:var(--color-danger-text, var(--color-danger))}@media(max-width:639.98px){.lv-scope,.lv-toolbar .toolbar-control{width:100%}.lv-range{flex:1;min-width:0}.lv-scope,.lv-range{flex-wrap:nowrap}.lv-scope .toggle-btn,.lv-range .toggle-btn{flex:1 1 0;min-width:0;padding-inline:6px}.lv-count{min-width:0;margin-left:4px;padding:1px 4px}.lv-toolbar .lv-scope{order:1}.lv-toolbar .toolbar-control{order:2}.lv-toolbar .month-picker{order:3}.lv-toolbar .toolbar-cluster-right{order:4}.filter-group,.filter-group .multi-select{width:100%}.filter-cluster-fields{grid-template-columns:1fr}}@media(max-width:1023.98px){.lv-roster{grid-template-columns:1fr}}@media(min-width:1024px){.lv-detail{position:sticky;top:0}}.file-picker{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.file-picker-name{display:inline-flex;align-items:center;gap:6px;max-width:320px;padding:3px 4px 3px 10px;border-radius:999px;background:var(--color-surface-2);color:var(--color-text-2);font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-picker-empty{font-size:var(--text-xs);color:var(--color-text-muted)}.file-picker-clear{display:grid;place-items:center;flex-shrink:0;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-text-muted);cursor:pointer}.file-picker-clear:hover{background:var(--color-border);color:var(--color-text)}.file-picker-clear:disabled{cursor:default;opacity:.5}.page-switcher-static{font-size:var(--text-base);font-weight:650;color:var(--color-text);padding:6px 4px}
