:root{color-scheme:light;--page: #eef1f4;--surface: #ffffff;--surface-raised: #f3f5f7;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--border: rgba(11, 11, 11, .1);--border-strong: #dde1e5;--accent: #2a78d6;--accent-ink: #ffffff;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #4a3aa7;--series-8: #e34948;--gridline: #dde1e5;--ink: #0f172a;--ink-soft: #64748b;--mist: #f1f5f9;--mist-2: #f8fafc;--panel: #ffffff;--line: #e2e8f0;--line-strong: #cbd5e1;--signal: #ea580c;--signal-deep: #c2410c;--signal-soft: #fff7ed;--warn: #b45309;--warn-soft: #fffbeb;--danger: #dc2626;--danger-soft: #fef2f2;--ok: #15803d;--ok-soft: #f0fdf4;--shadow: 0 1px 2px rgba(15, 23, 42, .05);--radius: 8px;--font-display: "Space Grotesk", sans-serif;--font-body: "Public Sans", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--font-sans: "Geist", var(--font-body), system-ui, sans-serif;color:var(--text-primary);background:var(--page);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{height:100%;overflow:hidden}html,body,#root{height:100%;margin:0}body{min-width:320px;overflow:hidden;background:var(--page)}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--signal-deep)}a:hover{color:var(--signal)}.recharts-wrapper:focus,.recharts-wrapper:focus-visible,.recharts-wrapper *:focus,.recharts-surface:focus,.recharts-surface:focus-visible,svg.recharts-surface:focus,.pm-chart :focus{outline:none!important;box-shadow:none!important}.bh-app{display:flex;height:100%;min-height:0;background:var(--page);color:var(--text-primary);font-family:var(--font-sans, system-ui),-apple-system,"Segoe UI",sans-serif}.bh-sidebar{display:flex;flex-direction:column;flex-shrink:0;width:240px;height:100%;background:var(--surface);border-right:1px solid var(--border-strong);transition:width .2s ease}.bh-sidebar.is-collapsed{width:80px}.bh-sidebar-logo{display:flex;flex-shrink:0;align-items:center;gap:8px;padding:14px 16px;border:0;border-bottom:1px solid var(--border-strong);background:transparent;cursor:pointer}.bh-sidebar.is-collapsed .bh-sidebar-logo{justify-content:center;padding-inline:0}.bh-sidebar-logo img{display:block}.bh-logo-full{height:32px;width:auto}.bh-logo-mark{height:36px;width:36px;object-fit:contain}.bh-sidebar-nav{display:flex;flex:1;flex-direction:column;gap:2px;overflow-y:auto;padding:12px 8px}.bh-nav-section{padding:0 10px 6px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.bh-nav-group{display:flex;flex-direction:column;gap:2px}.bh-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.bh-nav-item:hover{background:var(--surface-raised);color:var(--text-primary)}.bh-nav-item.is-active{background:var(--accent);color:var(--accent-ink)}.bh-nav-item:disabled,.bh-nav-item.is-disabled{color:var(--text-muted);opacity:.42;cursor:not-allowed}.bh-nav-item:disabled:hover,.bh-nav-item.is-disabled:hover{background:transparent;color:var(--text-muted)}.bh-nav-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bh-nav-item-collapsed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;padding:8px 4px;border:0;border-radius:6px;background:transparent;cursor:pointer}.bh-nav-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--text-secondary);transition:background .15s ease,color .15s ease}.bh-nav-item-collapsed:hover .bh-nav-icon{background:var(--surface-raised);color:var(--text-primary)}.bh-nav-item-collapsed.is-active .bh-nav-icon{background:var(--accent);color:var(--accent-ink)}.bh-nav-short{max-width:100%;overflow-wrap:anywhere;color:var(--text-muted);font-size:9px;font-weight:500;line-height:1.2;text-align:center}.bh-nav-item-collapsed:hover .bh-nav-short{color:var(--text-primary)}.bh-nav-item-collapsed.is-active .bh-nav-short{color:var(--accent)}.bh-nav-item-collapsed:disabled,.bh-nav-item-collapsed.is-disabled{opacity:.42;cursor:not-allowed}.bh-nav-item-collapsed:disabled:hover .bh-nav-icon,.bh-nav-item-collapsed.is-disabled:hover .bh-nav-icon{background:transparent;color:var(--text-muted)}.bh-nav-item-collapsed:disabled:hover .bh-nav-short,.bh-nav-item-collapsed.is-disabled:hover .bh-nav-short{color:var(--text-muted)}.bh-nav-sub{display:flex;flex-direction:column;gap:2px;margin-left:19px;padding-left:12px;border-left:1px solid var(--border-strong)}.bh-nav-sub-item{padding:6px 10px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.bh-nav-sub-item:hover{background:var(--surface-raised);color:var(--text-primary)}.bh-nav-sub-item.is-active{color:var(--accent)}.bh-nav-sub-item:disabled,.bh-nav-sub-item.is-disabled{opacity:.42;cursor:not-allowed}.bh-nav-sub-item:disabled:hover,.bh-nav-sub-item.is-disabled:hover{background:transparent;color:var(--text-muted)}.bh-sidebar-collapse{display:flex;flex-shrink:0;align-items:center;gap:8px;width:100%;padding:12px 10px;border:0;border-top:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.bh-sidebar-collapse:hover{background:var(--surface-raised);color:var(--text-primary)}.bh-sidebar.is-collapsed .bh-sidebar-collapse{justify-content:center;padding-inline:0}.bh-main{display:flex;min-width:0;flex:1;flex-direction:column}.bh-topbar{position:sticky;top:0;z-index:30;display:flex;height:56px;flex-shrink:0;align-items:center;justify-content:flex-end;gap:8px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border-strong)}.bh-content{flex:1;min-height:0;overflow:auto;padding:16px;background:var(--page)}.bh-content-inner{max-width:1600px;margin:0 auto}.bh-filter{position:relative}.bh-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:6px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease}.bh-btn:disabled{opacity:.5;pointer-events:none}.bh-btn-sm{height:28px;padding:0 8px;font-size:12px}.bh-btn-secondary{background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-strong)}.bh-btn-secondary:hover{background:var(--page)}.bh-btn-primary{background:var(--accent);color:var(--accent-ink)}.bh-btn-primary:hover{opacity:.9}.bh-btn-ghost{background:transparent;color:var(--text-secondary)}.bh-btn-ghost:hover{background:var(--surface-raised);color:var(--text-primary)}.bh-filter-trigger{min-width:150px;justify-content:space-between}.bh-filter-trigger.is-period{min-width:170px}.bh-filter-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bh-filter-scrim{position:fixed;inset:0;z-index:10}.bh-filter-menu{position:absolute;right:0;z-index:20;margin-top:4px;width:256px;padding:4px;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.bh-filter-menu.is-period{width:288px;padding:8px}.bh-filter-heading{padding:4px 8px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.bh-filter-option{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:0;border-radius:4px;background:transparent;color:var(--text-primary);font-size:12px;text-align:left;cursor:pointer}.bh-filter-option:hover,.bh-preset:hover{background:var(--page)}.bh-filter-option .is-check{flex-shrink:0;color:var(--accent)}.bh-filter-empty{padding:12px 8px;color:var(--text-muted);font-size:12px}.bh-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.bh-preset{padding:6px 8px;border:0;border-radius:4px;background:transparent;color:var(--text-primary);font-size:12px;text-align:left;cursor:pointer}.bh-preset.is-active{background:var(--accent);color:var(--accent-ink)}.bh-period-extras{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-strong)}.bh-period-extras select,.bh-period-extras input[type=date]{height:32px;flex:1;padding:0 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-raised);color:var(--text-primary);font-size:12px}.bh-period-extras select.bh-year{flex:0 0 96px;width:96px}.bh-period-to{font-size:12px;color:var(--text-muted)}.bh-placeholder{padding:28px 24px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface)}.bh-placeholder h2{margin:0 0 6px;font-size:1.15rem;font-weight:650;letter-spacing:-.02em}.bh-placeholder p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.45}.thin-scroll::-webkit-scrollbar{height:8px;width:8px}.thin-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}@keyframes dash-cube-pulse{0%,to{transform:scale(.78)}50%{transform:scale(1.22)}}.dash-cube{transform-box:fill-box;transform-origin:center;animation:dash-cube-pulse 2.4s ease-in-out infinite}@keyframes icon-blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes icon-sway{0%,to{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes icon-sway-rev{0%,to{transform:rotate(9deg)}50%{transform:rotate(-9deg)}}@keyframes icon-bob{0%,to{transform:translateY(-1.5px)}50%{transform:translateY(1.5px)}}@keyframes icon-scan-x{0%,to{transform:translate(-1.5px)}50%{transform:translate(1.5px)}}@keyframes icon-scan-y{0%,to{transform:translateY(-1.5px)}50%{transform:translateY(1.5px)}}@keyframes icon-wave-pulse{0%,to{opacity:.3;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}.icon-part{transform-box:fill-box;transform-origin:center}.icon-part-blink{animation:icon-blink 1.8s ease-in-out infinite}.icon-part-spin{animation:icon-spin 4s linear infinite}.icon-part-spin-slow{animation:icon-spin 6s linear infinite}.icon-part-sway{animation:icon-sway 1.6s ease-in-out infinite}.icon-part-sway-rev{animation:icon-sway-rev 1.6s ease-in-out infinite}.icon-part-bob{animation:icon-bob 1.8s ease-in-out infinite}.icon-part-scan-x{animation:icon-scan-x 2s ease-in-out infinite}.icon-part-scan-y{animation:icon-scan-y 2s ease-in-out infinite}.icon-part-pulse{animation:dash-cube-pulse 2.2s ease-in-out infinite}.icon-part-wave{animation:icon-wave-pulse 1.8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.dash-cube,.icon-part-blink,.icon-part-spin,.icon-part-spin-slow,.icon-part-sway,.icon-part-sway-rev,.icon-part-bob,.icon-part-scan-x,.icon-part-scan-y,.icon-part-pulse,.icon-part-wave{animation:none}}.pm-stack{display:flex;flex-direction:column;gap:16px}.pm-card{border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);box-shadow:0 1px 2px #0b0b0b0a}.pm-card-pad{padding:16px}.pm-hero{display:flex;align-items:center;gap:8px}.pm-hero h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.pm-hero-sub{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.pm-badge{display:inline-flex;align-items:center;padding:2px 6px;border:1px solid var(--border-strong);border-radius:4px;color:var(--text-secondary);font-size:11px;font-weight:500;line-height:1;white-space:nowrap}.pm-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 0}.pm-card-title{display:flex;align-items:center;gap:6px;margin:0;color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.25}.pm-card-desc{margin:0;flex:1 1 auto;min-width:0;color:var(--text-muted);font-size:12px;line-height:1.35;text-align:right}.pm-info{position:relative;display:inline-flex;flex-shrink:0}.pm-info-mark{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--text-muted);cursor:help;outline:none;transition:color .15s ease}.pm-info-mark svg{display:block}.pm-info-mark:hover,.pm-info-mark:focus-visible{color:var(--accent)}.pm-info-tip{position:absolute;top:calc(100% + 6px);left:50%;z-index:20;width:224px;padding:8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-raised);color:var(--text-primary);font-size:11px;font-weight:400;line-height:1.4;text-transform:none;white-space:normal;box-shadow:0 8px 20px #0b0b0b1f;opacity:0;pointer-events:none;transform:translate(-50%);transition:opacity .15s ease}.pm-info:hover .pm-info-tip,.pm-info:focus-within .pm-info-tip{opacity:1}.pm-card-body{padding:12px 16px 16px}.pm-synth{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.pm-synth li{display:flex;gap:8px;color:var(--text-secondary);font-size:12px;line-height:1.45}.pm-synth-dot{color:var(--accent)}.pm-platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pm-platform{width:100%;padding:16px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);text-align:left;cursor:pointer;transition:border-color .15s ease}.pm-platform:hover{border-color:var(--accent)}.pm-platform-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.pm-platform-name{color:var(--text-primary);font-size:14px;font-weight:600}.pm-platform-count{margin-top:8px;color:var(--text-primary);font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums}.pm-platform-meta{color:var(--text-muted);font-size:12px}.pm-platform-note{margin-top:8px;color:var(--text-secondary);font-size:11px}.pm-loading{display:flex;flex-direction:column;gap:16px}.pm-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}.pm-platform-skel{cursor:default;pointer-events:none}.pm-skel-block{display:flex;flex-direction:column;gap:8px}.pm-skel-lines,.pm-skel-bars{display:flex;flex-direction:column;gap:10px}.pm-skel{border-radius:4px;background:linear-gradient(90deg,var(--surface-raised) 25%,#e8ebef 37%,var(--surface-raised) 63%);background-size:400% 100%;animation:pm-skel-shimmer 1.2s ease-in-out infinite}.pm-skel-title{width:160px;height:14px}.pm-skel-line{width:100%;height:10px}.pm-skel-line.is-medium{width:72%}.pm-skel-line.is-short{width:54%}.pm-skel-line.is-tiny{width:88px;height:8px;margin-top:10px}.pm-skel-badge{width:64px;height:16px}.pm-skel-count{width:72px;height:28px;margin-top:10px}.pm-skel-bar{height:16px;width:88%;border-radius:999px}.pm-skel-bar.is-mid{width:64%}.pm-skel-bar.is-short{width:42%}.pm-chart-skel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:12px}.pm-chart-skel p{margin:0}.pm-spinner{width:22px;height:22px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:pm-spin .7s linear infinite}@keyframes pm-skel-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes pm-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.pm-skel,.pm-spinner{animation:none}}.pm-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 16px;border:1px dashed var(--border-strong);border-radius:8px;text-align:center}.pm-empty h2{margin:0;color:var(--text-primary);font-size:14px;font-weight:500}.pm-empty p{margin:0;max-width:384px;color:var(--text-muted);font-size:12px;line-height:1.45}.pm-mix{display:flex;flex-direction:column;gap:8px}.pm-mix-row{display:flex;align-items:center;gap:8px;font-size:12px}.pm-mix-label{width:144px;flex-shrink:0;overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.pm-mix-track{height:16px;flex:1;overflow:hidden;border-radius:999px;background:var(--surface-raised)}.pm-mix-fill{height:100%;border-radius:999px}.pm-mix-value{width:76px;flex-shrink:0;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right}.pm-mix-pct{margin-left:4px;color:var(--text-muted)}.pm-chart{width:100%;height:260px}.pm-chart .recharts-wrapper,.pm-chart .recharts-surface,.pm-chart svg{outline:none!important;box-shadow:none!important}.pm-chart-empty{padding:24px 0;color:var(--text-muted);font-size:12px;text-align:center}@keyframes pm-chart-dot-float{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(-5px);opacity:.85}}.pm-chart-dot{animation-name:pm-chart-dot-float;animation-timing-function:ease-in-out;animation-iteration-count:infinite;transform-box:fill-box;transform-origin:center;pointer-events:none}@media(prefers-reduced-motion:reduce){.pm-chart-dot{animation:none;opacity:.5}}@keyframes mixbar-glow-pulse{0%,to{box-shadow:0 0 3px color-mix(in srgb,var(--glow-color, #d91fc7) 35%,transparent)}50%{box-shadow:0 0 9px 1px color-mix(in srgb,var(--glow-color, #d91fc7) 60%,transparent)}}.mixbar-glow{animation:mixbar-glow-pulse 2.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.mixbar-glow{animation:none;box-shadow:0 0 6px color-mix(in srgb,var(--glow-color, #d91fc7) 45%,transparent)}}.pm-mix-label.is-wide{width:192px}@media(max-width:800px){.pm-platform-grid,.pm-split{grid-template-columns:1fr}}.pm-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px}.pm-kpi-grid.is-row{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:520px){.pm-kpi-grid.is-row{grid-template-columns:1fr}}.pm-stat{padding:16px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);box-shadow:0 1px 2px #0b0b0b0a}.pm-stat-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.pm-stat-label{display:inline-flex;min-width:0;align-items:center;gap:6px;color:var(--text-muted);font-size:12px;font-weight:500}.pm-provenance{flex-shrink:0;padding:1px 6px;border:1px solid var(--border-strong);border-radius:4px;color:var(--text-muted);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.pm-stat-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:6px}.pm-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums}.pm-stat-delta{color:var(--text-muted);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.pm-stat-delta.is-up{color:var(--ok)}.pm-stat-delta.is-down{color:var(--danger)}.pm-stat-sub{margin-top:2px;color:var(--text-muted);font-size:12px}.pm-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pm-hero-sub a{color:inherit;text-decoration:none}.pm-hero-sub a:hover,.pm-hero-sub a:focus-visible{color:var(--accent);text-decoration:underline}.pm-table-note{margin:0 0 8px;color:var(--text-muted);font-size:11px}.pm-table-wrap{overflow-x:auto}.pm-table{width:100%;min-width:720px;border-collapse:collapse;font-size:12px}.pm-table th{padding:8px 12px 8px 0;border-bottom:1px solid var(--border-strong);color:var(--text-muted);font-size:10px;font-weight:500;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.pm-table td{padding:8px 12px 8px 0;border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:top}.pm-table td:first-child,.pm-table th:first-child{color:var(--text-primary)}.pm-table-wrap.is-loading{opacity:.6}.pm-table a{color:var(--text-primary);text-decoration:none}.pm-table a:hover,.pm-table a:focus-visible{color:var(--accent);text-decoration:underline}.pm-badge.is-removed,.pm-badge.is-stopped{color:var(--danger)}.pm-badge.is-running{color:var(--ok)}.pm-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.pm-pager-meta{color:var(--text-muted);font-size:12px}.pm-pager-actions{display:flex;gap:2px}.pm-pager-btn{border:0;border-radius:4px;padding:4px 8px;background:transparent;color:var(--text-secondary);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.pm-pager-btn:hover:not(:disabled){background:var(--surface-raised);color:var(--text-primary)}.pm-pager-btn:disabled{opacity:.4;cursor:default}.app-frame{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;align-items:stretch}.app-chrome{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;width:100%;padding:14px 24px;border-bottom:1px solid var(--line);background:#fff;z-index:6;flex-shrink:0}.chrome-brand{font-size:1.55rem;margin:0;align-self:center}.chrome-client{margin:2px 0 0;color:var(--ink-soft);font-size:.82rem;font-weight:500}.chrome-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-left:auto}.chrome-actions .company-select{min-width:160px;max-width:240px;width:200px;margin:0;flex:0 0 auto}.chrome-actions .btn{min-height:38px;padding:8px 12px;line-height:1.25}.app-body{display:flex;flex:1;min-height:0;align-items:stretch}.sidebar{z-index:20;display:flex;flex-direction:column;gap:16px;width:56px;height:100%;padding:12px 8px;border-right:1px solid var(--line);background:#fff;color:var(--ink);flex-shrink:0}.sidebar-nav{display:flex;flex-direction:column;align-items:center;gap:4px}.nav-icon{width:18px;height:18px;display:block}.nav-item{position:relative;display:inline-grid;place-items:center;width:40px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);transition:background .15s ease,color .15s ease}.nav-item:hover{background:var(--mist);color:var(--ink)}.nav-item.active{background:var(--signal-soft);color:var(--signal-deep)}.nav-item[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:4px 8px;border-radius:6px;background:var(--ink);color:#fff;font-size:.72rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:30}.nav-item[data-tooltip]:hover:after{opacity:1}.shell{position:relative;z-index:1;flex:1;min-width:0;min-height:0;margin:0;padding:20px 24px 48px;overflow-x:hidden;overflow-y:auto}.topbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:12px}.page-title{margin:0;font-family:var(--font-display);font-size:1.45rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.brand{font-family:var(--font-display);font-size:1.7rem;font-weight:700;letter-spacing:-.03em;line-height:1;margin:0}.brand span{color:var(--signal)}.dashboard{display:grid;gap:16px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}.dashboard-card{display:grid;gap:18px;min-height:320px;text-align:left;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.dashboard-card:hover{border-color:color-mix(in srgb,var(--signal) 45%,var(--line));box-shadow:0 8px 24px #0f172a0f}.dashboard-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-card-head h3{margin:0;font-size:1.2rem;font-weight:650;letter-spacing:-.02em}.dashboard-card-sub{margin:6px 0 0;color:var(--ink-soft);font-size:.9rem}.dashboard-card-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.dashboard-card-section{display:grid;gap:8px;min-width:0}.dashboard-section-title{margin:0;font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.dashboard-card-platforms{display:grid;gap:8px}.dash-platform{display:grid;gap:4px;padding:12px 14px;border-radius:8px;background:var(--mist-2)}.dash-platform.is-unassigned{opacity:.85}.dash-platform-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.dash-platform-name{font-size:.86rem;font-weight:600}.dash-platform-meta{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;color:var(--ink-soft)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--mist-2)}.workspace-head h2{margin:0;font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.02em;font-weight:700}.workspace-sub{margin:4px 0 0;color:var(--ink-soft);font-size:.85rem}.platform-tabs{--google: #4285f4;--google-soft: #e8f0fe;--meta: #0866ff;--meta-soft: #e7f0ff;--tiktok: #fe2c55;--tiktok-soft: #ffe8ee;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--line)}.posts-platform-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border:0;border-right:1px solid var(--line);background:var(--mist-2);text-align:left;cursor:pointer}.platform-tab:last-child{border-right:0}.platform-tab:hover:not(.active){background:#fff}.platform-tab.active{background:#fff}.platform-tab.google.active{background:var(--google-soft);box-shadow:inset 0 -3px 0 var(--google)}.platform-tab.meta .platform-tab-label{color:var(--meta)}.platform-tab.meta.active{background:var(--meta-soft);box-shadow:inset 0 -3px 0 var(--meta)}.platform-tab.tiktok .platform-tab-label{color:var(--tiktok)}.platform-tab.tiktok.active{background:var(--tiktok-soft);box-shadow:inset 0 -3px 0 var(--tiktok)}.platform-tab-label{font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.platform-tab-meta{font-size:.78rem;color:var(--ink-soft);font-family:var(--font-mono)}.gallery{padding:16px}.posts-grid,.ads-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:12px}.ad-card,.post-card{display:grid;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.ad-card-media,.post-card-media{display:block;aspect-ratio:1;background:var(--mist-2)}.ad-card-media img,.ad-card-media video,.post-card-media img{width:100%;height:100%;object-fit:cover}.ad-card-body,.post-card-body{display:grid;gap:8px;padding:0 12px 12px}.ad-card-meta,.post-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.8rem;color:var(--ink-soft)}.ad-card-caption,.post-card-caption{margin:0;font-size:.9rem;line-height:1.4;white-space:pre-wrap;max-height:6.2em;overflow:hidden}.post-card-stats{display:flex;flex-wrap:wrap;gap:10px;font-size:.78rem;color:var(--ink-soft)}.field{display:grid;gap:4px}.field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:600}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--mist-2);color:var(--ink)}.field input:focus,.field select:focus{outline:2px solid rgba(234,88,12,.2);border-color:var(--signal);background:#fff}.btn{border:0;border-radius:6px;padding:8px 12px;background:var(--ink);color:#fff;font-weight:600;font-size:.88rem}.btn:hover:not(:disabled){background:#1e293b}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.signal{background:var(--signal);color:#fff}.btn.signal:hover:not(:disabled){background:var(--signal-deep)}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover:not(:disabled){background:var(--mist-2);border-color:var(--line-strong)}.badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;font-size:.72rem;font-weight:600;background:var(--mist)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.muted{background:var(--mist);color:var(--ink-soft)}.empty,.error,.toast{padding:10px 12px;border-radius:6px;border:1px solid var(--line)}.empty{color:var(--ink-soft);background:var(--mist-2);text-align:left;line-height:1.4;font-size:.9rem}.error,.toast.error{background:var(--danger-soft);border-color:#dc262640;color:var(--danger)}.toast{margin-bottom:10px;font-weight:500;font-size:.9rem}.pager{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}.pager-meta{font-size:.8rem;color:var(--ink-soft)}.login-screen{display:grid;place-items:center;min-height:100%;padding:24px;background:radial-gradient(1200px 400px at 50% -10%,var(--signal-soft),transparent 60%),var(--mist)}.login-card{width:min(420px,100%);display:grid;gap:16px;padding:28px 26px 24px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 40px #0f172a0f}.login-card p{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.45}.login-card form{display:grid;gap:12px}@media(max-width:720px){.dashboard-grid,.dashboard-card-sections{grid-template-columns:1fr}.chrome-actions .company-select{width:100%;max-width:none}.shell{padding:16px 14px 32px}}
