:root{--bg: oklch(.985 .003 85);--bg-elev: #ffffff;--bg-sunken: oklch(.965 .004 85);--bg-hover: oklch(.955 .005 85);--border: oklch(.92 .005 85);--border-strong: oklch(.86 .006 85);--text: oklch(.22 .008 270);--text-muted: oklch(.48 .008 270);--text-subtle: oklch(.62 .008 270);--accent-h: 268;--accent: oklch(.54 .22 var(--accent-h));--accent-hover: oklch(.48 .22 var(--accent-h));--accent-soft: oklch(.96 .03 var(--accent-h));--accent-border: oklch(.88 .08 var(--accent-h));--accent-fg: #ffffff;--success: oklch(.62 .14 155);--success-soft: oklch(.96 .04 155);--warn: oklch(.75 .15 75);--warn-soft: oklch(.96 .05 80);--danger: oklch(.58 .2 25);--danger-soft: oklch(.96 .04 25);--info: oklch(.62 .12 230);--info-soft: oklch(.96 .03 230);--radius: 8px;--radius-sm: 6px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(17, 17, 27, .04);--shadow: 0 1px 2px rgba(17, 17, 27, .04), 0 4px 12px rgba(17, 17, 27, .04);--shadow-lg: 0 8px 24px rgba(17, 17, 27, .08), 0 2px 6px rgba(17, 17, 27, .04);--sidebar-w: 248px;--sidebar-w-collapsed: 64px;--topbar-h: 56px;--density: 1;--font-sans: "Inter Tight", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}[data-theme=dark]{--bg: oklch(.17 .008 270);--bg-elev: oklch(.21 .009 270);--bg-sunken: oklch(.14 .008 270);--bg-hover: oklch(.25 .01 270);--border: oklch(.28 .01 270);--border-strong: oklch(.36 .012 270);--text: oklch(.96 .005 270);--text-muted: oklch(.7 .008 270);--text-subtle: oklch(.55 .008 270);--accent: oklch(.68 .2 var(--accent-h));--accent-hover: oklch(.74 .2 var(--accent-h));--accent-soft: oklch(.28 .08 var(--accent-h));--accent-border: oklch(.4 .12 var(--accent-h));--success-soft: oklch(.28 .06 155);--warn-soft: oklch(.3 .08 75);--danger-soft: oklch(.3 .08 25);--info-soft: oklch(.3 .06 230);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"sidebar topbar" "sidebar main";min-height:100vh;transition:grid-template-columns .2s ease}.app[data-collapsed=true]{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar{grid-area:sidebar;background:var(--bg-elev);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;position:sticky;top:0;height:100vh}.sidebar-brand{height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border);flex-shrink:0}.brand-mark{width:28px;height:28px;border-radius:7px;background:var(--text);color:var(--bg-elev);display:grid;place-items:center;font-weight:700;font-size:13px;letter-spacing:-.02em;flex-shrink:0;position:relative;overflow:hidden}.brand-mark:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 50%,var(--accent) 50%);opacity:.9}.brand-mark span{position:relative;z-index:1;color:#fff}.brand-name{font-weight:600;font-size:14px;letter-spacing:-.01em;white-space:nowrap}.brand-sub{font-size:10px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono)}.sidebar[data-collapsed=true] .brand-text,.sidebar[data-collapsed=true] .nav-label,.sidebar[data-collapsed=true] .nav-section-title,.sidebar[data-collapsed=true] .org-switcher,.sidebar[data-collapsed=true] .nav-badge{display:none}.sidebar-scroll{flex:1;overflow-y:auto;padding:12px 8px}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.nav-section-title{font-size:10px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.1em;padding:14px 10px 6px;font-weight:600}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;position:relative;margin:1px 0;-webkit-user-select:none;user-select:none}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}[data-theme=dark] .nav-item.active{color:var(--accent)}.nav-item.active .nav-icon svg{stroke:var(--accent)}.nav-icon{width:18px;height:18px;flex-shrink:0;display:grid;place-items:center}.nav-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75}.nav-label{flex:1;white-space:nowrap;overflow:hidden}.nav-badge{font-size:10px;padding:1px 6px;border-radius:10px;background:var(--bg-hover);color:var(--text-muted);font-family:var(--font-mono);font-weight:500}.nav-item.active .nav-badge{background:var(--accent);color:var(--accent-fg)}.org-switcher{padding:10px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0}.avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font-weight:600;font-size:11px;flex-shrink:0}.org-meta{flex:1;min-width:0}.org-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-plan{font-size:11px;color:var(--text-subtle);font-family:var(--font-mono)}.topbar{grid-area:topbar;background:var(--bg-elev);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:16px;position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.breadcrumb .current{color:var(--text);font-weight:500}.breadcrumb .sep{opacity:.4}.search svg,.btn svg,.chip svg,.badge svg,.activity-item svg,.topbar svg,.tweaks-fab svg,.cmdk-item svg,.kpi-foot svg,.trend svg{stroke:currentColor;fill:none;stroke-width:1.75}.search svg{width:14px;height:14px}.search{flex:0 1 360px;display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-sunken);color:var(--text-subtle);font-size:13px;margin-left:auto;cursor:pointer;min-width:0;white-space:nowrap}.search>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search kbd{flex-shrink:0}.search:hover{border-color:var(--border-strong)}.search kbd{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;padding:1px 5px;border-radius:4px;background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted)}.topbar-actions{display:flex;align-items:center;gap:4px}.icon-btn{width:32px;height:32px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--text-muted);position:relative}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.icon-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75}.icon-btn .dot{position:absolute;top:6px;right:7px;width:7px;height:7px;background:var(--danger);border-radius:50%;border:2px solid var(--bg-elev)}.main{grid-area:main;padding:24px 28px 40px;overflow-x:hidden}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}.page-title{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0}.page-sub{font-size:13px;color:var(--text-muted);margin-top:2px}.page-actions{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);transition:all .1s}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.75}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--bg-hover)}.btn-sm{padding:4px 8px;font-size:12px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);gap:12px}.card-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.card-sub{font-size:12px;color:var(--text-muted);font-weight:400;margin-top:1px}.card-body{padding:16px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.kpi{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px;position:relative;overflow:hidden}.kpi-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;display:flex;align-items:center;gap:6px}.kpi-label .tag{font-size:9px;padding:1px 5px;border-radius:3px;background:var(--bg-sunken);letter-spacing:.05em}.kpi-value{font-size:26px;font-weight:600;letter-spacing:-.03em;margin-top:10px;font-family:var(--font-sans);font-feature-settings:"tnum"}.kpi-value .unit{font-size:14px;color:var(--text-muted);font-weight:500;margin-left:2px}.kpi-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px}.trend{display:inline-flex;align-items:center;gap:3px;font-weight:500;font-family:var(--font-mono);font-size:11.5px}.trend.up{color:var(--success)}.trend.down{color:var(--danger)}.kpi-spark{height:32px;margin-top:10px}.table-wrap{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table-toolbar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:6px;font-size:12px;font-weight:500;background:var(--bg-sunken);border:1px solid var(--border);color:var(--text-muted);cursor:pointer}.chip.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.chip svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}.table-search{flex:1;max-width:260px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-sunken);font-size:12.5px;outline:none}.table-search:focus{border-color:var(--accent);background:var(--bg-elev)}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th,table.data td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}table.data thead th{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-sunken);position:sticky;top:0}table.data tbody tr:hover{background:var(--bg-hover)}table.data tbody tr:last-child td{border-bottom:none}table.data .mono{font-family:var(--font-mono);font-size:12px}table.data .num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:12.5px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11.5px;font-weight:500;line-height:1.4}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.success{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--warn-soft);color:#986600;color:oklch(.55 .14 75)}[data-theme=dark] .badge.warn{color:#f5ae39}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.neutral{background:var(--bg-sunken);color:var(--text-muted)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.plain:before{display:none}.avatar-stack{display:inline-flex}.avatar-stack .avatar{width:22px;height:22px;font-size:9px;border:2px solid var(--bg-elev);margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.avatar.a2{background:#db6656}.avatar.a3{background:#009298;background:oklch(.6 .15 200)}.avatar.a4{background:#1c985a}.avatar.a5{background:#a462b4}.progress{height:6px;background:var(--bg-sunken);border-radius:3px;overflow:hidden;position:relative}.progress-bar{height:100%;background:var(--accent);border-radius:3px}.progress-bar.success{background:var(--success)}.progress-bar.warn{background:#e49e22}.progress-bar.danger{background:var(--danger)}.chart-frame{position:relative;padding:16px}.chart-grid line{stroke:var(--border);stroke-width:1}.chart-axis{font-family:var(--font-mono);font-size:10px;fill:var(--text-subtle)}.chart-label{font-size:11px;fill:var(--text-muted)}.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:16px}.grid-2-even{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:8px;align-items:center}.row-between{display:flex;justify-content:space-between;align-items:center;gap:8px}.activity-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.activity-item:last-child{border-bottom:none}.activity-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--accent);flex-shrink:0}.activity-body{flex:1;min-width:0}.activity-meta{font-size:11.5px;color:var(--text-subtle);font-family:var(--font-mono);margin-top:2px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:9px 14px;font-size:13px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab .count{margin-left:6px;font-size:11px;font-family:var(--font-mono);padding:1px 5px;background:var(--bg-sunken);border-radius:4px;color:var(--text-subtle)}.tweaks-fab{position:fixed;bottom:20px;right:20px;width:44px;height:44px;border-radius:50%;background:var(--text);color:var(--bg-elev);display:none;place-items:center;z-index:40;box-shadow:var(--shadow-lg)}.tweaks-fab.visible{display:grid}.tweaks-fab:hover{transform:scale(1.05)}.tweaks-fab svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.75}.tweaks-panel{position:fixed;bottom:76px;right:20px;width:288px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:39;padding:14px;display:none}.tweaks-panel.open{display:block}.tweaks-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px;display:flex;justify-content:space-between}.tweak-row{margin-bottom:12px}.tweak-row:last-child{margin-bottom:0}.tweak-label{font-size:12px;color:var(--text-muted);margin-bottom:6px;display:flex;justify-content:space-between}.tweak-label b{color:var(--text);font-weight:500;font-family:var(--font-mono);font-size:11.5px}.swatches{display:flex;gap:6px}.swatch{width:24px;height:24px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .1s}.swatch.active{border-color:var(--text);transform:scale(1.1)}.segmented{display:flex;background:var(--bg-sunken);border-radius:var(--radius-sm);padding:2px;gap:2px}.segmented button{flex:1;padding:5px 8px;font-size:12px;border-radius:4px;color:var(--text-muted);font-weight:500}.segmented button.active{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-sm)}.app[data-density=compact] .kpi{padding:12px}.app[data-density=compact] .kpi-value{font-size:22px;margin-top:6px}.app[data-density=compact] table.data th,.app[data-density=compact] table.data td{padding:6px 12px}.app[data-density=compact] .card-body{padding:12px}.app[data-density=compact] .card-header{padding:10px 14px}.app[data-density=comfortable] .kpi{padding:20px}.app[data-density=comfortable] .kpi-value{font-size:30px}.app[data-density=comfortable] table.data th,.app[data-density=comfortable] table.data td{padding:14px 16px}.app[data-density=comfortable] .card-body{padding:20px}.app[data-radius=sharp]{--radius: 4px;--radius-sm: 3px;--radius-lg: 6px}.app[data-radius=rounded]{--radius: 12px;--radius-sm: 8px;--radius-lg: 16px}.cmdk-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a1466;z-index:50;display:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cmdk-backdrop.open{display:block}.cmdk{position:fixed;top:20vh;left:50%;transform:translate(-50%);width:min(90vw,560px);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:51;display:none;overflow:hidden}.cmdk-backdrop.open+.cmdk{display:block}.cmdk-input{width:100%;padding:14px 18px;border:none;font-size:15px;background:transparent;border-bottom:1px solid var(--border);outline:none}.cmdk-list{max-height:320px;overflow-y:auto;padding:6px}.cmdk-section{font-size:11px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;padding:8px 10px 4px;font-weight:600}.cmdk-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);font-size:13.5px;cursor:pointer}.cmdk-item:hover,.cmdk-item.sel{background:var(--bg-hover)}.cmdk-item .cmdk-shortcut{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-subtle)}@media (max-width: 1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}}@media (max-width: 860px){.app{grid-template-columns:0 1fr}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-w);transform:translate(-100%);z-index:60;transition:transform .2s}.app[data-mobile-nav=true] .sidebar{transform:translate(0)}}.bin-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;padding:16px}.bin{aspect-ratio:1;border-radius:3px;background:var(--bg-sunken);border:1px solid var(--border);position:relative;cursor:pointer}.bin[data-fill=low]{background:#defae6;border-color:#a4deb7}.bin[data-fill=mid]{background:#ffdfb4;background:oklch(.92 .08 75);border-color:#ebb25f}.bin[data-fill=high]{background:#ffc7c1;background:oklch(.88 .1 25);border-color:#ed756e}.bin[data-fill=empty]{opacity:.4}.bin:hover{outline:2px solid var(--accent);z-index:2}.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.pipe-col{background:var(--bg-sunken);border-radius:var(--radius);padding:10px;min-height:400px}.pipe-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:4px 4px 10px}.pipe-head .sum{font-family:var(--font-mono);font-size:11px;color:var(--text-subtle);text-transform:none;letter-spacing:0}.deal-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;margin-bottom:8px;cursor:grab;box-shadow:var(--shadow-sm)}.deal-card:hover{border-color:var(--border-strong)}.deal-title{font-size:13px;font-weight:500;margin-bottom:4px}.deal-meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:11.5px;color:var(--text-muted)}.deal-amount{font-family:var(--font-mono);font-weight:600;color:var(--text);font-size:12.5px}.gantt{display:grid;grid-template-columns:200px 1fr;font-size:12px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-elev)}.gantt-col{border-right:1px solid var(--border)}.gantt-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;border-bottom:1px solid var(--border)}.gantt-row:last-child{border-bottom:none}.gantt-cell{padding:10px 12px}.gantt-cell.bar-cell{padding:12px 0;position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/12 - 1px),var(--border) calc(100%/12 - 1px),var(--border) calc(100%/12))}.gantt-bar{position:absolute;top:8px;bottom:8px;background:var(--accent);border-radius:4px;padding:2px 8px;color:var(--accent-fg);font-size:11px;font-weight:500;display:flex;align-items:center;overflow:hidden;white-space:nowrap}.gantt-bar.success{background:var(--success)}.gantt-bar.warn{background:#d56f2c}.gantt-bar.info{background:var(--info)}.gantt-bar.neutral{background:var(--border-strong);color:var(--text)}.gantt-head{background:var(--bg-sunken);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.gantt-head .gantt-cell{padding:8px 12px}.gantt-months{display:grid;grid-template-columns:repeat(12,1fr)}.gantt-months div{padding:8px 0;text-align:center;border-right:1px solid var(--border);font-family:var(--font-mono)}.gantt-months div:last-child{border-right:none}.heatmap{display:grid;grid-template-columns:40px repeat(24,1fr);gap:2px;font-size:10px;font-family:var(--font-mono);color:var(--text-subtle)}.heatmap .hcell{aspect-ratio:1;background:var(--bg-sunken);border-radius:2px}.heatmap .hcell[data-h="1"]{background:oklch(.92 .05 var(--accent-h))}.heatmap .hcell[data-h="2"]{background:oklch(.85 .1 var(--accent-h))}.heatmap .hcell[data-h="3"]{background:oklch(.75 .15 var(--accent-h))}.heatmap .hcell[data-h="4"]{background:oklch(.6 .2 var(--accent-h))}.heatmap .hcell[data-h="5"]{background:oklch(.5 .22 var(--accent-h))}.heatmap .hlabel{display:flex;align-items:center;justify-content:flex-end;padding-right:6px}.ai-card{background:linear-gradient(135deg,var(--accent-soft),var(--bg-elev));border:1px solid var(--accent-border)}[data-theme=dark] .ai-card{background:linear-gradient(135deg,oklch(.26 .08 var(--accent-h)),var(--bg-elev))}.ai-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-elev);border:1px solid var(--accent-border);border-radius:20px;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:600}.ai-card ul{margin:8px 0 0;padding-left:0;list-style:none}.ai-card li{padding:8px 0;border-top:1px solid var(--accent-border);font-size:13px;line-height:1.45;display:flex;gap:8px}.ai-card li:before{content:"→";color:var(--accent);font-family:var(--font-mono);flex-shrink:0}.form-row{display:flex;gap:12px}.form-field{flex:1;margin-bottom:12px}.form-field label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px;font-weight:500}.form-field input,.form-field select,.form-field textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);font-size:13px;outline:none}.form-field input:focus,.form-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.toggle{position:relative;width:32px;height:18px;background:var(--border-strong);border-radius:20px;cursor:pointer;transition:background .15s}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .15s;box-shadow:var(--shadow-sm)}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(14px)}.placeholder-bg{background:repeating-linear-gradient(45deg,var(--bg-sunken) 0 8px,transparent 8px 16px);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--text-subtle);font-family:var(--font-mono);font-size:11px}.status-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:4px;font-size:11.5px;font-weight:500;line-height:1.4}.status-chip:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-chip.draft{background:var(--bg-sunken);color:var(--text-muted)}.status-chip.awaiting{background:var(--warn-soft);color:#986600;color:oklch(.55 .14 75)}.status-chip.issued{background:var(--accent-soft);color:var(--accent)}.status-chip.paid{background:var(--success-soft);color:var(--success)}.status-chip.overdue{background:var(--danger-soft);color:var(--danger)}.status-chip.void{background:var(--bg-sunken);color:var(--text-subtle);text-decoration:line-through}.status-chip.credited,.status-chip.partial{background:var(--info-soft);color:var(--info)}.inv-editor{display:grid;grid-template-columns:minmax(420px,1fr) minmax(460px,1fr);gap:16px;align-items:start}.inv-editor-pane{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.inv-editor-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-sunken)}.inv-editor-head .save-state{font-size:11.5px;color:var(--text-subtle);font-family:var(--font-mono)}.inv-editor-head .save-state.saving{color:var(--warn)}.inv-editor-head .save-state.saved{color:var(--success)}.inv-editor-body{padding:16px}.line-rows{display:flex;flex-direction:column;gap:6px}.line-row{display:grid;grid-template-columns:20px 1fr 70px 100px 110px 100px 28px;gap:8px;align-items:center;padding:6px;border-radius:var(--radius-sm);border:1px solid transparent}.line-row:hover{background:var(--bg-hover);border-color:var(--border)}.line-row .handle{color:var(--text-subtle);cursor:grab;display:grid;place-items:center}.line-row .handle svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}.line-row input,.line-row select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);font-size:12.5px;outline:none}.line-row input.num,.line-row .total{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.line-row input:focus,.line-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.line-row .total{font-weight:600;font-size:12.5px;padding:6px 8px;color:var(--text)}.line-row .remove{color:var(--text-subtle)}.line-row .remove:hover{color:var(--danger)}.line-row-head{display:grid;grid-template-columns:20px 1fr 70px 100px 110px 100px 28px;gap:8px;padding:0 6px 4px;font-size:10.5px;font-weight:600;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em}.line-row-head .num-h{text-align:right}.inv-totals{display:flex;flex-direction:column;gap:6px;padding-top:14px;border-top:1px dashed var(--border);margin-top:12px}.inv-totals-row{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:12.5px;color:var(--text-muted)}.inv-totals-row b{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.inv-totals-row.grand{border-top:1px solid var(--border);padding-top:10px;margin-top:4px;font-size:14px;color:var(--text);font-weight:600}.inv-totals-row.grand b{font-size:16px;letter-spacing:-.01em}.pdf-preview{padding:20px;background:#ecebe9;min-height:600px;overflow:auto}[data-theme=dark] .pdf-preview{background:#050608}.pdf-paper{background:#fff;color:#101115;width:min(100%,560px);margin:0 auto;aspect-ratio:1 / 1.414;box-shadow:0 8px 32px #11111b1f,0 2px 6px #11111b0f;padding:36px;font-family:Inter Tight,sans-serif;font-size:10px;line-height:1.4;position:relative;overflow:hidden}.pdf-paper .pdf-accent-strip{position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent)}.pdf-paper h1{font-size:20px;letter-spacing:-.02em;margin:0;font-weight:600}.pdf-paper .pdf-meta{display:flex;justify-content:space-between;gap:16px;margin-top:16px}.pdf-paper .pdf-label{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#707176;font-weight:600}.pdf-paper .pdf-party{font-size:10px;line-height:1.5;margin-top:3px}.pdf-paper .pdf-party b{display:block;font-size:11px;margin-bottom:2px}.pdf-paper .pdf-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:9.5px}.pdf-paper .pdf-table th{text-align:left;padding:6px 4px;border-bottom:1.5px solid oklch(.18 .008 270);font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:#393a3f}.pdf-paper .pdf-table td{padding:6px 4px;border-bottom:.5px solid oklch(.9 .005 85)}.pdf-paper .pdf-table .num{text-align:right;font-variant-numeric:tabular-nums}.pdf-paper .pdf-totals{display:flex;justify-content:flex-end;margin-top:14px}.pdf-paper .pdf-totals-inner{min-width:220px}.pdf-paper .pdf-totals-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:9.5px}.pdf-paper .pdf-totals-row.grand{border-top:1px solid oklch(.18 .008 270);padding-top:6px;margin-top:4px;font-size:12px;font-weight:600}.pdf-paper .pdf-footer{position:absolute;bottom:36px;left:36px;right:36px;font-size:8.5px;color:#707176;display:flex;justify-content:space-between;border-top:.5px solid oklch(.9 .005 85);padding-top:8px}.pdf-paper .pdf-brand{display:flex;align-items:center;gap:8px}.pdf-paper .pdf-brand-mark{width:22px;height:22px;border-radius:5px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:11px;position:relative;overflow:hidden}.pdf-paper .pdf-brand-mark:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 50%,rgba(0,0,0,.15) 50%)}.vat-breakdown{display:flex;flex-direction:column;gap:4px;padding:10px 0}.vat-breakdown-row{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;font-size:11.5px;color:var(--text-muted);font-family:var(--font-mono)}.vat-breakdown-row .rate-label{color:var(--text);font-family:var(--font-sans);font-weight:500;font-size:12px}.inv-actions-bar{display:flex;gap:8px;align-items:center;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-elev);position:sticky;bottom:0}.inv-actions-bar .spacer{flex:1}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a1466;z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.dialog{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(100%,520px);max-height:90vh;overflow:auto}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.dialog-body{padding:20px}.dialog-foot{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg-sunken)}.timeline{position:relative;padding-left:22px}.timeline:before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:1px;background:var(--border)}.timeline-item{position:relative;padding:6px 0 16px}.timeline-item:before{content:"";position:absolute;left:-18px;top:10px;width:10px;height:10px;border-radius:50%;background:var(--bg-elev);border:2px solid var(--accent)}.timeline-item.success:before{border-color:var(--success)}.timeline-item.danger:before{border-color:var(--danger)}.timeline-item.info:before{border-color:var(--info)}.timeline-item .tl-title{font-size:13px;font-weight:500}.timeline-item .tl-meta{font-size:11.5px;color:var(--text-subtle);font-family:var(--font-mono);margin-top:2px}.timeline-item .tl-diff{margin-top:6px;padding:8px 10px;background:var(--bg-sunken);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted);line-height:1.5}.timeline-item .tl-diff .diff-add{color:var(--success)}.timeline-item .tl-diff .diff-del{color:var(--danger);text-decoration:line-through}.stat-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius)}.stat-card .stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.stat-card .stat-value{font-size:20px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-family:var(--font-sans)}.stat-card .stat-value .unit{font-size:12px;color:var(--text-muted);font-weight:500;margin-left:2px}.stat-card .stat-sub{font-size:11.5px;color:var(--text-subtle)}@media (max-width: 1200px){.inv-editor{grid-template-columns:1fr}}.topbar-hamburger{display:none}@media (max-width: 860px){.topbar-hamburger{display:inline-flex;margin-right:8px}.mobile-nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:55}.page-header{flex-direction:column;align-items:stretch;gap:12px}.page-actions{justify-content:flex-start;flex-wrap:wrap}.topbar{padding:10px 12px;gap:8px}.topbar .search{display:none}.breadcrumb{font-size:12px}.kpi-grid{grid-template-columns:1fr!important}.form-row{flex-direction:column;gap:8px}.form-row .form-field{flex:1 1 auto!important}.line-row{grid-template-columns:1fr!important;gap:6px}.line-row-head,table.data thead{display:none}table.data,table.data tbody,table.data tr,table.data td{display:block;width:100%}table.data tr{border-top:1px solid var(--border);padding:10px 12px}table.data td{padding:4px 0;border:none;text-align:left!important}table.data td.num{text-align:right!important}.dialog{width:calc(100vw - 16px);max-width:none;margin:8px}}
