:root {
  --bg: #080b10;
  --bg-soft: #0d1119;
  --panel: rgba(17, 22, 32, .96);
  --panel-solid: #111620;
  --line: rgba(255,255,255,.075);
  --line-hot: rgba(139,112,255,.32);
  --text: #f3f5fa;
  --muted: #7d8799;
  --muted-2: #a4adbc;
  --violet: #8b70ff;
  --violet-2: #6044ff;
  --cyan: #3ad9ff;
  --green: #49dda3;
  --red: #ff6482;
  --amber: #ffbd5b;
  --surface-raised: #151b27;
  --surface-soft: rgba(255,255,255,.025);
  --surface-input: #0b0f16;
  --surface-modal: #0c1119;
  --surface-row: rgba(17,22,32,.82);
  --chart-grid: rgba(255,255,255,.06);
  --chart-axis: rgba(151,162,181,.78);
  --chart-label: rgba(207,215,229,.9);
  --chart-point-stroke: #fff;
  --radius: 22px;
  --shadow: 0 18px 42px rgba(0,0,0,.3);
}

/* Final semantic typography layer: intentionally last so it wins over legacy
   component font sizes while preserving the component layout. */
[data-text-group="heading"] { color:var(--text-heading-color,inherit);font-family:var(--text-heading-family,"Space Grotesk",Manrope,sans-serif);font-size:var(--text-heading-size,inherit);font-weight:var(--text-heading-weight,600); }
[data-text-group="meta"] { color:var(--text-meta-color,inherit);font-family:var(--text-meta-family,Manrope,sans-serif);font-size:var(--text-meta-size,10px);font-weight:var(--text-meta-weight,700); }
[data-text-group="control"] { color:var(--text-control-color,inherit);font-family:var(--text-control-family,Manrope,sans-serif);font-size:var(--text-control-size,11px);font-weight:var(--text-control-weight,600); }
[data-text-group="value"] { color:var(--text-value-color,inherit);font-family:var(--text-value-family,"Space Grotesk",Manrope,sans-serif);font-size:var(--text-value-size,inherit);font-weight:var(--text-value-weight,700); }
[data-text-group="supporting"] { color:var(--text-supporting-color,var(--muted));font-family:var(--text-supporting-family,Manrope,sans-serif);font-size:var(--text-supporting-size,11px);font-weight:var(--text-supporting-weight,500);line-height:1.5; }
[data-text-group="table"] { color:var(--text-table-color,inherit);font-family:var(--text-table-family,Manrope,sans-serif);font-size:var(--text-table-size,11px);font-weight:var(--text-table-weight,500); }
[data-text-group="body"] { color:var(--text-body-color,inherit);font-family:var(--text-body-family,Manrope,sans-serif);font-size:var(--text-body-size,12px);font-weight:var(--text-body-weight,inherit); }

