:root,[data-theme=dark]{--bg: #1b1a19;--bg-main: #201f1e;--topbar: #1f1f1f;--card: #292827;--card-border: #3b3a39;--divider: #3b3a39;--text: #ffffff;--text-2: #d2d0ce;--text-3: #a19f9d;--link: #479ef5;--link-hover: #77b7f7;--accent: #479ef5;--hover: #323130;--row-border: #3b3a39;--sticky: #201f1e;--chip: #2f3e52;--badge: #ffd335;--focus: #ffffff;--scroll: #605e5c;color-scheme:dark}[data-theme=light]{--bg: #faf9f8;--bg-main: #ffffff;--topbar: #1f1f1f;--card: #ffffff;--card-border: #d2d0ce;--divider: #e1dfdd;--text: #201f1e;--text-2: #3b3a39;--text-3: #605e5c;--link: #0f6cbd;--link-hover: #115ea3;--accent: #0f6cbd;--hover: #f3f2f1;--row-border: #e1dfdd;--sticky: #ffffff;--chip: #deecf9;--badge: #8a6d00;--focus: #201f1e;--scroll: #c8c6c4;color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:Segoe UI,"Segoe UI Web (West European)",-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif;font-size:14px;min-width:1024px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:6px}::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.app{height:100vh;display:flex;flex-direction:column;background:var(--bg)}.demo-banner{height:22px;flex:none;background:#ffd335;color:#1f1f1f;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;letter-spacing:.2px;z-index:20}.topbar{height:48px;flex:none;background:var(--topbar);color:#fff;display:grid;grid-template-columns:1fr minmax(320px,630px) 1fr;align-items:center;padding:0 8px 0 4px;border-bottom:1px solid #2b2b2b}.topbar-left,.topbar-right{display:flex;align-items:center;gap:4px}.topbar-right{justify-content:flex-end}.app-name{font-size:16px;font-weight:600;margin-left:6px;white-space:nowrap}.icon-btn{position:relative;width:40px;height:40px;border:0;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer}.icon-btn:hover{background:#333}.notif-badge{position:absolute;top:4px;right:3px;background:#c50f1f;color:#fff;font-size:9px;font-weight:700;border-radius:8px;padding:0 3px;line-height:13px}.top-search{display:flex;align-items:center;gap:8px;height:32px;background:#292929;border:1px solid #3d3d3d;border-radius:4px;padding:0 10px;color:#d6d6d6}.top-search input{flex:1;background:transparent;border:0;color:#fff;font:inherit;outline:none}.top-search input::placeholder{color:#c8c8c8}.avatar{width:28px;height:28px;border-radius:50%;background:#0f6cbd;color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-left:6px}.training-toggle{display:flex;align-items:center;gap:6px;margin-right:8px;font-size:12px;color:#fff;background:#2b2b2b;border:1px solid #3d3d3d;border-radius:14px;padding:2px 4px 2px 10px}.training-toggle.on{border-color:#ffd335}.breadcrumb{height:44px;flex:none;display:flex;align-items:center;gap:8px;padding:0 14px;font-size:13px;border-bottom:1px solid var(--divider);color:var(--text-2);background:var(--bg)}.breadcrumb .current,.breadcrumb .home{font-weight:600;color:var(--text)}.body{flex:1;min-height:0;display:flex}.sidebar{width:265px;flex:none;border-right:1px solid var(--divider);display:flex;flex-direction:column;background:var(--bg);transition:width .15s}.sidebar.collapsed{width:0;overflow:hidden;border-right:0}.sidebar-scroll{flex:1;overflow-y:auto;padding:6px 14px 10px 0}.nav-item{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--text);font:inherit;font-size:13px;padding:9px 14px 9px 30px;cursor:pointer;border-radius:2px}.nav-item.top{padding-left:14px}.nav-item:hover{background:var(--hover)}.nav-item.active{font-weight:600;background:var(--hover);box-shadow:inset 3px 0 0 var(--accent)}.nav-group{font-size:12px;font-weight:700;padding:16px 14px 7px;margin-right:4px;border-bottom:1px solid var(--divider);margin-bottom:4px}.sidebar-pinned{flex:none;border-top:1px solid var(--divider);padding:2px 14px 2px 0}.main{flex:1;min-width:0;overflow:auto;background:var(--bg-main);padding:18px 26px 40px}.page-header{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.page-title{font-size:32px;font-weight:400;margin:0;letter-spacing:-.3px}.page-title b{font-weight:700}.page-sub{font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px}.context-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:16px;border-bottom:1px solid var(--divider)}.pivots{display:flex;gap:4px}.pivot{background:transparent;border:0;color:var(--text);font:inherit;font-size:13px;padding:10px 10px 12px;cursor:pointer;position:relative}.pivot:hover{background:var(--hover)}.pivot.active{font-weight:600}.pivot.active:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;border-radius:2px;background:#479ef5}.context-selector{display:flex;align-items:center;gap:8px;padding-bottom:8px;font-size:13px}.kpis{display:grid;grid-template-columns:repeat(8,minmax(128px,1fr));gap:16px;margin-top:26px}.kpi{position:relative;background:var(--card);border:1px solid var(--card-border);min-height:108px;padding:26px 10px 12px 14px}.kpi-title{font-size:13px;font-weight:600;white-space:nowrap}.kpi-value{font-size:28px;font-weight:600;margin-top:8px;line-height:1.2}.kpi-link{background:none;border:0;padding:0;font:inherit;color:var(--link);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.kpi-link:hover{color:var(--link-hover)}.info-btn{position:absolute;top:6px;right:6px;background:none;border:0;color:var(--link);padding:2px;cursor:help;display:inline-flex;border-radius:50%}.info-inline{background:none;border:0;color:var(--link);padding:0;display:inline-flex;cursor:help}.tip{max-width:340px;font-size:12px;line-height:1.45}.tip .tip-title{font-weight:700;margin-bottom:4px}.tip .tip-note{margin-top:8px;padding-top:6px;border-top:1px solid var(--divider)}.tip .tip-note b{color:#b58b00}[data-theme=dark] .tip .tip-note b{color:#ffd335}.tbadge{position:absolute;top:-9px;left:-9px;z-index:3;width:22px;height:22px;border-radius:50%;background:#ffd335;color:#1f1f1f;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--bg-main);cursor:help;padding:0}.tbadge.inline{position:static;width:18px;height:18px;font-size:10px;border-width:1px;flex:none}.training-on .kpi,.training-on .chart-card{outline:1px dashed rgba(255,211,53,.55);outline-offset:2px}.charts{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:30px;margin-top:30px}.chart-card{position:relative;background:var(--card);border:1px solid var(--card-border);height:312px;padding:14px 12px 8px 14px;display:flex;flex-direction:column}.chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.chart-title{font-size:13px;font-weight:700;line-height:1.35}.chart-asof{font-size:11px;color:var(--text-2);margin-top:2px}.chart-actions{display:flex;align-items:center;flex:none}.chart-body{flex:1;min-height:0}.ghost-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--text);font:inherit;font-size:13px;padding:4px 6px;cursor:pointer;border-radius:2px}.ghost-btn svg{color:var(--link)}.ghost-btn:hover{background:var(--hover)}.playbooks{margin-top:26px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border:1px dashed rgba(255,211,53,.6);background:#ffd3350f}.playbooks-label{font-weight:700;font-size:13px;margin-right:4px;display:flex;align-items:center;gap:6px}.pb-btn{background:var(--card);color:var(--text);border:1px solid var(--card-border);border-radius:14px;font:inherit;font-size:12px;padding:4px 12px;cursor:pointer}.pb-btn:hover{border-color:var(--accent)}.pb-btn.active{border-color:#ffd335;background:#ffd33526}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:30px;gap:10px}.toolbar-group{display:flex;align-items:center;gap:6px}.table-search{display:flex;align-items:center;gap:6px;width:290px;height:32px;border:1px solid var(--text-3);padding:0 8px;background:var(--bg-main)}.table-search input{flex:1;border:0;outline:none;background:transparent;color:var(--text);font:inherit;font-size:13px}.table-search input::placeholder{color:var(--text-2)}.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px;min-height:0}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--chip);border-radius:12px;padding:3px 4px 3px 10px;font-size:12px}.chip button{background:none;border:0;color:inherit;cursor:pointer;display:inline-flex;padding:0}.result-count{font-size:12px;color:var(--text-2)}.table-wrap{position:relative;margin-top:10px;overflow:auto;max-height:640px;border-top:1px solid var(--row-border)}table.grid{border-collapse:separate;border-spacing:0;font-size:13px;min-width:100%;table-layout:fixed}.grid th,.grid td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--row-border);word-wrap:break-word;overflow-wrap:anywhere}.grid thead th{position:sticky;top:0;z-index:2;background:var(--sticky);font-weight:600;vertical-align:top}.grid thead tr.group-band th{font-size:11px;font-weight:700;padding:6px 12px;color:#1f1f1f;background:#ffd335;border-right:2px solid var(--sticky);white-space:nowrap}.grid thead tr.group-band th .band{display:flex;align-items:center;gap:6px}.grid.with-band thead tr.headers th{top:29px}.grid th:first-child,.grid td:first-child{position:sticky;left:0;z-index:1;background:var(--sticky);box-shadow:1px 0 0 var(--row-border)}.grid thead th:first-child{z-index:3}.grid tbody tr:hover td{background:var(--hover)}.grid td{line-height:1.45;height:100px}.sort-btn{background:none;border:0;color:inherit;font:inherit;font-weight:700;padding:0;text-align:left;cursor:pointer;display:inline-flex;gap:4px;align-items:flex-start}.sort-btn .arrow{color:var(--link);flex:none}.cell-link{background:none;border:0;padding:0;font:inherit;text-align:left;color:var(--link);text-decoration:underline;cursor:pointer}.cell-link:hover{color:var(--link-hover)}.th-info{display:inline-flex;vertical-align:middle;margin-left:2px}.empty-table{padding:40px;text-align:center;color:var(--text-2)}.panel-section{margin-bottom:22px}.panel-section h3{font-size:14px;margin:0 0 10px}.kv{display:grid;grid-template-columns:1fr auto;gap:8px 16px;font-size:13px}.kv .k{color:var(--text-2)}.kv .v{font-weight:600;text-align:right}.pill{display:inline-block;border-radius:10px;padding:1px 10px;font-size:12px;font-weight:600}.pill.Acquire{background:#1aa0c8;color:#001018}.pill.Monetize{background:#7a1050;color:#fff}.pill.Grow{background:#4f6bed;color:#fff}.pill.Not-targeted{background:#b8960c;color:#1a1400}.criteria{display:flex;flex-direction:column;gap:10px}.criterion{border:1px solid var(--card-border);background:var(--card);padding:10px 12px}.meter{height:8px;background:var(--divider);border-radius:4px;position:relative;margin-top:8px}.meter>span{position:absolute;inset:0 auto 0 0;border-radius:4px}.meter .threshold{position:absolute;top:-4px;bottom:-4px;width:2px;background:#ffd335}.check-row{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--divider);font-size:13px}.status-ok{color:#54b054}.status-bad{color:#f1707b}.advice{border:1px dashed rgba(255,211,53,.7);background:#ffd33512;padding:12px 14px}.advice h3{display:flex;align-items:center;gap:8px}.advice ul{margin:0;padding-left:18px;line-height:1.5;font-size:13px}.advice li+li{margin-top:6px}.dict-item{padding:10px 0;border-bottom:1px solid var(--divider);font-size:13px;line-height:1.45}.dict-item b{display:block;margin-bottom:2px}.col-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.col-group-title{font-size:12px;font-weight:700;color:var(--text-2);margin:14px 0 4px;text-transform:none}.empty-state{margin-top:80px;text-align:center;color:var(--text-2)}.empty-state h2{color:var(--text);font-weight:600;font-size:20px}.mini-bars{display:flex;flex-direction:column;gap:8px}.mini-bar{display:grid;grid-template-columns:170px 1fr 60px;align-items:center;gap:10px;font-size:13px}.mini-bar .track{height:14px;background:var(--divider)}.mini-bar .fill{height:100%;background:#4f6bed}.mini-bar .num{text-align:right;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: 1500px){.kpis{gap:12px}.charts{gap:14px}}
