.vp-frame{display:flex;flex-direction:column;height:100%}.vp-frame__body{flex:1;min-height:0;overflow-y:auto}.vpbar{flex-shrink:0;font-size:12px;line-height:1.4;font-family:var(--font-body, system-ui, sans-serif)}.vpbar__demo{display:flex;align-items:center;gap:12px;padding:4px 24px;background:#0e1726;color:#f2f5fa;border-bottom:2px solid #e8852b}.vpbar__label{color:#f4a12b;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.vpbar__text{color:#c9d2de}.vpbar__text--short{display:none}.vpbar__ann{display:flex;align-items:center;gap:12px;padding:6px 24px;border-bottom:1px solid rgba(0,0,0,.12)}.vpbar__msg{flex:1;min-width:0;overflow-wrap:anywhere}.vpbar__msg a{color:inherit;font-weight:600;text-decoration:underline}.vpbar__ann--info{background:#dbe9fb;color:#0b3a75}.vpbar__ann--success{background:#d9f2e3;color:#0d5530}.vpbar__ann--warning{background:#fdedc8;color:#6b4200}.vpbar__ann--critical{background:#b42318;color:#fff}.vpbar__close{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer}.vpbar__close:hover{background:#0000001a}.vpbar__ann--critical .vpbar__close:hover{background:#fff3}.vpbar__close:focus-visible{outline:2px solid currentColor;outline-offset:1px}@media (max-width: 720px){.vpbar__demo,.vpbar__ann{padding-left:16px;padding-right:16px}.vpbar__text--long{display:none}.vpbar__text--short{display:inline}}:root,:root[data-theme=light]{--vp-navy: #0e1726;--vp-orange: #e8852a;--vp-amber: #f4a22d;--vp-off-white: #f2f5fa;--vp-navy-card: #1b2a44;--vp-navy-line: #4a5872;--vp-orange-deep: #a85c15;--vp-orange-tint: #fdf1e4;--color-background-page: #ffffff;--color-background-surface: #f4f6fa;--color-background-raised: #ffffff;--color-background-highlight: #fdf1e4;--color-background-hover: #eef1f6;--color-background-selected: #fdf1e4;--color-text-heading: #0e1726;--color-text-body: #3f4855;--color-text-muted: #5f6876;--color-text-accent: #a85c15;--color-text-inverse: #ffffff;--color-border-default: #dce1e8;--color-border-strong: #b9c1cd;--color-accent-default: #e8852a;--color-action-primary-background: #e8852a;--color-action-primary-hover: #c76a14;--color-action-primary-text: #0e1726;--color-action-secondary-background: #0e1726;--color-action-secondary-hover: #1b2a44;--color-action-secondary-text: #ffffff;--color-focus-ring: #2f6fd0;--color-status-success: #1a7f57;--color-status-success-bg: #e3f3ec;--color-status-error: #c83c3c;--color-status-error-bg: #fbe9e9;--color-status-info: #2f6fd0;--color-status-info-bg: #e7effb;--color-status-warning: #a85c15;--color-status-warning-bg: #fdf1e4;--color-status-neutral: #5f6876;--color-status-neutral-bg: #eef1f6;--badge-success-fg: #146c4a;--badge-error-fg: #a32f2f;--badge-info-fg: #2457a6;--badge-warning-fg: #8a4a0f;--badge-neutral-fg: #4f5866;--badge-accent-fg: #8a4a0f;--nav-bg: #0e1726;--nav-text: #f2f5fa;--nav-muted: #aeb8c7;--nav-hover: #1b2a44;--nav-active-bg: #1b2a44;--nav-accent: #f4a22d;--nav-border: #24324d;--hero-bg: #0e1726;--hero-ring: #1b2a44;--shadow-sm: 0 1px 2px rgba(14, 23, 38, .06);--shadow-md: 0 4px 16px rgba(14, 23, 38, .08);--shadow-lg: 0 16px 48px rgba(14, 23, 38, .18);--overlay: rgba(14, 23, 38, .45);--chart-1: #2f6fd0;--chart-2: #d9741c;--chart-3: #0e968f;--chart-4: #7b5cc4;--chart-5: #c2477f;--chart-6: #5e7f1e;--chart-grid: #e4e7ee;--chart-axis: #5f6876;color-scheme:light}:root[data-theme=dark]{--color-background-page: #0e1726;--color-background-surface: #1b2a44;--color-background-raised: #22334f;--color-background-highlight: #1b2a44;--color-background-hover: #24365a;--color-background-selected: #2a3a58;--color-text-heading: #f2f5fa;--color-text-body: #f2f5fa;--color-text-muted: #aeb8c7;--color-text-accent: #f4a22d;--color-text-inverse: #0e1726;--color-border-default: #4a5872;--color-border-strong: #6a7892;--color-accent-default: #f4a22d;--color-action-primary-background: #f4a22d;--color-action-primary-hover: #f7b65a;--color-action-primary-text: #0e1726;--color-action-secondary-background: #f2f5fa;--color-action-secondary-hover: #dce1e8;--color-action-secondary-text: #0e1726;--color-focus-ring: #8db4f0;--color-status-success: #4cc795;--color-status-success-bg: rgba(26, 127, 87, .22);--color-status-error: #f08080;--color-status-error-bg: rgba(200, 60, 60, .22);--color-status-info: #8db4f0;--color-status-info-bg: rgba(47, 111, 208, .22);--color-status-warning: #f4a22d;--color-status-warning-bg: rgba(244, 162, 45, .16);--color-status-neutral: #aeb8c7;--color-status-neutral-bg: rgba(174, 184, 199, .14);--badge-success-fg: #4cc795;--badge-error-fg: #f08080;--badge-info-fg: #8db4f0;--badge-warning-fg: #f4a22d;--badge-neutral-fg: #aeb8c7;--badge-accent-fg: #f4a22d;--nav-bg: #0a111d;--nav-hover: #1b2a44;--nav-active-bg: #1b2a44;--nav-border: #1b2a44;--hero-bg: #1b2a44;--hero-ring: #24365a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5);--overlay: rgba(0, 0, 0, .6);--chart-1: #5b93e8;--chart-2: #cc7f18;--chart-3: #1e9f99;--chart-4: #9479e0;--chart-5: #d95f94;--chart-6: #779a38;--chart-grid: #2c3d5c;--chart-axis: #aeb8c7;color-scheme:dark}:root{--font-heading: "Space Grotesk", Arial, sans-serif;--font-body: "Inter", Arial, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--control-height: 38px;--sidebar-width: 248px;--topbar-height: 60px;--motion-fast: .15s;--motion-base: .2s}@media (prefers-reduced-motion: reduce){:root{--motion-fast: 0ms;--motion-base: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);font-size:var(--text-md);line-height:1.5;color:var(--color-text-body);background:var(--color-background-page);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text-heading);font-weight:700;margin:0;line-height:1.2;letter-spacing:-.01em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl);font-weight:600}h4{font-size:var(--text-lg);font-weight:600}p{margin:0}a{color:var(--color-text-accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-accent)}.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm)}.xs{font-size:var(--text-xs)}.mono{font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums;text-align:right}.row{display:flex;align-items:center;gap:var(--space-2)}.row-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.col{display:flex;flex-direction:column;gap:var(--space-2)}.grow{flex:1;min-width:0}.spacer{flex:1}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.shell{display:flex;height:100%}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--nav-bg);color:var(--nav-text);display:flex;flex-direction:column;border-right:1px solid var(--nav-border);transition:transform var(--motion-base) ease;z-index:40}.sidebar-brand{height:var(--topbar-height);display:flex;align-items:center;padding:0 var(--space-5);border-bottom:1px solid var(--nav-border)}.sidebar-brand img{height:26px}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-3) var(--space-5)}.nav-group{margin-top:var(--space-4)}.nav-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--nav-muted);padding:0 var(--space-3) var(--space-2)}.nav-item{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:8px var(--space-3);border-radius:var(--radius-md);color:var(--nav-muted);font-weight:500;font-size:var(--text-md);text-decoration:none;transition:background var(--motion-fast),color var(--motion-fast)}.nav-item:hover{background:var(--nav-hover);color:var(--nav-text);text-decoration:none}.nav-item.active{background:var(--nav-active-bg);color:var(--nav-text);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:-12px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--nav-accent)}.nav-item.active svg{color:var(--nav-accent)}.nav-badge{margin-left:auto;min-width:20px;padding:0 6px;height:20px;border-radius:10px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;background:var(--nav-accent);color:var(--vp-navy)}.sidebar-foot{padding:var(--space-3) var(--space-4);border-top:1px solid var(--nav-border);font-size:var(--text-xs);color:var(--nav-muted)}.main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%}.topbar{height:var(--topbar-height);flex-shrink:0;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-5);border-bottom:1px solid var(--color-border-default);background:var(--color-background-page);position:relative;z-index:30}.content{flex:1;overflow-y:auto}.workspace-name{font-family:var(--font-heading);font-weight:600;color:var(--color-text-heading);gap:8px;padding:0 4px}.workspace-name svg{color:var(--color-accent-default)}.page{padding:var(--space-5) var(--space-6) var(--space-7);max-width:1600px;margin:0 auto}.page-head{display:flex;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-head h1{font-size:26px}.page-head .lede{margin-top:4px;color:var(--color-text-muted);max-width:70ch}.icon-btn.menu-toggle{display:none}@media (max-width: 960px){.sidebar{position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.icon-btn.menu-toggle{display:inline-flex}.page{padding:var(--space-4) var(--space-4) var(--space-6)}.topbar{padding:0 var(--space-4)}.hide-mobile{display:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-weight:600;font-size:var(--text-md);cursor:pointer;white-space:nowrap;transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast);text-decoration:none!important}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-action-primary-background);color:var(--color-action-primary-text)}.btn-primary:hover:not(:disabled){background:var(--color-action-primary-hover)}.btn-secondary{background:var(--color-action-secondary-background);color:var(--color-action-secondary-text)}.btn-secondary:hover:not(:disabled){background:var(--color-action-secondary-hover)}.btn-ghost{background:transparent;color:var(--color-text-heading);border-color:var(--color-border-default)}.btn-ghost:hover:not(:disabled){background:var(--color-background-hover)}.btn-quiet{background:transparent;color:var(--color-text-body)}.btn-quiet:hover:not(:disabled){background:var(--color-background-hover)}.btn-danger{background:var(--color-status-error);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.92)}:root[data-theme=dark] .btn-danger{background:#c83c3c}.btn-danger-ghost{background:transparent;color:var(--color-status-error);border-color:color-mix(in srgb,var(--color-status-error) 45%,transparent)}.btn-danger-ghost:hover:not(:disabled){background:var(--color-status-error-bg)}.btn-sm{height:30px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn-icon{width:var(--control-height);padding:0}.btn-sm.btn-icon{width:30px}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-text-body);cursor:pointer}.icon-btn:hover{background:var(--color-background-hover)}.dot-badge{position:absolute;top:4px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--color-action-primary-background);color:var(--color-action-primary-text);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.card{background:var(--color-background-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.card-pad{padding:var(--space-5)}.card-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-default)}.card-head h3{font-size:var(--text-lg)}.card-body{padding:var(--space-4) var(--space-5)}.panel{background:var(--color-background-page);border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.section-title{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-weight:600;font-size:var(--text-lg);color:var(--color-text-heading);padding-left:var(--space-3);border-left:3px solid var(--color-accent-default);margin-bottom:var(--space-3)}.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}@media (max-width: 1100px){.grid-12>*{grid-column:span 12!important}}.kpi{padding:var(--space-4) var(--space-5);background:var(--color-background-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:2px;min-height:108px}.kpi-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}.kpi-value{font-family:var(--font-heading);font-size:30px;font-weight:700;color:var(--color-text-heading);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kpi-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.kpi.accent{background:var(--color-background-highlight);border-color:color-mix(in srgb,var(--color-accent-default) 35%,transparent)}.kpi.accent .kpi-label{color:var(--badge-accent-fg)}.chart-card{padding:var(--space-4) var(--space-4) var(--space-2);display:flex;flex-direction:column}.chart-card .chart-title{font-size:15px;margin-bottom:2px;padding:0 var(--space-1)}.chart-card .sub{font-size:var(--text-xs);color:var(--color-text-muted);padding:0 var(--space-1)}.chart-tools{display:flex;gap:4px;margin-left:auto}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.field .label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-heading)}.field .req{color:var(--color-status-error);margin-left:2px}.field .req-text{font-weight:400;color:var(--color-text-muted);font-size:var(--text-xs);margin-left:4px}.field .help{font-size:var(--text-xs);color:var(--color-text-muted)}.field .err{font-size:var(--text-xs);color:var(--color-status-error);display:flex;align-items:center;gap:4px;font-weight:500}.input,.select,.textarea{width:100%;height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-background-page);color:var(--color-text-heading);font:inherit;font-size:var(--text-md);transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.textarea{height:auto;min-height:92px;padding:var(--space-2) var(--space-3);resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-text-muted)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-focus-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus-ring) 25%,transparent)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-background-surface);color:var(--color-text-muted);border-style:dashed;cursor:not-allowed}.field.invalid .input,.field.invalid .select,.field.invalid .textarea{border-color:var(--color-status-error)}.input-sm{height:32px;font-size:var(--text-sm)}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-weight:500;color:var(--color-text-heading)}.checkbox input{width:18px;height:18px;accent-color:var(--color-accent-default)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-4)}.form-grid .full{grid-column:1 / -1}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}.form-section{grid-column:1 / -1;padding-top:var(--space-2)}.input-group{position:relative;display:flex;align-items:center}.input-group>svg{position:absolute;left:10px;color:var(--color-text-muted);pointer-events:none}.input-group .input{padding-left:34px}.table-wrap{overflow-x:auto;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-background-page)}table.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-md)}.table th{position:sticky;top:0;background:var(--color-background-surface);color:var(--color-text-muted);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:10px var(--space-4);border-bottom:1px solid var(--color-border-default);white-space:nowrap;-webkit-user-select:none;user-select:none}.table th.sortable{cursor:pointer}.table th.sortable:hover{color:var(--color-text-heading)}.table td{padding:10px var(--space-4);border-bottom:1px solid var(--color-border-default);color:var(--color-text-heading);vertical-align:middle;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover td{background:var(--color-background-hover)}.table tbody tr.selected td{background:var(--color-background-selected)}.table td.primary-cell{font-weight:600}.table-foot{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.toolbar .search{width:280px;max-width:100%}.filter-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:15px;border:1px solid var(--color-border-default);background:var(--color-background-surface);font-size:var(--text-sm);color:var(--color-text-heading)}.filter-chip button{border:none;background:none;cursor:pointer;color:var(--color-text-muted);display:inline-flex;padding:0}.badge{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px 0 7px;border-radius:12px;font-size:var(--text-xs);font-weight:600;white-space:nowrap;border:1px solid transparent}.badge svg{flex-shrink:0}.badge.tone-success{background:var(--color-status-success-bg);color:var(--badge-success-fg)}.badge.tone-error{background:var(--color-status-error-bg);color:var(--badge-error-fg)}.badge.tone-info{background:var(--color-status-info-bg);color:var(--badge-info-fg)}.badge.tone-warning{background:var(--color-status-warning-bg);color:var(--badge-warning-fg)}.badge.tone-neutral{background:var(--color-status-neutral-bg);color:var(--badge-neutral-fg)}.badge.tone-accent{background:var(--color-background-highlight);color:var(--badge-accent-fg)}.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--radius-sm);background:var(--color-background-surface);border:1px solid var(--color-border-default);font-size:var(--text-xs);font-weight:500;color:var(--color-text-body)}.avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:600;font-size:13px;flex-shrink:0;color:#fff;background:var(--vp-navy-card)}.avatar.lg{width:64px;height:64px;font-size:22px}.avatar.xl{width:88px;height:88px;font-size:30px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:80;animation:fade var(--motion-base) ease}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(760px,100vw);background:var(--color-background-page);z-index:90;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:slide-in var(--motion-base) ease}.drawer-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-default);display:flex;gap:var(--space-3);align-items:flex-start}.drawer-body{flex:1;overflow-y:auto;padding:var(--space-5)}.drawer-foot{padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border-default);display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;background:var(--color-background-surface)}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;background:var(--color-background-page);border-radius:var(--radius-lg);z-index:100;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-default);animation:pop var(--motion-base) ease}.modal-head{padding:var(--space-5) var(--space-5) var(--space-2)}.modal-body{padding:var(--space-2) var(--space-5) var(--space-4)}.modal-foot{padding:var(--space-3) var(--space-5) var(--space-5);display:flex;gap:var(--space-2);justify-content:flex-end}@keyframes fade{0%{opacity:0}}@keyframes slide-in{0%{transform:translate(40px);opacity:0}}@keyframes pop{0%{transform:translate(-50%,-48%);opacity:0}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--color-border-default);overflow-x:auto;margin-bottom:var(--space-4);scrollbar-width:thin}.tab{position:relative;padding:10px 14px;border:none;background:none;font-weight:500;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;text-decoration:none!important;font-size:var(--text-md)}.tab:hover{color:var(--color-text-heading)}.tab.active{color:var(--color-text-heading);font-weight:600}.tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--color-accent-default)}.tab .count{font-size:11px;background:var(--color-background-surface);border:1px solid var(--color-border-default);border-radius:9px;padding:0 6px}.dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-5)}.dl>div{min-width:0}.dl dt{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500;margin-bottom:2px}.dl dd{margin:0;color:var(--color-text-heading);font-weight:500;overflow-wrap:anywhere}.dl .full{grid-column:1 / -1}@media (max-width: 640px){.dl{grid-template-columns:1fr}}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:0 0 var(--space-4) var(--space-5);border-left:2px solid var(--color-border-default);margin-left:6px}.timeline li:last-child{border-left-color:transparent}.timeline li:before{content:"";position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--color-background-page);border:2px solid var(--color-accent-default)}.empty{text-align:center;padding:var(--space-7) var(--space-5);color:var(--color-text-muted);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.empty .empty-icon{width:56px;height:56px;border-radius:50%;background:var(--color-background-highlight);color:var(--color-text-accent);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.empty .empty-title{font-family:var(--font-heading);font-weight:600;font-size:var(--text-lg);color:var(--color-text-heading)}.alert{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid;font-size:var(--text-md)}.alert.tone-error{background:var(--color-status-error-bg);border-color:color-mix(in srgb,var(--color-status-error) 40%,transparent);color:var(--color-text-heading)}.alert.tone-error svg{color:var(--color-status-error)}.alert.tone-info{background:var(--color-status-info-bg);border-color:color-mix(in srgb,var(--color-status-info) 40%,transparent);color:var(--color-text-heading)}.alert.tone-info svg{color:var(--color-status-info)}.alert.tone-success{background:var(--color-status-success-bg);border-color:color-mix(in srgb,var(--color-status-success) 40%,transparent);color:var(--color-text-heading)}.alert.tone-success svg{color:var(--color-status-success)}.alert.tone-warning{background:var(--color-status-warning-bg);border-color:color-mix(in srgb,var(--color-accent-default) 45%,transparent);color:var(--color-text-heading)}.alert.tone-warning svg{color:var(--color-status-warning)}.skeleton{background:linear-gradient(90deg,var(--color-background-surface) 0%,var(--color-background-hover) 50%,var(--color-background-surface) 100%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:var(--radius-md)}@keyframes shimmer{to{background-position:-200% 0}}.spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.progress{height:8px;border-radius:4px;background:var(--color-background-hover);overflow:hidden}.progress>div{height:100%;background:var(--color-accent-default);border-radius:4px;transition:width var(--motion-base)}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:200}.toast{display:flex;align-items:flex-start;gap:10px;min-width:280px;max-width:420px;padding:12px 14px;border-radius:var(--radius-md);background:var(--vp-navy);color:var(--vp-off-white);box-shadow:var(--shadow-lg);font-size:var(--text-md);animation:pop-toast var(--motion-base) ease;border-left:4px solid var(--vp-amber)}.toast.tone-error{border-left-color:#f08080}.toast.tone-success{border-left-color:#4cc795}:root[data-theme=dark] .toast{background:var(--vp-off-white);color:var(--vp-navy)}@keyframes pop-toast{0%{transform:translateY(8px);opacity:0}}.popover{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;background:var(--color-background-page);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:60;padding:var(--space-2);animation:fade var(--motion-fast)}.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:8px 10px;border-radius:var(--radius-sm);border:none;background:none;color:var(--color-text-heading);cursor:pointer;text-align:left;font-size:var(--text-md);text-decoration:none!important}.menu-item:hover{background:var(--color-background-hover)}.menu-item.active{background:var(--color-background-selected);font-weight:600}.menu-sep{height:1px;background:var(--color-border-default);margin:6px 0}.ref-select{position:relative}.ref-list{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow-y:auto;background:var(--color-background-page);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:120;padding:4px}.search-results{position:absolute;top:calc(100% + 6px);left:0;width:min(560px,90vw);max-height:70vh;overflow-y:auto}.auth{min-height:100%;display:grid;grid-template-columns:minmax(360px,44%) 1fr;background:var(--color-background-page)}.auth-brand{background:var(--vp-navy);color:var(--vp-off-white);padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;position:relative;overflow:hidden}.auth-brand:after{content:"";position:absolute;right:-120px;bottom:-120px;width:380px;height:380px;border-radius:50%;border:48px solid rgba(244,162,45,.12)}.auth-brand .auth-lockup{width:min(340px,80%)}.auth-brand h2{color:var(--vp-off-white);font-size:26px;line-height:34px;max-width:440px}.auth-brand p{color:#aeb8c7;max-width:440px}.auth-brand .small{position:relative;z-index:1}.auth-brand .accent{color:var(--vp-amber)}.auth-form{display:grid;place-items:center;padding:32px}.auth-panel{width:min(420px,100%);display:flex;flex-direction:column;gap:20px}.auth-panel h1{font-size:28px}.auth-panel .field label{font-size:var(--text-md)}.auth-input{height:42px}.auth-submit{width:100%;height:48px;font-size:var(--text-lg)}@media (max-width: 900px){.auth{grid-template-columns:1fr}.auth-brand{display:none}}.list-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-default)}.list-card:last-child{border-bottom:none}.list-link{cursor:pointer}.list-link:hover{background:var(--color-background-hover)}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3)}.person-card{padding:var(--space-4);display:flex;gap:var(--space-3);align-items:center;cursor:pointer;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.person-card:hover{border-color:var(--color-accent-default);box-shadow:var(--shadow-sm)}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-3)}.kanban-col{background:var(--color-background-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:70vh}.kanban-col-head{padding:var(--space-3) var(--space-3) var(--space-2);display:flex;align-items:center;gap:8px;font-weight:600;color:var(--color-text-heading)}.kanban-cards{padding:0 var(--space-2) var(--space-2);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.kanban-card{background:var(--color-background-page);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer}.kanban-card:hover{border-color:var(--color-accent-default)}.stat-strip{display:flex;gap:var(--space-5);flex-wrap:wrap}.stat-strip .v{font-family:var(--font-heading);font-size:22px;font-weight:700;color:var(--color-text-heading)}.wordmark{height:28px;display:block}.theme-light-only{display:inline}.theme-dark-only{display:none}:root[data-theme=dark] .theme-light-only{display:none}:root[data-theme=dark] .theme-dark-only{display:inline}.segmented{display:inline-flex;border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden}.segmented button{border:none;background:var(--color-background-page);padding:6px 12px;cursor:pointer;color:var(--color-text-body);display:inline-flex;align-items:center;gap:6px;font-weight:500}.segmented button+button{border-left:1px solid var(--color-border-default)}.segmented button.on{background:var(--color-background-selected);color:var(--color-text-heading);font-weight:600;box-shadow:inset 0 -2px 0 var(--color-accent-default)}.skip-link{position:absolute;left:12px;top:-48px;z-index:300;padding:10px 16px;border-radius:var(--radius-md);background:var(--color-action-primary-background);color:var(--color-action-primary-text);font-weight:600;transition:top var(--motion-fast) ease-out}.skip-link:focus{top:10px;text-decoration:none}.content:focus{outline:none}.modal-title,.drawer-title{font-size:var(--text-xl);font-weight:600}.tabs{scroll-behavior:smooth}.tabs.fade-right{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent)}.tabs.fade-left{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 48px),transparent)}.tabs.fade-left.fade-right{-webkit-mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent)}.table th.num,.table td.num{text-align:right;font-variant-numeric:tabular-nums}.table th.num .row{justify-content:flex-end}.nav-group-toggle{display:flex;align-items:center;width:100%;border:none;background:none;cursor:pointer;padding:4px var(--space-3) var(--space-2);color:var(--nav-muted);font:inherit;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-sm)}.nav-group-toggle:hover{color:var(--nav-text)}.nav-group-toggle svg{margin-left:auto;transition:transform var(--motion-fast)}.nav-group-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.input-affix{position:relative}.input-affix .input{padding-right:46px}.input-affix .affix-btn{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;background:none;cursor:pointer;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.input-affix .affix-btn:hover{color:var(--color-text-heading)}.record-cards{display:flex;flex-direction:column}.record-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--color-border-default);cursor:pointer;min-height:56px}.record-card:last-child{border-bottom:none}.record-card:active,.record-card:hover{background:var(--color-background-hover)}.record-card .rc-title{font-weight:600;color:var(--color-text-heading)}.record-card .rc-sub{font-size:var(--text-xs);color:var(--color-text-muted)}button,a,[role=button],.clickable{touch-action:manipulation}@media (max-width: 768px){.btn{min-height:44px}.btn-sm{height:40px;min-height:40px}.btn-sm.btn-icon,.btn-icon{min-width:44px}.icon-btn{width:44px;height:44px}.input,.select,.textarea{font-size:16px;min-height:44px}.input-sm{height:44px}.nav-item{padding:11px var(--space-3)}.tab{padding:12px 14px}.menu-item{min-height:44px}.page-head h1{font-size:24px}}.auth-explore{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-accent-default) 40%,transparent);background:var(--color-background-highlight);color:var(--color-text-body);text-decoration:none!important;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.auth-explore:hover{border-color:var(--color-accent-default);box-shadow:var(--shadow-sm)}.auth-explore-icon{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;background:var(--color-action-primary-background);color:var(--color-action-primary-text)}.auth-explore-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:var(--text-sm);line-height:1.4}.auth-explore-text strong{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text-heading)}.auth-explore-arrow{flex-shrink:0;margin-left:auto;color:var(--color-text-accent);transition:transform var(--motion-fast)}.auth-explore:hover .auth-explore-arrow{transform:translate(3px)}.topbar-usecases{flex-shrink:0}@media (max-width: 640px){.topbar-usecases{display:none}}