.hosted-demo { padding-top: 42px; }
.hosted-demo .sidebar { top: 42px; }
.hosted-access { padding-top:42px; }
.hosted-access .sidebar { top:42px; }
.hosted-demo #settingsBtn,.hosted-demo #syncBtn,.hosted-demo #subscriptionButton { display: none !important; }
.hosted-demo .chart-legend::before { content:"ДИНАМИКА · ДЕМО"; }
.hosted-demo-banner { position: fixed; z-index: 90; inset: 0 0 auto 0; display: flex; align-items: center; justify-content: center; gap: 14px; height: 42px; padding: 0 18px; color: #dcd5ff; background: linear-gradient(90deg,#211848,#10172b,#162b32); border-bottom: 1px solid rgba(139,112,255,.38); box-shadow: 0 8px 30px rgba(0,0,0,.28); font-size: 11px; }
.hosted-demo-banner strong { letter-spacing: .16em; }
.hosted-demo-banner span { color: #aab1c0; }
.hosted-demo-banner a { margin-left: auto; padding: 7px 12px; color: #fff; background: linear-gradient(135deg,#8065ff,#6044e9); border-radius: 9px; text-decoration: none; font-weight: 800; }
.hosted-demo-dialog { position: fixed; z-index: 110; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(3,5,9,.78); backdrop-filter: blur(12px); }
.hosted-demo-dialog[hidden] { display: none; }
.hosted-demo-dialog>div { width: min(560px,100%); padding: 34px; text-align: center; background: linear-gradient(155deg,#171a28,#0d121b); border: 1px solid rgba(139,112,255,.38); border-radius: 23px; box-shadow: 0 35px 100px rgba(0,0,0,.7); }
.hosted-demo-dialog em { display: inline-block; padding: 6px 11px; color: #d8ceff; background: rgba(139,112,255,.15); border-radius: 999px; font-style: normal; font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.hosted-demo-dialog h2 { margin: 18px 0 10px; font-size: 27px; }
.hosted-demo-dialog p { color: #9da6b6; line-height: 1.65; }
.hosted-demo-dialog section { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 23px; }
.hosted-demo-dialog button,.hosted-demo-dialog a { min-height: 44px; display: grid; place-items: center; border-radius: 10px; font-weight: 800; }
.hosted-demo-dialog button { color: #080b10; background: linear-gradient(135deg,#8b70ff,#4bd9ca); border: 0; cursor: pointer; }
.hosted-demo-dialog a { color: #ded7ff; border: 1px solid rgba(139,112,255,.4); text-decoration: none; }
@media (max-width:760px) {
  .hosted-demo-banner span { display:none; }
  .hosted-demo-banner { justify-content:flex-start; }
  .hosted-demo-dialog section { grid-template-columns:1fr; }
}

/* Central text registry. Every visible text node receives data-text-id and a
   semantic group in app.js. Admin tooling can change a whole group through
   the --text-<group>-* variables without editing component CSS. */
[data-text-group="heading"] { color:var(--text-heading-color,inherit);font-family:var(--text-heading-family,"Space Grotesk",Manrope,sans-serif);font-size:var(--text-heading-size,inherit);font-weight:var(--text-heading-weight,600); }
[data-text-group="meta"] { color:var(--text-meta-color,inherit);font-family:var(--text-meta-family,Manrope,sans-serif);font-size:var(--text-meta-size,10px);font-weight:var(--text-meta-weight,700); }
[data-text-group="control"] { color:var(--text-control-color,inherit);font-family:var(--text-control-family,Manrope,sans-serif);font-size:var(--text-control-size,11px);font-weight:var(--text-control-weight,600); }
[data-text-group="value"] { color:var(--text-value-color,inherit);font-family:var(--text-value-family,"Space Grotesk",Manrope,sans-serif);font-size:var(--text-value-size,inherit);font-weight:var(--text-value-weight,700); }
[data-text-group="supporting"] { color:var(--text-supporting-color,var(--muted));font-family:var(--text-supporting-family,Manrope,sans-serif);font-size:var(--text-supporting-size,11px);font-weight:var(--text-supporting-weight,500);line-height:1.5; }
[data-text-group="table"] { color:var(--text-table-color,inherit);font-family:var(--text-table-family,Manrope,sans-serif);font-size:var(--text-table-size,11px);font-weight:var(--text-table-weight,500); }
[data-text-group="body"] { color:var(--text-body-color,inherit);font-family:var(--text-body-family,Manrope,sans-serif);font-size:var(--text-body-size,12px);font-weight:var(--text-body-weight,inherit); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background:
  radial-gradient(circle at 23% -8%,rgba(139,112,255,.09),transparent 31rem),
  radial-gradient(circle at 105% 48%,rgba(58,217,255,.055),transparent 30rem),
  var(--bg); color: var(--text); font-family: Manrope, sans-serif; min-height: 100vh; overflow-x: hidden; }
button,input,select,textarea { font: inherit; }
button { color: inherit; }
::selection { background: rgba(139,112,255,.4); }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #252d3c; border-radius: 99px; }
.admin-ui-hidden { display:none!important; }
.visual-editor-mode .hosted-demo-dialog { display:none!important; }
.visual-editor-mode .pulse-editor-hover { outline:2px solid #49dda3!important;outline-offset:3px;cursor:crosshair!important; }
.visual-editor-mode .pulse-editor-selected { outline:3px solid #ffbd5b!important;outline-offset:5px;animation:editorPulse .75s ease 2; }
@keyframes editorPulse { 50% { outline-offset:10px; } }

.ambient { display: none; }
.ambient-a { left: 260px; top: -180px; background: var(--violet); }
.ambient-b { right: -220px; top: 40%; background: var(--cyan); }
.progress-line { position: fixed; inset: 0 0 auto 0; height: 3px; background: transparent; z-index: 50; }
.progress-line i { display: block; height: 100%; width: 0; background: linear-gradient(90deg,var(--violet),var(--cyan)); box-shadow: 0 0 18px var(--violet); transition: width .45s ease; }

.sidebar { position: fixed; inset: 0 auto 0 0; width: 238px; padding: 26px 18px 20px; border-right: 1px solid var(--line); background: rgba(8,11,16,.98); z-index: 20; display: flex; flex-direction: column; }
.brand { display:flex;align-items:center;justify-content:center;min-height:76px;padding:8px 10px;color:var(--text);text-decoration:none;margin:0 4px 20px;border:1px solid rgba(255,255,255,.82);border-radius:17px;background:linear-gradient(145deg,#fff 0%,#f5f8fc 58%,#dfe7f1 100%);box-shadow:inset 0 1px 0 #fff,inset 0 -2px 5px rgba(24,56,100,.12),0 9px 22px rgba(0,0,0,.36),0 2px 0 rgba(255,255,255,.22); }
.brand>img { display:block;width:184px;height:auto;max-height:76px;object-fit:contain;filter:drop-shadow(0 2px 1px rgba(7,34,78,.16)); }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; font: 700 20px "Space Grotesk", Manrope, sans-serif; background: linear-gradient(145deg,var(--violet),#442ddd); box-shadow: 0 10px 34px rgba(96,68,255,.35); }
.brand b { display: block; font: 700 21px "Space Grotesk", Manrope, sans-serif; letter-spacing: -.8px; line-height: 1; }
.brand em { display: block; color: var(--violet); font-style: normal; font-size: 10px; letter-spacing: 2.6px; margin-top: 5px; text-transform: uppercase; }
.nav-search { height: 42px; display: flex; align-items: center; gap: 9px; margin: 0 2px 12px; padding: 0 12px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(145deg,rgba(139,112,255,.08),rgba(255,255,255,.018)); transition: .2s; }
.nav-search:focus-within { border-color: var(--line-hot); box-shadow: 0 0 0 3px rgba(139,112,255,.07); }
.nav-search span { color: var(--violet); font-size: 16px; }
.nav-search input { min-width: 0; width: 100%; color: #fff; background: transparent; border: 0; outline: 0; font-size: 10px; }
.nav-search input::placeholder { color: #626c7e; }
.nav-no-results { display: none; margin: 4px 8px 12px; padding: 12px; color: var(--muted); border: 1px dashed var(--line); border-radius: 11px; text-align: center; font-size: 9px; }
.nav-no-results.show { display: block; }
.nav { display: grid; gap: 5px; overflow-y: auto; padding-right: 2px; }
.nav-item.search-hidden { display: none; }
.nav-item { position: relative; border: 0; background: transparent; color: var(--muted-2); border-radius: 13px; height: 48px; text-align: left; padding: 0 13px; display: flex; align-items: center; gap: 13px; cursor: pointer; transition: .22s ease; }
.nav-item span { color: var(--muted); width: 22px; text-align: center; font-size: 18px; }
.nav-item:hover { background: rgba(255,255,255,.035); color: var(--text); transform: translateX(2px); }
.nav-item.active { background: linear-gradient(90deg,rgba(139,112,255,.17),rgba(139,112,255,.035)); color: #fff; box-shadow: inset 2px 0 var(--violet); }
.nav-item.active span { color: var(--violet); }
.nav-item.has-detail { border-radius: 13px 13px 7px 7px; }
.nav-detail { height: 36px; margin: -3px 0 4px 21px; padding: 0 9px 0 14px; display: flex; align-items: center; gap: 9px; border: 0; border-left: 1px solid rgba(139,112,255,.45); border-radius: 0 0 10px 10px; background: linear-gradient(90deg,rgba(139,112,255,.12),transparent); color: var(--muted-2); text-align: left; cursor: pointer; font-size: 9px; }
.nav-detail i { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--violet); box-shadow: 0 0 9px var(--violet); }
.nav-detail span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-item i { margin-left: auto; font-style: normal; background: var(--red); color: #fff; font-size: 10px; min-width: 19px; height: 19px; border-radius: 9px; display: grid; place-items: center; }
.nav-submenu { display: none; gap: 2px; margin: -3px 0 5px 21px; padding: 4px 0 4px 13px; border-left: 1px solid rgba(139,112,255,.32); }
.nav-item.active + .nav-submenu { display: grid; animation: panelIn .2s ease; }
.nav-submenu.search-open { display: grid; }
.nav-submenu button { min-width: 0; border: 0; border-radius: 8px; padding: 7px 9px; background: transparent; color: var(--muted); text-align: left; cursor: pointer; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-submenu button.search-hidden { display: none; }
.nav-submenu button:hover,.nav-submenu button.active { color: #fff; background: rgba(139,112,255,.1); }
.nav-submenu button.active { box-shadow: inset 2px 0 var(--violet); }
.sidebar-foot { margin-top: auto; display: grid; gap: 10px; }
.connection-pill { border: 1px solid var(--line); background: rgba(255,255,255,.025); border-radius: 13px; padding: 11px 12px; display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; align-items: center; }
.connection-pill i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); grid-row: 1 / 3; }
.connection-pill span { font-size: 12px; color: var(--muted-2); }
.connection-pill b { font-size: 10px; color: var(--green); font-weight: 600; }
.settings-button { border: 0; background: transparent; color: var(--muted); height: 44px; text-align: left; padding: 0 13px; cursor: pointer; }
.settings-button span { margin-right: 12px; }

.app { position: relative; margin-left: 238px; min-height: 100vh; padding: 0 34px 70px; z-index: 1; }
.topbar { height:106px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line); }
.eyebrow,.section-kicker { color: var(--violet); font-size: 9px; letter-spacing: 2.2px; font-weight: 800; margin: 0 0 8px; }
.topbar h1 { font: 600 25px "Space Grotesk", Manrope, sans-serif; margin: 0; letter-spacing: -.7px; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.company-picker { position: relative; min-width: 174px; }
.company-picker>button { width: 100%; height: 48px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; text-align: left; padding: 6px 11px; border: 1px solid var(--line); border-radius: 12px; background: #10151e; cursor: pointer; }
.company-picker>button span { color: var(--muted); font-size: 7px; letter-spacing: 1px; text-transform: uppercase; }
.company-picker>button b { font-size: 11px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 135px; }
.company-picker>button i { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--muted); font-style: normal; transition: .2s; }
.company-picker.open>button { border-color: var(--line-hot); }
.company-picker.error>button { border-color: rgba(255,100,130,.72); box-shadow: 0 0 0 3px rgba(255,100,130,.08); }
.company-picker.error>button::after { content:""; position:absolute; right:8px; top:7px; width:7px; height:7px; border-radius:50%; background:var(--red); box-shadow:0 0 12px var(--red); }
.company-picker.open>button i { transform: rotate(180deg); }
.company-menu { position: absolute; z-index: 45; right: 0; top: calc(100% + 8px); width: 270px; border: 1px solid var(--line-hot); border-radius: 14px; padding: 7px; background: rgba(13,17,25,.98); box-shadow: 0 22px 60px rgba(0,0,0,.55); opacity: 0; visibility: hidden; transform: translateY(-5px); transition: .18s; }
.company-picker.open .company-menu { opacity: 1; visibility: visible; transform: none; }
.company-option { width: 100%; display: grid; grid-template-columns: auto 1fr auto; gap: 9px; align-items: center; border: 0; border-radius: 9px; background: transparent; padding: 9px; text-align: left; cursor: pointer; }
.company-option:hover,.company-option.active { background: rgba(139,112,255,.12); }
.company-option>i { width:28px;height:28px;min-width:28px;overflow:hidden;border-radius:8px;display:grid;place-items:center;color:#fff;font-style:normal;font-size:8px;font-weight:800;line-height:1;letter-spacing:0;white-space:nowrap;background:#1264ff; }
.company-option.wb>i { background: #7b2cff; }
.company-option.all>i { color:var(--muted-2);background:rgba(125,135,153,.16); }
.company-option span b,.company-option span small { display: block; }
.company-option span b { font-size: 10px; }
.company-option span small { color: var(--muted); font-size: 7px; margin-top: 2px; }
.company-option>em { color: var(--green); font-style: normal; font-size: 7px; }
.company-option.error { background: rgba(255,100,130,.055); }
.company-option.error>i { background: rgba(255,100,130,.16); color: var(--red); box-shadow: inset 0 0 0 1px rgba(255,100,130,.35); }
.company-option.error>em { color: var(--red); font-weight: 800; }
.header-picker { position: relative; min-width: 125px; }
.header-picker>button { width: 100%; height: 48px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: 1px 8px; text-align: left; padding: 6px 11px; border: 1px solid var(--line); border-radius: 12px; background: #10151e; cursor: pointer; }
.header-picker>button>span { color: var(--muted); font-size: 7px; letter-spacing: 1px; text-transform: uppercase; }
.header-picker>button>b { max-width: 110px; overflow: hidden; color: var(--text); font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
.header-picker>button>i { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--muted); font-style: normal; transition: .2s; }
.header-picker.open>button { border-color: var(--line-hot); box-shadow: 0 0 0 3px rgba(139,112,255,.06); }
.header-picker.open>button>i { transform: rotate(180deg); }
.header-menu { position: absolute; z-index: 45; right: 0; top: calc(100% + 8px); width: 250px; max-height: 340px; overflow-y: auto; border: 1px solid var(--line-hot); border-radius: 14px; padding: 7px; background: rgba(13,17,25,.98); box-shadow: 0 22px 60px rgba(0,0,0,.55); opacity: 0; visibility: hidden; transform: translateY(-5px); transition: .18s; }
.header-picker.open .header-menu { opacity: 1; visibility: visible; transform: none; }
.header-menu>button { width: 100%; display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: center; border: 0; border-radius: 9px; background: transparent; padding: 9px; color: var(--muted-2); text-align: left; cursor: pointer; }
.header-menu>button:hover,.header-menu>button.active { background: rgba(139,112,255,.12); color: #fff; }
.header-menu>button>i { width: 32px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: rgba(139,112,255,.13); color: var(--violet); font-style: normal; font-size: 8px; font-weight: 800; }
.header-menu>button span b,.header-menu>button span small { display: block; }
.header-menu>button span b { font-size: 10px; }
.header-menu>button span small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.currency-picker { min-width: 135px; }
.currency-menu { width: 290px; }
.picker-native { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; opacity: 0 !important; pointer-events: none !important; }
.mode-switch { display: flex; background: #10151e; border: 1px solid var(--line); padding: 4px; border-radius: 12px; }
.mode-switch button { border: 0; background: transparent; color: var(--muted); padding: 8px 12px; border-radius: 8px; font-size: 11px; cursor: pointer; }
.mode-switch button.active { color: #fff; background: rgba(139,112,255,.18); box-shadow: inset 0 0 0 1px rgba(139,112,255,.2); }
.mode-switch.live-ok { border-color:rgba(73,221,163,.48);background:rgba(21,91,69,.22);box-shadow:0 8px 24px rgba(28,179,129,.14); }
.mode-switch.live-ok #liveMode.active { color:#eafff7;background:linear-gradient(135deg,rgba(32,190,137,.92),rgba(20,139,99,.92));box-shadow:inset 0 1px rgba(255,255,255,.22),0 5px 14px rgba(22,163,113,.22); }
.mode-switch.live-ok #liveMode::before { content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#d9ffef;box-shadow:0 0 9px #fff;vertical-align:1px; }
.mode-switch.live-error { border-color:rgba(255,92,116,.45); }
.mode-switch.live-error #liveMode.active { color:#ffd6dc;background:rgba(255,92,116,.15);box-shadow:inset 0 0 0 1px rgba(255,92,116,.22); }
#demoMode.active { color:#fff1d2;background:rgba(255,189,91,.16);box-shadow:inset 0 0 0 1px rgba(255,189,91,.22); }
.period-control,.currency-control { display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 12px; background: #10151e; }
.period-control span { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; }
.currency-control span { font-size: 8px; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; }
.period-control select,.currency-control select { border: 0; color: var(--text); background: transparent; outline: none; font-size: 11px; cursor: pointer; max-width: 108px; }
.period-control option,.currency-control option { background: #121722; }
.sync-button,.icon-button { height: 42px; border: 1px solid var(--line); background: #10151e; border-radius: 12px; cursor: pointer; }
.sync-button { display: none; align-items: center; gap: 7px; padding: 0 14px; color: var(--muted-2); font-size: 11px; }
.sync-button:hover { border-color: var(--line-hot); color: #fff; }
.sync-button.loading i { animation: spin .85s linear infinite; }
.icon-button { position: relative; width: 42px; color: var(--muted-2); }
.icon-button i { display: none; position: absolute; right: 8px; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--red); box-shadow: 0 0 8px var(--red); }
.icon-button i.show { display: block; }
.avatar { width: 42px; height: 42px; border-radius: 13px; background: linear-gradient(145deg,#222938,#111722); border: 1px solid var(--line); display: grid; place-items: center; color: var(--violet); font: 700 12px "Space Grotesk", Manrope, sans-serif; }
.subscription-button { position: relative; isolation: isolate; height: 44px; display: flex; align-items: center; gap: 8px; padding: 0 16px; overflow: hidden; border: 1px solid rgba(184,160,255,.48); border-radius: 13px; background: linear-gradient(135deg,#a58bff 0%,#6949ff 48%,#3b2abd 100%); color: #fff; cursor: pointer; box-shadow: 0 10px 30px rgba(96,68,255,.34),inset 0 1px rgba(255,255,255,.25); font-size: 11px; font-weight: 800; letter-spacing: .2px; transition: transform .2s ease,box-shadow .2s ease; }
.subscription-button::before { content:""; position:absolute; inset:-100% -40%; z-index:-1; background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.34) 48%,transparent 61%); transform:translateX(-55%); }
.subscription-button:hover::before,.subscription-button:focus-visible::before { animation:subscriptionShine 1.15s ease-out 1; }
.subscription-button:hover { transform: translateY(-2px); box-shadow: 0 15px 38px rgba(96,68,255,.46),inset 0 1px rgba(255,255,255,.3); }
.subscription-button i { font-style: normal; color: #e8ddff; text-shadow: 0 0 12px #fff; }
.login-button { height:44px;display:flex;align-items:center;justify-content:center;padding:0 15px;border:1px solid var(--line-hot);border-radius:13px;color:var(--text);background:#10151e;text-decoration:none;font-size:11px;font-weight:800;transition:.2s ease; }
.login-button:hover { border-color:var(--violet);background:rgba(139,112,255,.12);transform:translateY(-1px); }
.login-button i { font-style:normal;font-size:15px;margin-right:7px; }
.admin-top-button { height:44px;display:flex;align-items:center;padding:0 14px;border:1px solid rgba(78,196,255,.42);border-radius:13px;color:#bdeaff;background:rgba(44,150,220,.12);text-decoration:none;font-size:11px;font-weight:800; }
.admin-top-button[hidden] { display:none !important; }
.header-menu button[hidden] { display:none !important; }
.login-modal { position:fixed;z-index:160;inset:0;display:grid;place-items:center;padding:18px;background:rgba(3,5,10,.76);backdrop-filter:blur(13px); }
.login-modal[hidden] { display:none; }
.login-modal-card { position:relative;width:min(1240px,calc(100vw - 32px));height:min(860px,calc(100vh - 32px));overflow:hidden;border:1px solid rgba(139,112,255,.42);border-radius:24px;background:#0c111a;box-shadow:0 35px 100px rgba(0,0,0,.72); }
.login-modal-card iframe { width:100%;height:100%;border:0;background:#0c111a; }
.login-modal-close { position:absolute;z-index:2;right:14px;top:14px;width:38px;height:38px;border:1px solid var(--line-hot);border-radius:12px;color:#fff;background:rgba(10,14,22,.88);font-size:25px;line-height:1;cursor:pointer; }
.theme-toggle { width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border:1px solid var(--line);border-radius:13px;color:var(--muted-2);background:#10151e;cursor:pointer;transition:.2s ease; }
.theme-toggle:hover { color:var(--text);border-color:var(--line-hot);transform:translateY(-1px); }
.theme-toggle i { font-style:normal;font-size:18px;line-height:1; }
.top-demo-badge { height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid rgba(255,189,91,.48);border-radius:999px;color:#ffe5ad;background:linear-gradient(135deg,rgba(255,189,91,.2),rgba(139,112,255,.16));box-shadow:0 7px 22px rgba(255,189,91,.1);font:800 10px "Space Grotesk",Manrope,sans-serif;letter-spacing:1.4px; }
.top-demo-badge[hidden] { display:none!important; }

html[data-theme="light"] {
  color-scheme:light;
  --bg:#f3f5f9;
  --bg-soft:#e9edf4;
  --panel:rgba(255,255,255,.97);
  --panel-solid:#fff;
  --line:rgba(28,38,58,.13);
  --line-hot:rgba(96,68,255,.38);
  --text:#172033;
  --muted:#687386;
  --muted-2:#465268;
  --shadow:0 16px 40px rgba(36,47,70,.10);
  --surface-raised:#fff;
  --surface-soft:rgba(241,244,249,.86);
  --surface-input:#fff;
  --surface-modal:#f9fbff;
  --surface-row:rgba(255,255,255,.86);
  --chart-grid:rgba(44,58,82,.13);
  --chart-axis:rgba(74,88,111,.78);
  --chart-label:rgba(43,57,80,.9);
  --chart-point-stroke:#fff;
}
html[data-theme="light"] body { background:radial-gradient(circle at 23% -8%,rgba(139,112,255,.10),transparent 31rem),radial-gradient(circle at 105% 48%,rgba(58,217,255,.08),transparent 30rem),var(--bg); }
html[data-theme="light"] .sidebar { background:rgba(250,251,253,.98); }
html[data-theme="light"] .nav-search,
html[data-theme="light"] .connection-pill { background:rgba(255,255,255,.72); }
html[data-theme="light"] .nav-search input { color:var(--text); }
html[data-theme="light"] .nav-item:hover { background:rgba(31,41,59,.055); }
html[data-theme="light"] .nav-item.active,
html[data-theme="light"] .nav-submenu button:hover,
html[data-theme="light"] .nav-submenu button.active { color:var(--text); }
html[data-theme="light"] .company-picker>button,
html[data-theme="light"] .header-picker>button,
html[data-theme="light"] .sync-button,
html[data-theme="light"] .theme-toggle,
html[data-theme="light"] .mode-switch { background:#fff; }
html[data-theme="light"] .login-button { background:#fff; }
html[data-theme="light"] .company-menu,
html[data-theme="light"] .header-menu { background:rgba(255,255,255,.99);box-shadow:0 22px 60px rgba(36,47,70,.18); }
html[data-theme="light"] .heat-label,html[data-theme="light"] .heat-row.header .heat-label,html[data-theme="light"] .heat-average-head,html[data-theme="light"] .heat-average { background:#fff;box-shadow:8px 0 16px rgba(130,143,165,.2); }
html[data-theme="light"] .company-option:hover,
html[data-theme="light"] .company-option.active,
html[data-theme="light"] .header-menu button:hover,
html[data-theme="light"] .header-menu button.active { background:rgba(96,68,255,.10); }
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea { color:var(--text); }
html[data-theme="light"] .status-rail,
html[data-theme="light"] .sync-waiting,
html[data-theme="light"] .metric-detail,
html[data-theme="light"] .section-module-nav,
html[data-theme="light"] .product-toolbar,
html[data-theme="light"] .ops-filters,
html[data-theme="light"] .activity-toolbar { background:rgba(255,255,255,.78); }
html[data-theme="light"] .product-row:not(.header),
html[data-theme="light"] .ops-row:not(.header),
html[data-theme="light"] .unit-row:not(.header),
html[data-theme="light"] .geo-row:not(.header),
html[data-theme="light"] .signal-list article,
html[data-theme="light"] .activity-card { background:rgba(255,255,255,.74); }
html[data-theme="light"] .hero-card,
html[data-theme="light"] .metric-card { --text:#f3f5fa;--muted:#8f99aa;--muted-2:#bac2d0;--line:rgba(255,255,255,.10);color:#f3f5fa; }
html[data-theme="light"] .hero-card [data-text-group],
html[data-theme="light"] .metric-card [data-text-group] { color:inherit; }
html[data-theme="light"] .hero-card>p,
html[data-theme="light"] .hero-card .chart-legend,
html[data-theme="light"] .metric-card>span,
html[data-theme="light"] .metric-card small { color:var(--muted-2); }
html[data-theme="light"] ::-webkit-scrollbar-thumb { background:#c4cad5; }
html[data-theme="light"] ::selection { background:rgba(139,112,255,.24); }

.status-rail { margin: 20px 0 24px; min-height: 58px; padding: 10px 15px; border-radius: 16px; border: 1px solid var(--line); background: linear-gradient(90deg,rgba(139,112,255,.07),rgba(58,217,255,.018)); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; }
.status-rail.quiet-hidden { display: none; }
.sync-waiting { display: none; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; margin: 0 0 24px; padding: 20px 22px; border: 1px solid rgba(73,221,163,.42); border-radius: 18px; background:linear-gradient(110deg,rgba(25,137,98,.22),rgba(28,92,75,.11));box-shadow:0 16px 40px rgba(16,112,80,.13),inset 0 1px rgba(255,255,255,.05); }
.sync-waiting.show { display: grid; }
.sync-wait-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: rgba(73,221,163,.13); color: var(--green);font-size:20px; animation: spin 1.2s linear infinite; }
.sync-waiting b { display:block;color:#ddfff3;font-size:15px; }
.sync-waiting p { max-width:760px;color:#a8cdbf;font-size:11px;line-height:1.55;margin:5px 0 0; }
.sync-waiting>strong { color:var(--green);font:700 24px "Space Grotesk",sans-serif; }
.connection-pill.error i { background:var(--red);box-shadow:0 0 12px var(--red); }
.connection-pill.error b { color:var(--red)!important; }
html[data-theme="light"] .sync-waiting { border-color:rgba(25,157,109,.34);background:linear-gradient(110deg,rgba(201,247,229,.92),rgba(230,250,241,.88));box-shadow:0 14px 34px rgba(35,116,86,.12); }
html[data-theme="light"] .sync-waiting b { color:#14573f; }
html[data-theme="light"] .sync-waiting p { color:#477464; }
html[data-theme="light"] .mode-switch.live-ok { background:rgba(210,248,233,.92); }
.status-orb { width: 34px; height: 34px; border-radius: 50%; background: rgba(73,221,163,.1); display: grid; place-items: center; position: relative; }
.status-orb i { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 18px var(--green); }
.status-orb b { display: none; position: relative; z-index: 2; font: 700 8px "Space Grotesk",sans-serif; color: #fff; }
.status-orb.syncing { background: conic-gradient(var(--cyan) var(--sync-angle),rgba(255,255,255,.08) 0); box-shadow: 0 0 17px rgba(58,217,255,.18); }
.status-orb.syncing::after { content:""; position:absolute; inset:3px; border-radius:50%; background:#10151e; }
.status-orb.syncing i { display: none; }
.status-orb.syncing b { display: block; }
.status-copy>div { display: flex; align-items: center; gap: 8px; }
.status-copy b { font-size: 13px; }
.status-copy p { display: none; margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.status-rail.syncing .status-copy p { display: block; }
.badge { font-size: 8px; padding: 3px 6px; border-radius: 5px; letter-spacing: 1px; }
.badge.live { background: rgba(73,221,163,.12); color: var(--green); }
.badge.demo { background: rgba(255,189,91,.12); color: var(--amber); }
.rail-progress { display: none; align-items: center; gap: 10px; }
.rail-progress span { font: 600 10px "Space Grotesk", Manrope, sans-serif; color: var(--muted-2); width: 30px; }
.rail-progress>div { height: 5px; background: rgba(255,255,255,.06); border-radius: 8px; flex: 1; overflow: hidden; }
.rail-progress i { display: block; height: 100%; width: 0; background: linear-gradient(90deg,var(--violet),var(--cyan)); border-radius: inherit; transition: width .5s ease; }
.updated { border-left: 1px solid var(--line); padding-left: 15px; }
.updated span { color: var(--muted); font-size: 9px; display: block; }
.updated b { font-size: 11px; display: block; margin-top: 3px; }

.tab-panel { display: none; animation: panelIn .35s ease; }
.tab-panel.active { display: block; }
.tab-panel.detail-open>*:not(.metric-detail) { display: none !important; }
.metric-detail { display: none; animation: panelIn .3s ease; }
.metric-detail.show { display: block; }
.metric-detail-head { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; margin: 8px 0 20px; }
.metric-detail-head button { border: 1px solid var(--line); background: rgba(255,255,255,.025); color: var(--muted-2); border-radius: 10px; padding: 9px 12px; cursor: pointer; }
.metric-detail-head button:hover { border-color: var(--line-hot); color: #fff; }
.metric-detail-head h2 { margin: 0; font: 600 29px "Space Grotesk",sans-serif; }
.metric-detail-head>strong { color: var(--green); font: 600 26px "Space Grotesk",sans-serif; }
.metric-detail-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.metric-detail-cards article { min-height: 100px; padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg,rgba(26,33,48,.94),rgba(13,17,25,.94)); }
.metric-detail-cards span { display: block; color: var(--muted); font-size: 10px; margin-bottom: 12px; }
.metric-detail-cards strong { font: 600 18px "Space Grotesk",sans-serif; }
.metric-detail-info { margin-top: 16px; }
.metric-detail-info p { color: var(--muted-2); font-size: 11px; line-height: 1.7; }
.ads-deep { display: grid; gap: 18px; margin-bottom: 18px; }
.ads-deep-loading { margin-bottom: 16px; }
.ads-deep-loading h3 { margin: 8px 0 0; color: var(--muted-2); }
.ads-api-warning { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 14px 16px; border: 1px solid rgba(255,103,122,.25); border-radius: 14px; background: rgba(255,103,122,.065); color: var(--muted-2); font-size: 10px; line-height: 1.55; }
.ads-api-warning b { color: var(--red); white-space: nowrap; }
.ads-api-warning.soft { border-color: rgba(90,196,255,.18); background: rgba(90,196,255,.045); }
.ads-api-warning.soft b { color: var(--cyan); }
.section-access-note { display: inline-grid; grid-template-columns: 28px minmax(0,1fr); gap: 10px; align-items: center; margin: -2px 0 18px; padding: 10px 13px; max-width: 620px; border: 1px solid rgba(90,196,255,.14); border-radius: 13px; background: rgba(90,196,255,.035); color: var(--muted); }
.section-access-note>i { width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; background: rgba(90,196,255,.09); color: var(--cyan); font-style: normal; font-weight: 800; }
.section-access-note b,.section-access-note span { display: block; }
.section-access-note b { color: var(--text); font-size: 10px; margin-bottom: 2px; }
.section-access-note span { font-size: 8px; line-height: 1.45; }
.ads-deep-head,.ads-campaign-title { display: flex; justify-content: space-between; align-items: end; gap: 16px; }
.ads-deep-head h3,.ads-campaign-title h3 { margin: 4px 0 0; font: 600 21px "Space Grotesk",sans-serif; }
.ads-deep-head p { margin: 7px 0 0; }
.ad-category-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 12px; }
.ad-category-card { position: relative; min-height: 148px; padding: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: radial-gradient(circle at 100% 0,rgba(139,112,255,.15),transparent 48%),linear-gradient(145deg,rgba(27,34,49,.96),rgba(13,17,25,.96)); color: var(--text); text-align: left; cursor: pointer; transition: .22s ease; }
.ad-category-card:hover,.ad-category-card.active { transform: translateY(-2px); border-color: var(--line-hot); box-shadow: 0 16px 40px rgba(0,0,0,.24); }
.ad-category-card span,.ad-category-card small,.ad-category-card i { display: block; }
.ad-category-card span { min-height: 32px; color: var(--muted-2); font-size: 11px; line-height: 1.45; }
.ad-category-card strong { display: block; margin: 10px 0 5px; font: 600 24px "Space Grotesk",sans-serif; color: #fff; }
.ad-category-card small { color: var(--muted); font-size: 9px; }
.ad-category-card i { margin-top: 15px; color: var(--violet); font-size: 9px; font-style: normal; font-weight: 700; }
.ads-campaign-section { display: grid; gap: 14px; padding-top: 4px; }
.ads-campaign-title>strong { color: var(--muted); font-size: 11px; }
.ads-filters { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)); gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.018); }
.ads-filters label>span { display: block; margin: 0 0 6px 3px; color: var(--muted); font-size: 8px; letter-spacing: .7px; text-transform: uppercase; }
.ads-filters select { width: 100%; height: 40px; padding: 0 34px 0 11px; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: #10151e; color: var(--text); font: 600 10px Manrope,sans-serif; cursor: pointer; }
.ads-filters select:hover,.ads-filters select:focus { border-color: var(--line-hot); }
.ad-campaign-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ad-campaign-card { padding: 17px; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg,rgba(24,30,44,.97),rgba(12,16,24,.97)); box-shadow: inset 3px 0 0 rgba(255,255,255,.035); }
.ad-campaign-card.active { box-shadow: inset 3px 0 0 var(--green); }
.ad-campaign-card.inactive { opacity: .84; box-shadow: inset 3px 0 0 var(--muted); }
.ad-campaign-head { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 13px; align-items: start; }
.ad-campaign-head span,.ad-campaign-head small { display: block; color: var(--muted); font-size: 8px; line-height: 1.45; }
.ad-campaign-head h4 { margin: 5px 0; overflow: hidden; color: #fff; font: 600 14px "Space Grotesk",sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.campaign-toggle { min-width: 82px; padding: 8px 10px; border-radius: 9px; font-size: 9px; font-weight: 800; cursor: pointer; transition: .18s; }
.campaign-toggle.stop { border: 1px solid rgba(255,103,122,.25); background: rgba(255,103,122,.08); color: var(--red); }
.campaign-toggle.start { border: 1px solid rgba(73,221,163,.25); background: rgba(73,221,163,.08); color: var(--green); }
.campaign-toggle:hover { filter: brightness(1.25); }
.campaign-toggle:disabled { opacity: .55; cursor: wait; }
.campaign-locked { color: var(--muted); font-size: 9px; font-style: normal; }
.ad-campaign-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin: 15px 0 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--line); }
.ad-campaign-metrics div { min-width: 0; padding: 9px; background: #10151e; }
.ad-campaign-metrics span,.ad-campaign-metrics b { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ad-campaign-metrics span { color: var(--muted); font-size: 7px; }
.ad-campaign-metrics b { margin-top: 4px; color: var(--muted-2); font-size: 10px; }
.ad-campaign-foot { display: flex; flex-wrap: wrap; gap: 7px 14px; color: var(--muted); font-size: 8px; }
.ad-campaign-foot b { color: var(--muted-2); }
.ads-load-more { justify-self: center; min-width: 260px; padding: 11px 18px; border: 1px solid var(--line-hot); border-radius: 11px; background: rgba(139,112,255,.08); color: var(--violet); font-size: 9px; font-weight: 800; cursor: pointer; }
.ads-load-more:hover { background: rgba(139,112,255,.15); color: #fff; }
.ads-empty { grid-column: 1 / -1; min-height: 100px; display: grid; place-items: center; border: 1px dashed var(--line); border-radius: 14px; }
.metric-access { margin-top: 14px; padding: 13px; border: 1px solid rgba(255,189,91,.2); border-radius: 11px; background: rgba(255,189,91,.06); color: var(--amber); font-size: 10px; line-height: 1.55; }
.section-intro { display: flex; justify-content: space-between; align-items: end; margin: 8px 0 26px; }
.section-intro h2 { font: 600 28px "Space Grotesk", Manrope, sans-serif; margin: 0; letter-spacing: -1px; }
.section-intro p { color: var(--muted); font-size: 12px; max-width: 420px; text-align: right; }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.75fr) minmax(280px,.7fr); gap: 18px; }
.hero-card,.radar-card,.panel,.net-card { border: 1px solid var(--line); background: var(--panel); border-radius: var(--radius); box-shadow: var(--shadow); }
.hero-card { min-height: 410px; padding: 25px 28px 18px; position: relative; overflow: hidden; background: linear-gradient(145deg,rgba(25,31,46,.96),rgba(13,17,25,.96)); }
.hero-card::before { content: ""; position: absolute; inset: auto 0 0; height: 62%; background: radial-gradient(circle at 35% 100%,rgba(139,112,255,.18),transparent 56%),linear-gradient(0deg,rgba(58,217,255,.05),transparent); pointer-events: none; }
.hero-head,.panel-head,.radar-head { display: flex; justify-content: space-between; align-items: start; }
.hero-head h2 { font: 500 17px "Space Grotesk", Manrope, sans-serif; margin: 0; }
.delta { font: 700 10px "Space Grotesk", Manrope, sans-serif; padding: 7px 9px; border-radius: 8px; }
.delta.positive { color: var(--green); background: rgba(73,221,163,.1); }
.delta.negative { color: var(--red); background: rgba(255,100,130,.1); }
.delta.neutral { color: var(--muted); background: rgba(255,255,255,.04); }
.hero-value { font: 600 clamp(38px,4.5vw,64px) "Space Grotesk", Manrope, sans-serif; letter-spacing: -3px; margin-top: 15px; }
.hero-card>p { color: var(--muted); font-size: 11px; margin: 3px 0 10px; }
.hero-card canvas { width: 100%; height: 190px; position: relative; z-index: 2; }
.chart-legend { position: relative; width: 100%; right: auto; bottom: auto; min-height: 38px; display: flex; justify-content: flex-end; align-items: center; gap: 20px; padding: 9px 13px; border-top: 1px solid rgba(255,255,255,.075); border-radius: 10px; background: linear-gradient(90deg,rgba(8,11,16,.88),rgba(17,22,32,.94)); color: #e7ebf3; font-size: 12px; font-weight: 600; z-index: 4; }
.chart-legend::before { content:"ДИНАМИКА · LIVE"; margin-right: auto; color: var(--violet); font-size: 8px; letter-spacing: 1.6px; }

#periodMenu [data-period].subscription-locked { opacity:.58;cursor:not-allowed; }
#periodMenu [data-period].subscription-locked i { filter:grayscale(1); }
#periodMenu [data-period].subscription-locked small { color:var(--violet); }
.chart-legend i { display: inline-block; width: 18px; height: 3px; margin-right: 7px; vertical-align: middle; box-shadow: 0 0 10px currentColor; }
.chart-legend i.violet { background: var(--violet); }
.chart-legend i.cyan { background: var(--cyan); }
.radar-card { padding: 25px; min-height: 410px; }
.radar-head b { color: var(--green); font-size: 10px; text-transform: uppercase; letter-spacing: 1px; }
.score-ring { width: 150px; height: 150px; margin: 14px auto 18px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--violet) var(--score,0%),rgba(255,255,255,.045) 0); position: relative; box-shadow: 0 0 50px rgba(139,112,255,.12); }
.score-ring::after { content:""; position: absolute; inset: 10px; border-radius: 50%; background: #111620; }
.score-ring>div { z-index: 2; text-align: center; }
.score-ring strong { font: 600 42px "Space Grotesk", Manrope, sans-serif; display: block; line-height: 1; }
.score-ring span { color: var(--muted); font-size: 9px; }
.health-list { display: grid; gap: 11px; }
.health-row { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 7px; align-items: center; border: 0; border-radius: 9px; padding: 5px; background: transparent; text-align: left; cursor: pointer; transition: .2s; }
.health-row:hover { background: rgba(139,112,255,.08); transform: translateX(2px); }
.health-row span { color: var(--muted-2); font-size: 12px; }
.health-row b { font: 600 10px "Space Grotesk", Manrope, sans-serif; }
.health-row div { grid-column: 1 / 3; height: 4px; background: rgba(255,255,255,.05); border-radius: 4px; overflow: hidden; }
.health-row i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,var(--violet),var(--cyan)); }
.health-help { color: var(--muted); font-size: 8px; line-height: 1.45; margin: 12px 0 0; border-top: 1px solid var(--line); padding-top: 10px; }

.metric-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(185px,1fr)); gap: 12px; margin: 18px 0; }
.metric-cards.wide { grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); }
.metric-card { border: 1px solid rgba(255,255,255,.1); border-radius: 18px; padding: 19px; min-height: 142px; background: radial-gradient(circle at 92% 100%,rgba(139,112,255,.15),transparent 42%),linear-gradient(145deg,rgba(26,33,48,.98),rgba(13,17,25,.98)); position: relative; overflow: hidden; transition: .22s ease; box-shadow: inset 0 1px rgba(255,255,255,.025); cursor: pointer; }
.metric-card:hover { transform: translateY(-3px); border-color: var(--line-hot); }
.metric-card>span { color: var(--muted-2); font-size: 11px; line-height: 1.35; }
.metric-card strong { display: block; font: 600 25px "Space Grotesk", Manrope, sans-serif; letter-spacing: -.7px; margin: 12px 0 8px; white-space: nowrap; }
.metric-card small { font-size: 10px; color: var(--muted); }
.metric-card small.up { color: var(--green); }
.metric-card small.down { color: var(--red); }
.metric-card small.locked-note { color: var(--amber); }
.metric-card-incomplete strong { color: var(--amber); font-size: clamp(15px, 1.25vw, 19px); line-height: 1.25; white-space: normal; }
.mini-spark { position: absolute; right: 10px; bottom: 10px; width: 82px; height: 35px; opacity: 1; }

.content-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(290px,.65fr); gap: 18px; align-items: start; }
.panel { padding: 22px; }
.panel h3 { font: 500 17px "Space Grotesk", Manrope, sans-serif; margin: 0; letter-spacing: -.4px; }
.legend-scale { display: flex; gap: 7px; align-items: center; color: var(--muted); font-size: 8px; }
.legend-scale i { width: 62px; height: 5px; border-radius: 5px; background: linear-gradient(90deg,rgba(255,100,130,.8),rgba(255,255,255,.08),rgba(73,221,163,.8)); }
.heatmap { margin-top: 20px; overflow: auto; }
.heat-row { width:max-content;min-width:100%;display:grid;grid-template-columns:150px repeat(var(--cols),minmax(72px,1fr)) 104px;gap:4px;margin-bottom:4px; }
.heat-row.header { margin-bottom: 8px; }
.heat-label { position:sticky;left:0;z-index:5;display:flex;align-items:center;min-width:150px;color:var(--muted-2);font-size:9px;padding:0 10px;background:#111620;border-radius:7px;box-shadow:8px 0 16px rgba(8,11,16,.72);isolation:isolate; }
.heat-row.header .heat-label { z-index: 7; background: #111620; }
.heat-row.header .heat-label { color: var(--muted); letter-spacing: 1px; text-transform: uppercase; }
.heat-cell { height: 36px; border:0;border-radius: 7px; display: grid; place-items: center; color:var(--text);font: 500 9px "Space Grotesk", Manrope, sans-serif; background: rgba(255,255,255,.025); position: relative; cursor: pointer; }
.heat-cell:hover { outline: 1px solid rgba(255,255,255,.26); z-index: 2; }
.heat-date { color: var(--muted); font-size: 8px; text-align: center; line-height: 1.4; }
.heat-average-head,.heat-average { position:sticky;right:0;z-index:6;display:grid;place-items:center;min-width:104px;border:1px solid rgba(139,112,255,.18);border-radius:7px;background:#171b2a;box-shadow:-10px 0 20px rgba(8,11,16,.78); }
.heat-average-head { z-index:8;color:#c9beff;font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase; }
.heat-average { height:36px;color:#fff;font:700 9px "Space Grotesk",Manrope,sans-serif;cursor:pointer; }
.heat-average:hover:not(:disabled) { border-color:var(--violet);background:rgba(139,112,255,.18); }
.heat-average:disabled { color:var(--muted);cursor:default; }
.heat-row.locked { opacity: .66; }
.locked-cell { color: var(--muted); background: repeating-linear-gradient(135deg,rgba(255,255,255,.025),rgba(255,255,255,.025) 4px,transparent 4px,transparent 8px) !important; }
.lock-pill { margin-left: auto; color: var(--amber); border: 1px solid rgba(255,189,91,.22); border-radius: 5px; padding: 2px 4px; font-size: 6px; text-transform: uppercase; }
.heat-access-note { min-width: 760px; margin: 16px 0 10px; padding: 12px 14px; border: 1px solid rgba(255,189,91,.18); border-radius: 11px; background: rgba(255,189,91,.055); display: flex; align-items: center; gap: 10px; font-size: 9px; }
.heat-access-note b { color: var(--amber); }
.heat-access-note span { color: var(--muted); flex: 1; }
.heat-access-note button { border: 0; background: transparent; color: var(--amber); cursor: pointer; font-size: 9px; }
.partial-access-notice { display: none; align-items: center; gap: 12px; margin: -5px 0 18px; padding: 12px 15px; border: 1px solid rgba(255,189,91,.2); border-radius: 12px; background: rgba(255,189,91,.055); font-size: 9px; }
.partial-access-notice.show { display: flex; }
.partial-access-notice b { color: var(--amber); white-space: nowrap; }
.partial-access-notice span { color: var(--muted-2); line-height: 1.55; }
.signal-list { margin-top: 16px; display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 9px; align-items: start; }
.signal { padding: 13px; border-radius: 13px; border: 1px solid var(--line); background: rgba(255,255,255,.018); display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; }
.signal-icon { width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; font-weight: 800; font-size: 11px; }
.signal.critical .signal-icon { background: rgba(255,100,130,.1); color: var(--red); }
.signal.warning .signal-icon { background: rgba(255,189,91,.1); color: var(--amber); }
.signal.info .signal-icon { background: rgba(90,196,255,.1); color: var(--cyan); }
.signal.positive .signal-icon { background: rgba(73,221,163,.1); color: var(--green); }
.signal b { font-size: 12px; display: block; margin-bottom: 4px; }
.signal p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.alert-delete { position: absolute; top: 12px; right: 12px; width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,100,130,.2); border-radius: 9px; background: rgba(255,100,130,.07); color: var(--red); cursor: pointer; opacity: .72; transition: .18s ease; }
.alert-delete:hover { opacity: 1; border-color: rgba(255,100,130,.48); background: rgba(255,100,130,.15); transform: translateY(-1px); }
.alert-delete:disabled { opacity: .35; cursor: wait; transform: none; }
.alert-delete svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.signal .alert-delete { position: static; align-self: start; }
.text-button { border: 0; background: transparent; color: var(--violet); cursor: pointer; font-size: 9px; }
.empty { color: var(--muted); font-size: 11px; text-align: center; padding: 32px 10px; }

.chart-panel { padding-bottom: 15px; position: relative; }
.chart-panel canvas { width: 100%; height: 300px; margin-top: 12px; }
.chart-tooltip { position: absolute; z-index: 12; min-width: 160px; padding: 10px 11px; border: 1px solid rgba(139,112,255,.34); border-radius: 11px; background: rgba(8,11,16,.94); box-shadow: 0 14px 40px rgba(0,0,0,.45); opacity: 0; transform: translateY(4px); pointer-events: none; transition: opacity .14s,transform .14s; }
.chart-tooltip.show { opacity: 1; transform: none; }
.chart-tooltip b { display: block; color: #fff; font-size: 11px; margin-bottom: 7px; }
.chart-tooltip span { display: flex; align-items: center; gap: 6px; color: var(--muted-2); font-size: 9px; margin-top: 4px; }
.chart-tooltip span i { width: 7px; height: 7px; border-radius: 50%; }
.chart-tooltip span strong { color: #fff; margin-left: auto; font-size: 10px; }
.chart-crosshair { position: absolute; z-index: 8; width: 2px; opacity: 0; pointer-events: none; background: linear-gradient(180deg,transparent,#fff 10%,rgba(255,255,255,.96) 90%,transparent); box-shadow: 0 0 5px #fff,0 0 14px rgba(255,255,255,.74),0 0 24px rgba(139,112,255,.62); transition: opacity .12s; }
.chart-crosshair.show { opacity: 1; }
.funnel-step.locked,.conversion-item.locked { opacity: .58; }
.chart-toggle { display: flex; gap: 4px; background: rgba(255,255,255,.025); border-radius: 9px; padding: 3px; }
.chart-toggle button { border: 0; background: transparent; color: var(--muted); border-radius: 6px; padding: 6px 9px; font-size: 9px; cursor: pointer; }
.chart-toggle button.active { background: rgba(139,112,255,.16); color: #fff; }
.target-editor { display: flex; align-items: center; gap: 4px; color: var(--green); font-size: 10px; }
.target-editor input { width: 58px; height: 31px; border: 1px solid rgba(73,221,163,.25); border-radius: 8px; background: rgba(73,221,163,.07); color: #fff; text-align: center; outline: 0; }
.target-editor input:focus { border-color: var(--green); }
.target-editor i { opacity: 0; color: var(--muted); font-style: normal; font-size: 8px; transform: translateX(3px); transition: .2s; }
.target-editor i.show { opacity: 1; transform: none; }

.funnel-steps { display:grid;justify-items:center;gap:0;margin:0 auto 20px;padding:25px;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 50% 10%,rgba(139,112,255,.11),transparent 48%),rgba(10,14,21,.62);overflow:hidden; }
.funnel-stage { width:100%;display:grid;place-items:center; }
.funnel-shape { position:relative;width:var(--stage-width);min-height:82px;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:center;column-gap:12px;padding:15px max(48px,10%);color:#fff;text-align:center;background:linear-gradient(120deg,rgba(96,68,255,.88),rgba(38,157,210,.72));clip-path:polygon(0 0,100% 0,92% 100%,8% 100%);filter:drop-shadow(0 12px 24px rgba(40,43,120,.24));transition:width .35s ease,filter .2s ease; }
.funnel-stage:nth-of-type(2) .funnel-shape { background:linear-gradient(120deg,rgba(83,75,210,.86),rgba(43,177,189,.72)); }
.funnel-stage:nth-of-type(3) .funnel-shape { background:linear-gradient(120deg,rgba(59,113,197,.84),rgba(49,196,163,.72)); }
.funnel-stage:nth-of-type(4) .funnel-shape { background:linear-gradient(120deg,rgba(52,143,181,.84),rgba(66,208,154,.74)); }
.funnel-stage:nth-of-type(5) .funnel-shape { background:linear-gradient(120deg,rgba(48,164,153,.88),rgba(73,221,163,.82)); }
.funnel-shape>span { position:static;grid-column:1;grid-row:1/3;align-self:center;justify-self:center;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:rgba(5,9,16,.28);font:800 10px "Space Grotesk",sans-serif; }
.funnel-shape>div { grid-column:2;grid-row:1;min-width:0;max-width:100%;text-align:center; }
.funnel-shape b,.funnel-shape small { display:block;max-width:100%;overflow-wrap:anywhere; }.funnel-shape b{font-size:14px}.funnel-shape small{margin-top:4px;color:rgba(255,255,255,.7);font-size:9px;line-height:1.4}.funnel-shape strong{grid-column:2;grid-row:2;display:block;max-width:100%;font:700 17px "Space Grotesk",sans-serif;white-space:nowrap;text-align:center}
.funnel-stage.locked .funnel-shape { background:repeating-linear-gradient(135deg,rgba(91,98,118,.42),rgba(91,98,118,.42) 7px,rgba(55,61,76,.42) 7px,rgba(55,61,76,.42) 14px); }
.funnel-drop { min-height:44px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:9px; }.funnel-drop i{position:relative;width:2px;height:20px;border-radius:2px;color:var(--cyan);background:linear-gradient(var(--cyan),var(--violet));box-shadow:0 0 8px rgba(58,217,255,.38)}.funnel-drop i::before,.funnel-drop i::after{content:"";position:absolute;left:50%;width:5px;height:5px;border-radius:50%;background:currentColor;transform:translateX(-50%)}.funnel-drop i::before{top:-2px}.funnel-drop i::after{bottom:-2px}.funnel-drop.locked i{color:var(--muted);background:var(--muted);box-shadow:none}
.funnel-outcome { width:min(820px,100%);display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:12px;align-items:center;margin-top:24px;padding-top:22px;border-top:1px solid var(--line); }
.funnel-outcome>div { min-height:88px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025); }.funnel-outcome>i{color:var(--cyan);font-style:normal;font-size:25px}.funnel-outcome span,.funnel-outcome b,.funnel-outcome small{display:block}.funnel-outcome span{color:var(--muted);font-size:9px}.funnel-outcome b{margin-top:7px;font:700 20px "Space Grotesk",sans-serif}.funnel-outcome small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.35}.funnel-outcome .success{border-color:rgba(73,221,163,.3);background:rgba(73,221,163,.08)}.funnel-outcome .success b{color:var(--green)}.funnel-outcome .loss{border-color:rgba(255,189,91,.2);background:rgba(255,189,91,.045)}.funnel-outcome .loss b{color:var(--amber)}
.conversion-bars { display: grid; gap: 15px; margin-top: 20px; }
.conversion-item { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.conversion-item span { color: var(--muted-2); font-size: 10px; }
.conversion-item b { font: 600 11px "Space Grotesk", Manrope, sans-serif; }
.conversion-item div { grid-column: 1 / 3; height: 7px; background: rgba(255,255,255,.04); border-radius: 7px; overflow: hidden; }
.conversion-item i { display: block; height: 100%; background: linear-gradient(90deg,var(--violet),var(--cyan)); }
.insight-card { background: linear-gradient(145deg,rgba(139,112,255,.13),rgba(17,22,32,.8)); }
.insight-card h3 { margin-top: 5px; font-size: 22px; }
.insight-card p { color: var(--muted-2); line-height: 1.7; font-size: 11px; margin: 20px 0 30px; }
.insight-action { border-top: 1px solid var(--line); padding-top: 16px; color: var(--muted); font-size: 10px; }
.insight-action b { display: block; color: var(--green); font: 600 22px "Space Grotesk", Manrope, sans-serif; margin-top: 6px; }
.compact-insight { margin:16px 0;display:grid;grid-template-columns:minmax(180px,.45fr) minmax(280px,1fr) auto;align-items:center;gap:18px;cursor:pointer;transition:transform .18s ease,border-color .18s ease; }
.compact-insight:hover,.compact-insight:focus-visible { transform:translateY(-2px);border-color:rgba(139,112,255,.45);outline:0; }
.compact-insight .section-kicker { grid-column:1; }.compact-insight h3{grid-column:1;margin-top:5px}.compact-insight p{grid-column:2;grid-row:1 / 3;margin:0}.compact-insight .insight-action{grid-column:3;grid-row:1 / 3;min-width:145px;border-top:0;border-left:1px solid var(--line);padding:5px 0 5px 18px}.compact-insight .insight-action b{font-size:15px}

.connect-banner { display: flex; align-items: center; gap: 16px; border: 1px solid rgba(255,189,91,.18); background: linear-gradient(90deg,rgba(255,189,91,.08),transparent); border-radius: 17px; padding: 15px 18px; margin-bottom: 18px; }
.connect-icon { width: 38px; height: 38px; border-radius: 11px; background: rgba(255,189,91,.12); color: var(--amber); display: grid; place-items: center; }
.connect-banner div:nth-child(2) { flex: 1; }
.connect-banner b { font-size: 12px; }
.connect-banner p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.connect-banner button { border: 1px solid rgba(255,189,91,.24); background: rgba(255,189,91,.08); color: var(--amber); border-radius: 10px; padding: 9px 13px; cursor: pointer; font-size: 10px; }
.cost-banner-link { width:100%;cursor:pointer;min-height:72px;color:inherit;font:inherit;text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.cost-banner-link>span:nth-child(2) { flex:1; }
.cost-banner-link:hover,.cost-banner-link:focus-visible { border-color:rgba(255,189,91,.52);background:linear-gradient(90deg,rgba(255,189,91,.14),rgba(255,189,91,.025));transform:translateY(-1px);outline:0; }
.cost-banner-arrow { margin-left:auto;color:var(--amber);font-size:21px;transition:transform .18s ease; }
.cost-banner-link:hover .cost-banner-arrow { transform:translateX(4px); }

.product-toolbar { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 13px; }
.search { min-width: 330px; height: 43px; display: flex; align-items: center; gap: 9px; padding: 0 14px; border: 1px solid var(--line); background: #10151e; border-radius: 12px; }
.search span { color: var(--muted); }
.search input { border: 0; outline: 0; background: transparent; color: #fff; width: 100%; font-size: 10px; }
.filter-chips { display: flex; gap: 6px; }
.filter-chips button { border: 1px solid var(--line); background: transparent; color: var(--muted); border-radius: 10px; padding: 0 13px; cursor: pointer; font-size: 9px; }
.filter-chips button.active { border-color: var(--line-hot); background: rgba(139,112,255,.11); color: #fff; }
.table-panel { padding: 0; overflow: hidden; }
.product-row { display: grid; grid-template-columns: minmax(260px,1.35fr) 120px minmax(220px,1fr) 125px 110px; gap: 15px; align-items: center; padding: 15px 19px; border-bottom: 1px solid var(--line); }
.product-row:not(.header) { cursor: pointer; transition: background .18s,border-color .18s; }
.product-row:not(.header):hover { background: rgba(139,112,255,.055); border-color: rgba(139,112,255,.18); }
.product-row.header { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: 1.2px; background: rgba(255,255,255,.018); }
.product-main { display: flex; gap: 11px; align-items: center; min-width: 0; }
.product-thumb { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 10px; background: linear-gradient(145deg,rgba(139,112,255,.2),rgba(58,217,255,.08)); display: grid; place-items: center; color: var(--violet); font: 700 12px "Space Grotesk", Manrope, sans-serif; overflow: hidden; }
.product-thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-main b { display: block; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-main small,.product-row small { color: var(--muted); font-size: 8px; }
.product-row>span,.product-row>strong { font: 500 10px "Space Grotesk", Manrope, sans-serif; }
.stock-meter { display: grid; grid-template-columns: 1fr auto; gap: 7px; align-items: center; }
.stock-meter div { height: 5px; background: rgba(255,255,255,.05); border-radius: 5px; overflow: hidden; }
.stock-meter i { display: block; height: 100%; background: var(--green); }
.stock-meter.low i { background: var(--red); }
.stock-cell { min-width: 0; display: grid; gap: 4px; padding: 9px 11px; border: 1px solid rgba(255,255,255,.065); border-radius: 11px; background: rgba(255,255,255,.018); }
.stock-cell strong { font: 600 13px "Space Grotesk",Manrope,sans-serif; }
.stock-cell small { color: var(--muted); font-size: 8px; line-height: 1.45; white-space: normal; }
.grade { display: inline-flex; width: max-content; padding: 5px 7px; border-radius: 6px; font-size: 8px !important; }
.grade.DEFICIT { color: var(--red); background: rgba(255,100,130,.1); }
.grade.SURPLUS { color: var(--amber); background: rgba(255,189,91,.1); }
.grade.ACTUAL,.grade.POPULAR { color: var(--green); background: rgba(73,221,163,.1); }

.finance-layout { display: grid; grid-template-columns: minmax(300px,.68fr) 1.4fr; gap: 18px; }
.net-card { padding: 26px; background: linear-gradient(145deg,rgba(139,112,255,.17),rgba(17,22,32,.88)); }
.net-card.clickable { cursor: pointer; transition: .2s; }
.net-card.clickable:hover { transform: translateY(-2px); border-color: var(--line-hot); }
.net-card>span { color: var(--muted-2); font-size: 12px; }
.net-card strong { font: 600 38px "Space Grotesk", Manrope, sans-serif; display: block; margin: 13px 0 20px; letter-spacing: -1.5px; }
.net-meter { height: 8px; background: rgba(255,255,255,.06); border-radius: 8px; overflow: hidden; }
.net-meter i { display: block; height: 100%; width: 0; background: linear-gradient(90deg,var(--violet),var(--cyan)); border-radius: inherit; }
.net-card p { color: var(--muted); font-size: 9px; }
.finance-breakdown { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.finance-item { width: 100%; border: 1px solid var(--line); border-radius: 17px; padding: 18px; background: rgba(17,22,32,.8); display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; align-items: center; text-align: left; cursor: pointer; transition: .2s ease; }
.finance-item:hover { transform: translateY(-2px); border-color: var(--line-hot); background: rgba(139,112,255,.07); }
.finance-item span { color: var(--muted-2); font-size: 11px; }
.finance-item strong { font: 600 15px "Space Grotesk", Manrope, sans-serif; }
.finance-item em { grid-column: 1 / 3; color: var(--violet); font-style: normal; font-size: 8px; opacity: 0; transform: translateY(3px); transition: .2s; }
.finance-item:hover em { opacity: 1; transform: none; }
.finance-item.negative strong { color: var(--red); }
.finance-item.positive strong { color: var(--green); }
.waterfall-panel { margin-top: 18px; }
.waterfall { height: 240px; display: flex; align-items: end; gap: 12px; padding: 25px 20px 0; border-bottom: 1px solid var(--line); }
.water-item { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: end; text-align: center; border: 0; background: transparent; padding: 0; cursor: pointer; }
.water-item:hover { filter: brightness(1.24); }
.water-item strong { font: 500 9px "Space Grotesk", Manrope, sans-serif; margin-bottom: 6px; }
.water-item i { display: block; min-height: 3px; background: linear-gradient(180deg,var(--violet),rgba(139,112,255,.2)); border-radius: 7px 7px 0 0; }
.water-item.negative i { background: linear-gradient(180deg,var(--red),rgba(255,100,130,.16)); }
.water-item.total i { background: linear-gradient(180deg,var(--green),rgba(73,221,163,.16)); }
.water-item span { color: var(--muted); font-size: 8px; min-height: 36px; margin-top: 8px; }
.finance-detail { display: none; animation: panelIn .3s ease; }
#finance.detail-mode>.section-intro,#finance.detail-mode>.finance-layout,#finance.detail-mode>.waterfall-panel { display: none; }
#finance.detail-mode .finance-detail { display: block; }
.finance-detail-head { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; margin: 8px 0 20px; }
.finance-detail-head button { border: 1px solid var(--line); background: rgba(255,255,255,.025); color: var(--muted-2); border-radius: 10px; padding: 9px 12px; cursor: pointer; }
.finance-detail-head button:hover { border-color: var(--line-hot); color: #fff; }
.finance-detail-head h2 { margin: 0; font: 600 28px "Space Grotesk",sans-serif; }
.finance-detail-head>strong { color: var(--green); font: 600 25px "Space Grotesk",sans-serif; }
.finance-subtabs { display: flex; gap: 7px; overflow-x: auto; padding: 2px 0 14px; }
.finance-subtabs button { flex: 0 0 auto; display: grid; gap: 3px; min-width: 128px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.018); color: var(--muted-2); text-align: left; cursor: pointer; font-size: 9px; }
.finance-subtabs button span { color: var(--muted); font-size: 8px; }
.finance-subtabs button.active,.finance-subtabs button:hover { border-color: var(--line-hot); background: rgba(139,112,255,.11); color: #fff; }
.finance-operations { overflow-x: auto; }
.finance-op-row { min-width: 680px; display: grid; grid-template-columns: 1.7fr .7fr .65fr; gap: 14px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--line); font-size: 9px; }
.finance-op-row.header { color: var(--muted); text-transform: uppercase; letter-spacing: 1px; font-size: 7px; background: rgba(255,255,255,.018); }
.finance-op-row b,.finance-op-row small { display: block; }
.finance-op-row small { color: var(--muted); margin-top: 3px; font-size: 7px; }
.finance-op-row>span { color: var(--muted-2); }
.finance-op-row strong { text-align: right; }
.finance-op-row strong.negative { color: var(--red); }
.finance-op-row strong.positive { color: var(--green); }
.token-profile-list { display: grid; gap: 9px; margin-top: 12px; }
.token-profile { display: grid; gap: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); }
.token-profile>div { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.token-profile em { color: var(--green); font-size: 8px; font-style: normal; }
.token-profile.readonly em { color: var(--amber); }
.token-profile small { color: var(--muted-2); line-height: 1.5; }
.token-profile small.denied { color: #ff8c96; }

.alert-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.alert-card { border: 1px solid var(--line); border-radius: 17px; padding: 18px; background: rgba(17,22,32,.8); position: relative; overflow: hidden; }
.alert-card::before { content:""; position: absolute; inset: 0 auto 0 0; width: 2px; background: var(--amber); }
.alert-card.critical::before { background: var(--red); }
.alert-card.info::before { background: var(--cyan); }
.alert-card.positive::before { background: var(--green); }
.alert-card>span { display: block; padding-right: 38px; color: var(--muted); font-size: 8px; }
.alert-card h3 { padding-right: 38px; font: 500 14px "Space Grotesk", Manrope, sans-serif; margin: 10px 0 7px; }
.alert-card p { padding-right: 28px; color: var(--muted); font-size: 9px; line-height: 1.6; margin: 0; }

.journal-layout { display: grid; grid-template-columns: minmax(300px,.7fr) 1.3fr; gap: 18px; }
.note-form { display: grid; gap: 14px; align-content: start; }
.note-form label,.drawer-section label { color: var(--muted); font-size: 9px; display: grid; gap: 7px; }
.note-form input,.note-form select,.note-form textarea,.drawer-section input { background: #0b0f16; border: 1px solid var(--line); border-radius: 10px; color: #fff; padding: 11px; outline: 0; resize: vertical; }
.note-form input:focus,.note-form textarea:focus,.drawer-section input:focus { border-color: var(--line-hot); }
.note-form input[type="date"] { min-height: 46px; width: 100%; cursor: pointer; color-scheme: dark; }
.note-form input[type="date"]::-webkit-calendar-picker-indicator { width: 22px; height: 22px; padding: 7px; margin: -5px; border-radius: 8px; background-color: rgba(139,112,255,.14); cursor: pointer; filter: invert(82%) sepia(19%) saturate(934%) hue-rotate(205deg); }
.note-form select { cursor: pointer; }
.primary-button { border: 0; border-radius: 10px; padding: 12px 15px; background: linear-gradient(135deg,var(--violet),var(--violet-2)); color: #fff; cursor: pointer; font-size: 10px; box-shadow: 0 10px 28px rgba(96,68,255,.22); }
.primary-button.disabled { opacity: .45; cursor: not-allowed; }
.note-timeline { border-left: 1px solid var(--line); margin-left: 12px; padding-left: 25px; display: grid; gap: 12px; align-content: start; }
.note-card { position: relative; border: 1px solid var(--line); background: rgba(17,22,32,.8); border-radius: 15px; padding: 16px; }
.note-card::before { content:""; position: absolute; left: -31px; top: 20px; width: 10px; height: 10px; border-radius: 50%; background: var(--violet); box-shadow: 0 0 14px var(--violet); }
.note-card span { color: var(--violet); font-size: 8px; letter-spacing: 1px; text-transform: uppercase; }
.note-card p { color: var(--muted-2); font-size: 10px; line-height: 1.65; margin: 8px 0 0; }
.section-module-nav { display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:5px;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:14px;background:rgba(9,13,20,.7); }
.section-module-nav button { min-height:36px;padding:0 15px;border:0;border-radius:10px;background:transparent;color:var(--muted-2);font:700 9px Manrope,sans-serif;cursor:pointer;transition:.18s ease; }
.section-module-nav button:hover,.section-module-nav button.active { color:#fff;background:linear-gradient(135deg,rgba(139,112,255,.22),rgba(65,217,255,.1));box-shadow:inset 0 0 0 1px rgba(139,112,255,.2); }
.sales-workspace,.journal-workspace { display:none; }
.sales-workspace.active,.journal-workspace.active { display:block; }
.activity-toolbar { display:flex;gap:12px;align-items:end;margin-bottom:16px;padding:14px; }
.activity-toolbar label { display:grid;gap:6px;min-width:180px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.8px; }
.activity-toolbar select,.activity-toolbar input { min-height:38px;border:1px solid var(--line);border-radius:10px;background:#0c1119;color:#edf2ff;padding:0 11px;font:600 10px Manrope,sans-serif; }
.activity-toolbar button { min-height:38px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);color:var(--muted-2);cursor:pointer; }
.activity-timeline { display:grid;gap:18px; }
.activity-day { display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px 14px;align-items:start; }
.activity-day>h3 { position:sticky;top:12px;margin:14px 0;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.8px; }
.activity-card { grid-column:2;border:1px solid var(--line);border-radius:14px;background:rgba(15,20,29,.82);overflow:hidden;transition:.18s ease; }
.activity-card:hover,.activity-card.open { border-color:rgba(139,112,255,.35);background:rgba(18,24,35,.94); }
.activity-card-head { width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer; }
.activity-icon { width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(139,112,255,.11);color:var(--violet);font:700 14px "Space Grotesk",sans-serif;font-style:normal; }
.activity-icon.pricing,.activity-icon.unit { color:var(--green);background:rgba(69,220,159,.1); }
.activity-icon.advertising { color:var(--amber);background:rgba(255,188,82,.1); }
.activity-icon.accounts { color:var(--cyan);background:rgba(65,217,255,.1); }
.activity-card-head span>* { display:block; }
.activity-card-head small { color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.65px; }
.activity-card-head b { margin-top:3px;font-size:11px; }
.activity-card-head em { margin-top:3px;color:var(--muted-2);font-size:9px;font-style:normal; }
.activity-card-head>strong { color:var(--muted-2);font-size:9px;white-space:nowrap; }
.activity-detail { display:none;border-top:1px solid var(--line);padding:13px 15px 15px 63px; }
.activity-card.open .activity-detail { display:block; }
.activity-changes { display:grid;gap:7px; }
.activity-changes>div { display:grid;grid-template-columns:minmax(150px,1fr) minmax(100px,.7fr) 18px minmax(100px,.7fr);gap:8px;align-items:center;padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.022);font-size:9px; }
.activity-changes span small { display:block;margin-top:2px;color:var(--muted); }
.activity-changes del { color:#ff8898;text-decoration:none; }
.activity-changes ins { color:#6be8b5;text-decoration:none; }
.activity-changes i { color:var(--muted);font-style:normal;text-align:center; }

.toast { position: fixed; right: 25px; bottom: 25px; z-index: 70; background: #171d28; border: 1px solid var(--line-hot); border-radius: 12px; padding: 12px 16px; font-size: 10px; box-shadow: var(--shadow); transform: translateY(30px); opacity: 0; pointer-events: none; transition: .3s ease; }
.toast.show { transform: translateY(0); opacity: 1; }
.drawer-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.56); backdrop-filter: blur(4px); z-index: 60; opacity: 0; pointer-events: none; transition: .25s; }
.drawer-backdrop.open { opacity: 1; pointer-events: auto; }
.drawer { position: fixed; z-index: 65; inset: 0 0 0 auto; width: min(480px,100vw); background: #0d1119; border-left: 1px solid var(--line); padding: 28px; transform: translateX(100%); transition: .3s cubic-bezier(.2,.75,.2,1); overflow: auto; }
.drawer.open { transform: translateX(0); }
.drawer-head { display: flex; justify-content: space-between; align-items: start; margin-bottom: 25px; }
.drawer-head h2 { font: 600 24px "Space Grotesk", Manrope, sans-serif; margin: 0; }
.drawer-head button { border: 1px solid var(--line); background: transparent; color: var(--muted); width: 36px; height: 36px; border-radius: 10px; cursor: pointer; font-size: 20px; }
.drawer-section { border: 1px solid var(--line); background: rgba(255,255,255,.018); border-radius: 17px; padding: 17px; margin-bottom: 13px; display: grid; gap: 13px; }
.credential-manager-frame { display:none;width:100%;height:calc(100vh - 95px);border:0;border-radius:14px;background:var(--bg); }
#accountForm[hidden] { display:none !important; }
.drawer.credential-manager { width:min(760px,100vw);padding:18px;overflow:hidden; }
.drawer.credential-manager .drawer-head { margin-bottom:10px; }
.drawer.credential-manager .drawer-head span,.drawer.credential-manager .drawer-head h2 { display:none; }
.drawer.credential-manager > .drawer-section { display:none; }
.drawer.credential-manager .credential-manager-frame { display:block; }
.drawer.credential-manager .profile-workspace { display:none; }
#settingsDrawer > .profile-settings,#settingsDrawer > .drawer-section,#settingsDrawer > #accountForm,#settingsDrawer > #tokenPermissions { display:none !important; }
.profile-workspace { display:grid;gap:16px; }
.profile-tabs { display:grid;grid-template-columns:.75fr 1.3fr 1.35fr;gap:6px;padding:5px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025); }
.profile-tabs button { min-width:0;padding:11px 8px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:9px;font-weight:800;cursor:pointer; }
.profile-tabs button.active { color:#fff;background:linear-gradient(135deg,rgba(139,112,255,.3),rgba(58,217,255,.12));box-shadow:inset 0 0 0 1px rgba(139,112,255,.25); }
.profile-pane { display:none;gap:12px; }
.profile-pane.active { display:grid;animation:panelIn .2s ease; }
.profile-card { display:grid;gap:14px;padding:17px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018); }
.profile-card h3,.profile-pane-heading h3 { margin:5px 0 0;font-size:15px; }
.profile-card p,.profile-pane-heading p { margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.55; }
.profile-segmented { display:grid;grid-template-columns:1fr 1fr;gap:7px; }
.profile-segmented button { min-height:40px;border:1px solid var(--line);border-radius:10px;color:var(--muted-2);background:#0b0f16;cursor:pointer; }
.profile-segmented button.active { color:#fff;border-color:var(--line-hot);background:rgba(139,112,255,.14); }
.profile-field { display:grid;gap:7px;color:var(--muted);font-size:9px; }
.profile-field select,.company-setting-card select,.company-setting-card input { min-width:0;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:10px;color:#fff;background:#0b0f16;outline:0; }
.danger-zone { border-color:rgba(255,92,116,.2); }
.company-settings-list,.profile-api-accounts { display:grid;gap:10px; }
.company-setting-card { display:grid;gap:13px;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018); }
.company-setting-card header { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.company-setting-card header span { color:var(--muted);font-size:8px; }
.company-setting-fields { display:grid;grid-template-columns:1.2fr .55fr 1fr;gap:8px; }
.company-setting-card button { min-height:38px; }
.profile-api-row { display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.018); }
.profile-api-row>span:first-child { width:35px;height:35px;display:grid;place-items:center;border-radius:10px;color:#fff;background:rgba(139,112,255,.18);font-size:9px;font-weight:900; }
.profile-api-row div { flex:1;min-width:0;display:grid;gap:3px; }
.profile-api-row small { color:var(--muted);font-size:8px; }
.profile-api-row em { color:var(--green);font-size:8px;font-style:normal; }
html[data-theme="light"] .profile-card,html[data-theme="light"] .company-setting-card,html[data-theme="light"] .profile-api-row { background:#fff; }
html[data-theme="light"] .profile-segmented button,html[data-theme="light"] .profile-field select,html[data-theme="light"] .company-setting-card select,html[data-theme="light"] .company-setting-card input { color:var(--text);background:#fff; }
@media(max-width:620px){.profile-tabs{grid-template-columns:1fr}.company-setting-fields{grid-template-columns:1fr}}
.bunker-architecture { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px; }
.bunker-architecture article { display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018); }
.bunker-architecture article span { flex:0 0 auto;color:var(--cyan);font:700 10px "Space Grotesk",sans-serif; }
.bunker-architecture article p { margin:0;color:var(--muted-2);font-size:9px;line-height:1.55; }
.bunker-categories { display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px; }
.bunker-categories button { padding:9px 12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:transparent;font-size:9px;font-weight:800;cursor:pointer; }
.bunker-categories button.active { color:#fff;border-color:var(--line-hot);background:rgba(139,112,255,.14); }
.bunker-catalog { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.bunker-catalog>.empty { grid-column:1/-1; }
.bunker-card { min-width:0;display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.01)); }
.bunker-card header { display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.45px; }
.bunker-card header em { color:var(--amber);font-style:normal;white-space:nowrap; }
.bunker-card h3 { margin:0;font-size:14px;line-height:1.25; }
.bunker-card p { flex:1;margin:0;color:var(--muted-2);font-size:9px;line-height:1.6; }
.bunker-card dl { display:grid;gap:7px;margin:0;padding-top:10px;border-top:1px solid var(--line); }
.bunker-card dl div { display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;font-size:8px;line-height:1.4; }
.bunker-card dt { color:var(--muted); }
.bunker-card dd { min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text); }
html[data-theme="light"] .bunker-architecture article,html[data-theme="light"] .bunker-card { background:#fff; }
html[data-theme="light"] .bunker-categories button.active { color:var(--text); }
@media(max-width:1050px){.bunker-catalog,.bunker-architecture{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.bunker-catalog,.bunker-architecture{grid-template-columns:1fr}}
.source-row { display: flex; gap: 11px; align-items: center; }
.source-logo { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 11px; display: grid; place-items: center; font: 700 15px "Space Grotesk", Manrope, sans-serif; }
.source-logo.ozon { background: #1264ff; color: white; }
.source-logo.perf { background: rgba(139,112,255,.15); color: var(--violet); }
.source-logo.profile { color:#d9d2ff;background:linear-gradient(145deg,rgba(139,112,255,.28),rgba(58,217,255,.12)); }
.source-row>div:nth-child(2) { flex: 1; }
.source-row b { font-size: 11px; }
.source-row p { color: var(--muted); font-size: 8px; margin: 3px 0 0; line-height: 1.5; }
.source-state { font-size: 8px; border-radius: 6px; padding: 5px 7px; }
.source-state.ok { color: var(--green); background: rgba(73,221,163,.1); }
.source-state.warn { color: var(--amber); background: rgba(255,189,91,.1); }
.credential-mask { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 13px; }
.credential-mask span,.drawer-section.mini span { color: var(--muted); font-size: 9px; }
.credential-mask b,.drawer-section.mini b { font: 500 10px "Space Grotesk", Manrope, sans-serif; }
.safe-note { color: var(--muted); font-size: 8px; line-height: 1.55; margin: 0; }
.safe-note code { color: var(--violet); }
.drawer-section.mini { grid-template-columns: 1fr auto; }
.drawer-section select { background: #0b0f16; border: 1px solid var(--line); border-radius: 10px; color: #fff; padding: 11px; outline: 0; }
.settings-currency { width:100%;min-width:0; }
.settings-currency>button { width:100%; }
.settings-currency .header-menu { left:0;right:0;width:100%; }
html[data-theme="light"] .drawer { color:var(--text);background:#f7f8fb; }
html[data-theme="light"] .drawer-section { background:#fff; }
html[data-theme="light"] .drawer-section input,html[data-theme="light"] .drawer-section select { color:var(--text);background:#fff; }
.account-list { display: grid; gap: 7px; }
.account-row { width: 100%; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.018); padding: 10px; text-align: left; cursor: pointer; }
.account-row:hover,.account-row.active { border-color: var(--line-hot); background: rgba(139,112,255,.07); }
.account-avatar { width:32px;height:32px;overflow:hidden;border-radius:9px;display:grid;place-items:center;color:#fff;font-size:9px;font-weight:800;line-height:1;white-space:nowrap;background:#1264ff; }
.account-avatar.wb { background:#7b2cff; }
.account-row b,.account-row small { display: block; }
.account-row b { font-size: 10px; }
.account-row small { color: var(--muted); font-size: 8px; margin-top: 3px; }
.account-status { font-style: normal; font-size: 7px; padding: 4px 6px; border-radius: 5px; color: var(--green); background: rgba(73,221,163,.1); }
.account-status.syncing { color: var(--cyan); background: rgba(58,217,255,.1); }
.account-status.error { color: var(--red); background: rgba(255,100,130,.1); }
.account-form label small { color: #596477; font-size: 7px; }
.form-separator { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 8px; margin: 3px 0; }
.form-separator::before,.form-separator::after { content: ""; height: 1px; background: var(--line); flex: 1; }
.primary-button:disabled { opacity: .55; cursor: wait; }
.plan-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 18px; }
.plan-card { border: 1px solid var(--line); border-radius: 18px; padding: 22px; background: var(--panel); }
.plan-card>span { color: var(--muted-2); font-size: 11px; }
.plan-card>div { display: flex; justify-content: space-between; align-items: end; margin: 11px 0 15px; }
.plan-card strong { font: 600 27px "Space Grotesk",sans-serif; }
.plan-card b { color: var(--cyan); font: 600 18px "Space Grotesk",sans-serif; }
.plan-meter { height: 8px; border-radius: 8px; background: rgba(255,255,255,.05); overflow: hidden; }
.plan-meter i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--violet),var(--cyan)); }
.plan-card small,.module-copy { color: var(--muted); font-size: 9px; line-height: 1.6; }
.goal-editor { display: grid; grid-template-columns: minmax(250px,1fr) minmax(180px,.55fr) minmax(150px,.45fr) auto; gap: 15px; align-items: end; margin-bottom: 18px; }
.goal-editor h3 { margin: 0; font: 600 18px "Space Grotesk",sans-serif; }
.goal-editor p { margin: 6px 0 0; color: var(--muted); font-size: 9px; }
.goal-editor label { display: grid; gap: 7px; color: var(--muted-2); font-size: 9px; }
.goal-editor label>div { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: #0b0f16; }
.goal-editor input { min-width: 0; width: 100%; height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: #0b0f16; color: #fff; }
.goal-editor label>div input { border: 0; background: transparent; }
.goal-editor label>div b { padding-right: 11px; color: var(--violet); }
.goal-editor input:focus,.goal-editor label>div:focus-within { border-color: var(--line-hot); }
.goal-editor .primary-button { height: 42px; white-space: nowrap; }
.goal-editor input:disabled,.goal-editor button:disabled { opacity: .45; cursor: not-allowed; }
.ops-table { overflow-x: auto; }
.ops-filters { display: grid; grid-template-columns: 1.35fr .9fr 1fr 1.05fr 1.15fr auto; gap: 9px; align-items: end; margin: 0 0 14px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: rgba(17,22,32,.72); }
.ops-filters label { display: grid; gap: 6px; color: var(--muted); font-size: 8px; }
.ops-filters input,.ops-filters select { width: 100%; height: 39px; min-width: 0; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: #0b0f16; color: #fff; padding: 0 10px; font-size: 9px; color-scheme: dark; }
.ops-filters input:focus,.ops-filters select:focus { border-color: var(--line-hot); box-shadow: 0 0 0 3px rgba(139,112,255,.06); }
.range-filter { grid-template-columns: 1fr 1fr; }
.range-filter>span { grid-column: 1 / 3; }
.ops-filters>button { height: 39px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); color: var(--muted-2); padding: 0 13px; cursor: pointer; font-size: 9px; }
.ops-filters>button:hover { border-color: var(--line-hot); color: #fff; }
.ops-row { min-width: 860px; display: grid; grid-template-columns: 1.25fr .7fr .9fr .75fr .75fr 1fr; gap: 12px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--line); font-size: 9px; }
.ops-row:not(.header) { cursor: pointer; transition: background .18s,border-color .18s; }
.ops-row:not(.header):hover { background: rgba(139,112,255,.055); border-color: rgba(139,112,255,.18); }
.ops-row.header { color: var(--muted); text-transform: uppercase; letter-spacing: 1px; font-size: 7px; background: rgba(255,255,255,.018); }
.ops-row b { font: 500 10px "Space Grotesk",sans-serif; }
.ops-row span { color: var(--muted-2); }
.ops-status { width: max-content; border-radius: 6px; padding: 5px 7px; color: var(--cyan) !important; background: rgba(58,217,255,.08); }
.ops-status.delivered { color: var(--green) !important; background: rgba(73,221,163,.1); }
.ops-status.delivering { color: var(--cyan) !important; background: rgba(58,217,255,.1); }
.ops-status.waiting { color: var(--amber) !important; background: rgba(255,189,91,.1); }
.ops-status.cancelled { color: var(--red) !important; background: rgba(255,100,130,.1); }
.ops-status.neutral { color: var(--muted-2) !important; background: rgba(255,255,255,.05); }
.table-tools { display: flex; justify-content: flex-end; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.column-settings-button { min-height: 36px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); color: var(--muted-2); padding: 0 12px; cursor: pointer; font-size: 9px; white-space: nowrap; }
.column-settings-button:hover { border-color: var(--line-hot); color: #fff; background: rgba(139,112,255,.08); }
.dynamic-table-row { grid-template-columns: var(--table-columns) !important; min-width: var(--table-min-width,900px); }
.sortable-head { border: 0; background: transparent; color: inherit; padding: 0; text-align: left; text-transform: inherit; letter-spacing: inherit; cursor: pointer; font: inherit; }
.sortable-head:hover,.sortable-head.active { color: #fff; }
.sortable-head i { color: var(--violet); font-style: normal; margin-left: 4px; }
.date-filter input { cursor: pointer; }
.date-filter input::-webkit-calendar-picker-indicator { opacity: .85; cursor: pointer; }
.ops-status-picker { position: relative; display: grid; gap: 6px; color: var(--muted); font-size: 8px; }
.ops-status-picker>button { width: 100%; height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: #0b0f16; color: #fff; padding: 0 10px; cursor: pointer; }
.ops-status-picker>button:hover,.ops-status-picker.open>button { border-color: var(--line-hot); box-shadow: 0 0 0 3px rgba(139,112,255,.06); }
.ops-status-picker>button b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; font-weight: 500; }
.ops-status-picker>button i { color: var(--violet); font-style: normal; transition: transform .2s; }
.ops-status-picker.open>button i { transform: rotate(180deg); }
.ops-status-menu { position: absolute; z-index: 35; top: calc(100% + 7px); left: 0; right: 0; display: none; max-height: 270px; overflow-y: auto; padding: 6px; border: 1px solid var(--line-hot); border-radius: 12px; background: rgba(10,14,21,.98); box-shadow: 0 20px 50px rgba(0,0,0,.45); }
.ops-status-picker.open .ops-status-menu { display: grid; gap: 3px; }
.ops-status-menu button { display: flex; align-items: center; gap: 8px; min-height: 34px; border: 0; border-radius: 8px; background: transparent; color: var(--muted-2); padding: 6px 8px; text-align: left; cursor: pointer; font-size: 9px; }
.ops-status-menu button::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--muted); }
.ops-status-menu button:hover,.ops-status-menu button.active { background: rgba(139,112,255,.1); color: #fff; }
.ops-status-menu button.delivered::before { background: var(--green); }
.ops-status-menu button.delivering::before { background: var(--cyan); }
.ops-status-menu button.waiting::before { background: var(--amber); }
.ops-status-menu button.cancelled::before { background: var(--red); }
.ops-pager { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 10px 18px; }
.ops-pager>span { color: var(--muted); font-size: 8px; }
.ops-pager-controls,.ops-page-sizes { display: flex; align-items: center; gap: 5px; }
.ops-pager button { min-width: 32px; height: 31px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.025); color: var(--muted-2); cursor: pointer; font-size: 8px; }
.ops-pager button:hover,.ops-pager button.active { border-color: var(--line-hot); color: #fff; background: rgba(139,112,255,.1); }
.ops-pager button:disabled { opacity: .35; cursor: default; }
.posting-backdrop { position: fixed; inset: 0; z-index: 79; opacity: 0; pointer-events: none; background: rgba(2,4,8,.76); backdrop-filter: blur(8px); transition: opacity .2s; }
.posting-backdrop.open { opacity: 1; pointer-events: auto; }
.posting-modal { position: fixed; z-index: 80; inset: 4vh 5vw; overflow-y: auto; opacity: 0; pointer-events: none; transform: translateY(16px) scale(.985); transition: opacity .2s,transform .2s; border: 1px solid var(--line-hot); border-radius: 24px; background: linear-gradient(145deg,#101722,#080c12); box-shadow: 0 30px 100px rgba(0,0,0,.65); padding: 28px; }
.posting-modal.open { opacity: 1; pointer-events: auto; transform: none; }
.fbs-module-nav { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px; }
.fbs-module-nav button { display:flex;align-items:center;gap:13px;text-align:left;padding:15px 17px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,rgba(20,29,41,.92),rgba(9,14,21,.92));color:var(--text);cursor:pointer;transition:.2s ease; }
.fbs-module-nav button:hover,.fbs-module-nav button.active { transform:translateY(-2px);border-color:rgba(99,230,190,.55);box-shadow:0 14px 32px rgba(0,0,0,.25),inset 0 0 0 1px rgba(99,230,190,.08); }
.fbs-module-nav button > i { display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:rgba(99,230,190,.1);color:var(--green);font-style:normal;font-size:19px; }
.fbs-module-nav b,.fbs-module-nav small { display:block; }.fbs-module-nav b{font-size:14px}.fbs-module-nav small{margin-top:3px;color:var(--muted);font-size:11px}
.fbs-workspace { display:none; }.fbs-workspace.active { display:block;animation:workspace-in .22s ease; }
@keyframes workspace-in { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }
.fbs-hub-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
#fbo .fbs-module-nav,#fbo .fbs-hub-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.fbs-hub-card { min-height:220px;padding:24px;text-align:left;color:var(--text);cursor:pointer;transition:.22s ease; }
.fbs-hub-card:hover { transform:translateY(-4px);border-color:rgba(99,230,190,.48);box-shadow:0 22px 50px rgba(0,0,0,.28); }
.fbs-hub-card span { color:var(--green);font-size:11px;letter-spacing:.13em; }.fbs-hub-card b{display:block;margin:20px 0 9px;font-size:27px}.fbs-hub-card p{min-height:54px;color:var(--muted);line-height:1.55}.fbs-hub-card i{display:block;margin-top:20px;color:var(--text);font-style:normal;font-weight:700}
.sales-goals-inline { display:grid;gap:12px;margin:18px 0 20px; }
.sales-goals-heading { display:flex;align-items:end;justify-content:space-between;gap:18px;padding:0 2px; }
.sales-goals-heading h3 { margin:5px 0 0;font-size:18px; }
.sales-goals-heading p { max-width:440px;margin:0;color:var(--muted);font-size:10px;text-align:right; }
.compact-goal-editor { margin:0; }
.plan-method { padding:0;overflow:hidden; }
.plan-method summary { padding:13px 16px;color:var(--muted-2);font-size:10px;cursor:pointer; }
.plan-method .module-copy { margin:0;padding:0 16px 15px; }
.geo-panel { overflow:visible; }
.geo-panel>.panel-head { min-width:0;gap:22px;padding:20px 20px 16px; }
.geo-panel>.panel-head>div { min-width:0; }
.geo-panel>.panel-head h3 { max-width:100%;margin-right:0;overflow-wrap:anywhere; }
.geo-panel>.panel-head>p { flex:0 1 420px;max-width:420px;margin:0;color:var(--muted);font-size:9px;line-height:1.5;text-align:right;overflow-wrap:anywhere; }
.geo-table { max-height:68vh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable; }
.geo-row { display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(8,minmax(94px,.72fr)) minmax(125px,.9fr);min-width:1270px;align-items:center;gap:12px;padding:13px 16px;border-top:1px solid var(--line);font-size:12px; }
.geo-row.header { position:sticky;top:0;z-index:4;border-top:0;background:#111923;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;box-shadow:0 8px 18px rgba(2,5,9,.28); }
.geo-row>:first-child { padding-right:10px;background:transparent; }
.geo-row > div b,.geo-row > div small { display:block; }.geo-row > div small{margin-top:4px;color:var(--muted)}
.geo-status { width:max-content;min-width:34px;padding:5px 8px;border-radius:9px;text-align:center;font-weight:700; }
.geo-status.active{background:rgba(80,150,255,.12);color:#8db9ff}.geo-status.delivered{background:rgba(99,230,190,.12);color:var(--green)}.geo-status.cancelled{background:rgba(255,93,113,.12);color:#ff8191}
.warehouse-guide { display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:16px;padding:22px; }.warehouse-guide h3{margin:5px 0}.warehouse-guide p{margin:0;color:var(--muted)}
.warehouse-source-badges { display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end; }.warehouse-source-badges span{padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:11px}
.warehouse-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.warehouse-card { padding:20px; }.warehouse-card header{display:flex;justify-content:space-between;gap:15px}.warehouse-card header span{color:var(--green);font-size:10px;letter-spacing:.12em}.warehouse-card h3{margin:6px 0 3px;font-size:18px}.warehouse-card header small{color:var(--muted)}.warehouse-card header>i{height:max-content;padding:6px 9px;border-radius:9px;background:rgba(99,230,190,.1);color:var(--green);font-size:10px;font-style:normal}.warehouse-card header>i.processing{color:#ffca72;background:rgba(255,190,80,.12)}.warehouse-card header>i.deleting{color:#ff8191;background:rgba(255,93,113,.12)}
.warehouse-kpis { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0; }.warehouse-kpis div{padding:12px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid var(--line)}.warehouse-kpis span,.warehouse-kpis b{display:block}.warehouse-kpis span{color:var(--muted);font-size:10px}.warehouse-kpis b{margin-top:6px;font-size:15px}
.warehouse-card dl { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0; }.warehouse-card dl div{padding-top:10px;border-top:1px solid var(--line)}.warehouse-card dt{color:var(--muted);font-size:10px}.warehouse-card dd{margin:4px 0 0;font-size:12px;line-height:1.4}
.posting-close { position: sticky; z-index: 2; top: 0; float: right; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; background: #111824; color: #fff; cursor: pointer; font-size: 19px; }
.posting-detail-head { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: end; padding-right: 52px; margin-bottom: 20px; }
.posting-detail-head h2 { margin: 5px 0 0; font: 600 28px "Space Grotesk",sans-serif; }
.posting-detail-head p { margin: 7px 0 0; color: var(--muted); font-size: 9px; }
.posting-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 16px; }
.posting-fact { min-height: 86px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.02); }
.posting-fact span { color: var(--muted); font-size: 8px; }
.posting-fact b { display: block; margin-top: 9px; font-size: 11px; overflow-wrap: anywhere; }
.posting-detail-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(350px,.75fr); gap: 16px; align-items:start; }
.posting-info-column { display:grid;gap:14px;min-width:0; }
.posting-module { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.018); }
.posting-module h3 { margin: 0 0 13px; font: 600 16px "Space Grotesk",sans-serif; }
.posting-product { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); font-size: 9px; }
.posting-product small { display: block; margin-top: 4px; color: var(--muted); }
.posting-kv { display: grid; grid-template-columns: minmax(120px,.8fr) 1.2fr; gap: 8px 13px; padding: 8px 0; border-top: 1px solid var(--line); font-size: 8px; }
.posting-kv span { color: var(--muted); }
.posting-kv b { overflow-wrap: anywhere; }
.posting-kv span small { display:block;margin-top:4px;color:var(--muted-2);font-size:7px;line-height:1.35; }
.advertising-details { margin-top:12px; }
.advertising-details .ad-campaign-row { margin-left:12px;padding-left:12px;border-left:2px solid rgba(126,249,198,.18); }
.advertising-details .ad-campaign-row b { color:#9ef4ce; }
.posting-module-title,.economics-head { display:flex;align-items:flex-start;justify-content:space-between;gap:16px; }
.posting-module-title span,.economics-head span { color:var(--violet);font-size:8px;font-weight:800;letter-spacing:.14em; }
.posting-module-title h3,.economics-head h3 { margin:5px 0 0;font-size:18px; }
.posting-module-title>i { padding:6px 9px;border:1px solid var(--line);border-radius:9px;color:var(--muted-2);font-size:8px;font-style:normal;white-space:nowrap; }
.route-line { display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin:17px 0;padding:18px;border:1px solid rgba(139,112,255,.17);border-radius:14px;background:radial-gradient(circle at 50% 50%,rgba(139,112,255,.08),transparent 54%),rgba(255,255,255,.015); }
.route-line>i { color:var(--violet);font-size:22px;font-style:normal; }
.route-line span,.route-line b,.route-line small { display:block; }
.route-line span { color:var(--muted);font-size:8px; }
.route-line b { margin-top:6px;font-size:12px;overflow-wrap:anywhere; }
.route-line small { margin-top:5px;color:var(--muted);font-size:8px; }
.posting-mini-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.posting-mini-grid>div { padding:11px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.018); }
.posting-mini-grid span,.posting-mini-grid b { display:block; }
.posting-mini-grid span { color:var(--muted);font-size:8px; }
.posting-mini-grid b { margin-top:6px;font-size:9px;overflow-wrap:anywhere; }
.posting-product-economics { display:grid;grid-template-columns:minmax(0,1fr) auto minmax(240px,.8fr);gap:14px;align-items:center;padding:15px 0;border-top:1px solid var(--line); }
.posting-product-name b,.posting-product-name small { display:block; }
.posting-product-name b { font-size:10px;line-height:1.45; }
.posting-product-name small { margin-top:4px;color:var(--muted);font-size:8px; }
.posting-product-numbers { text-align:right;white-space:nowrap; }
.posting-product-numbers span,.posting-product-numbers b { display:block; }
.posting-product-numbers span { color:var(--muted);font-size:8px; }
.posting-product-numbers b { margin-top:5px;font-size:11px; }
.posting-product-economics>label>span,.tax-editor label>span { display:block;margin-bottom:6px;color:var(--muted);font-size:8px; }
.posting-product-economics>label>div { display:grid;grid-template-columns:1fr auto auto;align-items:center;border:1px solid var(--line);border-radius:10px;background:#0b0f16;overflow:hidden; }
.posting-product-economics input,.tax-editor input,.tax-editor select { min-width:0;height:38px;border:0;outline:0;background:#0b0f16;color:#fff;padding:0 10px;font-size:9px; }
.posting-product-economics label i { color:var(--muted);font-size:9px;font-style:normal; }
.posting-product-economics button { height:30px;margin:4px;border:0;border-radius:7px;background:rgba(139,112,255,.17);color:#c9bdff;padding:0 9px;cursor:pointer;font-size:8px; }
.posting-product-economics button:hover { background:rgba(139,112,255,.28);color:#fff; }
.posting-api-details summary { display:flex;justify-content:space-between;align-items:center;gap:15px;cursor:pointer;list-style:none; }
.posting-api-details summary::-webkit-details-marker { display:none; }
.posting-api-details summary b,.posting-api-details summary small { display:block; }
.posting-api-details summary b { font-size:11px; }
.posting-api-details summary small { margin-top:4px;color:var(--muted);font-size:8px;font-weight:400; }
.posting-api-details summary>i { color:var(--violet);font-size:8px;font-style:normal; }
.posting-api-details[open] summary { margin-bottom:15px; }
.posting-api-details[open] summary>i { font-size:0; }
.posting-api-details[open] summary>i::after { content:"Свернуть";font-size:8px; }
.posting-economics { position:sticky;top:16px;overflow:hidden;border-color:rgba(139,112,255,.25);background:linear-gradient(155deg,rgba(139,112,255,.09),rgba(255,255,255,.018) 35%,rgba(99,230,190,.025));box-shadow:0 22px 65px rgba(0,0,0,.25); }
.economics-head>i { padding:7px 10px;border-radius:9px;font-size:8px;font-style:normal;font-weight:900;letter-spacing:.1em; }
.economics-head>i.actual { color:var(--green);background:rgba(99,230,190,.12);border:1px solid rgba(99,230,190,.22); }
.economics-head>i.forecast { color:var(--amber);background:rgba(255,189,91,.11);border:1px solid rgba(255,189,91,.2); }
.economics-note { margin:12px 0 16px;color:var(--muted);font-size:8px;line-height:1.55; }
.economics-waterfall { border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(4,7,11,.32); }
.economics-waterfall>div { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 12px;border-top:1px solid var(--line); }
.economics-waterfall>div:first-child { border-top:0; }
.economics-waterfall span { font-size:9px; }
.economics-waterfall span small { display:block;margin-top:4px;color:var(--muted);font-size:7px;line-height:1.35; }
.economics-waterfall b { color:#ff9ba8;font-size:10px;white-space:nowrap; }
.economics-waterfall .positive b { color:var(--green); }
.economics-waterfall .payout { background:rgba(139,112,255,.08); }
.economics-waterfall .payout span,.economics-waterfall .payout b { color:#d8d0ff;font-weight:800; }
.profit-result { position:relative;margin:14px 0;padding:18px;border:1px solid rgba(99,230,190,.26);border-radius:15px;background:radial-gradient(circle at 90% 0,rgba(99,230,190,.16),transparent 55%),rgba(99,230,190,.055);overflow:hidden; }
.profit-result.negative { border-color:rgba(255,93,113,.28);background:radial-gradient(circle at 90% 0,rgba(255,93,113,.16),transparent 55%),rgba(255,93,113,.05); }
.profit-result span,.profit-result strong,.profit-result small { display:block; }
.profit-result span { color:var(--muted-2);font-size:9px; }
.profit-result strong { margin:7px 0 5px;color:var(--green);font:600 28px "Space Grotesk",sans-serif; }
.profit-result.negative strong { color:var(--red); }
.profit-result small { color:var(--muted);font-size:8px; }
.economics-warning { margin-bottom:14px;padding:11px;border:1px solid rgba(255,189,91,.22);border-radius:11px;background:rgba(255,189,91,.065);color:#ffd08a;font-size:8px;line-height:1.5; }
.tax-editor { margin-top:14px;padding-top:15px;border-top:1px solid var(--line); }
.tax-editor>p { margin:9px 0 12px;color:var(--muted);font-size:8px;line-height:1.45; }
.tax-editor label { display:block;margin-top:10px; }
.tax-editor input,.tax-editor select { width:100%;border:1px solid var(--line);border-radius:9px; }
.tax-editor input:focus,.tax-editor select:focus { border-color:var(--line-hot);box-shadow:0 0 0 3px rgba(139,112,255,.06); }
.tax-editor-row { display:grid;grid-template-columns:.65fr 1.35fr;gap:8px; }
.tax-editor .primary-button { width:100%;margin-top:10px; }
.economics-method { margin-top:14px;padding:12px;border-radius:11px;background:rgba(255,255,255,.025); }
.economics-method>span { color:var(--violet);font-size:8px;font-weight:800; }
.economics-method p { margin:6px 0 0;color:var(--muted);font-size:8px;line-height:1.5; }
.product-detail-hero { display: grid; grid-template-columns: 112px 1fr auto; gap: 20px; align-items: center; padding-right: 50px; margin-bottom: 20px; }
.product-detail-image { width: 112px; height: 112px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #0a0e15; color: var(--violet); font: 600 32px "Space Grotesk",sans-serif; }
.product-detail-image img { width: 100%; height: 100%; object-fit: contain; }
.product-detail-hero h2 { margin: 5px 0; font: 600 25px "Space Grotesk",sans-serif; }
.product-detail-hero p { margin: 0; color: var(--muted); font-size: 9px; }
.product-detail-price { text-align: right; }
.product-detail-price strong { display: block; font: 600 25px "Space Grotesk",sans-serif; }
.product-detail-price span { color: var(--muted); font-size: 8px; }
.product-price-module { position: relative; margin: 0 0 16px; overflow: hidden; background: radial-gradient(circle at 75% 0,rgba(139,112,255,.09),transparent 42%),rgba(255,255,255,.018); }
.price-history-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 15px 0 4px; }
.price-history-summary>div { padding: 10px 12px; border: 1px solid rgba(255,255,255,.065); border-radius: 11px; background: rgba(5,8,13,.36); }
.price-history-summary span { display: block; margin-bottom: 4px; color: var(--muted); font-size: 8px; }
.price-history-summary b { font: 600 14px "Space Grotesk",sans-serif; }
.price-history-summary b.positive { color: var(--green); }
.price-history-summary b.negative { color: var(--red); }
.product-price-chart-wrap { position: relative; min-height: 300px; }
.product-price-chart-wrap canvas { display: block; width: 100%; height: 300px; }
.price-chart-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding-top: 9px; border-top: 1px solid rgba(255,255,255,.06); color: var(--muted-2); font-size: 8px; }
.price-chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.price-chart-legend i { width: 13px; height: 3px; border-radius: 4px; }
.price-chart-legend i.up { background: #2de2a6; box-shadow: 0 0 8px rgba(45,226,166,.45); }
.price-chart-legend i.down { background: #ff5f79; box-shadow: 0 0 8px rgba(255,95,121,.45); }
.price-chart-legend i.close { background: var(--violet); box-shadow: 0 0 8px rgba(139,112,255,.6); }
.price-chart-legend small { margin-left: auto; color: var(--muted); }
.product-feature-list { display: grid; gap: 8px; }
.product-feature { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.018); color: inherit; text-align: left; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.product-feature:hover { border-color: var(--line-hot); background: rgba(139,112,255,.08); transform: translateY(-1px); }
.product-feature:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.product-feature b { font-size: 10px; }
.product-feature small { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; }
.product-feature strong { color: #fff; font-size: 8px; }
.columns-modal { position: fixed; z-index: 82; top: 50%; left: 50%; width: min(560px,calc(100vw - 24px)); max-height: 82vh; overflow-y: auto; opacity: 0; pointer-events: none; transform: translate(-50%,-47%) scale(.98); transition: opacity .2s,transform .2s; border: 1px solid var(--line-hot); border-radius: 22px; background: linear-gradient(145deg,#111824,#080c12); box-shadow: 0 30px 100px rgba(0,0,0,.68); padding: 25px; }
.columns-modal.open { opacity: 1; pointer-events: auto; transform: translate(-50%,-50%); }
.columns-modal h2 { margin: 7px 0; font: 600 25px "Space Grotesk",sans-serif; }
.columns-modal>p { color: var(--muted); font-size: 9px; line-height: 1.6; }
.columns-list { display: grid; gap: 7px; margin: 18px 0; }
.column-choice { display: grid; grid-template-columns: auto 1fr auto auto; gap: 10px; align-items: center; padding: 10px 11px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.018); }
.column-choice input { accent-color: var(--violet); }
.column-choice b { font-size: 10px; }
.column-choice small { display: block; margin-top: 3px; color: var(--muted); font-size: 7px; }
.column-choice button { width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 8px; background: transparent; color: var(--muted-2); cursor: pointer; }
.unit-product-table { overflow-x: auto; }
.unit-row { min-width: 880px; display: grid; grid-template-columns: minmax(230px,1.45fr) .6fr .7fr .85fr 1fr auto; gap: 12px; align-items: center; padding: 13px 18px; border-bottom: 1px solid var(--line); font-size: 9px; }
.unit-row.header { color: var(--muted); text-transform: uppercase; letter-spacing: 1px; font-size: 7px; background: rgba(255,255,255,.018); }
.unit-row b,.unit-row small { display: block; }
.unit-row small { color: var(--muted); margin-top: 4px; font-size: 7px; }
.unit-row>span { color: var(--muted-2); }
.unit-row input { width: 100%; height: 36px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: #0b0f16; color: #fff; padding: 0 9px; }
.unit-row input:focus { border-color: var(--line-hot); }
.unit-row button { height: 35px; border: 1px solid var(--line-hot); border-radius: 9px; background: rgba(139,112,255,.1); color: #fff; padding: 0 11px; cursor: pointer; }
.unit-row button:disabled,.unit-row input:disabled { opacity: .45; cursor: not-allowed; }
.profitability-overview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.profitability-card { position:relative; overflow:hidden; min-height:148px; padding:22px; border:1px solid; border-radius:20px; text-align:left; color:#fff; cursor:pointer; transition:transform .18s ease,border-color .18s ease; }
.profitability-card::after { content:""; position:absolute; width:170px; height:170px; right:-62px; top:-75px; border-radius:50%; background:currentColor; opacity:.075; }
.profitability-card:hover,.profitability-card.active { transform:translateY(-2px); }
.profitability-card.profitable { color:#55e39a; border-color:rgba(62,218,139,.3); background:linear-gradient(135deg,rgba(24,101,66,.32),rgba(8,20,18,.96) 70%); }
.profitability-card.loss { color:#ff7484; border-color:rgba(255,89,109,.3); background:linear-gradient(135deg,rgba(118,32,49,.32),rgba(22,11,16,.96) 70%); }
.profitability-card.active { border-color:currentColor; }
.profitability-card>span { display:flex; align-items:center; gap:9px; font-size:12px; font-weight:700; letter-spacing:.035em; }
.profitability-card>span i { display:grid; place-items:center; width:27px; height:27px; border:1px solid currentColor; border-radius:9px; font-style:normal; }
.profitability-card strong { display:block; margin-top:15px; color:#fff; font-size:34px; line-height:1; }
.profitability-card strong small { color:currentColor; font-size:12px; }
.profitability-card p { margin:12px 0 0; color:var(--muted-2); font-size:9px; }
.unit-table-toolbar { display:flex; align-items:center; gap:12px; padding:15px 18px; border-bottom:1px solid var(--line); }
.unit-table-toolbar>div { margin-right:auto; }
.unit-table-toolbar b,.unit-table-toolbar small { display:block; }
.unit-table-toolbar small { margin-top:4px; color:var(--muted); font-size:8px; }
.unit-table-toolbar input { width:min(280px,32vw); height:38px; border:1px solid var(--line); border-radius:11px; background:#0b0f16; color:#fff; padding:0 12px; outline:0; }
.unit-table-toolbar button,.unit-pager button { height:36px; border:1px solid var(--line); border-radius:10px; background:#111722; color:var(--muted-2); padding:0 12px; cursor:pointer; }
.unit-table-toolbar button.active { border-color:var(--line-hot); color:#fff; }
.unit-profit-row { grid-template-columns:minmax(245px,1.45fr) .72fr .9fr .65fr .8fr .9fr auto; }
.unit-profit-row:not(.header) { cursor:pointer; border-left:2px solid transparent; }
.unit-profit-row.profitable { border-left-color:rgba(67,220,145,.55); }
.unit-profit-row.loss { border-left-color:rgba(255,91,112,.62); }
.unit-profit-row:hover { background:rgba(255,255,255,.035); }
.unit-pager { display:flex; align-items:center; justify-content:center; gap:14px; padding:14px; color:var(--muted); font-size:9px; }
.unit-pager button:disabled { opacity:.35; cursor:not-allowed; }
.product-economics-detail { border-color:rgba(105,127,255,.25); }
.product-economics-detail.profitable { border-color:rgba(62,218,139,.27); }
.product-economics-detail.loss { border-color:rgba(255,89,109,.3); }
.economics-result-strip { display:grid; grid-template-columns:repeat(5,minmax(120px,1fr)) minmax(180px,1.35fr); gap:1px; overflow:hidden; margin:16px 0; border:1px solid var(--line); border-radius:15px; background:var(--line); }
.economics-fact { min-height:90px; padding:14px; background:#0c1119; }
.economics-fact span,.economics-fact small { display:block; color:var(--muted); font-size:8px; }
.economics-fact b { display:block; margin:10px 0 6px; font-size:15px; color:#fff; }
.economics-fact.result b { color:#54e39a; font-size:19px; }
.product-economics-detail.loss .economics-fact.result b { color:#ff7484; }
.economics-volume-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.economics-volume-grid>div { padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.015); }
.economics-volume-grid span,.economics-volume-grid b { display:block; }
.economics-volume-grid span { color:var(--muted); font-size:8px; margin-bottom:6px; }
.product-cost-editor { display:grid; grid-template-columns:minmax(190px,280px) auto 1fr; align-items:end; gap:12px; margin:16px 0; padding:15px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.015); }
.product-cost-editor label span { display:block; color:var(--muted); font-size:8px; margin-bottom:6px; }
.product-cost-editor input { width:100%; height:38px; border:1px solid var(--line); border-radius:10px; background:#090d14; color:#fff; padding:0 11px; }
.product-cost-editor button { height:38px; border:1px solid var(--line-hot); border-radius:10px; background:rgba(113,95,255,.16); color:#fff; padding:0 14px; cursor:pointer; }
.product-cost-editor p { align-self:center; margin:0; color:var(--muted-2); font-size:9px; }
.economics-breakdown,.economics-campaigns { margin-top:16px; }
.economics-breakdown h4,.economics-campaigns h4 { margin:0 0 9px; font-size:11px; }
.economics-breakdown>div { display:flex; justify-content:space-between; gap:15px; padding:9px 2px; border-bottom:1px solid var(--line); color:var(--muted-2); font-size:9px; }
.economics-breakdown>div b { color:#ff8b98; }
.economics-campaigns article { display:grid; grid-template-columns:minmax(200px,1fr) auto minmax(150px,auto); gap:14px; align-items:center; padding:11px 13px; border:1px solid var(--line); border-radius:12px; margin-top:7px; background:rgba(255,255,255,.014); }
.economics-campaigns b,.economics-campaigns small { display:block; }
.economics-campaigns small,.economics-campaigns span { margin-top:4px; color:var(--muted); font-size:8px; }
.zero-economics { margin-top:14px; border:1px dashed var(--line); border-radius:12px; padding:11px 13px; color:var(--muted); font-size:9px; }
.zero-economics summary { cursor:pointer; color:var(--muted-2); }
.zero-economics div { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--line); }
@media (max-width:900px) { .profitability-overview{grid-template-columns:1fr}.economics-result-strip{grid-template-columns:repeat(2,1fr)}.product-cost-editor{grid-template-columns:1fr}.economics-volume-grid{grid-template-columns:repeat(2,1fr)} }
.unit-lock-note { padding: 12px 18px; color: var(--amber); background: rgba(255,189,91,.05); font-size: 9px; }
.unit-module-nav { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px; }
.unit-module-nav button { display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;min-height:66px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018);color:var(--muted-2);text-align:left;cursor:pointer;transition:.2s ease; }
.unit-module-nav button>i { width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(139,112,255,.09);color:var(--violet);font:600 16px "Space Grotesk",sans-serif;font-style:normal; }
.unit-module-nav button b,.unit-module-nav button small { display:block; }
.unit-module-nav button b { font-size:11px; }
.unit-module-nav button small { margin-top:4px;color:var(--muted);font-size:8px; }
.unit-module-nav button:hover,.unit-module-nav button.active { border-color:var(--line-hot);background:rgba(139,112,255,.075);color:#fff;transform:translateY(-1px); }
.unit-workspace { display:none;animation:panelIn .25s ease; }
.unit-workspace.active { display:block; }
.cost-manager { overflow:visible; }
.cost-manager-sticky { position:sticky;top:10px;z-index:8;display:flex;align-items:center;gap:18px;padding:16px 18px;border-bottom:1px solid var(--line);border-radius:16px 16px 0 0;background:#0c1017; }
.cost-manager-sticky>div:first-child { margin-right:auto; }
.cost-manager-sticky h3 { margin:4px 0 0;font-size:15px; }
.cost-manager-sticky p { margin:5px 0 0;color:var(--muted);font-size:9px; }
.cost-manager-actions { display:flex;align-items:center;gap:9px; }
.cost-manager-actions input { width:min(290px,29vw);height:39px;border:1px solid var(--line);border-radius:11px;background:#090d13;color:#fff;padding:0 12px;outline:0; }
.cost-manager-actions input:focus { border-color:var(--line-hot); }
.cost-dropzone { margin:16px 18px;display:flex;align-items:center;gap:14px;min-height:94px;padding:18px;border:1px dashed rgba(139,112,255,.42);border-radius:15px;background:rgba(139,112,255,.045);cursor:pointer;transition:.18s ease; }
.cost-dropzone:hover,.cost-dropzone:focus-visible,.cost-dropzone.dragging { border-color:var(--violet);background:rgba(139,112,255,.11);outline:0; }
.cost-drop-icon { width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:rgba(139,112,255,.14);color:#c6baff;font-size:22px; }
.cost-dropzone div { min-width:0;margin-right:auto; }
.cost-dropzone b,.cost-dropzone p { display:block;margin:0; }
.cost-dropzone b { font-size:12px; }
.cost-dropzone p { margin-top:5px;color:var(--muted);font-size:9px; }
.cost-dropzone a { color:#d9d1ff;border:1px solid rgba(139,112,255,.3);border-radius:10px;padding:10px 12px;text-decoration:none;font-size:10px;white-space:nowrap; }
.cost-import-result { margin:0 18px 16px;padding:12px 14px;border:1px solid rgba(67,220,145,.26);border-radius:12px;background:rgba(67,220,145,.07);color:#aaf3ce;font-size:10px; }
.cost-import-result.warn { border-color:rgba(255,189,91,.32);background:rgba(255,189,91,.07);color:#ffd99f; }
.unit-cost-row { display:grid;grid-template-columns:minmax(260px,1fr) minmax(140px,.35fr) 112px;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid rgba(255,255,255,.045); }
.unit-cost-row:nth-child(even):not(.header) { background:rgba(255,255,255,.012); }
.unit-cost-row.header { position:sticky;top:91px;z-index:6;background:#0e131b;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.07em; }
.unit-cost-row>div b,.unit-cost-row>div small { display:block; }
.unit-cost-row>div b { font-size:10px; }
.unit-cost-row>div small { margin-top:4px;color:var(--muted);font-size:8px; }
.unit-cost-input { height:38px;width:100%;border:1px solid var(--line);border-radius:10px;background:#090d13;color:#fff;padding:0 11px;outline:0; }
.unit-cost-input:focus,.unit-cost-input.dirty { border-color:rgba(255,189,91,.58); }
.unit-cost-row button { height:36px;border:1px solid rgba(139,112,255,.28);border-radius:10px;background:rgba(139,112,255,.08);color:#d9d1ff;cursor:pointer; }
.unit-cost-row button:disabled { opacity:.42;cursor:default; }
.unit-costs-table .unit-pager { padding:14px 18px; }
.product-group-editor { display:grid;gap:16px;margin-bottom:18px; }
.product-group-editor-head,.product-group-summary { display:flex;justify-content:space-between;gap:18px;align-items:start; }
.product-group-editor h3,.product-group-summary h3 { margin:4px 0 0;font:600 18px "Space Grotesk",sans-serif; }
.product-group-editor p,.product-group-summary p { margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.55; }
.product-group-editor-head>button { border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025);color:var(--muted-2);padding:9px 11px;cursor:pointer;font-size:8px; }
.product-group-controls { display:grid;grid-template-columns:minmax(220px,.8fr) minmax(220px,1fr) auto;gap:11px;align-items:end; }
.product-group-controls label { display:grid;gap:7px;color:var(--muted);font-size:8px; }
.product-group-controls input { width:100%;height:41px;border:1px solid var(--line);border-radius:10px;background:#0b0f16;color:#fff;padding:0 11px;outline:0; }
.product-group-controls input:focus { border-color:var(--line-hot);box-shadow:0 0 0 3px rgba(139,112,255,.06); }
.product-group-controls .primary-button { height:41px;white-space:nowrap; }
.product-group-picker { max-height:350px;overflow:auto;border:1px solid var(--line);border-radius:13px;background:rgba(5,8,13,.38); }
.product-group-choice { display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.045);cursor:pointer; }
.product-group-choice:nth-child(odd) { background:rgba(255,255,255,.012); }
.product-group-choice:nth-child(even) { background:rgba(107,125,164,.045); }
.product-group-choice:hover { background:rgba(139,112,255,.075); }
.product-group-choice:last-child { border-bottom:0; }
.product-group-choice input { accent-color:var(--violet); }
.product-group-choice b,.product-group-choice small { display:block; }
.product-group-choice b { font-size:10px; }
.product-group-choice small { margin-top:3px;color:var(--muted);font-size:7px; }
.product-group-choice em { color:var(--violet);font-size:8px;font-style:normal; }
.product-group-summary { align-items:end;margin:0 2px 11px; }
.product-group-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.product-group-card { display:grid;gap:13px;padding:17px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(24,30,44,.92),rgba(12,16,24,.92)); }
.product-group-card:nth-child(even) { background:linear-gradient(145deg,rgba(31,37,53,.94),rgba(14,19,29,.94)); }
.product-group-card header { display:flex;justify-content:space-between;gap:12px;align-items:start; }
.product-group-card h4 { margin:4px 0 0;font:600 15px "Space Grotesk",sans-serif; }
.product-group-card header span { color:var(--muted);font-size:8px; }
.product-group-card header b { color:var(--cyan);font-size:10px;white-space:nowrap; }
.product-group-products { display:flex;flex-wrap:wrap;gap:6px; }
.product-group-products span { max-width:100%;padding:6px 8px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:rgba(255,255,255,.025);color:var(--muted-2);font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.product-group-actions { display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:11px; }
.product-group-actions button { min-height:32px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.025);color:var(--muted-2);padding:0 10px;cursor:pointer;font-size:8px; }
.product-group-actions button:hover { border-color:var(--line-hot);color:#fff; }
.product-group-actions button[data-group-delete] { color:var(--red);border-color:rgba(255,100,130,.18); }

/* Небольшое чередование оттенков помогает вести взгляд по длинным спискам. */
.product-row:not(.header):nth-child(odd),
.ops-row:not(.header):nth-child(odd),
.finance-op-row:not(.header):nth-child(odd),
.unit-row:not(.header):nth-child(odd),
.automation-row:not(.header):nth-child(odd),
.geo-row:not(.header):nth-child(odd) { background:rgba(255,255,255,.009); }
.product-row:not(.header):nth-child(even),
.ops-row:not(.header):nth-child(even),
.finance-op-row:not(.header):nth-child(even),
.unit-row:not(.header):nth-child(even),
.automation-row:not(.header):nth-child(even),
.geo-row:not(.header):nth-child(even) { background:rgba(105,124,162,.042); }
.posting-kv:nth-child(even),.token-profile:nth-child(even),.note-card:nth-child(even) { background-color:rgba(105,124,162,.045); }
.product-row:not(.header):hover,.ops-row:not(.header):hover { background:rgba(139,112,255,.08); }
.automation-control { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: end; }
.automation-settings { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(160px,.45fr) 1fr; gap: 14px; align-items: stretch; }
.automation-settings>label { display: grid; align-content: start; gap: 7px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.018); color: var(--muted-2); font-size: 11px; }
.automation-settings>label>div { display: flex; align-items: center; gap: 8px; }
.automation-settings input { width: 100%; height: 40px; border: 1px solid var(--line); border-radius: 9px; background: #0b0f16; color: #fff; padding: 0 10px; outline: 0; }
.automation-settings input:focus { border-color: var(--line-hot); }
.automation-settings small { color: var(--muted); font-size: 8px; line-height: 1.5; }
.automation-settings b { color: var(--violet); }
.automation-safety { padding: 14px; border: 1px solid rgba(73,221,163,.17); border-radius: 13px; background: rgba(73,221,163,.045); }
.automation-safety b { color: var(--green); font-size: 11px; }
.automation-safety p { margin: 6px 0 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.automation-actions { min-width: 245px; display: grid; gap: 9px; }
.secondary-button,.danger-button { min-height: 41px; border-radius: 10px; padding: 0 14px; cursor: pointer; font-size: 10px; }
.secondary-button { border: 1px solid var(--line-hot); background: rgba(139,112,255,.1); color: #fff; }
.danger-button { border: 1px solid rgba(255,100,130,.3); background: rgba(255,100,130,.1); color: var(--red); }
.secondary-button:disabled,.danger-button:disabled { opacity: .4; cursor: not-allowed; }
.automation-confirm { display: flex; align-items: flex-start; gap: 8px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.automation-confirm input { accent-color: var(--red); }
.automation-progress { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; margin: 14px 0; padding: 12px 15px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.018); }
.automation-progress>div { height: 7px; border-radius: 7px; background: rgba(255,255,255,.05); overflow: hidden; }
.automation-progress i { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg,var(--violet),var(--cyan)); transition: width .4s; }
.automation-progress.running i { background-size: 180% 100%; animation: progressFlow 1.2s linear infinite; }
.automation-progress span { color: var(--muted-2); font-size: 9px; min-width: 220px; }
.automation-progress strong { color: var(--cyan); font: 600 12px "Space Grotesk",sans-serif; }
.automation-card { min-height: 105px; padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg,rgba(26,33,48,.95),rgba(13,17,25,.95)); }
.automation-card span { color: var(--muted-2); font-size: 11px; }
.automation-card strong { display: block; margin-top: 12px; font: 600 24px "Space Grotesk",sans-serif; }
.automation-card.positive strong { color: var(--green); }
.automation-card.negative strong { color: var(--red); }
.automation-table { overflow-x: auto; }
.automation-row { min-width: 980px; display: grid; grid-template-columns: 1.45fr .65fr 1fr .65fr 1.1fr; gap: 13px; align-items: center; padding: 13px 18px; border-bottom: 1px solid var(--line); font-size: 9px; }
.automation-row.header { color: var(--muted); text-transform: uppercase; letter-spacing: 1px; font-size: 7px; background: rgba(255,255,255,.018); }
.automation-row b,.automation-row small { display: block; }
.automation-row small { color: var(--muted); margin-top: 4px; font-size: 7px; }
.automation-row>span { color: var(--muted-2); }
.automation-row em { width: max-content; max-width: 100%; padding: 6px 8px; border-radius: 7px; font-style: normal; color: var(--muted-2); background: rgba(255,255,255,.05); }
.automation-row em.add { color: var(--green); background: rgba(73,221,163,.08); }
.automation-row em.remove { color: var(--red); background: rgba(255,100,130,.08); }
.automation-row em.keep { color: var(--cyan); background: rgba(58,217,255,.07); }
.automation-history-panel { margin-top: 16px; }
.automation-history { display: grid; gap: 7px; margin-top: 14px; }
.automation-history>div { display: grid; grid-template-columns: 1fr auto 1fr auto; gap: 12px; align-items: center; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; font-size: 9px; }
.automation-history span,.automation-history em { color: var(--muted); font-style: normal; }
.automation-history strong { color: var(--green); }
.automation-history strong.error { color: var(--red); }
.automation-module { display: none; }
.automation-module.active { display: block; animation: panelIn .25s ease; }
.profit-guard-placeholder { grid-template-columns:auto minmax(0,1fr) minmax(230px,.42fr); }
.profit-guard-preview { display:grid;grid-template-columns:1fr;gap:5px;padding:14px;border:1px solid rgba(255,189,91,.2);border-radius:13px;background:rgba(255,189,91,.045); }
.profit-guard-preview span { margin-top:7px;color:var(--muted);font-size:8px; }
.profit-guard-preview span:first-child { margin-top:0; }
.profit-guard-preview b { color:#ffe2b4;font-size:10px; }
.automation-table-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 16px 0 9px; }
.automation-table-toolbar b,.automation-table-toolbar span { display: block; }
.automation-table-toolbar b { font-size: 12px; }
.automation-table-toolbar span { color: var(--muted); font-size: 8px; margin-top: 3px; }
.automation-table-toolbar button,.automation-min-editor button { border: 1px solid var(--line-hot); border-radius: 9px; background: rgba(139,112,255,.1); color: #fff; cursor: pointer; }
.automation-table-toolbar button { min-height: 38px; padding: 0 13px; font-size: 9px; }
.automation-table-toolbar button:disabled { opacity: .4; cursor: not-allowed; }
.automation-min-editor { display: grid; grid-template-columns: 1fr auto; gap: 5px; align-items: center; padding: 4px; border-radius: 10px; transition: .2s; }
.automation-min-editor.changed { background: rgba(255,189,91,.07); box-shadow: inset 0 0 0 1px rgba(255,189,91,.18); }
.automation-min-editor>div { display: flex; align-items: center; gap: 5px; }
.automation-min-editor input { min-width: 0; width: 88px; height: 34px; border: 1px solid var(--line); border-radius: 8px; background: #0b0f16; color: #fff; padding: 0 8px; outline: 0; }
.automation-min-editor input:focus { border-color: var(--line-hot); }
.automation-min-editor span { color: var(--violet); }
.automation-min-editor button { height: 34px; padding: 0 8px; font-size: 8px; }
.automation-min-editor>small { grid-column: 1 / 3; color: var(--green); font-size: 7px; }
.fbs-auto-placeholder { min-height: 270px; display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; background: radial-gradient(circle at 15% 50%,rgba(139,112,255,.14),transparent 33%),var(--panel); }
.fbs-auto-icon { width: 74px; height: 74px; display: grid; place-items: center; border-radius: 22px; background: rgba(139,112,255,.12); color: var(--violet); font-size: 31px; box-shadow: 0 0 35px rgba(139,112,255,.12); }
.fbs-auto-placeholder h3 { margin: 0 0 10px; font: 600 24px "Space Grotesk",sans-serif; }
.fbs-auto-placeholder p { max-width: 720px; margin: 0; color: var(--muted-2); font-size: 11px; line-height: 1.75; }

.deficit-detail { margin-top: 14px; }
.deficit-detail h3 { margin-top: 0; }
.deficit-detail button { width: 100%; display: grid; grid-template-columns: minmax(220px,1fr) auto minmax(260px,1.2fr); gap: 14px; align-items: center; padding: 13px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }
.deficit-detail button:hover b { color: var(--violet); }
.deficit-detail b,.deficit-detail small { display:block; }
.deficit-detail b { font-size: 10px; }
.deficit-detail small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.deficit-detail strong { color: var(--red); font: 600 12px "Space Grotesk",sans-serif; }
.deficit-detail em { color: var(--muted-2); font-size: 9px; font-style: normal; }

.subscription-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(3,5,9,.72); backdrop-filter: blur(12px); opacity: 0; visibility: hidden; transition: .25s ease; }
.subscription-backdrop.open { opacity: 1; visibility: visible; }
.subscription-modal { position: fixed; z-index: 85; left: 50%; top: 50%; width: min(930px,calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; padding: 34px; border: 1px solid rgba(160,133,255,.35); border-radius: 28px; background: radial-gradient(circle at 50% 0,rgba(139,112,255,.2),transparent 36%),#0d1119; box-shadow: 0 35px 120px rgba(0,0,0,.68),0 0 70px rgba(96,68,255,.12); opacity: 0; visibility: hidden; transform: translate(-50%,-47%) scale(.97); transition: .28s cubic-bezier(.2,.8,.2,1); }
.subscription-modal.open { opacity: 1; visibility: visible; transform: translate(-50%,-50%) scale(1); }
.subscription-close { position: absolute; right: 18px; top: 18px; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.03); color: var(--muted-2); cursor: pointer; font-size: 22px; }
.subscription-hero { max-width: 680px; margin: 0 auto 26px; text-align: center; }
.subscription-hero>span { color: #bbaaff; font-size: 9px; letter-spacing: 2.4px; font-weight: 800; }
.subscription-hero h2 { margin: 10px 0 9px; font: 600 34px "Space Grotesk",sans-serif; letter-spacing: -1.2px; }
.subscription-hero p { margin: 0; color: var(--muted-2); font-size: 11px; line-height: 1.7; }
.pricing-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.pricing-card { position: relative; display: flex; flex-direction: column; min-height: 420px; padding: 25px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(155deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); }
.pricing-card.corporate { border-color: rgba(139,112,255,.42); background: linear-gradient(155deg,rgba(139,112,255,.16),rgba(255,255,255,.018)); box-shadow: inset 0 1px rgba(255,255,255,.08); }
.plan-label { width: max-content; padding: 6px 8px; border-radius: 7px; background: rgba(139,112,255,.12); color: #b8a7ff; font-size: 8px; letter-spacing: 1.2px; font-weight: 800; }
.pricing-card h3 { margin: 18px 0 8px; font: 600 23px "Space Grotesk",sans-serif; }
.pricing-card>p { min-height: 50px; margin: 0; color: var(--muted-2); font-size: 10px; line-height: 1.65; }
.pricing-card ul { display: grid; gap: 10px; margin: 22px 0; padding: 0; list-style: none; color: var(--muted-2); font-size: 10px; }
.pricing-card li::before { content:"✓"; margin-right: 9px; color: var(--green); font-weight: 800; }
.plan-price { display: flex; align-items: end; gap: 7px; margin-top: auto; }
.plan-price strong { font: 600 34px "Space Grotesk",sans-serif; letter-spacing: -1px; }
.plan-price span,.pricing-card>small { color: var(--muted); font-size: 9px; }
.pricing-card>button { height: 45px; margin-top: 15px; border: 1px solid rgba(139,112,255,.32); border-radius: 12px; background: rgba(139,112,255,.1); color: #fff; cursor: pointer; font-size: 10px; font-weight: 700; }
.pricing-card.corporate>button { border: 0; background: linear-gradient(135deg,var(--violet),var(--violet-2)); box-shadow: 0 12px 30px rgba(96,68,255,.25); }
.pricing-card>button:hover { filter: brightness(1.13); }

@keyframes spin { to { transform: rotate(360deg); } }

.supply-hub-card { background:linear-gradient(145deg,rgba(108,92,255,.14),rgba(21,224,176,.055)); }
.supply-plan-hero { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:24px;overflow:hidden;position:relative; }
.supply-plan-hero:after { content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-90px;top:-130px;background:radial-gradient(circle,rgba(108,92,255,.2),transparent 68%);pointer-events:none; }
.supply-plan-hero h3,.supply-settings-panel h3 { margin:5px 0 8px;font-size:22px; }
.supply-plan-hero p,.supply-note { margin:0;color:var(--muted);max-width:760px;line-height:1.55; }
.supply-freshness { display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1; }
.supply-freshness span { white-space:nowrap;padding:8px 11px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.035);font-size:12px;color:var(--muted); }
.supply-quality { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px; }
.supply-quality>div { position:relative;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025); }
.supply-quality span,.supply-quality small { display:block;color:var(--muted);font-size:10px; }
.supply-quality b { display:block;margin:5px 0 2px;font-size:15px; }
.supply-quality i { position:absolute;right:12px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 12px currentColor; }
.supply-quality i.good { background:var(--green); }.supply-quality i.warn{background:var(--amber)}
.supply-plan-layout { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:16px;margin-top:16px;align-items:start; }
.supply-picker-panel,.supply-settings-panel { padding:20px; }
.supply-search { margin:14px 0 12px;min-width:0;width:100%; }
.supply-product-picker { display:grid;gap:7px;max-height:460px;overflow:auto;padding-right:4px; }
.supply-product-row { display:grid;grid-template-columns:34px minmax(0,1fr) 118px;align-items:center;gap:10px;padding:11px 12px;border:1px solid transparent;border-radius:12px;background:rgba(255,255,255,.025);transition:.18s ease; }
.supply-product-row:nth-child(even) { background:rgba(255,255,255,.045); }
.supply-product-row:has(input[type=checkbox]:checked) { border-color:rgba(108,92,255,.5);background:rgba(108,92,255,.1); }
.supply-product-row>input[type=checkbox] { width:18px;height:18px;accent-color:var(--violet); }
.supply-product-row div { min-width:0; }
.supply-product-row b,.supply-product-row small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.supply-product-row small { margin-top:4px;color:var(--muted);font-size:11px; }
.supply-product-row label { display:grid;gap:4px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em; }
.supply-product-row input[type=number],.supply-settings-panel input,.supply-settings-panel select { width:100%;box-sizing:border-box;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text);padding:10px 11px; }
.supply-settings-panel { display:grid;gap:13px;position:sticky;top:92px; }
.supply-settings-panel>label { display:grid;gap:7px;color:var(--muted);font-size:12px; }
.supply-settings-panel select option { color:#111; }
.supply-save-row { display:grid;grid-template-columns:1fr 1fr;gap:7px; }
.supply-save-row input { grid-column:1/3; }
.supply-save-row input,.supply-save-row button { min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.045);color:var(--text);padding:10px 11px; }
.supply-save-row button { cursor:pointer;font-weight:700; }.supply-save-row button:disabled{opacity:.4;cursor:default}
.supply-note { font-size:11px; }
.supply-results { display:grid;gap:16px;margin-top:16px; }
.supply-cluster-panel,.supply-scenarios-panel { margin-top:16px;padding:20px; }
.supply-cluster-list { display:grid;gap:7px; }
.supply-cluster-row { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.027); }
.supply-cluster-row:nth-child(even){background:rgba(255,255,255,.047)}
.supply-cluster-row b,.supply-cluster-row small { display:block; }.supply-cluster-row small{color:var(--muted);font-size:10px;margin-top:3px}
.supply-cluster-row>span{text-align:right}.supply-cluster-row>i{grid-column:1/3;height:4px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.supply-cluster-row>i em{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--green));border-radius:inherit}
.supply-result-kpis { display:grid;grid-template-columns:repeat(4,1fr);gap:10px; }
.supply-result-kpis>div { padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.03); }
.supply-result-kpis span,.supply-result-kpis small { display:block;color:var(--muted);font-size:11px; }
.supply-result-kpis b { display:block;font-size:23px;margin:6px 0 3px; }
.supply-allocation-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.supply-warehouse-card { padding:18px; }
.supply-warehouse-card header { display:flex;justify-content:space-between;gap:12px;align-items:start; }
.supply-warehouse-card h4 { margin:4px 0;font-size:17px; }
.supply-warehouse-card header>b { font-size:22px;color:var(--green);white-space:nowrap; }
.supply-meter { height:6px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin:13px 0; }
.supply-meter i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--green)); }
.supply-allocation-lines { display:grid;gap:7px; }
.supply-allocation-lines>div { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding-top:7px;border-top:1px solid rgba(255,255,255,.06); }
.supply-allocation-lines small { color:var(--muted); }
.confidence-pill { display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;background:rgba(246,190,75,.12);color:var(--amber); }
.confidence-pill.high { background:rgba(21,224,176,.12);color:var(--green); }
.confidence-pill.insufficient { background:rgba(255,255,255,.06);color:var(--muted); }
.supply-result-title { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px; }.supply-result-title h3{margin:4px 0 0}.supply-result-title p{margin:0;color:var(--muted);font-size:12px}
.supply-forecast-panel { padding:20px; }
.supply-forecast-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.supply-forecast-list>div { display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px 10px;padding:12px;border-radius:12px;background:rgba(255,255,255,.03); }
.supply-forecast-list b { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.supply-forecast-list small{grid-column:2;color:var(--muted)}.supply-forecast-list strong{grid-column:3;grid-row:1/3;font-size:12px;text-align:right}
.forecast-state { grid-row:1/3;padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.06);color:var(--muted);font-size:9px;max-width:70px;text-align:center; }
.forecast-state.reorder_now{background:rgba(255,92,116,.13);color:#ff788f}.forecast-state.reorder_soon{background:rgba(246,190,75,.13);color:var(--amber)}.forecast-state.in_stock{background:rgba(21,224,176,.12);color:var(--green)}.forecast-state.overstock{background:rgba(108,92,255,.14);color:#a89cff}
.supply-scenario-list { display:grid;gap:7px; }.supply-scenario-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border-radius:12px;background:rgba(255,255,255,.03)}.supply-scenario-list article span,.supply-scenario-list article b,.supply-scenario-list article small{display:block}.supply-scenario-list article span,.supply-scenario-list article small{color:var(--muted);font-size:10px}.supply-scenario-list article b{margin:3px 0}.supply-scenario-list article>div:last-child{display:flex;gap:6px}.supply-scenario-list button{border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.04);color:var(--text);padding:8px 10px;cursor:pointer}.supply-scenario-list button.danger{color:#ff8ca0}
@keyframes panelIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes progressFlow { to { background-position: -180% 0; } }
@keyframes subscriptionShine { 0%,60%,100% { transform:translateX(-55%); } 78% { transform:translateX(55%); } }

/* Режим экономного рендеринга: тот же объёмный тёмный интерфейс без
   постоянных полноэкранных blur-слоёв и скрытых композитных поверхностей. */
.drawer-backdrop,.posting-backdrop,.subscription-backdrop { backdrop-filter: none; }
.drawer-backdrop,.posting-backdrop,.posting-modal,.columns-modal,.drawer { visibility: hidden; }
.drawer-backdrop.open,.posting-backdrop.open,.posting-modal.open,.columns-modal.open,.drawer.open { visibility: visible; }
.hero-card,.radar-card,.panel,.net-card,.metric-card,.ad-category-card { contain: paint; }
.chart-panel canvas,.hero-card canvas { contain: strict; }
.product-row:not(.header),.ops-row:not(.header),.unit-row:not(.header),.geo-row:not(.header) {
  content-visibility: auto;
  contain-intrinsic-size: auto 58px;
}

@media (prefers-reduced-motion: reduce), (update: slow) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 1450px) {
  .top-actions { gap:4px; }
  .company-picker { min-width:135px;max-width:140px; }
  .header-picker { min-width:100px; }
  .currency-picker { min-width:92px; }
  .subscription-button { width:44px;padding:0;justify-content:center; }
  .subscription-button span { display:none; }
}

@media (max-width: 1200px) {
  #fbo .fbs-module-nav,#fbo .fbs-hub-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric-cards { grid-template-columns: repeat(3,1fr); }
  .hero-grid { grid-template-columns: 1.4fr .8fr; }
  .top-actions { gap: 6px; }
  .company-picker { min-width: 150px; }
  .currency-picker { min-width: 116px; }
}
@media (max-width: 900px) {
  .supply-quality { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .supply-plan-layout { grid-template-columns:1fr; }
  .supply-settings-panel { position:static; }
  .fbs-module-nav,.fbs-hub-grid,.warehouse-grid,#fbo .fbs-module-nav,#fbo .fbs-hub-grid { grid-template-columns:1fr; }
  .warehouse-guide { align-items:flex-start;flex-direction:column; }
  .warehouse-source-badges { justify-content:flex-start; }
  .warehouse-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sidebar { width: 76px; padding-inline: 10px; }
  .brand { min-height:52px;margin-inline:2px;padding:6px 3px;border-radius:12px; }
  .brand>img { width:52px; }
  .brand>span:last-child,.nav-item:not(.active){ font-size: 0; }
  .nav-search { padding: 0; justify-content: center; }
  .nav-search input { display: none; }
  .nav-item { justify-content: center; padding: 0; font-size: 0; }
  .nav-item.active { font-size: 0; }
  .nav-item span { font-size: 19px; }
  .nav-item i { position: absolute; right: 5px; top: 5px; }
  .nav-detail { display: none; }
  .nav-submenu { display: none !important; }
  .connection-pill,.settings-button { font-size: 0; }
  .connection-pill span,.connection-pill b { display: none; }
  .app { margin-left: 76px; padding-inline: 20px; }
  .hero-grid,.content-grid,.finance-layout,.journal-layout { grid-template-columns: 1fr; }
  .radar-card { min-height: auto; }
  .health-list { grid-template-columns: repeat(2,1fr); }
  .status-rail { grid-template-columns: auto 1fr; }
  .rail-progress,.updated { display: none; }
  .product-row { grid-template-columns: minmax(240px,1.5fr) 110px 100px 120px; }
  .product-row>*:nth-child(5) { display:none; }
  .metric-detail-cards { grid-template-columns: repeat(2,1fr); }
  .ad-campaign-list { grid-template-columns: 1fr; }
  .ads-filters { grid-template-columns: repeat(2,1fr); }
  .automation-control { grid-template-columns: 1fr; }
  .automation-settings { grid-template-columns: 1fr 1fr; }
  .automation-safety { grid-column: 1 / 3; }
  .ops-filters { grid-template-columns: repeat(3,1fr); }
  .posting-facts { grid-template-columns: repeat(2,1fr); }
  .posting-detail-grid { grid-template-columns: 1fr; }
  .posting-economics { position:static; }
  .posting-product-economics { grid-template-columns:minmax(0,1fr) auto; }
  .posting-product-economics>label { grid-column:1 / 3; }
  .goal-editor { grid-template-columns: 1fr 1fr; }
  .goal-editor>div { grid-column: 1 / 3; }
  .product-group-controls { grid-template-columns:1fr 1fr; }
  .product-group-controls .primary-button { grid-column:1 / 3; }
}
@media (max-width: 640px) {
  .sync-waiting { grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px; }
  .sync-waiting>strong { grid-column:2;font-size:18px; }
  .sales-goals-heading,.geo-panel>.panel-head { display:block; }
  .sales-goals-heading p,.geo-panel>.panel-head>p { max-width:none;margin-top:8px;text-align:left; }
  .geo-panel>.panel-head { padding:17px 15px 13px; }
  .section-module-nav { width:100%;display:grid;grid-template-columns:1fr; }
  .activity-toolbar { display:grid;grid-template-columns:1fr; }
  .activity-toolbar label { min-width:0; }
  .activity-day { grid-template-columns:1fr; }
  .activity-day>h3,.activity-card { grid-column:1;position:static; }
  .activity-card-head { grid-template-columns:34px minmax(0,1fr); }
  .activity-card-head>strong { grid-column:2; }
  .activity-detail { padding-left:13px; }
  .activity-changes>div { grid-template-columns:1fr 16px 1fr; }
  .activity-changes span { grid-column:1 / 4; }
  .supply-plan-hero { align-items:flex-start;flex-direction:column; }
  .supply-freshness { justify-content:flex-start; }
  .supply-result-kpis,.supply-allocation-grid { grid-template-columns:1fr 1fr; }
  .supply-forecast-list { grid-template-columns:1fr; }
  .supply-result-title { align-items:flex-start;flex-direction:column; }
  .supply-scenario-list article { align-items:flex-start;flex-direction:column; }
  .supply-product-row { grid-template-columns:28px minmax(0,1fr); }
  .supply-product-row label { grid-column:2; }
  .app { padding-inline: 13px; }
  .topbar { height: auto; padding: 18px 0; align-items: start; }
  .top-actions { flex-wrap:wrap;justify-content:flex-end; }
  .topbar h1 { font-size: 19px; }
  .sync-button span,.avatar { display:none; }
  .header-picker { min-width: 104px; }
  .header-picker>button { padding-inline: 8px; }
  .company-picker { min-width: 110px; max-width: 135px; }
  .plan-grid { grid-template-columns: 1fr; }
  .metric-cards,.metric-cards.wide { grid-template-columns: repeat(2,1fr); }
  .hero-card { padding-inline: 18px; }
  .section-intro { display: block; }
  .section-intro p { text-align: left; }
  .alert-list { grid-template-columns: 1fr; }
  .funnel-step { grid-template-columns: 1fr auto; }
  .funnel-step .bar { grid-column: 1 / 3; grid-row: 2; }
  .funnel-step small { display:none; }
  .funnel-steps { padding:15px 9px; }
  .funnel-shape { width:max(var(--stage-width),82%);padding:13px max(42px,11%);clip-path:polygon(0 0,100% 0,92% 100%,8% 100%); }
  .funnel-shape>span { width:29px;height:29px; }
  .funnel-shape small { display:none; }
  .funnel-outcome { grid-template-columns:1fr 1fr; }.funnel-outcome>i{display:none}.funnel-outcome .loss{grid-column:1 / 3}
  .compact-insight { grid-template-columns:1fr; }.compact-insight .section-kicker,.compact-insight h3,.compact-insight p,.compact-insight .insight-action{grid-column:1;grid-row:auto}.compact-insight .insight-action{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}
  .product-toolbar { display: grid; }
  .search { min-width: 0; }
  .posting-mini-grid,.tax-editor-row { grid-template-columns:1fr; }
  .route-line { grid-template-columns:1fr; }
  .route-line>i { transform:rotate(90deg);justify-self:center; }
  .product-table { overflow-x: auto; }
  .product-row { min-width: 700px; }
  .finance-breakdown { grid-template-columns: 1fr; }
  .ops-filters { grid-template-columns: 1fr 1fr; }
  .posting-filter { grid-column: 1 / 3; }
  .ops-pager { align-items: flex-start; flex-wrap: wrap; }
  .posting-modal { inset: 2vh 10px; padding: 20px 14px; }
  .posting-facts { grid-template-columns: 1fr; }
  .price-history-summary { grid-template-columns: repeat(2,1fr); }
  .product-price-chart-wrap,.product-price-chart-wrap canvas { min-height: 250px; height: 250px; }
  .price-chart-legend small { width: 100%; margin-left: 0; }
  .finance-detail-head { grid-template-columns: 1fr auto; }
  .finance-detail-head button { grid-column: 1 / 3; width: max-content; }
  .metric-detail-head { grid-template-columns: 1fr auto; }
  .metric-detail-head button { grid-column: 1 / 3; width: max-content; }
  .metric-detail-cards { grid-template-columns: 1fr; }
  .ads-filters { grid-template-columns: 1fr; }
  .ad-campaign-metrics { grid-template-columns: repeat(2,1fr); }
  .ads-api-warning { grid-template-columns: 1fr; }
  .automation-settings { grid-template-columns: 1fr; }
  .automation-safety { grid-column: auto; }
  .automation-progress { grid-template-columns: 1fr auto; }
  .automation-progress span { grid-column: 1 / 3; grid-row: 2; min-width: 0; }
  .automation-history>div { grid-template-columns: 1fr auto; }
  .fbs-auto-placeholder { grid-template-columns: 1fr; }
  .profit-guard-placeholder { grid-template-columns:1fr; }
  .subscription-button { padding-inline: 11px; }
  .subscription-button span { display: none; }
  .pricing-grid { grid-template-columns: 1fr; }
  .subscription-modal { padding: 28px 18px 20px; }
  .subscription-hero h2 { font-size: 27px; }
  .goal-editor { grid-template-columns: 1fr; }
  .goal-editor>div { grid-column: auto; }
  .deficit-detail button { grid-template-columns: 1fr auto; }
  .deficit-detail em { grid-column: 1 / 3; }
  .unit-module-nav,.product-group-list,.product-group-controls { grid-template-columns:1fr; }
  .cost-manager-sticky { position:relative;top:auto;align-items:stretch;flex-direction:column; }
  .cost-manager-actions { align-items:stretch;flex-direction:column; }
  .cost-manager-actions input { width:100%; }
  .cost-dropzone { align-items:flex-start;flex-wrap:wrap; }
  .cost-dropzone a { margin-left:60px; }
  .unit-cost-row { grid-template-columns:minmax(0,1fr) 118px; }
  .unit-cost-row.header { top:0; }
  .unit-cost-row>button { grid-column:2; }
  .product-group-controls .primary-button { grid-column:auto; }
  .product-group-editor-head,.product-group-summary { display:grid; }
}

/* Semantic typography overrides must remain after legacy component rules. */
[data-text-group="meta"] { font-size:var(--text-meta-size,10px) !important; }
[data-text-group="control"] { font-size:var(--text-control-size,11px) !important; }
[data-text-group="supporting"] { font-size:var(--text-supporting-size,10px) !important;line-height:1.5; }
[data-text-group="table"] { font-size:var(--text-table-size,11px) !important; }
[data-text-group="body"] { font-size:var(--text-body-size,12px) !important; }
.finance-op-row b { font-size:var(--text-table-value-size,12px) !important; }
.finance-op-row small { font-size:var(--text-table-meta-size,10px) !important; }

/* Final component theme layer. Components consume the shared surface/chart
   tokens so the palette can be changed centrally without chasing selectors. */
html[data-theme="light"] .hero-card {
  --text:#172033;--muted:#687386;--muted-2:#465268;--line:rgba(28,38,58,.13);
  color:var(--text);background:radial-gradient(circle at 35% 100%,rgba(139,112,255,.10),transparent 52%),linear-gradient(145deg,#fff,#f3f6fb);
}
html[data-theme="light"] .metric-card {
  --text:#172033;--muted:#687386;--muted-2:#465268;--line:rgba(28,38,58,.13);
  color:var(--text);border-color:var(--line);background:radial-gradient(circle at 92% 100%,rgba(139,112,255,.10),transparent 42%),linear-gradient(145deg,#fff,#f1f4fa);box-shadow:0 10px 28px rgba(39,52,78,.08);
}
html[data-theme="light"] .hero-card [data-text-group],
html[data-theme="light"] .metric-card [data-text-group] { color:inherit; }
html[data-theme="light"] .hero-card>p,
html[data-theme="light"] .metric-card>span,
html[data-theme="light"] .metric-card small { color:var(--muted); }
html[data-theme="light"] .metric-card small.up { color:#16845e; }
html[data-theme="light"] .metric-card small.down { color:#c83f5d; }
html[data-theme="light"] .chart-legend { color:var(--text);border-color:var(--line);background:linear-gradient(90deg,#f2f5fa,#fff); }
html[data-theme="light"] .score-ring { background:conic-gradient(var(--violet) var(--score,0%),#e1e6ef 0);box-shadow:0 0 42px rgba(96,68,255,.12); }
html[data-theme="light"] .score-ring::after { background:#fff;box-shadow:inset 0 0 0 1px var(--line); }
html[data-theme="light"] .health-row div { background:#e3e7ef; }
html[data-theme="light"] .heat-label,
html[data-theme="light"] .heat-row.header .heat-label { color:var(--muted-2); }

html[data-theme="light"] .metric-detail-cards article,
html[data-theme="light"] .ad-category-card,
html[data-theme="light"] .ad-campaign-card,
html[data-theme="light"] .finance-item,
html[data-theme="light"] .alert-card,
html[data-theme="light"] .note-card,
html[data-theme="light"] .activity-card,
html[data-theme="light"] .automation-card,
html[data-theme="light"] .product-group-card,
html[data-theme="light"] .fbs-module-nav button { color:var(--text);background:linear-gradient(145deg,#fff,#f2f5fa);box-shadow:0 8px 24px rgba(39,52,78,.06); }
html[data-theme="light"] .ad-category-card strong,
html[data-theme="light"] .ad-campaign-head h4,
html[data-theme="light"] .activity-card-head,
html[data-theme="light"] .unit-module-nav button:hover,
html[data-theme="light"] .unit-module-nav button.active,
html[data-theme="light"] .section-module-nav button:hover,
html[data-theme="light"] .section-module-nav button.active { color:var(--text); }
html[data-theme="light"] .ad-campaign-metrics div,
html[data-theme="light"] .economics-fact,
html[data-theme="light"] .economics-waterfall,
html[data-theme="light"] .price-history-summary>div,
html[data-theme="light"] .posting-fact,
html[data-theme="light"] .posting-mini-grid>div,
html[data-theme="light"] .economics-method,
html[data-theme="light"] .warehouse-kpis div { background:var(--surface-soft);border-color:var(--line); }
html[data-theme="light"] .economics-fact b { color:var(--text); }

html[data-theme="light"] .posting-modal,
html[data-theme="light"] .columns-modal,
html[data-theme="light"] .subscription-modal { color:var(--text);background:radial-gradient(circle at 50% 0,rgba(139,112,255,.10),transparent 38%),var(--surface-modal);box-shadow:0 30px 90px rgba(34,46,68,.24); }
html[data-theme="light"] .posting-close,
html[data-theme="light"] .subscription-close { color:var(--text);background:#fff; }
html[data-theme="light"] .product-detail-image { background:#f1f4f9; }
html[data-theme="light"] .product-price-module,
html[data-theme="light"] .posting-module,
html[data-theme="light"] .posting-economics,
html[data-theme="light"] .route-line,
html[data-theme="light"] .product-cost-editor,
html[data-theme="light"] .economics-volume-grid>div,
html[data-theme="light"] .economics-campaigns article { background:var(--surface-soft); }
html[data-theme="light"] .price-chart-legend { border-color:var(--line); }
html[data-theme="light"] .chart-tooltip { color:var(--text);background:rgba(255,255,255,.97);box-shadow:0 14px 38px rgba(39,52,78,.18); }
html[data-theme="light"] .chart-tooltip b,
html[data-theme="light"] .chart-tooltip span strong { color:var(--text); }
html[data-theme="light"] .chart-crosshair { background:linear-gradient(180deg,transparent,#4e3ad4 10%,#4e3ad4 90%,transparent);box-shadow:0 0 6px rgba(78,58,212,.45); }

html[data-theme="light"] .note-form input,
html[data-theme="light"] .note-form select,
html[data-theme="light"] .note-form textarea,
html[data-theme="light"] .activity-toolbar select,
html[data-theme="light"] .activity-toolbar input,
html[data-theme="light"] .unit-row input,
html[data-theme="light"] .unit-table-toolbar input,
html[data-theme="light"] .unit-cost-input,
html[data-theme="light"] .cost-manager-actions input,
html[data-theme="light"] .product-group-controls input,
html[data-theme="light"] .product-cost-editor input,
html[data-theme="light"] .posting-product-economics input,
html[data-theme="light"] .tax-editor input,
html[data-theme="light"] .tax-editor select,
html[data-theme="light"] .target-editor input { color:var(--text);background:var(--surface-input); }
html[data-theme="light"] .note-form input[type="date"] { color-scheme:light; }
html[data-theme="light"] .unit-cost-row.header,
html[data-theme="light"] .cost-manager-sticky,
html[data-theme="light"] .geo-row.header { color:var(--muted);background:#eef2f7; }
html[data-theme="light"] .unit-module-nav button,
html[data-theme="light"] .section-module-nav,
html[data-theme="light"] .activity-toolbar,
html[data-theme="light"] .cost-manager,
html[data-theme="light"] .product-group-picker { color:var(--text);background:rgba(255,255,255,.82); }
html[data-theme="light"] .unit-row:not(.header),
html[data-theme="light"] .unit-cost-row:not(.header),
html[data-theme="light"] .finance-op-row:not(.header),
html[data-theme="light"] .activity-card:hover,
html[data-theme="light"] .activity-card.open { background:var(--surface-row); }

html[data-theme="light"] .funnel-steps { background:radial-gradient(circle at 50% 10%,rgba(96,68,255,.10),transparent 48%),rgba(255,255,255,.76); }
html[data-theme="light"] .funnel-shape { color:#172033;background:linear-gradient(120deg,#ded8ff,#bde8f2);filter:drop-shadow(0 10px 18px rgba(75,66,150,.15)); }
html[data-theme="light"] .funnel-stage:nth-of-type(2) .funnel-shape { background:linear-gradient(120deg,#d8dcff,#bce8e9); }
html[data-theme="light"] .funnel-stage:nth-of-type(3) .funnel-shape { background:linear-gradient(120deg,#cfdef7,#bcebdc); }
html[data-theme="light"] .funnel-stage:nth-of-type(4) .funnel-shape { background:linear-gradient(120deg,#c9e3f3,#b9edd7); }
html[data-theme="light"] .funnel-stage:nth-of-type(5) .funnel-shape { background:linear-gradient(120deg,#c2e7e2,#b7efd3); }
html[data-theme="light"] .funnel-shape>span { color:#fff;background:rgba(58,55,145,.72); }
html[data-theme="light"] .funnel-shape small { color:#536078; }
html[data-theme="light"] .funnel-outcome>div { background:rgba(255,255,255,.78); }
html[data-theme="light"] .conversion-item div { background:#e2e7ef; }

html[data-theme="light"] .signal,
html[data-theme="light"] .signal-list article,
html[data-theme="light"] .token-profile,
html[data-theme="light"] .posting-kv:nth-child(even),
html[data-theme="light"] .note-card:nth-child(even) { color:var(--text);background:var(--surface-row); }
html[data-theme="light"] .insight-card { background:linear-gradient(145deg,rgba(139,112,255,.10),rgba(255,255,255,.9)); }
html[data-theme="light"] .finance-detail-head button,
html[data-theme="light"] .metric-detail-head button,
html[data-theme="light"] .finance-subtabs button,
html[data-theme="light"] .activity-toolbar button,
html[data-theme="light"] .unit-table-toolbar button,
html[data-theme="light"] .unit-pager button { color:var(--muted-2);background:#fff; }

/* Admin text colors are theme-specific. Legacy `color` values are migrated
   client-side to dark-only so an old white override cannot break light mode. */
:root [data-text-group="heading"] { color:var(--text-heading-dark-color,inherit); }
:root [data-text-group="meta"] { color:var(--text-meta-dark-color,inherit); }
:root [data-text-group="control"] { color:var(--text-control-dark-color,inherit); }
:root [data-text-group="value"] { color:var(--text-value-dark-color,inherit); }
:root [data-text-group="supporting"] { color:var(--text-supporting-dark-color,var(--muted)); }
:root [data-text-group="table"] { color:var(--text-table-dark-color,inherit); }
:root [data-text-group="body"] { color:var(--text-body-dark-color,inherit); }
html[data-theme="light"] [data-text-group="heading"] { color:var(--text-heading-light-color,inherit); }
html[data-theme="light"] [data-text-group="meta"] { color:var(--text-meta-light-color,inherit); }
html[data-theme="light"] [data-text-group="control"] { color:var(--text-control-light-color,inherit); }
html[data-theme="light"] [data-text-group="value"] { color:var(--text-value-light-color,inherit); }
html[data-theme="light"] [data-text-group="supporting"] { color:var(--text-supporting-light-color,var(--muted)); }
html[data-theme="light"] [data-text-group="table"] { color:var(--text-table-light-color,inherit); }
html[data-theme="light"] [data-text-group="body"] { color:var(--text-body-light-color,inherit); }
