:root{--color-bg: #141414;--color-surface: #1e1e1e;--color-surface-muted: #2a2a2a;--color-text: #f2e8cb;--color-text-secondary: #b8b5b0;--color-text-muted: #8a8680;--color-border: #444444;--color-border-strong: #666666;--color-brand: #fa2121;--color-brand-hover: #c41a1a;--color-brand-dim: rgba(250, 33, 33, .12);--color-on-brand: #f2e8cb;--color-success: #1d9e75;--color-success-dim: rgba(29, 158, 117, .14);--color-warning: #c9920a;--color-warning-dim: rgba(201, 146, 10, .15);--color-danger: #c0392b;--color-danger-dim: rgba(192, 57, 43, .14);--color-cat-a-fg: #b8c8e8;--color-cat-a-border: rgba(90, 120, 170, .2);--color-cat-a-bg: rgba(42, 62, 96, .35);--color-cat-b-fg: #b8b4e8;--color-cat-b-border: rgba(80, 75, 180, .2);--color-cat-b-bg: rgba(30, 28, 80, .42);--color-cat-c-fg: #e8b8c8;--color-cat-c-border: rgba(160, 90, 110, .2);--color-cat-c-bg: rgba(90, 42, 58, .38);--color-cat-d-fg: #a8d8da;--color-cat-d-border: rgba(70, 150, 155, .2);--color-cat-d-bg: rgba(30, 70, 75, .38);--overlay-backdrop-soft: rgba(0, 0, 0, .35);--overlay-backdrop-strong: rgba(0, 0, 0, .7);--font-brand: "BPdots", "Nunito Sans", sans-serif;--font-body: "Nunito Sans", system-ui, -apple-system, sans-serif;--font-data: "Chakra Petch", "Nunito Sans", sans-serif;--font-size-display: 32px;--font-size-title: 22px;--font-size-kpi: 20px;--font-size-heading: 15px;--font-size-body: 13px;--font-size-meta: 11px;--font-size-label: 10px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 48px;--bp-laptop: 1280px;--bp-narrow: 1100px;--bp-compact: 900px;--grid-card-min: 240px;--grid-card-max: 400px;--grid-panel-max: 520px;--radius-sm: 6px;--radius-md: 10px;--radius-pill: 999px;--shadow-popover: 0 16px 48px rgba(0, 0, 0, .55);--shadow-panel: 4px 0 24px rgba(0, 0, 0, .35);--shadow-tooltip: 0 4px 16px rgba(0, 0, 0, .25);--shadow-focus: 0 0 0 3px var(--color-brand-dim);--transition-fast: .12s;--transition-base: .15s;--transition-slow: .25s;--transition-nav: .2s cubic-bezier(.25, .46, .45, .94);--z-base: 1;--z-panel-backdrop: 44;--z-panel: 45;--z-nav: 50;--z-modal: 100;--z-tooltip: 200;--z-toast: 1200;--z-overlay: 9999;--nav-w: 240px;--ops-nav-logo-padding-y: 30px;--ops-nav-logo-img-w: 266px;--ops-nav-logo-img-h: calc(var(--ops-nav-logo-img-w) * 338.5 / 1521.49);--ops-nav-kicker-block: 48px;--ops-nav-divider-offset: calc( var(--ops-nav-logo-padding-y) + var(--ops-nav-logo-img-h) + 1px + var(--ops-nav-kicker-block) + 1px );--ops-topbar-title-size: 24px;--ops-topbar-title-line-height: 1.15;--ops-topbar-title-block: calc(var(--ops-topbar-title-size) * var(--ops-topbar-title-line-height));--ops-topbar-gap-below-title: 16px;--checkbox-control-size: 15px;--checkbox-accent: var(--color-brand);--checkbox-radius: 3px;--cal-pick-token-size: 26px;--color-calendar-crm: #6b9fd4;--color-calendar-crm-soft: #b8d4f0;--color-calendar-crm-dim: rgba(107, 159, 212, .2);--color-calendar-client-event: #6fb8a8;--color-calendar-client-event-soft: #b2e5d9;--color-calendar-client-event-dim: rgba(111, 184, 168, .22);--ink: var(--color-bg);--ink-2: var(--color-bg);--ink-3: var(--color-surface);--surface: var(--color-surface);--text-1: var(--color-text);--text-2: var(--color-text-secondary);--text-3: var(--color-text-muted);--text-muted: var(--color-text-muted);--border: var(--color-border);--border-2: var(--color-border-strong);--radius: var(--radius-md);--brand: var(--color-brand);--green: var(--color-success);--green-dim: var(--color-success-dim);--red: var(--color-brand);--red-dim: var(--color-brand-dim);--orange: var(--color-warning);--orange-dim: var(--color-warning-dim)}@font-face{font-family:BPdots;src:url(../../../fonts/BPdotsUnicaseLight.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:BPdots;src:url(../../../fonts/BPdotsUnicase.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:BPdots;src:url(../../../fonts/BPdotsUnicaseBold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-body);font-weight:350;letter-spacing:.03em;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}:focus-visible{outline:none;box-shadow:var(--shadow-focus)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.page{padding:var(--space-2xl) var(--space-3xl)}.page-header{margin-bottom:var(--space-2xl)}.page-title{font-family:var(--font-brand);font-size:var(--font-size-title);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text);font-weight:400}.page-subtitle{font-size:var(--font-size-body);color:var(--color-text-muted);font-weight:300;margin-top:var(--space-xs)}.section-label{font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-muted);font-weight:300;margin-bottom:var(--space-md)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--font-size-label);font-weight:400;letter-spacing:.06em}.badge-cat-a{color:var(--color-cat-a-fg);background:var(--color-cat-a-bg);border:1px solid var(--color-cat-a-border)}.badge-cat-b{color:var(--color-cat-b-fg);background:var(--color-cat-b-bg);border:1px solid var(--color-cat-b-border)}.badge-cat-c{color:var(--color-cat-c-fg);background:var(--color-cat-c-bg);border:1px solid var(--color-cat-c-border)}.badge-cat-d{color:var(--color-cat-d-fg);background:var(--color-cat-d-bg);border:1px solid var(--color-cat-d-border)}.badge-tier{color:var(--color-text-secondary);background:var(--color-surface-muted);border:1px solid var(--color-border)}.badge-active{color:var(--color-success);background:var(--color-success-dim)}.badge-inactive{color:var(--color-text-muted);background:var(--color-surface-muted)}.badge-status-on-track{color:var(--color-success);background:var(--color-success-dim)}.badge-status-at-risk{color:var(--color-warning);background:var(--color-warning-dim)}.badge-status-behind{color:var(--color-danger);background:var(--color-danger-dim)}.badge-status-complete{color:var(--color-cat-d-fg);background:var(--color-cat-d-bg);border:1px solid var(--color-cat-d-border)}.badge-role{color:var(--color-brand);background:var(--color-brand-dim);border:1px solid rgba(250,33,33,.25)}.card-surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.progress-track{width:100%;height:6px;background:var(--color-surface-muted);border-radius:var(--radius-pill);overflow:hidden}.progress-fill-brand{height:100%;background:var(--color-brand);border-radius:var(--radius-pill);transition:width var(--transition-base)}.progress-fill-success{height:100%;background:var(--color-success);border-radius:var(--radius-pill);transition:width var(--transition-base)}.placeholder-body{display:flex;flex-direction:column;gap:var(--space-2xl)}.placeholder-block{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-4xl);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-body)}.placeholder-block--admin{background:var(--color-surface-muted)}.placeholder-block-name{font-size:var(--font-size-heading);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.placeholder-block-desc{font-weight:300}.page-header--admin{position:relative;padding-right:72px}.admin-badge{position:absolute;top:0;right:0;font-size:var(--font-size-label);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted);padding:4px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.placeholder-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}@media(max-width:900px){.placeholder-columns{grid-template-columns:1fr}}.palette-backdrop.svelte-1yq04zr{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--overlay-backdrop-strong);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.palette-panel.svelte-1yq04zr{width:560px;max-height:480px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);display:flex;flex-direction:column;overflow:hidden}.palette-input.svelte-1yq04zr{width:100%;height:48px;padding:0 var(--space-lg);border:none;background:transparent;color:var(--color-text);font-size:15px;font-family:inherit;font-weight:350}.palette-input.svelte-1yq04zr::placeholder{color:var(--color-text-muted)}.palette-divider.svelte-1yq04zr{height:1px;background:var(--color-border)}.palette-results.svelte-1yq04zr{overflow-y:auto;max-height:360px;padding:var(--space-sm) 0}.palette-group-label.svelte-1yq04zr{font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-muted);font-weight:300;padding:var(--space-sm) var(--space-lg) var(--space-xs)}.palette-item.svelte-1yq04zr{display:flex;align-items:center;gap:var(--space-md);width:100%;height:40px;padding:0 var(--space-lg);border:none;border-left:2px solid transparent;background:transparent;color:var(--color-text);text-align:left;transition:background var(--transition-base),border-color var(--transition-base)}.palette-item.svelte-1yq04zr:hover,.palette-item.selected.svelte-1yq04zr{background:var(--color-brand-dim);border-left-color:var(--color-brand)}.palette-item-icon.svelte-1yq04zr{color:var(--color-text-muted);display:flex;flex-shrink:0}.palette-item-label.svelte-1yq04zr{flex:1;font-size:var(--font-size-body)}.palette-item-path.svelte-1yq04zr{font-size:var(--font-size-meta);color:var(--color-text-muted)}.palette-empty.svelte-1yq04zr{padding:var(--space-xl) var(--space-lg);color:var(--color-text-muted);font-size:var(--font-size-body);text-align:center}.auth-loading.svelte-12qhfyh{height:100vh;background:var(--color-bg)}.signout-btn.svelte-12qhfyh{background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:var(--space-xs);border-radius:var(--radius-sm);transition:color var(--transition-base);flex-shrink:0}.signout-btn.svelte-12qhfyh:hover{color:var(--color-brand)}.app-shell.svelte-12qhfyh{display:flex;height:100vh;overflow:hidden;--nav-w: 56px}.app-shell.svelte-12qhfyh:has(.sidebar:where(.svelte-12qhfyh):hover),.app-shell.svelte-12qhfyh:has(.sidebar:where(.svelte-12qhfyh):focus-within){--nav-w: 240px}.sidebar.svelte-12qhfyh{width:var(--nav-w);min-width:var(--nav-w);height:100vh;background:var(--color-surface);border-right:1px solid var(--color-border);box-shadow:var(--shadow-panel);display:flex;flex-direction:column;z-index:var(--z-nav);transition:width var(--transition-nav),min-width var(--transition-nav);overflow:hidden;flex-shrink:0}.sidebar-logo-area.svelte-12qhfyh{height:60px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-start;padding:0 16px;border-bottom:1px solid var(--color-border);overflow:hidden;transition:padding var(--transition-nav),justify-content var(--transition-nav)}.app-shell.svelte-12qhfyh:not(:has(.sidebar:hover)):not(:has(.sidebar:focus-within)) .sidebar-logo-area:where(.svelte-12qhfyh){justify-content:center;padding:0}.sidebar-logo-mark.svelte-12qhfyh{width:24px;height:24px;flex-shrink:0;display:block;object-fit:contain;transition:opacity var(--transition-nav),width var(--transition-nav),height var(--transition-nav)}.app-shell.svelte-12qhfyh:has(.sidebar:where(.svelte-12qhfyh):hover) .sidebar-logo-mark:where(.svelte-12qhfyh),.app-shell.svelte-12qhfyh:has(.sidebar:where(.svelte-12qhfyh):focus-within) .sidebar-logo-mark:where(.svelte-12qhfyh){opacity:0;width:0;height:0}.sidebar-logo.svelte-12qhfyh{width:140px;max-width:calc(var(--nav-w) - 32px);height:auto;display:block;transition:opacity var(--transition-nav),max-width var(--transition-nav);filter:invert(18%) sepia(96%) saturate(5543%) hue-rotate(355deg) brightness(103%) contrast(104%)}.app-shell.svelte-12qhfyh:not(:has(.sidebar:hover)):not(:has(.sidebar:focus-within)) .sidebar-logo:where(.svelte-12qhfyh){opacity:0;max-width:0;position:absolute;pointer-events:none}.sidebar-nav.svelte-12qhfyh{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-sm) 0}.nav-spacer.svelte-12qhfyh{flex:1}.nav-bottom.svelte-12qhfyh{border-top:1px solid var(--color-border);padding-top:var(--space-sm);padding-bottom:var(--space-sm);flex-shrink:0}.nav-item.svelte-12qhfyh{position:relative;display:flex;align-items:center;gap:10px;height:36px;padding:0 16px;font-size:var(--font-size-body);font-weight:350;color:var(--color-text-muted);border-left:2px solid transparent;transition:color var(--transition-base),background var(--transition-base),border-color var(--transition-base),opacity var(--transition-base),padding var(--transition-nav),justify-content var(--transition-nav)}.nav-item--bottom.svelte-12qhfyh{font-size:var(--font-size-meta);height:32px;opacity:.6}.nav-item--bottom.svelte-12qhfyh:hover,.nav-item--bottom.active.svelte-12qhfyh{opacity:1}.nav-label.svelte-12qhfyh{transition:opacity var(--transition-nav),width var(--transition-nav);white-space:nowrap;overflow:hidden}.app-shell.svelte-12qhfyh:not(:has(.sidebar:hover)):not(:has(.sidebar:focus-within)) .nav-label:where(.svelte-12qhfyh){opacity:0;width:0}.app-shell.svelte-12qhfyh:not(:has(.sidebar:hover)):not(:has(.sidebar:focus-within)) .nav-item:where(.svelte-12qhfyh){justify-content:center;padding:0}.app-shell.svelte-12qhfyh:not(:has(.sidebar:hover)):not(:has(.sidebar:focus-within)) .nav-item:where(.svelte-12qhfyh):hover:after{content:attr(data-label);position:absolute;left:64px;top:50%;transform:translateY(-50%);background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-body);padding:4px 10px;border-radius:var(--radius-sm);white-space:nowrap;z-index:var(--z-tooltip);pointer-events:none;box-shadow:var(--shadow-tooltip)}.nav-item.svelte-12qhfyh:hover{color:var(--color-text-secondary);background:var(--color-surface-muted)}.nav-item.active.svelte-12qhfyh{color:var(--color-text);background:var(--color-brand-dim);border-left-color:var(--color-brand)}.nav-item.active.svelte-12qhfyh .nav-icon:where(.svelte-12qhfyh){filter:drop-shadow(0 0 4px rgba(250,33,33,.3))}.nav-icon.svelte-12qhfyh{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px}.nav-item--bottom.svelte-12qhfyh .nav-icon:where(.svelte-12qhfyh){width:14px;height:14px}.sidebar-user.svelte-12qhfyh{height:56px;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-start;gap:var(--space-md);padding:0 16px;flex-shrink:0;overflow:hidden;transition:padding var(--transition-nav),justify-content var(--transition-nav)}.app-shell.svelte-12qhfyh:not(:has(.sidebar:hover)):not(:has(.sidebar:focus-within)) .sidebar-user:where(.svelte-12qhfyh){flex-direction:column;justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) 0;height:auto;min-height:56px}.sidebar-user-avatar.svelte-12qhfyh{width:28px;height:28px;border-radius:50%;background:var(--color-brand-dim);border:1px solid var(--color-brand);color:var(--color-brand);font-size:var(--font-size-label);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-user-info.svelte-12qhfyh{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.user-name.svelte-12qhfyh,.user-role.svelte-12qhfyh{transition:opacity var(--transition-nav),width var(--transition-nav);white-space:nowrap;overflow:hidden}.user-name.svelte-12qhfyh{font-size:var(--font-size-meta);color:var(--color-text);text-overflow:ellipsis}.app-shell.svelte-12qhfyh:not(:has(.sidebar:hover)):not(:has(.sidebar:focus-within)) .user-name:where(.svelte-12qhfyh),.app-shell.svelte-12qhfyh:not(:has(.sidebar:hover)):not(:has(.sidebar:focus-within)) .user-role:where(.svelte-12qhfyh){opacity:0;width:0}.app-shell.svelte-12qhfyh:not(:has(.sidebar:hover)):not(:has(.sidebar:focus-within)) .sidebar-user-info:where(.svelte-12qhfyh){display:none}.app-shell.svelte-12qhfyh:not(:has(.sidebar:hover)):not(:has(.sidebar:focus-within)) .signout-btn:where(.svelte-12qhfyh){min-width:32px;min-height:32px}.main.svelte-12qhfyh{flex:1;overflow:hidden;display:flex;flex-direction:column;min-width:0}.topbar.svelte-12qhfyh{position:sticky;top:0;z-index:var(--z-base);height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-2xl);background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-shrink:0}.topbar-title.svelte-12qhfyh{font-family:var(--font-brand);font-size:var(--font-size-heading);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text);font-weight:400}.topbar-actions.svelte-12qhfyh{display:flex;align-items:center;gap:12px}.cmd-palette-btn.svelte-12qhfyh{display:flex;align-items:center;gap:var(--space-md);padding:6px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--font-size-meta);color:var(--color-text-muted);transition:background var(--transition-base),border-color var(--transition-base)}.cmd-palette-btn.svelte-12qhfyh:hover{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.cmd-palette-btn.svelte-12qhfyh kbd:where(.svelte-12qhfyh){font-family:inherit;font-size:var(--font-size-meta);color:var(--color-text-muted);background:var(--color-surface-muted);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.main-content.svelte-12qhfyh{flex:1;min-height:0;overflow-y:auto}
