:root {
  color-scheme: light;
  --violet-950: #24103b;
  --violet-900: #2d124a;
  --violet-800: #3b185e;
  --violet-700: #54227d;
  --violet-600: #7137a6;
  --violet-500: #9250c5;
  --violet-300: #d5b8e9;
  --lime-500: #9ed438;
  --lime-400: #b6e557;
  --pink-400: #d06ad5;
  --ink: #241b2d;
  --muted: #746b7c;
  --surface: #f7f5fa;
  --card: #ffffff;
  --border: #e9e3ee;
  --danger: #d83a52;
  --danger-soft: #fff0f2;
  --warning: #d88919;
  --warning-soft: #fff8e9;
  --success: #3f9855;
  --success-soft: #edf8ef;
  --info: #4776d9;
  --shadow: 0 14px 40px rgba(45, 18, 74, .08);
  --radius-lg: 20px;
  --radius-md: 14px;
  --sidebar-width: 250px;
  font-family: "Segoe UI Variable Text", "Segoe UI", Inter, Arial, sans-serif;
}

[hidden] { display: none !important; }

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--surface); }
body { margin: 0; color: var(--ink); background: var(--surface); min-height: 100vh; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(158, 212, 56, .45); outline-offset: 2px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; z-index: 50; padding: 24px 16px 18px; display: flex; flex-direction: column; color: #fff; background:
  radial-gradient(circle at 5% 8%, rgba(208,106,213,.32), transparent 27%),
  radial-gradient(circle at 95% 55%, rgba(158,212,56,.12), transparent 34%),
  linear-gradient(165deg, var(--violet-800), var(--violet-950) 72%);
  overflow-y: auto;
  transition: transform .22s ease, box-shadow .22s ease;
}
body.sidebar-collapsed .app-shell { grid-template-columns: minmax(0, 1fr); }
body.sidebar-collapsed .sidebar { position: fixed; left: 0; transform: translateX(-105%); }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 28px; }
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1.1; }
.brand strong { font-size: 18px; letter-spacing: -.4px; }
.brand small { color: rgba(255,255,255,.55); font-size: 10px; letter-spacing: 1.2px; text-transform: uppercase; margin-top: 5px; }
.brand-mark { width: 38px; height: 38px; position: relative; display: block; border-radius: 12px; background: linear-gradient(145deg, var(--pink-400), var(--violet-500)); box-shadow: inset 0 1px rgba(255,255,255,.4), 0 8px 24px rgba(0,0,0,.2); transform: rotate(-5deg); }
.brand-mark i, .brand-mark b { position: absolute; background: var(--lime-400); border-radius: 5px; transform: rotate(-12deg); }
.brand-mark i { width: 9px; height: 21px; left: 9px; top: 10px; }
.brand-mark b { width: 9px; height: 14px; right: 8px; top: 8px; }
.nav-label { margin: 13px 12px 8px; font-size: 10px; color: rgba(255,255,255,.43); letter-spacing: 1.05px; text-transform: uppercase; }
.main-nav { flex: 1; }
.nav-item { width: 100%; position: relative; display: flex; align-items: center; gap: 12px; border: 0; color: rgba(255,255,255,.72); background: transparent; padding: 10px 12px; border-radius: 11px; margin: 3px 0; text-align: left; font-size: 13px; transition: .18s ease; }
.nav-item > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; font-size: 17px; color: rgba(255,255,255,.75); }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.08); }
.nav-item.active { color: #fff; background: linear-gradient(90deg, rgba(183,229,87,.2), rgba(255,255,255,.08)); box-shadow: inset 3px 0 var(--lime-400); }
.nav-item.active > span { color: var(--lime-400); }
.nav-count { margin-left: auto; min-width: 24px; padding: 3px 6px; border-radius: 999px; background: rgba(255,255,255,.1); font-size: 10px; font-style: normal; text-align: center; }
.nav-count.alert { color: #fff; background: rgba(216,58,82,.7); }
.sidebar-health { margin: 18px 4px 10px; padding: 14px; border: 1px solid rgba(255,255,255,.11); border-radius: 15px; background: rgba(255,255,255,.055); backdrop-filter: blur(12px); }
.health-line { display: flex; align-items: center; gap: 8px; font-size: 11px; }
.sidebar-health small { display: block; color: rgba(255,255,255,.53); font-size: 9px; margin: 7px 0 11px 16px; }
.pulse { width: 8px; height: 8px; flex: 0 0 auto; display: inline-block; border-radius: 50%; background: var(--lime-400); box-shadow: 0 0 0 5px rgba(182,229,87,.12); }
.health-meter { height: 4px; overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.1); }
.health-meter i { display: block; width: 88%; height: 100%; background: linear-gradient(90deg, var(--lime-500), var(--lime-400)); }
.health-meta { display: flex; justify-content: space-between; margin-top: 8px; color: rgba(255,255,255,.6); font-size: 9px; }
.health-meta b { color: #fff; }
.user-card { width: 100%; display: flex; align-items: center; gap: 10px; border: 0; background: transparent; color: #fff; padding: 10px 8px 2px; text-align: left; }
.user-card > span:nth-child(2) { flex: 1; display: flex; flex-direction: column; font-size: 11px; }
.user-card small { color: rgba(255,255,255,.46); margin-top: 3px; font-size: 9px; }
.user-card i { font-style: normal; color: rgba(255,255,255,.5); font-size: 20px; }
.avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: var(--violet-950); background: linear-gradient(145deg, var(--lime-400), var(--lime-500)); font-size: 10px; font-weight: 800; }

.workspace { min-width: 0; }
.topbar { height: 70px; position: sticky; top: 0; z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 30px; border-bottom: 1px solid rgba(233,227,238,.8); background: rgba(255,255,255,.88); backdrop-filter: blur(18px); }
.topbar-left, .topbar-actions { display: flex; align-items: center; gap: 12px; }
.breadcrumb { display: flex; align-items: center; gap: 9px; font-size: 12px; }
.breadcrumb span, .breadcrumb b { color: #a099a5; font-weight: 500; }
.header-clocks { min-height: 38px; display: flex; align-items: center; gap: 11px; padding: 0 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); }
.header-clocks > div { min-width: 68px; display: grid; gap: 2px; }
.header-clocks span { color: var(--muted); font-size: 8px; font-weight: 750; line-height: 1; }
.header-clocks strong { color: var(--ink); font-size: 12px; font-weight: 850; font-variant-numeric: tabular-nums; line-height: 1; }
.header-clocks i { width: 1px; height: 22px; background: var(--border); }
.icon-button { width: 38px; height: 38px; position: relative; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 11px; background: #fff; color: var(--ink); font-size: 18px; }
.icon-button:hover { background: #faf8fc; border-color: var(--violet-300); }
.menu-button { display: grid; }
.sidebar-collapse-button {
  position: absolute;
  top: 91px;
  right: 0;
  z-index: 3;
  width: 30px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.12);
  border-right: 0;
  border-radius: 11px 0 0 11px;
  color: #f4f0e8;
  background: #1b2229;
  box-shadow: -7px 0 18px rgba(0,0,0,.16);
  transition: .18s ease;
}
.sidebar-collapse-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-collapse-button:hover { border-color: rgba(200,155,87,.48); color: var(--v-accent-strong, #c89b57); background: #222a31; }
.notification-button i { position: absolute; right: -5px; top: -5px; min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 4px; border: 2px solid #fff; border-radius: 999px; background: var(--danger); color: #fff; font-size: 8px; font-style: normal; }
.primary-button, .secondary-button, .ghost-button, .danger-button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 11px; padding: 0 16px; font-size: 11px; font-weight: 700; transition: .18s ease; }
.primary-button { border: 1px solid #86bd21; color: var(--violet-950); background: linear-gradient(145deg, var(--lime-400), var(--lime-500)); box-shadow: 0 7px 18px rgba(158,212,56,.22); }
.primary-button:hover { transform: translateY(-1px); filter: brightness(1.03); }
.secondary-button { border: 1px solid var(--border); color: var(--ink); background: #fff; }
.ghost-button { border: 0; color: var(--violet-700); background: #f4eff8; }
.danger-button { border: 1px solid #ffd2d8; color: var(--danger); background: var(--danger-soft); }
.compact { min-height: 38px; padding: 0 14px; }

#app { padding: 28px 30px 60px; max-width: 1720px; margin: 0 auto; }
#app:focus { outline: none; }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.page-head h1 { margin: 4px 0 5px; font-size: clamp(24px, 3vw, 32px); line-height: 1.1; letter-spacing: -.9px; }
.page-head p { margin: 0; color: var(--muted); font-size: 12px; }
.eyebrow { color: var(--violet-600); font-size: 9px; font-weight: 800; letter-spacing: 1.25px; text-transform: uppercase; }
.page-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.period-select, .filter-select, .search-input { height: 40px; border: 1px solid var(--border); border-radius: 11px; background: #fff; color: var(--ink); padding: 0 12px; font-size: 11px; }
.search-wrap { position: relative; min-width: min(330px, 100%); flex: 1; }
.search-wrap::before { content: "⌕"; position: absolute; left: 13px; top: 8px; color: var(--muted); font-size: 18px; }
.search-input { width: 100%; padding-left: 38px; }

.hero { position: relative; min-height: 222px; display: grid; grid-template-columns: minmax(320px, 1fr) 390px; overflow: hidden; border-radius: 24px; margin-bottom: 20px; color: #fff; background:
  radial-gradient(circle at 72% 12%, rgba(208,106,213,.45), transparent 29%),
  linear-gradient(125deg, var(--violet-900), #4d2073 54%, #7c3dac);
  box-shadow: var(--shadow);
}
.hero-copy { position: relative; z-index: 2; padding: 30px 32px; }
.hero-copy .eyebrow { color: var(--lime-400); }
.hero h1 { max-width: 640px; margin: 9px 0 10px; font-size: clamp(25px, 3.1vw, 38px); line-height: 1.08; letter-spacing: -1.2px; }
.hero p { max-width: 585px; margin: 0; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.6; }
.hero-actions { display: flex; gap: 9px; margin-top: 21px; }
.hero .secondary-button { border-color: rgba(255,255,255,.2); color: #fff; background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.hero-visual { position: relative; min-height: 220px; perspective: 800px; }
.visual-screen { position: absolute; width: 190px; height: 132px; left: 74px; top: 44px; border: 2px solid rgba(255,255,255,.22); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,.25), rgba(255,255,255,.08)); box-shadow: inset 0 2px rgba(255,255,255,.2), 0 28px 40px rgba(25,5,42,.35); backdrop-filter: blur(10px); transform: rotateY(-14deg) rotateZ(-4deg); }
.visual-screen::before, .visual-screen::after { content: ""; position: absolute; border-radius: 10px; background: linear-gradient(145deg, var(--pink-400), #a344bb); box-shadow: inset 0 2px rgba(255,255,255,.26); }
.visual-screen::before { width: 70px; height: 48px; left: 18px; top: 19px; }
.visual-screen::after { width: 70px; height: 27px; left: 18px; bottom: 20px; background: linear-gradient(145deg, var(--lime-400), #79b52b); }
.visual-bars { position: absolute; width: 64px; height: 72px; right: 16px; top: 18px; border-radius: 12px; background: rgba(255,255,255,.72); transform: rotate(1deg); }
.visual-bars i { position: absolute; left: 10px; right: 10px; height: 6px; border-radius: 6px; background: var(--violet-500); }
.visual-bars i:nth-child(1) { top: 13px; }
.visual-bars i:nth-child(2) { top: 27px; width: 34px; }
.visual-bars i:nth-child(3) { top: 41px; width: 42px; }
.visual-ring { position: absolute; border: 12px solid; border-radius: 50%; filter: drop-shadow(0 12px 12px rgba(28,4,50,.25)); }
.visual-ring.one { width: 67px; height: 67px; right: 39px; top: 24px; border-color: var(--pink-400); border-right-color: #f3a7e6; transform: rotate(-25deg); }
.visual-ring.two { width: 43px; height: 43px; right: 9px; top: 2px; border-width: 9px; border-color: var(--lime-400); border-bottom-color: var(--pink-400); }
.visual-columns { position: absolute; right: 24px; bottom: 31px; display: flex; align-items: flex-end; gap: 6px; transform: skewY(4deg); }
.visual-columns i { width: 28px; border-radius: 6px 6px 2px 2px; background: linear-gradient(90deg, #7db425, var(--lime-400)); box-shadow: inset 0 2px rgba(255,255,255,.27), 8px 9px 15px rgba(31,9,49,.18); }
.visual-columns i:nth-child(1) { height: 38px; }
.visual-columns i:nth-child(2) { height: 58px; }
.visual-columns i:nth-child(3) { height: 83px; }

.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.metric-card { min-width: 0; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); padding: 18px; box-shadow: 0 8px 26px rgba(45,18,74,.04); }
.metric-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: var(--muted); font-size: 10px; }
.metric-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; color: var(--violet-700); background: #f4eff8; font-weight: 800; }
.metric-icon.lime { color: #527c0e; background: #f0f8df; }
.metric-icon.red { color: var(--danger); background: var(--danger-soft); }
.metric-icon.orange { color: var(--warning); background: var(--warning-soft); }
.metric-value { margin-top: 10px; display: flex; align-items: baseline; gap: 8px; font-size: 25px; font-weight: 800; letter-spacing: -.7px; }
.metric-value small { color: var(--muted); font-size: 10px; font-weight: 500; }
.trend { display: inline-flex; align-items: center; gap: 3px; margin-top: 7px; color: var(--success); font-size: 9px; }
.trend.down { color: var(--danger); }
.trend.neutral { color: var(--muted); }

.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(290px,.75fr); gap: 18px; margin-bottom: 18px; }
.panel { min-width: 0; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); box-shadow: 0 8px 26px rgba(45,18,74,.04); }
.panel-head { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; border-bottom: 1px solid var(--border); }
.panel-head h2 { margin: 0; font-size: 14px; letter-spacing: -.2px; }
.panel-head p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.text-button { border: 0; color: var(--violet-600); background: transparent; font-size: 10px; font-weight: 700; }
.attention-list { padding: 2px 10px 10px; }
.attention-item { width: 100%; display: grid; grid-template-columns: 36px minmax(130px,1fr) minmax(150px,1.3fr) auto; align-items: center; gap: 11px; border: 0; border-bottom: 1px solid #f1edf4; background: transparent; padding: 12px 8px; text-align: left; }
.attention-item:last-child { border-bottom: 0; }
.account-monogram { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(145deg, var(--violet-500), var(--pink-400)); font-size: 9px; font-weight: 800; box-shadow: inset 0 1px rgba(255,255,255,.4); }
.attention-item strong, .account-cell strong { display: block; font-size: 11px; }
.attention-item small, .account-cell small { display: block; color: var(--muted); font-size: 9px; margin-top: 3px; }
.problem-copy { font-size: 10px; line-height: 1.4; }
.problem-copy small { color: var(--muted); }
.chevron { color: #aaa1ae; font-size: 17px; }
.status-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 25px; border-radius: 999px; padding: 0 9px; font-size: 9px; font-weight: 700; white-space: nowrap; }
.status-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-critical { color: var(--danger); background: var(--danger-soft); }
.status-warning { color: var(--warning); background: var(--warning-soft); }
.status-ok { color: var(--success); background: var(--success-soft); }
.status-off { color: #7f7784; background: #f1eef3; }
.status-info { color: var(--info); background: #eff4ff; }
.notification-list { padding: 6px 17px 16px; }
.notification-item { display: grid; grid-template-columns: 29px 1fr auto; gap: 10px; padding: 12px 0; border-bottom: 1px solid #f1edf4; }
.notification-item:last-child { border-bottom: 0; }
.notification-dot { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; font-size: 11px; font-weight: 800; }
.notification-dot.critical { color: var(--danger); background: var(--danger-soft); }
.notification-dot.warning { color: var(--warning); background: var(--warning-soft); }
.notification-dot.info { color: var(--violet-700); background: #f4eff8; }
.notification-item strong { display: block; font-size: 10px; }
.notification-item p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.4; }
.notification-item time { color: #a59dab; font-size: 8px; }
.chart-panel { padding-bottom: 12px; }
.chart-head { display: flex; align-items: flex-end; justify-content: space-between; padding: 17px 18px 5px; }
.chart-head h2 { margin: 0; font-size: 14px; }
.chart-head p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.chart-legend { display: flex; gap: 12px; color: var(--muted); font-size: 9px; }
.chart-legend span::before { content: ""; width: 7px; height: 7px; display: inline-block; margin-right: 5px; border-radius: 3px; background: var(--violet-500); }
.chart-legend span:last-child::before { background: var(--lime-500); }
.line-chart { width: 100%; height: 180px; display: block; padding: 0 8px; }
.chart-grid-line { stroke: #eee9f2; stroke-width: 1; }
.chart-area { fill: url(#areaGradient); }
.chart-line-primary { fill: none; stroke: var(--violet-500); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.chart-line-secondary { fill: none; stroke: var(--lime-500); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.chart-point { fill: #fff; stroke: var(--violet-500); stroke-width: 3; }
.axis-label { fill: #948b99; font-size: 8px; }

.toolbar { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-bottom: 14px; }
.toolbar .search-wrap { min-width: 250px; }
.table-panel { overflow: hidden; }
.table-scroll { overflow-x: auto; }
.data-table { width: 100%; min-width: 1050px; border-collapse: collapse; text-align: left; }
.notification-table { min-width: 760px; }
.data-table th { height: 43px; padding: 0 13px; border-bottom: 1px solid var(--border); color: var(--muted); background: #fbfafc; font-size: 9px; font-weight: 700; white-space: nowrap; }
.data-table td { padding: 13px; border-bottom: 1px solid #f0ecf2; font-size: 10px; vertical-align: middle; }
.data-table tbody tr { transition: .15s; }
.data-table tbody tr:hover { background: #fcfafd; }
.data-table tr:last-child td { border-bottom: 0; }
.account-link { display: flex; align-items: center; gap: 10px; border: 0; background: transparent; padding: 0; text-align: left; }
.money { font-weight: 750; white-space: nowrap; }
.sub-value { display: block; color: var(--muted); font-size: 8px; margin-top: 3px; }
.message-stats { display: flex; gap: 4px; }
.message-stat { min-width: 28px; padding: 5px 6px; border-radius: 8px; color: var(--violet-700); background: #f5f0f8; text-align: center; font-size: 9px; }
.message-stat.unsent { color: var(--danger); background: var(--danger-soft); }
.row-menu { width: 31px; height: 31px; border: 1px solid var(--border); border-radius: 9px; color: var(--muted); background: #fff; }
.table-footer { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 14px; border-top: 1px solid var(--border); color: var(--muted); font-size: 9px; }
.pagination { display: flex; gap: 5px; }
.page-button { min-width: 29px; height: 29px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--muted); font-size: 9px; }
.page-button.active { border-color: var(--violet-600); color: #fff; background: var(--violet-600); }

.account-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 17px; }
.account-title { display: flex; align-items: center; gap: 13px; }
.account-title .account-monogram { width: 46px; height: 46px; border-radius: 14px; }
.account-title h1 { margin: 0 0 4px; font-size: 24px; }
.account-title p { margin: 0; color: var(--muted); font-size: 10px; }
.back-button { border: 0; color: var(--violet-600); background: transparent; padding: 0; margin-bottom: 9px; font-size: 10px; font-weight: 700; }
.tabs { display: flex; gap: 3px; overflow-x: auto; padding: 4px; border: 1px solid var(--border); border-radius: 13px; background: #fff; margin-bottom: 16px; }
.tab-button { flex: 0 0 auto; min-height: 35px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); padding: 0 13px; font-size: 10px; font-weight: 650; }
.tab-button.active { color: #fff; background: var(--violet-700); }
.account-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,.6fr); gap: 16px; }
.connection-list { padding: 7px 17px 15px; }
.connection-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid #f0ecf2; font-size: 10px; }
.connection-row:last-child { border-bottom: 0; }
.connection-row div { display: flex; flex-direction: column; }
.connection-row small { color: var(--muted); margin-top: 3px; font-size: 8px; }
.connection-summary { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 11px; margin: 4px 17px 0; padding: 12px; border-radius: 12px; background: #f8f5fa; }
.connection-summary > div:last-child { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.connection-summary strong { font-size: 9px; line-height: 1.4; }
.connection-summary small { color: var(--muted); font-size: 8px; }
.state-spinner { width: 17px; height: 17px; border: 2px solid #e4dbea; border-top-color: var(--violet-500); border-radius: 50%; animation: spin .8s linear infinite; }
.credentials-form { padding: 14px 17px 17px; }
.credentials-form label { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; color: var(--ink); font-size: 9px; font-weight: 700; }
.credentials-form input { width: 100%; height: 40px; border: 1px solid var(--border); border-radius: 10px; padding: 0 11px; background: #fcfbfd; color: var(--ink); font-size: 10px; }
.credentials-form input:focus { border-color: var(--violet-500); background: #fff; outline: 3px solid rgba(146,80,197,.1); }
.credential-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; }
.credential-actions span { max-width: 130px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.primary-button:disabled, .secondary-button:disabled, .danger-button:disabled, .text-button:disabled { cursor: not-allowed; opacity: .55; transform: none; }
@keyframes spin { to { transform: rotate(360deg); } }
.event-timeline { padding: 9px 18px 17px; }
.event-row { position: relative; display: grid; grid-template-columns: 55px 11px 1fr; gap: 10px; padding: 9px 0; font-size: 9px; }
.event-row time { color: var(--muted); }
.event-row i { width: 8px; height: 8px; margin-top: 2px; border: 2px solid #fff; border-radius: 50%; background: var(--violet-500); box-shadow: 0 0 0 2px #eadff1; }
.event-row:not(:last-child)::after { content: ""; position: absolute; left: 69px; top: 24px; bottom: -5px; width: 1px; background: #e7dfeb; }
.event-row strong { font-size: 9px; }
.event-row small { display: block; color: var(--muted); margin-top: 3px; }

.alert-grid, .rules-grid, .integration-grid, .settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.alert-card { display: grid; grid-template-columns: 42px 1fr auto; gap: 13px; padding: 17px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: #fff; }
.alert-card.critical { border-left: 4px solid var(--danger); }
.alert-card.warning { border-left: 4px solid var(--warning); }
.alert-symbol { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--danger); background: var(--danger-soft); font-size: 18px; font-weight: 800; }
.alert-card.warning .alert-symbol { color: var(--warning); background: var(--warning-soft); }
.alert-card h3 { margin: 1px 0 5px; font-size: 12px; }
.alert-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.alert-card footer { display: flex; gap: 7px; margin-top: 12px; }
.alert-card time { color: var(--muted); font-size: 8px; }
.rule-card, .integration-card, .setting-card { border: 1px solid var(--border); border-radius: var(--radius-lg); background: #fff; padding: 18px; box-shadow: 0 7px 24px rgba(45,18,74,.035); }
.account-rule-picker { display: grid; gap: 6px; min-width: 280px; color: var(--muted); font-size: 8px; font-weight: 700; }
.account-rule-picker select, .number-setting input, .number-setting select { width: 100%; height: 39px; border: 1px solid var(--border); border-radius: 10px; padding: 0 11px; color: var(--ink); background: #fff; font-size: 10px; }
.account-rule-picker select:focus, .number-setting input:focus, .number-setting select:focus { border-color: var(--violet-500); outline: 3px solid rgba(146,80,197,.1); }
.matrix-search { display: flex; align-items: center; width: 220px; height: 40px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.matrix-search span { padding-left: 11px; color: var(--muted); }
.matrix-search input { min-width: 0; flex: 1; height: 100%; border: 0; outline: 0; padding: 0 10px; background: transparent; font-size: 10px; }
.rules-matrix-panel { padding: 0; overflow: hidden; }
.rules-matrix-scroll { max-height: calc(100vh - 230px); overflow: auto; overscroll-behavior: contain; }
.rules-matrix { min-width: 2920px; width: 100%; border-collapse: separate; border-spacing: 0; text-align: center; }
.rules-matrix th, .rules-matrix td { min-width: 74px; padding: 9px 7px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: #fff; font-size: 8px; vertical-align: middle; }
.rules-matrix thead th { position: sticky; z-index: 4; color: var(--ink); background: #f7f5f9; font-weight: 750; white-space: nowrap; }
.rules-matrix thead .matrix-groups th { top: 0; height: 34px; color: var(--violet-700); background: #f2ecf6; font-size: 9px; }
.rules-matrix thead tr:nth-child(2) th { top: 34px; height: 38px; }
.rules-matrix thead .matrix-groups th:first-child { left: 0; z-index: 7; min-width: 245px; color: var(--ink); }
.rules-matrix tbody tr:nth-child(even) td { background: #fcfbfd; }
.rules-matrix tbody tr:hover td { background: #faf6fc; }
.rules-matrix .matrix-account-cell { position: sticky; left: 0; z-index: 2; min-width: 245px; width: 245px; padding: 11px 13px; text-align: left; box-shadow: 5px 0 12px rgba(45,18,74,.035); }
.rules-matrix tbody tr:nth-child(even) .matrix-account-cell { background: #f8f6fa; }
.matrix-account { display: grid; gap: 3px; }
.matrix-account strong { font-size: 10px; }
.matrix-account small, .matrix-account span { color: var(--muted); font-size: 8px; }
.matrix-account .text-button { justify-self: start; margin-top: 3px; padding: 0; }
.matrix-input, .matrix-select { height: 34px; border: 1px solid var(--border); border-radius: 8px; padding: 0 8px; color: var(--ink); background: #fff; font-size: 9px; }
.matrix-input.money { width: 92px; }
.matrix-input.small { width: 64px; }
.matrix-select.hour { width: 70px; }
.matrix-select.timezone { width: 120px; }
.matrix-input:focus, .matrix-select:focus { border-color: var(--violet-500); outline: 2px solid rgba(146,80,197,.1); }
.matrix-switch { position: relative; display: inline-flex; cursor: pointer; }
.matrix-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.matrix-switch i { position: relative; width: 34px; height: 20px; border-radius: 999px; background: #d7d1db; transition: .16s; }
.matrix-switch i::after { content: ""; position: absolute; left: 3px; top: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px rgba(0,0,0,.16); transition: .16s; }
.matrix-switch input:checked + i { background: var(--lime-500); }
.matrix-switch input:checked + i::after { transform: translateX(14px); }
.matrix-switch input:focus-visible + i { outline: 3px solid rgba(146,80,197,.18); }
.matrix-footer { position: sticky; left: 0; display: flex; justify-content: space-between; gap: 15px; padding: 11px 14px; color: var(--muted); background: #fff; font-size: 8px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.settings-account-banner { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; padding: 15px 17px; border: 1px solid #dfd3e7; border-radius: var(--radius-lg); background: linear-gradient(135deg, #fff, #f7f1fa); }
.settings-account-banner > div { flex: 1; min-width: 0; }
.settings-account-banner strong { display: block; font-size: 12px; }
.settings-account-banner small { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; }
.notification-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.notification-setting-card > p { min-height: 28px; margin-bottom: 10px; }
.setting-toggle { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid #f0ecf2; cursor: pointer; }
.setting-toggle > span { min-width: 0; }
.setting-toggle strong { display: block; font-size: 9px; }
.setting-toggle small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.35; }
.setting-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.setting-toggle i { position: relative; flex: 0 0 auto; width: 38px; height: 22px; border-radius: 999px; background: #d9d3dd; transition: .18s; }
.setting-toggle i::after { content: ""; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.18); transition: .18s; }
.setting-toggle input:checked + i { background: var(--lime-500); }
.setting-toggle input:checked + i::after { transform: translateX(16px); }
.setting-toggle input:focus-visible + i { outline: 3px solid rgba(146,80,197,.18); }
.number-setting { display: grid; grid-template-columns: minmax(0,1fr) 145px; align-items: center; gap: 12px; padding: 9px 0; border-top: 1px solid #f0ecf2; color: var(--ink); font-size: 9px; font-weight: 650; }
.source-note { margin-top: 12px; padding: 10px; border-radius: 10px; color: #7c641c; background: #fff8df; font-size: 8px; line-height: 1.45; }
.sticky-settings-actions { position: sticky; bottom: 12px; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 16px; padding: 12px 14px; border: 1px solid #d9cde2; border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: 0 12px 35px rgba(45,18,74,.12); backdrop-filter: blur(10px); }
.sticky-settings-actions span { color: var(--muted); font-size: 9px; }
.sticky-settings-actions > div { display: flex; gap: 8px; }
.rule-head, .integration-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.rule-icon, .integration-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--violet-700); background: #f3edf7; font-size: 18px; font-weight: 800; }
.rule-card h3, .integration-card h3, .setting-card h3 { margin: 12px 0 5px; font-size: 13px; }
.rule-card p, .integration-card p, .setting-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.rule-meta { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 13px; }
.rule-meta span { padding: 6px 8px; border-radius: 8px; color: var(--muted); background: #f6f3f8; font-size: 8px; }
.switch { width: 38px; height: 22px; position: relative; border: 0; border-radius: 999px; background: #d9d3dd; transition: .18s; }
.switch::after { content: ""; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.18); transition: .18s; }
.switch.on { background: var(--lime-500); }
.switch.on::after { transform: translateX(16px); }
.integration-card.connected { border-color: #d9edb2; }
.integration-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 15px; }
.telegram-setup-form { display: grid; gap: 10px; margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--border); }
.telegram-setup-form label { display: grid; gap: 6px; color: var(--ink); font-size: 9px; font-weight: 700; }
.telegram-setup-form input, .telegram-setup-form select { width: 100%; height: 40px; border: 1px solid var(--border); border-radius: 10px; padding: 0 11px; background: #fcfbfd; color: var(--ink); font-size: 10px; }
.telegram-setup-form input:focus, .telegram-setup-form select:focus { border-color: var(--violet-500); background: #fff; outline: 3px solid rgba(146,80,197,.1); }
.telegram-setup-status { color: var(--muted); font-size: 8px; line-height: 1.45; }
.telegram-setup-form .primary-button { justify-self: start; }
.upload-zone { display: block; border: 2px dashed #d9cfe0; border-radius: 20px; background: linear-gradient(145deg, #fbf9fc, #f5eff8); padding: 36px 20px; text-align: center; transition: .18s ease; }
.upload-zone:hover, .upload-zone.dragging { border-color: var(--lime-500); background: linear-gradient(145deg, #fcfff5, #f4f8e9); transform: translateY(-1px); }
.upload-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; margin: 0 auto 15px; color: var(--violet-700); background: #ede2f4; font-size: 25px; }
.upload-zone h2 { margin: 0 0 7px; font-size: 16px; }
.upload-zone p { color: var(--muted); font-size: 10px; }
.file-input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.import-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(280px,.75fr); gap: 16px; }
.import-upload-panel { padding: 16px; }
.import-help-panel { padding: 24px; }
.import-help-panel h2 { margin: 8px 0 9px; font-size: 18px; }
.import-help-panel p { color: var(--muted); font-size: 12px; line-height: 1.55; }
.import-required-columns { display: flex; flex-wrap: wrap; gap: 7px; margin: 15px 0; }
.import-required-columns code { padding: 7px 9px; border-radius: 8px; color: var(--violet-700); background: #f3edf7; font-size: 11px; font-weight: 700; }
.import-safety-note { display: flex; align-items: center; gap: 9px; padding: 13px 4px 0; color: var(--muted); font-size: 11px; }
.import-safety-note strong { color: var(--success); white-space: nowrap; }
.import-preview-panel, .import-history-panel { margin-top: 16px; overflow: hidden; }
.import-preview-panel > .panel-head, .import-history-panel > .panel-head { padding: 18px 20px; border-bottom: 1px solid var(--border); }
.import-preview-panel .empty-state, .import-history-panel .empty-state { padding: 28px 20px; }
.import-error-banner { margin: 16px 20px 0; padding: 12px 14px; border: 1px solid #f3c6cd; border-radius: 11px; color: var(--danger); background: var(--danger-soft); font-size: 11px; }
.import-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(100px,1fr)); gap: 10px; padding: 16px 20px; }
.import-summary-grid > div { padding: 13px 14px; border: 1px solid var(--border); border-radius: 12px; background: #fbfafc; }
.import-summary-grid span { display: block; color: var(--muted); font-size: 10px; }
.import-summary-grid strong { display: block; margin-top: 4px; font-size: 18px; }
.import-summary-grid .has-errors { border-color: #f3c6cd; color: var(--danger); background: var(--danger-soft); }
.import-preview-scroll { max-height: 390px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.import-preview-table { min-width: 1120px; }
.import-preview-table thead th { position: sticky; top: 0; z-index: 2; }
.import-row-error td { background: #fff8f9; }
.import-confirm-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 20px; color: var(--muted); font-size: 11px; }
.import-confirm-bar .primary-button:disabled { opacity: .5; cursor: not-allowed; }
.import-history-row { display: grid; grid-template-columns: minmax(220px,1fr) auto auto auto; align-items: center; gap: 14px; padding: 14px 20px; border-bottom: 1px solid #f0ecf2; }
.import-history-row:last-child { border-bottom: 0; }
.import-history-row strong, .import-history-row small { display: block; }
.import-history-row strong { font-size: 12px; }
.import-history-row small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.import-history-counts { display: flex; gap: 12px; color: var(--muted); font-size: 10px; }
.import-history-counts b { color: var(--ink); }
.logs-list { padding: 3px 15px 15px; }
.log-row { display: grid; grid-template-columns: 70px 68px 130px 1fr; gap: 12px; padding: 12px 3px; border-bottom: 1px solid #f0ecf2; font-size: 9px; }
.log-row:last-child { border-bottom: 0; }
.log-row time, .log-row span { color: var(--muted); }
.system-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); gap: 16px; align-items: start; }
.audit-list, .backup-list { padding: 4px 18px 16px; }
.audit-row { display: grid; grid-template-columns: 116px minmax(0,1fr) 130px; gap: 14px; align-items: center; padding: 14px 2px; border-bottom: 1px solid var(--border); }
.audit-row:last-child, .backup-row:last-child { border-bottom: 0; }
.audit-row time, .audit-row > span { color: var(--muted); font-size: 11px; }
.audit-row > span { text-align: right; }
.audit-row strong, .audit-row small, .backup-row strong, .backup-row small { display: block; }
.audit-row strong, .backup-row strong { font-size: 12px; }
.audit-row small, .backup-row small { margin-top: 4px; color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.backup-row { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 10px 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--border); }
.backup-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #4e741c; background: #eaf6d7; font-weight: 900; }
.backup-state { padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; }
.backup-state.ready { color: #446819; background: #eaf6d7; }
.backup-state.legacy { color: var(--muted); background: var(--soft); }
.backup-actions { grid-column: 2 / -1; display: flex; gap: 8px; }
.backup-actions .secondary-button, .backup-actions .ghost-button { min-height: 34px; padding: 0 11px; text-decoration: none; }
.users-list { margin-top: 15px; }
.auth-gate { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; overflow: auto; background: radial-gradient(circle at 30% 20%, rgba(179,123,42,.16), transparent 34%), #11161c; }
.auth-gate[hidden] { display: none; }
.auth-card { width: min(440px, 100%); padding: 34px; border: 1px solid rgba(205,164,99,.28); border-radius: 22px; background: #f5f2ec; box-shadow: 0 28px 90px rgba(0,0,0,.38); color: #17191b; }
.auth-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 34px; }
.auth-brand img { width: 42px; height: 46px; }
.auth-brand div { display: grid; }
.auth-brand strong { font-size: 18px; letter-spacing: .18em; }
.auth-brand small { color: #77736d; font-size: 10px; }
.auth-card h1 { margin: 6px 0 8px; font-size: 30px; }
.auth-card > p { margin: 0 0 24px; color: #6f6b65; line-height: 1.55; }
.auth-card form { display: grid; gap: 15px; }
.auth-card label { display: grid; gap: 7px; font-size: 12px; font-weight: 750; }
.auth-card input { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid #d8d2c8; border-radius: 11px; background: #fff; color: #17191b; font: inherit; }
.auth-card input:focus { outline: 2px solid rgba(179,123,42,.28); border-color: #b37b2a; }
.auth-card .primary-button { min-height: 48px; margin-top: 5px; }
.auth-error { margin: 0 !important; padding: 10px 12px; border-radius: 9px; background: #fde9e7; color: #a4312c !important; font-size: 12px; }
.auth-security { display: block; margin-top: 20px; color: #77736d; line-height: 1.5; }
.team-create-form { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1.2fr auto; gap: 9px; align-items: end; margin: 16px 0; padding: 14px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface); }
.team-create-form label, .team-user-controls label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 700; }
.team-create-form input, .team-create-form select, .team-user-controls input, .team-user-controls select { min-height: 38px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); color: var(--ink); font: inherit; }
.team-user-row { display: grid; grid-template-columns: minmax(190px,1fr) minmax(360px,1.4fr); gap: 14px; align-items: center; padding: 13px 0; border-top: 1px solid var(--border); }
.team-user-identity { display: flex; gap: 10px; align-items: center; }
.team-user-identity div { display: grid; gap: 2px; }
.team-user-identity small { color: var(--muted); }
.team-user-controls { display: grid; grid-template-columns: 1fr 1.25fr auto auto; gap: 8px; align-items: end; }
.team-user-controls .active-check { display: flex; align-items: center; gap: 6px; min-height: 38px; }
.team-user-controls .active-check input { min-height: 0; }
.current-user-summary { display: flex; align-items: center; gap: 12px; margin: 16px 0; padding: 14px; border: 1px solid var(--border); border-radius: 13px; }
@media (max-width: 1050px) { .team-create-form { grid-template-columns: 1fr 1fr; } .team-user-row { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .auth-card { padding: 25px 20px; } .team-create-form, .team-user-controls { grid-template-columns: 1fr; } }
.user-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid #f0ecf2; }
.user-row > div { flex: 1; }
.user-row strong { display: block; font-size: 10px; }
.user-row small { color: var(--muted); font-size: 8px; }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(27,11,43,.58); backdrop-filter: blur(6px); }
.modal-backdrop[hidden] { display: none; }
.modal { width: min(620px,100%); max-height: calc(100vh - 40px); overflow-y: auto; border: 1px solid rgba(255,255,255,.35); border-radius: 22px; background: #fff; box-shadow: 0 30px 90px rgba(26,7,43,.35); }
.modal > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; padding: 22px 22px 17px; border-bottom: 1px solid var(--border); }
.modal h2 { margin: 5px 0 0; font-size: 20px; }
.modal form { padding: 20px 22px 22px; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.form-grid label { display: flex; flex-direction: column; gap: 7px; color: var(--ink); font-size: 9px; font-weight: 700; }
.form-grid label.full { grid-column: 1 / -1; }
.form-grid input { height: 42px; border: 1px solid var(--border); border-radius: 10px; padding: 0 12px; color: var(--ink); background: #fcfbfd; font-size: 10px; }
.form-grid input:focus { border-color: var(--violet-500); background: #fff; }
.security-note { display: flex; gap: 11px; margin-top: 15px; padding: 12px; border-radius: 12px; color: var(--violet-700); background: #f5eff8; font-size: 9px; }
.security-note p { margin: 0; color: var(--muted); line-height: 1.45; }
.security-note strong { color: var(--violet-700); }
.modal footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 20px; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 120; display: flex; align-items: center; gap: 10px; min-width: 270px; padding: 13px 15px; border: 1px solid #d7ecac; border-radius: 14px; color: var(--ink); background: #fff; box-shadow: 0 18px 55px rgba(45,18,74,.18); transform: translateY(130%); opacity: 0; transition: .24s ease; }
.toast.show { transform: translateY(0); opacity: 1; }
.toast > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; color: #4d7810; background: #ebf7d3; font-weight: 800; }
.toast div { display: flex; flex-direction: column; }
.toast strong { font-size: 10px; }
.toast small { color: var(--muted); font-size: 9px; margin-top: 3px; }
.empty-state { padding: 52px 20px; text-align: center; }
.empty-state .visual-ring { position: static; display: inline-block; margin-bottom: 15px; }
.empty-state h2 { margin: 0 0 7px; font-size: 16px; }
.empty-state p { color: var(--muted); font-size: 10px; }
.empty-state.compact { padding: 28px 18px; }
.empty-state.compact h3 { margin: 0 0 6px; font-size: 12px; }
.empty-state.compact p { margin: 0; }
.error-text { color: var(--danger); }
.mobile-overlay { display: none; }

/* Readability pass: keep the dense analytics layout without 8–9 px UI text. */
.brand strong { font-family: "Segoe UI Variable Display", "Segoe UI", sans-serif; font-size: 19px; }
.brand small, .nav-label { font-size: 11px; }
.nav-item { font-size: 14px; }
.nav-count, .sidebar-health small, .health-meta, .user-card small { font-size: 10px; }
.health-line, .user-card > span:nth-child(2) { font-size: 12px; }
.breadcrumb, .page-head p { font-size: 13px; }
.sync-state strong, .primary-button, .secondary-button, .ghost-button, .danger-button { font-size: 12px; }
.sync-state small, .eyebrow, .metric-top, .metric-value small, .trend { font-size: 10px; }
.period-select, .filter-select, .search-input { font-size: 12px; }
.page-head h1, .hero h1 { font-family: "Segoe UI Variable Display", "Segoe UI", sans-serif; }
.hero p { font-size: 13px; }
.panel-head h2, .chart-head h2 { font-size: 16px; }
.panel-head p, .chart-head p, .chart-legend { font-size: 11px; }
.text-button { font-size: 11px; }
.attention-item strong, .account-cell strong { font-size: 12px; }
.attention-item small, .account-cell small, .problem-copy, .status-pill { font-size: 10px; }
.notification-item strong { font-size: 11px; }
.notification-item p, .notification-item time { font-size: 10px; }
.data-table th { font-size: 11px; }
.data-table td { font-size: 12px; }
.sub-value, .message-stat, .table-footer, .page-button { font-size: 10px; }
.account-title p, .back-button { font-size: 11px; }
.tab-button, .connection-row { font-size: 12px; }
.connection-row small, .connection-summary small, .credential-actions span { font-size: 10px; }
.connection-summary strong, .credentials-form label, .event-row, .event-row strong { font-size: 11px; }
.credentials-form input { font-size: 12px; }
.alert-card h3 { font-size: 14px; }
.alert-card p, .alert-card time { font-size: 11px; }
.matrix-search input { font-size: 12px; }
.rules-matrix th, .rules-matrix td { padding: 11px 8px; font-size: 10px; }
.rules-matrix thead .matrix-groups th { font-size: 11px; }
.matrix-account strong { font-size: 12px; }
.matrix-account small, .matrix-account span { font-size: 10px; line-height: 1.35; }
.matrix-input, .matrix-select { font-size: 11px; }
.matrix-footer { font-size: 10px; }
.settings-account-banner small, .setting-toggle small, .source-note, .rule-meta span, .telegram-setup-status { font-size: 10px; }
.setting-toggle strong, .number-setting, .rule-card p, .integration-card p, .setting-card p,
.telegram-setup-form label, .log-row, .user-row small, .form-grid label, .security-note { font-size: 11px; }
.telegram-setup-form input, .telegram-setup-form select, .form-grid input { font-size: 12px; }
.toast strong { font-size: 12px; }
.toast small { font-size: 11px; }

@media (max-width: 1180px) {
  .summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero { grid-template-columns: 1fr 310px; }
  .hero-visual { transform: scale(.88); transform-origin: center right; }
  .alert-grid, .rules-grid, .integration-grid { grid-template-columns: 1fr; }
}

@media (max-width: 920px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; left: 0; transform: translateX(-105%); width: var(--sidebar-width); transition: .22s ease; box-shadow: 20px 0 50px rgba(20,5,33,.25); }
  .sidebar.open { transform: translateX(0); }
  .mobile-overlay { position: fixed; inset: 0; z-index: 45; display: none; background: rgba(30,10,47,.44); }
  .mobile-overlay.show { display: block; }
  .dashboard-grid, .account-grid { grid-template-columns: 1fr; }
  .hero { grid-template-columns: 1fr; }
  .hero-visual { display: none; }
  .import-layout { grid-template-columns: 1fr; }
  .topbar { padding: 0 18px; }
  #app { padding: 24px 18px 50px; }
}

@media (max-width: 680px) {
  .topbar { height: 62px; }
  .breadcrumb span, .breadcrumb b { display: none; }
  .topbar-actions .icon-button { display: none; }
  .primary-button.compact { width: 38px; padding: 0; font-size: 0; }
  .primary-button.compact span { font-size: 16px; }
  .header-clocks { gap: 7px; padding: 0 8px; }
  .header-clocks > div { min-width: 43px; }
  .header-clocks span { display: none; }
  #app { padding: 20px 13px 45px; }
  .page-head { align-items: flex-start; flex-direction: column; }
  .page-actions { width: 100%; }
  .hero-copy { padding: 25px 22px; }
  .hero-actions { flex-wrap: wrap; }
  .summary-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .metric-card { padding: 14px; border-radius: 16px; }
  .metric-value { font-size: 20px; }
  .attention-item { grid-template-columns: 36px 1fr auto; }
  .attention-item .problem-copy { grid-column: 2 / -1; }
  .alert-grid, .rules-grid, .integration-grid, .settings-grid { grid-template-columns: 1fr; }
  .notification-settings-grid { grid-template-columns: 1fr; }
  .import-summary-grid { grid-template-columns: 1fr 1fr; }
  .import-confirm-bar { align-items: stretch; flex-direction: column; }
  .import-confirm-bar .primary-button { width: 100%; }
  .import-history-row { grid-template-columns: 1fr auto; }
  .import-history-counts { grid-column: 1 / -1; }
  .import-history-row .ghost-button { grid-column: 1 / -1; width: 100%; }
  .account-rule-picker { width: 100%; min-width: 0; }
  .matrix-search { width: 100%; }
  .rules-matrix-scroll { max-height: calc(100vh - 285px); }
  .sticky-settings-actions { align-items: stretch; flex-direction: column; }
  .sticky-settings-actions .primary-button { width: 100%; }
  .sticky-settings-actions > div { width: 100%; }
  .sticky-settings-actions > div > * { flex: 1; }
  .account-header { align-items: flex-start; flex-direction: column; }
  .account-header .page-actions { width: auto; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid label.full { grid-column: auto; }
  .log-row { grid-template-columns: 55px 55px 1fr; }
  .log-row strong { grid-column: 1 / -1; }
  .system-grid { grid-template-columns: 1fr; }
  .audit-row { grid-template-columns: 94px 1fr; }
  .audit-row > span { grid-column: 2; text-align: left; }
  .toast { left: 13px; right: 13px; bottom: 13px; min-width: 0; }
}

/* Analytics registry */
.registry-summary .metric-card { min-height: 138px; }
.registry-toolbar { justify-content: space-between; }
.registry-toolbar .search-wrap { max-width: 520px; }
.registry-table { min-width: 1320px; }
.registry-table th:first-child,
.registry-table td:first-child { width: 52px; padding-right: 0; }
.registry-table th:nth-child(2) { min-width: 155px; }
.registry-table th:nth-child(3) { min-width: 170px; }
.registry-table th:nth-child(4) { min-width: 280px; }
.registry-table th:nth-child(5) { min-width: 150px; }
.registry-table td:last-child { min-width: 175px; white-space: nowrap; }
.registry-table td:last-child .row-menu { margin-left: 9px; }
.registry-expand {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid #d8e0d9;
  border-radius: 8px;
  color: var(--violet-700);
  background: #fff;
  font-size: 17px;
  line-height: 1;
}
.registry-profile-link {
  display: block;
  margin-top: 4px;
  color: var(--violet-600);
  font-size: 9px;
  font-weight: 700;
  text-decoration: none;
}
.registry-profile-link:hover { text-decoration: underline; }
.offer-chip-list { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; margin-top: 5px; }
.offer-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 23px;
  padding: 0 7px;
  border-radius: 7px;
  color: #42604d;
  background: #eef4ef;
  font-size: 8px;
  white-space: nowrap;
}
.offer-chip b { color: #20372a; font-weight: 750; }
.offer-chip.more { color: var(--violet-700); background: #f1edf5; font-weight: 750; }
.registry-rating { color: #ba7808; }
.registry-expanded-row > td { padding: 0 !important; background: #f7faf7; }
.registry-expanded-grid {
  display: grid;
  grid-template-columns: minmax(420px, 1.5fr) minmax(250px, .8fr) minmax(240px, .7fr);
  gap: 20px;
  padding: 20px 56px;
  border-bottom: 1px solid #dfe6df;
}
.registry-expanded-grid section { min-width: 0; }
.registry-expanded-grid section > p { color: var(--muted); font-size: 10px; line-height: 1.55; }
.registry-offer-grid { display: grid; grid-template-columns: repeat(5, minmax(70px, 1fr)); gap: 7px; margin-top: 10px; }
.registry-detail-stat { padding: 10px; border: 1px solid #dfe6df; border-radius: 10px; background: #fff; }
.registry-detail-stat span,
.registry-detail-stat small { display: block; color: var(--muted); font-size: 8px; }
.registry-detail-stat strong { display: block; margin: 4px 0; font-size: 16px; }
.review-breakdown { display: grid; gap: 6px; margin-top: 10px; }
.review-breakdown > div { display: grid; grid-template-columns: 28px 1fr 42px; align-items: center; gap: 7px; font-size: 8px; }
.review-breakdown i { height: 6px; overflow: hidden; border-radius: 999px; background: #e7ece8; }
.review-breakdown i b { display: block; height: 100%; border-radius: inherit; background: #efaa30; }
.review-breakdown strong { text-align: right; }
.review-breakdown small { color: var(--muted); font-size: 8px; }
.internal-profile-panel { margin-top: 16px; }
.internal-profile-panel form { padding: 18px; }
.internal-profile-grid { display: grid; grid-template-columns: .7fr 1fr 1fr; gap: 14px; }
.internal-profile-grid label { color: var(--muted); font-size: 10px; font-weight: 700; }
.internal-profile-grid input,
.internal-profile-grid textarea {
  width: 100%;
  margin-top: 7px;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 11px 12px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  font-size: 11px;
  resize: vertical;
}
.compact-note { margin: 14px 0 0; }
.internal-profile-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 14px; }
.internal-profile-actions > span { color: var(--muted); font-size: 9px; }

/* Offer analytics */
.offer-summary .metric-card { min-height: 138px; }
.offer-group-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
.offer-group-card {
  min-height: 118px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
}
.offer-group-card h2 { margin: 5px 0 4px; font-size: 16px; }
.offer-group-card p { margin: 0; color: var(--muted); font-size: 10px; }
.offer-group-card > strong { color: var(--ink); font-size: 30px; letter-spacing: -1px; }
.finance-summary-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 12px; overflow: hidden; border: 1px solid var(--border); border-radius: 15px; background: var(--card); box-shadow: var(--shadow-soft); }
.finance-summary-strip article { min-width: 0; padding: 13px 16px; border-right: 1px solid var(--border); }
.finance-summary-strip article:last-child { border-right: 0; }
.finance-summary-strip span,
.finance-summary-strip strong,
.finance-summary-strip small { display: block; }
.finance-summary-strip span { color: var(--muted); font-size: 9px; font-weight: 750; }
.finance-summary-strip strong { margin-top: 5px; overflow: hidden; color: var(--ink); font-size: clamp(20px, 2vw, 28px); font-weight: 900; line-height: 1.05; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.finance-summary-strip small { margin-top: 5px; color: var(--success); font-size: 9px; }
.finance-partner-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.finance-partner-card { display: grid; grid-template-columns: minmax(145px, .65fr) minmax(0, 1.35fr); align-items: center; gap: 18px; min-height: 104px; padding: 15px 17px; border: 1px solid var(--border); border-radius: 15px; background: var(--card); box-shadow: var(--shadow-soft); }
.finance-partner-card header { display: flex; align-items: center; gap: 10px; min-width: 0; }
.finance-partner-card header > span { display: grid; width: 34px; height: 34px; place-items: center; flex: 0 0 34px; border-radius: 10px; color: var(--warning); background: var(--warning-soft); font-size: 10px; font-weight: 900; }
.finance-partner-card header div { min-width: 0; }
.finance-partner-card header strong,
.finance-partner-card header small { display: block; }
.finance-partner-card header strong { color: var(--ink); font-size: 14px; }
.finance-partner-card header small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.finance-partner-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 1px solid var(--border); }
.finance-partner-values div { min-width: 0; padding: 4px 12px; border-right: 1px solid var(--border); }
.finance-partner-values div:last-child { border-right: 0; }
.finance-partner-values span,
.finance-partner-values strong { display: block; }
.finance-partner-values span { color: var(--muted); font-size: 8px; white-space: nowrap; }
.finance-partner-values strong { margin-top: 5px; overflow: hidden; color: var(--ink); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.finance-days-head { align-items: end; flex-wrap: wrap; }
.finance-daily-filters { display: flex; align-items: end; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.finance-period { display: flex; align-items: center; gap: 7px; }
.finance-period select,
.finance-period input { height: 38px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 58%, transparent); font: inherit; font-size: 11px; font-weight: 750; font-variant-numeric: tabular-nums; outline: none; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }
.finance-period select { width: 118px; padding: 0 32px 0 12px; cursor: pointer; }
.finance-period input { width: 82px; padding: 0 11px; }
.finance-period select:hover,
.finance-period input:hover { border-color: color-mix(in srgb, var(--warning) 48%, var(--border)); background: var(--card-soft); }
.finance-period select:focus,
.finance-period input:focus { border-color: var(--warning); box-shadow: 0 0 0 3px color-mix(in srgb, var(--warning) 15%, transparent); }
.finance-period input::-webkit-inner-spin-button,
.finance-period input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.finance-daily-filters .segmented { display: inline-flex; align-items: center; min-height: 38px; padding: 3px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 55%, transparent); }
.finance-daily-filters .segmented button { min-height: 30px; border: 0; border-radius: 8px; padding: 0 11px; color: var(--muted); background: transparent; font: inherit; font-size: 10px; font-weight: 800; white-space: nowrap; cursor: pointer; transition: color .16s ease, background .16s ease, box-shadow .16s ease; }
.finance-daily-filters .segmented button:hover { color: var(--ink); background: color-mix(in srgb, var(--warning) 8%, var(--card)); }
.finance-daily-filters .segmented button.active { color: #6d4512; background: var(--warning-soft); box-shadow: 0 2px 7px color-mix(in srgb, var(--warning) 18%, transparent); }
.finance-account-multi { flex: 0 1 210px; width: 210px; min-width: 190px; }
.finance-account-multi .effectiveness-multi-menu { right: 0; left: auto; width: 270px; }
.finance-filter-apply { min-height: 38px; }
.finance-accounts-panel { overflow: hidden; }
.finance-accounts-table { width: 100%; min-width: 1035px; table-layout: fixed; border-collapse: collapse; background: var(--card); }
.finance-account-col-label { width: 230px; }
.finance-account-col-money { width: 125px; }
.finance-account-col-count { width: 82px; }
.finance-account-col-percent { width: 86px; }
.finance-account-col-cost { width: 115px; }
.finance-account-col-comments { width: 75px; }
.finance-accounts-table > thead > tr > th,
.finance-accounts-table > tbody > tr > td { height: 48px; padding: 8px 10px; border: 1px solid var(--border); text-align: right; vertical-align: middle; font-variant-numeric: tabular-nums; }
.finance-accounts-table > thead > tr > th { height: 38px; color: var(--muted); background: var(--surface); font-size: 9px; font-weight: 800; line-height: 1.2; white-space: normal; }
.finance-accounts-table > tbody > tr > td { color: var(--ink); font-size: 11px; font-weight: 720; white-space: nowrap; }
.finance-accounts-table > thead > tr > th:first-child,
.finance-accounts-table > tbody > tr > td:first-child { text-align: left; }
.finance-accounts-table > tbody > tr.finance-account-row:hover > td { background: color-mix(in srgb, var(--warning) 5%, var(--card)); }
.finance-account-row > td { vertical-align: middle; }
.finance-account-row.expanded > td { background: color-mix(in srgb, var(--warning) 7%, var(--card)); }
.finance-account-row > td:first-child { min-width: 210px; }
.finance-account-toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 0;
  padding: 0;
  color: var(--ink);
  background: transparent;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.finance-account-toggle > span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--accent);
  background: var(--surface);
  font-size: 15px;
  font-weight: 800;
}
.finance-account-toggle div { display: grid; gap: 2px; }
.finance-account-toggle strong { font-size: 12px; }
.finance-account-toggle small { color: var(--muted); font-size: 9px; font-weight: 600; }
.finance-account-identity { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.finance-account-row .source-badge { flex: 0 0 auto; margin-left: 4px; vertical-align: middle; }
.finance-account-detail > td { padding: 0 !important; background: color-mix(in srgb, var(--warning) 4%, var(--surface)) !important; }
.finance-account-detail-inner { padding: 12px 16px 16px 38px; }
.finance-account-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.finance-account-detail-head strong { font-size: 12px; }
.finance-account-detail-head span { color: var(--muted); font-size: 10px; }
.finance-daily-table { width: 100%; min-width: 1076px; table-layout: fixed; border-collapse: collapse; background: var(--card); }
.finance-month-daily-table { width: 100%; min-width: 850px; }
.finance-col-date { width: 110px; }
.finance-col-money { width: 120px; }
.finance-col-count { width: 78px; }
.finance-col-percent { width: 85px; }
.finance-col-cost { width: 115px; }
.finance-col-comments { width: 255px; }
.finance-daily-table th,
.finance-daily-table td { height: 40px; padding: 7px 9px; border: 1px solid var(--border); text-align: right; white-space: nowrap; font-size: 11px; font-variant-numeric: tabular-nums; }
.finance-daily-table th { height: 36px; padding: 7px 9px; border: 1px solid var(--border); text-align: right; white-space: normal; line-height: 1.2; }
.finance-daily-table th { color: var(--muted); background: var(--surface); font-size: 9px; font-weight: 800; }
.finance-daily-table th:first-child,
.finance-daily-table td:first-child,
.finance-daily-table th:last-child,
.finance-daily-table td:last-child { text-align: left; }
.finance-daily-table th:last-child,
.finance-daily-table td:last-child { min-width: 0; white-space: normal; }
.finance-day-comments { display: grid; gap: 3px; color: var(--muted); line-height: 1.35; }
.finance-day-comments b { color: var(--ink); }
.dds-summary-strip { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin-bottom: 14px; overflow: hidden; border: 1px solid var(--border); border-radius: 15px; background: var(--card); box-shadow: var(--shadow-soft); }
.dds-summary-strip article { min-width: 0; min-height: 82px; padding: 15px 18px; border-right: 1px solid var(--border); }
.dds-summary-strip article:last-child { border-right: 0; background: color-mix(in srgb,var(--warning) 7%,var(--card)); }
.dds-summary-strip span, .dds-summary-strip strong { display: block; }
.dds-summary-strip span { color: var(--muted); font-size: 10px; font-weight: 760; }
.dds-summary-strip strong { margin-top: 7px; overflow: hidden; color: var(--ink); font-size: clamp(21px,1.8vw,27px); font-weight: 900; line-height: 1.08; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dds-summary-strip .positive, .dds-bank-card .positive, .dds-money.income { color: var(--success); }
.dds-summary-strip .negative, .dds-bank-card .negative, .dds-money.expense { color: var(--danger); }
.dds-main-grid { display: grid; grid-template-columns: minmax(430px,.88fr) minmax(560px,1.12fr); gap: 14px; margin-bottom: 14px; align-items: stretch; }
.dds-entry-panel, .dds-banks-panel, .dds-ledger-panel { overflow: visible; }
.dds-entry-panel, .dds-banks-panel { height: 100%; }
.dds-entry-panel .panel-head, .dds-banks-panel .panel-head { min-height: 76px; }
.dds-entry-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.dds-entry-form label, .dds-table-filters label { display: grid; gap: 5px; min-width: 0; }
.dds-entry-form label > span, .dds-table-filters label > span { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.dds-entry-form input, .dds-entry-form select, .dds-table-filters select { width: 100%; min-height: 44px; padding: 0 13px; border: 1px solid var(--border); border-radius: 11px; color: var(--ink); background: var(--card); font: inherit; font-size: 11px; font-weight: 720; outline: none; }
.dds-entry-form input:focus, .dds-entry-form select:focus, .dds-table-filters select:focus { border-color: var(--warning); box-shadow: 0 0 0 3px color-mix(in srgb,var(--warning) 14%,transparent); }
.dds-comment-field { grid-column: 1 / -1; }
.dds-entry-form > button { grid-column: 1 / -1; width: 100%; min-height: 44px; justify-self: stretch; margin-top: 1px; }
.dds-bank-grid { display: grid; grid-template-columns: 1fr; gap: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; }
.dds-bank-card { display: grid; grid-template-columns: minmax(130px,.85fr) minmax(0,1.5fr); min-height: 53px; padding: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: var(--surface); }
.dds-bank-card:last-child { border-bottom: 0; }
.dds-bank-card header { display: grid; grid-template-columns: minmax(0,1fr); align-content: center; gap: 2px; padding: 8px 13px; border-right: 1px solid var(--border); }
.dds-bank-card header strong { color: var(--ink); font-size: 11px; }
.dds-bank-card header span { color: var(--ink); font-size: 14px; font-weight: 900; font-variant-numeric: tabular-nums; }
.dds-bank-card > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; gap: 0; padding: 0; }
.dds-bank-card > div span { min-width: 0; padding: 8px 10px; color: var(--muted); font-size: 8px; line-height: 1.2; }
.dds-bank-card > div span + span { border-left: 1px solid var(--border); }
.dds-bank-card > div b { display: block; margin-top: 3px; overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dds-ledger-panel { padding: 0; overflow: hidden; }
.dds-ledger-panel > header { padding: 14px 16px 10px; }
.dds-table-filters { display: flex; align-items: end; gap: 8px; }
.dds-table-filters label { min-width: 150px; }
.dds-ledger-table { width: 100%; min-width: 1080px; table-layout: fixed; border-collapse: collapse; }
.dds-ledger-table th, .dds-ledger-table td { height: 42px; padding: 7px 9px; border: 1px solid var(--border); color: var(--ink); font-size: 10px; text-align: right; vertical-align: middle; font-variant-numeric: tabular-nums; }
.dds-ledger-table th { height: 35px; color: var(--muted); background: var(--surface); font-size: 8px; font-weight: 850; }
.dds-ledger-table th:nth-child(-n+5), .dds-ledger-table td:nth-child(-n+5), .dds-ledger-table th:nth-child(8), .dds-ledger-table td:nth-child(8) { text-align: left; }
.dds-ledger-table th:nth-child(1) { width: 92px; }
.dds-ledger-table th:nth-child(2) { width: 130px; }
.dds-ledger-table th:nth-child(3) { width: 85px; }
.dds-ledger-table th:nth-child(4) { width: 100px; }
.dds-ledger-table th:nth-child(5) { width: 260px; }
.dds-ledger-table th:nth-child(6), .dds-ledger-table th:nth-child(7) { width: 105px; }
.dds-ledger-table th:nth-child(8) { width: 80px; }
.dds-ledger-table th:nth-child(9) { width: 44px; }
.dds-comment-cell { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dds-money { font-weight: 850; white-space: nowrap; }
.dds-type-pill { display: inline-flex; min-height: 24px; align-items: center; padding: 0 7px; border-radius: 7px; font-size: 8px; font-weight: 820; white-space: nowrap; }
.dds-type-pill.income { color: var(--success); background: var(--success-soft); }
.dds-type-pill.expense { color: var(--danger); background: var(--danger-soft); }
@media (max-width: 980px) {
  .finance-summary-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-summary-strip article:nth-child(2) { border-right: 0; }
  .finance-summary-strip article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .finance-partner-grid { grid-template-columns: 1fr; }
  .dds-summary-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dds-summary-strip article { border-bottom: 1px solid var(--border); }
  .dds-main-grid { grid-template-columns: 1fr; }
  .dds-entry-panel, .dds-banks-panel { height: auto; }
}
@media (max-width: 620px) {
  .dds-summary-strip { grid-template-columns: 1fr; }
  .dds-summary-strip article { border-right: 0; }
  .dds-entry-form { grid-template-columns: 1fr; }
  .dds-comment-field, .dds-entry-form > button { grid-column: 1; }
  .dds-entry-form > button { width: 100%; }
  .dds-bank-card { grid-template-columns: 105px minmax(0,1fr); }
  .dds-bank-card > div span { padding: 8px 6px; font-size: 7px; }
  .dds-ledger-panel > header { align-items: stretch; flex-direction: column; }
  .dds-table-filters { width: 100%; }
  .dds-table-filters label { min-width: 0; flex: 1; }
}
.offer-toolbar { justify-content: space-between; }
.offer-toolbar .search-wrap { max-width: 520px; }
.offer-analytics-panel { overflow: hidden; }
.offer-analytics-list { display: grid; }
.offer-analytics-item { border-top: 1px solid var(--border); background: var(--card); }
.offer-analytics-item:first-child { border-top: 0; }
.offer-analytics-item.expanded { background: var(--surface); }
.offer-analytics-main {
  min-height: 78px;
  display: grid;
  grid-template-columns: 32px 42px minmax(180px, 1fr) 130px 110px 110px;
  align-items: center;
  gap: 14px;
  padding: 13px 20px 9px;
}
.offer-rank { color: #a0aaa3; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.offer-name strong,
.offer-name span,
.offer-volume strong,
.offer-volume span,
.offer-share strong,
.offer-share span,
.offer-coverage strong,
.offer-coverage span { display: block; }
.offer-name strong { font-size: 14px; }
.offer-name span,
.offer-volume span,
.offer-share span,
.offer-coverage span { margin-top: 4px; color: var(--muted); font-size: 9px; }
.offer-volume strong,
.offer-share strong,
.offer-coverage strong { color: var(--ink); font-size: 16px; }
.offer-progress { height: 4px; margin: 0 20px 13px 108px; overflow: hidden; border-radius: 999px; background: var(--border); }
.offer-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--violet-600), var(--lime-500)); }
.offer-breakdown { padding: 18px 20px 22px 108px; border-top: 1px solid var(--border); background: var(--surface); }
.offer-breakdown > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 13px; }
.offer-breakdown h3 { margin: 5px 0 0; font-size: 15px; }
.offer-breakdown > header > span { color: var(--muted); font-size: 9px; }
.offer-account-list { overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--card); }
.offer-account-row {
  min-height: 54px;
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) minmax(140px, 1fr) 110px 160px 36px;
  align-items: center;
  gap: 14px;
  padding: 9px 14px;
  border-top: 1px solid var(--border);
  font-size: 10px;
}
.offer-account-row:first-child { border-top: 0; }
.offer-account-row > span > strong,
.offer-account-row > span > small { display: block; }
.offer-account-row > span > small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.offer-account-row.offer-account-head { min-height: 38px; color: var(--muted); background: var(--surface); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .45px; }
.offer-account-share { width: 96px; height: 5px; display: inline-block; overflow: hidden; margin-right: 8px; border-radius: 999px; background: var(--border); vertical-align: middle; }
.offer-account-share b { display: block; height: 100%; border-radius: inherit; background: var(--violet-500); }
.compact-empty { padding: 24px; }

@media (max-width: 1120px) {
  .registry-expanded-grid { grid-template-columns: 1fr 1fr; }
  .registry-expanded-grid section:last-child { grid-column: 1 / -1; }
  .registry-offer-grid { grid-template-columns: repeat(3, minmax(80px, 1fr)); }
  .internal-profile-grid { grid-template-columns: 1fr 1fr; }
  .internal-profile-grid label:first-child { grid-column: 1 / -1; }
  .offer-analytics-main { grid-template-columns: 32px 34px minmax(170px, 1fr) 100px 90px 90px; gap: 10px; }
  .offer-breakdown { padding-left: 96px; }
  .offer-account-row { grid-template-columns: minmax(160px, 1.3fr) minmax(120px, 1fr) 90px 130px 32px; }
}

@media (max-width: 680px) {
  .registry-summary { grid-template-columns: 1fr 1fr; }
  .registry-summary .metric-card { min-height: 126px; }
  .registry-toolbar .search-wrap { width: 100%; max-width: none; }
  .registry-toolbar .filter-select { width: 100%; }
  .registry-expanded-grid { grid-template-columns: 1fr; padding: 18px; }
  .registry-expanded-grid section:last-child { grid-column: auto; }
  .registry-offer-grid { grid-template-columns: repeat(2, minmax(80px, 1fr)); }
  .internal-profile-grid { grid-template-columns: 1fr; }
  .internal-profile-grid label:first-child { grid-column: auto; }
  .internal-profile-actions { align-items: stretch; flex-direction: column; }
  .offer-summary { grid-template-columns: 1fr 1fr; }
  .offer-summary .metric-card { min-height: 126px; }
  .offer-group-grid { grid-template-columns: 1fr; }
  .offer-group-card { min-height: 104px; }
  .offer-toolbar .search-wrap,
  .offer-toolbar .filter-select { width: 100%; max-width: none; }
  .offer-analytics-main {
    grid-template-columns: 30px 1fr auto;
    gap: 10px;
    padding: 14px;
  }
  .offer-rank { display: none; }
  .offer-name { grid-column: 2; }
  .offer-volume { grid-column: 3; grid-row: 1; text-align: right; }
  .offer-share { grid-column: 2; grid-row: 2; }
  .offer-coverage { grid-column: 3; grid-row: 2; text-align: right; }
  .offer-progress { margin: 0 14px 13px 54px; }
  .offer-breakdown { padding: 16px 14px 18px; }
  .offer-breakdown > header { align-items: flex-start; flex-direction: column; gap: 6px; }
  .offer-account-row { grid-template-columns: 1fr auto auto; gap: 8px; }
  .offer-account-row.offer-account-head { display: none; }
  .offer-account-row > span:nth-child(2) { grid-column: 1; color: var(--muted); }
  .offer-account-row > span:nth-child(3) { grid-column: 2; grid-row: 1; text-align: right; }
  .offer-account-row > span:nth-child(4) { grid-column: 1 / 3; grid-row: 3; }
  .offer-account-row > span:nth-child(5) { grid-column: 3; grid-row: 1 / 4; }
}

@media (max-width: 430px) {
  .summary-grid { grid-template-columns: 1fr; }
  .number-setting { grid-template-columns: 1fr; }
  .hero h1 { font-size: 25px; }
  .toolbar > * { width: 100%; }
  .toolbar .search-wrap { min-width: 100%; }
  .table-panel { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .table-scroll { overflow: visible; }
  .data-table { min-width: 0; display: block; }
  .data-table thead { display: none; }
  .data-table tbody { display: grid; gap: 9px; }
  .data-table tbody tr { position: relative; display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; gap: 10px 9px; align-items: center; padding: 14px; border: 1px solid var(--border); border-radius: 16px; background: #fff; box-shadow: 0 7px 24px rgba(45,18,74,.04); }
  .data-table td { padding: 0; border: 0; }
  .data-table td:nth-child(1) { grid-column: 1; grid-row: 1; }
  .data-table td:nth-child(2) { grid-column: 2; grid-row: 1; }
  .data-table td:nth-child(3) { grid-column: 3; grid-row: 1; }
  .data-table td:nth-child(4) { display: none; }
  .data-table td:nth-child(5) { grid-column: 2; grid-row: 2; }
  .data-table td:nth-child(6) { grid-column: 3; grid-row: 2; text-align: right; }
  .data-table td:nth-child(7) { grid-column: 2 / -1; grid-row: 3; }
  .data-table td:nth-child(8) { grid-column: 2 / -1; grid-row: 4; padding-top: 8px; border-top: 1px solid #f0ecf2; }
  .data-table td:nth-child(9) { display: none; }
  .data-table td:nth-child(5)::before, .data-table td:nth-child(6)::before, .data-table td:nth-child(7)::before, .data-table td:nth-child(8)::before { display: block; margin-bottom: 5px; color: var(--muted); font-size: 8px; font-weight: 600; }
  .data-table td:nth-child(5)::before { content: "Баланс"; }
  .data-table td:nth-child(6)::before { content: "CPA"; }
  .data-table td:nth-child(7)::before { content: "Сообщения: входящие / исходящие / неотправленные"; }
  .data-table td:nth-child(8)::before { content: "Последнее обновление"; }
  .notification-table tbody tr { grid-template-columns: 1fr auto; }
  .notification-table td:nth-child(1) { grid-column: 1; grid-row: 1; }
  .notification-table td:nth-child(2) { grid-column: 2; grid-row: 1; }
  .notification-table td:nth-child(3) { grid-column: 1 / -1; grid-row: 2; }
  .notification-table td:nth-child(4) { display: block; grid-column: 1 / -1; grid-row: 3; }
  .notification-table td:nth-child(5) { grid-column: 1 / -1; grid-row: 4; }
  .notification-table td:nth-child(5)::before { content: "Доставка"; }
  .table-footer { border: 1px solid var(--border); border-radius: 13px; margin-top: 10px; background: #fff; }
}

/* Daily analytics */
.daily-filter-panel { display: grid; gap: 10px; margin-bottom: 8px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 15px; background: var(--card); box-shadow: var(--shadow-soft); }
.daily-scope-row { display: grid; grid-template-columns: minmax(220px,1.15fr) minmax(250px,.9fr) minmax(220px,1fr) auto; gap: 9px; align-items: end; }
.daily-account-filter,
.daily-direction-filter { display: grid; min-width: 0; gap: 5px; }
.daily-account-filter > span,
.daily-direction-filter > span,
.daily-filter-label,
.daily-custom-range label > span,
.daily-filter-panel .daily-offer-multi > span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.daily-account-filter select { width: 100%; min-height: 40px; padding: 0 34px 0 11px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); font: inherit; font-size: 11px; font-weight: 760; }
.daily-direction-options { display: grid; grid-template-columns: repeat(4,minmax(48px,1fr)); gap: 3px; min-height: 40px; padding: 3px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.daily-direction-options button { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 0 7px; border: 0; border-radius: 7px; color: var(--muted); background: transparent; font: inherit; cursor: pointer; }
.daily-direction-options button strong { font-size: 10px; font-weight: 850; }
.daily-direction-options button small { min-width: 17px; padding: 2px 4px; border-radius: 999px; color: var(--muted); background: color-mix(in srgb,var(--ink) 6%,transparent); font-size: 7px; font-weight: 800; font-variant-numeric: tabular-nums; }
.daily-direction-options button:hover:not(:disabled) { color: var(--ink); background: var(--card); }
.daily-direction-options button.active { color: #6d4512; background: var(--warning-soft); box-shadow: 0 2px 7px color-mix(in srgb,var(--warning) 18%,transparent); }
.daily-direction-options button.active small { color: #6d4512; background: color-mix(in srgb,var(--warning) 16%,transparent); }
.daily-direction-options button:disabled { opacity: .4; cursor: default; }
.daily-filter-panel .daily-offer-multi { min-width: 0; gap: 5px; }
.daily-filter-panel .daily-offer-multi summary { min-height: 40px; border-radius: 10px; font-size: 10px; }
.daily-filter-panel .daily-offer-multi summary strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.daily-filter-panel .daily-offer-multi details.is-disabled summary { opacity: .58; pointer-events: none; }
.daily-filter-panel .daily-offer-multi .effectiveness-multi-menu { right: 0; left: auto; width: max(100%,310px); }
.daily-filter-panel .daily-offer-multi .effectiveness-multi-menu label > span { min-width: 0; }
.daily-filter-panel .daily-offer-multi .effectiveness-multi-menu label strong,
.daily-filter-panel .daily-offer-multi .effectiveness-multi-menu label small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.daily-filter-panel .daily-offer-multi .effectiveness-multi-menu label strong { font-size: 10px; }
.daily-filter-panel .daily-offer-multi .effectiveness-multi-menu label small { margin-top: 2px; color: var(--muted); font-size: 8px; font-weight: 600; }
.daily-filter-actions { display: flex; align-items: center; gap: 5px; min-height: 40px; }
.daily-filter-actions .secondary-button { min-height: 40px; padding-inline: 12px; }
.daily-filter-actions .text-button { min-height: 36px; padding-inline: 7px; font-size: 9px; }
.daily-filter-actions .text-button:disabled { opacity: .35; pointer-events: none; }
.daily-period-row { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding-top: 9px; border-top: 1px solid var(--border); }
.daily-period-row > div { display: grid; gap: 5px; }
.daily-periods { display: flex; gap: 4px; padding: 4px; border-radius: 12px; background: var(--surface); }
.daily-periods button { min-height: 34px; padding: 0 11px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.daily-periods button.active { color: var(--ink); background: var(--card); box-shadow: 0 4px 14px rgba(31,25,38,.08); }
.daily-data-source { margin-left: auto; color: var(--muted); font-size: 8px; }
.daily-custom-range { display: flex; align-items: end; gap: 6px; }
.daily-custom-range label { display: grid; min-width: 122px; gap: 5px; }
.daily-custom-range input { width: 100%; min-height: 42px; padding: 0 8px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); font: inherit; font-size: 11px; }
.daily-custom-range button { min-height: 40px; padding-inline: 11px; }
.daily-scope-line { display: flex; align-items: center; gap: 7px; min-height: 32px; margin-bottom: 8px; padding: 6px 10px; overflow: hidden; border: 1px solid var(--border); border-radius: 10px; color: var(--muted); background: var(--surface); font-size: 9px; white-space: nowrap; }
.daily-scope-line strong { color: var(--ink); font-size: 10px; }
.daily-scope-line span { display: inline-flex; align-items: center; gap: 7px; }
.daily-scope-line span::before { content: "·"; color: color-mix(in srgb,var(--muted) 55%,transparent); }
.daily-scope-line b { margin-left: auto; overflow: hidden; color: var(--warning); font-size: 8px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.daily-source-line { display: flex; align-items: center; gap: 10px; margin: -3px 0 12px; color: var(--muted); font-size: 10px; }
.daily-source-line strong { color: var(--ink); }
.daily-compact-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 12px; border: 1px solid var(--border); border-radius: 15px; overflow: hidden; background: var(--card); }
.daily-compact-summary > div { min-width: 0; padding: 13px 15px; border-right: 1px solid var(--border); }
.daily-compact-summary > div:last-child { border-right: 0; }
.daily-compact-summary span, .daily-compact-summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.daily-compact-summary span { color: var(--muted); font-size: 10px; }
.daily-compact-summary strong { margin-top: 5px; color: var(--ink); font-size: 20px; font-variant-numeric: tabular-nums; }
.daily-metric-tabs { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-bottom: 12px; }
.daily-metric-tabs button { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; padding: 0 14px; border: 1px solid var(--border); border-radius: 13px; color: var(--muted); background: var(--card); font: inherit; cursor: pointer; }
.daily-metric-tabs button.active { color: var(--ink); border-color: color-mix(in srgb, var(--violet-600) 35%, var(--border)); background: color-mix(in srgb, var(--violet-600) 7%, var(--card)); box-shadow: inset 0 -3px 0 var(--violet-600); }
.daily-metric-tabs span { font-size: 9px; font-weight: 800; }
.daily-metric-tabs strong { font-size: 13px; }
.daily-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 14px; align-items: start; }
.daily-layout.compact { align-items: stretch; }
.daily-layout-wide { grid-template-columns: minmax(0,1fr) 225px; margin-bottom: 10px; }
.daily-chart-stack { min-width: 0; padding: 0; overflow: hidden; }
.daily-charts { display: grid; gap: 0; min-width: 0; }
.daily-charts.simultaneous { gap: 0; }
.daily-shared-scroll { min-width: 0; overflow-x: auto; scrollbar-width: thin; }
.daily-shared-canvas { width: max(100%, calc(var(--daily-points) * 38px + 32px)); }
.daily-analysis-hint { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; padding: 10px 13px; border: 1px solid var(--border); border-radius: 12px; background: color-mix(in srgb, var(--violet-600) 5%, var(--card)); }
.daily-analysis-hint > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: var(--violet-600); background: color-mix(in srgb, var(--violet-600) 12%, transparent); font-weight: 900; }
.daily-analysis-hint strong, .daily-analysis-hint small { display: block; }
.daily-analysis-hint strong { font-size: 10px; }
.daily-analysis-hint small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.daily-insight { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 1px 9px; align-items: center; min-height: 52px; margin-bottom: 8px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); }
.daily-insight > span { grid-row: 1 / 3; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; font-size: 15px; }
.daily-insight strong { font-size: 9px; }
.daily-insight small { color: var(--muted); font-size: 7px; }
.daily-insight.positive > span { color: var(--success); background: var(--success-soft); }
.daily-insight.negative > span { color: var(--danger); background: var(--danger-soft); }
.daily-chart-card { padding: 6px 12px 4px; overflow: hidden; border-bottom: 1px solid var(--border); --chart-color: var(--violet-600); }
.daily-chart-card:last-child { border-bottom: 0; }
.daily-chart-card.daily-chart-green { --chart-color: var(--success); }
.daily-chart-card.daily-chart-amber { --chart-color: var(--warning); }
.daily-chart-card.daily-chart-blue { --chart-color: #4b83d8; }
.daily-chart-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 23px; margin-bottom: 1px; }
.daily-chart-card h2 { margin: 0; font-size: 13px; }
.daily-chart-card p { display: none; }
.daily-chart-state { padding: 5px 8px; border-radius: 8px; color: var(--muted); background: var(--surface); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.daily-chart-card.is-unavailable { min-height: 0; }
.daily-unavailable { position: absolute; inset: 18px 10px 26px; z-index: 2; display: grid; place-content: center; padding: 8px; color: var(--muted); text-align: center; }
.daily-unavailable strong { color: var(--ink); font-size: 13px; }
.daily-unavailable span { max-width: 620px; margin-top: 3px; font-size: 9px; line-height: 1.35; }
.daily-chart-average { text-align: right; }
.daily-chart-average span, .daily-chart-average strong { display: block; }
.daily-chart-average span { color: var(--muted); font-size: 8px; }
.daily-chart-average strong { margin-top: 1px; color: var(--ink); font-size: 15px; }
.daily-chart-scroll { overflow-x: auto; scrollbar-width: thin; }
.daily-chart-plot { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 6px; align-items: stretch; }
.daily-chart-scale { display: flex; flex-direction: column; justify-content: space-between; height: 105px; padding: 14px 0 23px; color: var(--muted); font-size: 8px; font-weight: 750; font-variant-numeric: tabular-nums; text-align: right; }
.daily-chart-scale span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.daily-bars { display: grid; grid-template-columns: repeat(var(--daily-points), minmax(24px, 1fr)); gap: 3px; align-items: end; width: 100%; height: 105px; padding: 14px 2px 0; border-bottom: 1px solid var(--border); background: repeating-linear-gradient(to bottom, transparent 0, transparent 16px, color-mix(in srgb, var(--border) 76%, transparent) 17px); }
.daily-empty-plot .daily-bars { position: relative; display: block; opacity: .72; }
.daily-bar-point { position: relative; display: grid; align-items: end; justify-items: center; height: 100%; padding: 0; border: 0; color: var(--muted); background: transparent; cursor: pointer; }
.daily-bar-point i { position: absolute; bottom: 24px; left: 50%; width: min(16px, 78%); min-height: 4px; border-radius: 3px 3px 1px 1px; background: linear-gradient(180deg, color-mix(in srgb, var(--chart-color) 62%, white), var(--chart-color)); opacity: .9; transform: translateX(-50%); transform-origin: bottom center; transition: opacity .15s, transform .15s; }
.daily-bar-point:hover i, .daily-bar-point.date-linked i { opacity: 1; transform: translateX(-50%) scaleX(1.22); box-shadow: 0 0 0 2px color-mix(in srgb, var(--chart-color) 20%, transparent); }
.daily-bar-point span { height: 24px; padding-top: 5px; color: var(--ink); font-size: 9px; font-weight: 800; white-space: nowrap; }
.daily-bar-point em { position: absolute; z-index: 2; padding: 2px 4px; border: 1px solid color-mix(in srgb, var(--chart-color) 24%, var(--border)); border-radius: 5px; color: var(--ink); background: color-mix(in srgb, var(--chart-color) 7%, var(--card)); box-shadow: 0 2px 6px rgba(31,25,38,.06); font-size: 8px; line-height: 1; font-style: normal; font-weight: 900; font-variant-numeric: tabular-nums; white-space: nowrap; }
.daily-bar-point.is-missing::after { content: ""; position: absolute; right: 20%; bottom: 39px; left: 20%; border-top: 1px dashed var(--border); }
.daily-bar-point b { position: absolute; top: 27px; z-index: 3; width: 14px; height: 14px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--warning); font-size: 7px; box-shadow: 0 0 0 3px var(--warning-soft); }
.daily-bar-point.has-note i { background: linear-gradient(180deg, var(--warning), #d17c2a); }
.daily-notes-panel { position: sticky; top: 84px; padding: 12px; }
.daily-notes-panel > header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.daily-notes-panel h2 { margin: 0; font-size: 14px; }
.daily-notes-panel p { margin: 4px 0 0; color: var(--muted); font-size: 8px; }
.daily-notes-list { display: grid; gap: 7px; max-height: 590px; overflow: auto; }
.daily-note-item { display: grid; grid-template-columns: 55px minmax(0,1fr) 25px; gap: 8px; align-items: center; padding: 9px; border: 1px solid var(--border); border-radius: 11px; background: color-mix(in srgb, var(--warning) 6%, var(--card)); }
.daily-note-date { color: var(--warning); font-size: 8px; font-weight: 850; }
.daily-note-item strong, .daily-note-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.daily-note-item strong { font-size: 9px; }
.daily-note-item small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.daily-note-modal { max-width: 560px; }
.daily-note-modal select, .daily-note-modal textarea { width: 100%; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); font: inherit; font-size: 12px; }
.daily-note-modal select { min-height: 42px; padding: 0 11px; }
.daily-note-modal textarea { resize: vertical; min-height: 112px; padding: 11px; line-height: 1.45; }
.daily-note-preview { display: flex; align-items: center; gap: 10px; margin: 14px 0; padding: 11px 12px; border: 1px solid color-mix(in srgb, var(--warning) 24%, var(--border)); border-radius: 12px; background: color-mix(in srgb, var(--warning) 7%, var(--card)); }
.daily-note-preview i { width: 10px; height: 10px; border-radius: 50%; background: var(--warning); box-shadow: 0 0 0 5px var(--warning-soft); }
.daily-note-preview strong, .daily-note-preview span { display: block; }
.daily-note-preview strong { font-size: 10px; }
.daily-note-preview span { margin-top: 3px; color: var(--muted); font-size: 8px; }
@media (max-width: 1180px) { .daily-scope-row { grid-template-columns: minmax(220px,1fr) minmax(240px,1fr); } .daily-filter-actions { justify-content: flex-end; } }
@media (max-width: 980px) { .daily-layout { grid-template-columns: 1fr; } .daily-notes-panel { position: static; } .daily-data-source { margin-left: 0; } .daily-period-row { align-items: stretch; flex-direction: column; } .daily-custom-range { justify-content: flex-start; } .daily-compact-summary { grid-template-columns: repeat(4,1fr); } .daily-compact-summary > div { border-bottom: 1px solid var(--border); } }
@media (max-width: 680px) { .daily-scope-row { grid-template-columns: 1fr; } .daily-filter-actions { justify-content: stretch; } .daily-filter-actions .secondary-button { flex: 1; } .daily-direction-options button small { display: none; } .daily-filter-panel .daily-offer-multi .effectiveness-multi-menu { right: auto; left: 0; width: 100%; } .daily-periods { width: 100%; } .daily-periods button { flex: 1; padding-inline: 5px; } .daily-custom-range { display: grid; grid-template-columns: 1fr 1fr; } .daily-custom-range label { min-width: 0; } .daily-custom-range button { grid-column: 1 / -1; } .daily-scope-line { flex-wrap: wrap; white-space: normal; } .daily-scope-line b { width: 100%; margin-left: 0; } .daily-compact-summary { grid-template-columns: repeat(2,1fr); } .daily-metric-tabs { grid-template-columns: 1fr; } }

/* Comparative analysis */
.daily-analysis-panel { margin-bottom: 12px; padding: 16px; }
.daily-analysis-panel > header { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.daily-analysis-panel h2 { margin: 4px 0 0; font-size: 18px; }
.daily-efficiency { display: flex; gap: 8px; }
.daily-efficiency span { padding: 7px 10px; border-radius: 9px; color: var(--muted); background: var(--surface); font-size: 10px; }
.daily-efficiency b { margin-left: 4px; color: var(--ink); }
.daily-comparison-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; }
.daily-comparison-card { padding: 11px 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); }
.daily-comparison-card span, .daily-comparison-card strong, .daily-comparison-card small { display: block; }
.daily-comparison-card span { color: var(--muted); font-size: 9px; }
.daily-comparison-card strong { margin-top: 5px; font-size: 16px; font-variant-numeric: tabular-nums; }
.daily-comparison-card small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.daily-comparison-card.positive small { color: var(--success); }
.daily-comparison-card.negative small { color: var(--danger); }
.daily-insight-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 9px; }
.daily-insight-row { display: grid; grid-template-columns: 8px 1fr; gap: 9px; align-items: center; padding: 9px 11px; border-radius: 10px; background: var(--surface); }
.daily-insight-row i { width: 8px; height: 8px; border-radius: 50%; background: var(--muted); }
.daily-insight-row.positive i { background: var(--success); }.daily-insight-row.warning i { background: var(--warning); }.daily-insight-row.negative i { background: var(--danger); }
.daily-insight-row strong, .daily-insight-row span { display: block; }.daily-insight-row strong { font-size: 10px; }.daily-insight-row span { margin-top: 2px; color: var(--muted); font-size: 9px; }

/* Official listing placements */
.placement-source { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; margin-bottom: 12px; padding: 10px 13px; border: 1px solid color-mix(in srgb, var(--success) 25%, var(--border)); border-radius: 13px; background: color-mix(in srgb, var(--success) 6%, var(--card)); }
.active-only-rule { display: flex; align-items: center; gap: 10px; padding: 10px 13px; border: 1px solid color-mix(in srgb,var(--success) 28%,var(--border)); border-radius: 12px; background: color-mix(in srgb,var(--success) 7%,var(--card)); }.active-only-rule > span { display: grid; flex: 0 0 25px; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: var(--success); background: var(--success-soft); font-weight: 900; }.active-only-rule div { display: grid; gap: 2px; }.active-only-rule strong { font-size: 10px; }.active-only-rule small { color: var(--muted); font-size: 8px; }.placement-rule { margin-bottom: 12px; }.account-active-rule { margin: 0 0 10px; }.excluded-statuses { opacity: .76; }
.placement-source > span { padding: 5px 8px; border-radius: 8px; color: var(--success); background: var(--success-soft); font-size: 9px; font-weight: 850; }.placement-source p { margin: 0; font-size: 10px; }.placement-source small { color: var(--muted); font-size: 9px; }
.placement-summary { margin-bottom: 12px; }
.placement-analysis-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 18px 0 10px; }.placement-analysis-head h2 { margin: 4px 0; font-size: 19px; }.placement-analysis-head p { margin: 0; color: var(--muted); font-size: 11px; }
.placement-switch { display: inline-flex; gap: 3px; padding: 4px; border-radius: 12px; background: var(--surface); }
.placement-switch button { min-height: 34px; padding: 0 14px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }.placement-switch button.active { color: var(--ink); background: var(--card); box-shadow: 0 4px 14px rgba(31,25,38,.08); }
.placement-group-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-bottom: 12px; }
.placement-group-card { padding: 13px 14px; border: 1px solid var(--border); border-radius: 14px; color: var(--ink); background: var(--card); box-shadow: var(--shadow-soft); font: inherit; text-align: left; cursor: pointer; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }.placement-group-card:hover { transform: translateY(-1px); border-color: color-mix(in srgb,var(--violet-600) 40%,var(--border)); }.placement-group-card.selected { border-color: var(--violet-600); box-shadow: 0 0 0 2px color-mix(in srgb,var(--violet-600) 14%,transparent),var(--shadow-soft); }
.placement-group-card header, .placement-group-card footer { display: flex; align-items: center; justify-content: space-between; gap: 9px; }.placement-group-card header > div { min-width: 0; }.placement-group-card header span { color: var(--muted); font-size: 8px; text-transform: uppercase; }.placement-group-card h3 { overflow: hidden; margin: 3px 0 0; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.placement-group-card header small { display: block; overflow: hidden; margin-top: 2px; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.placement-group-card header strong { font-size: 20px; }
.placement-group-bar { height: 5px; overflow: hidden; margin: 10px 0; border-radius: 999px; background: var(--surface); }.placement-group-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--violet-600),var(--lime-400)); }
.placement-group-card footer { color: var(--muted); font-size: 9px; }.placement-group-card footer b { color: var(--ink); }
.placement-toolbar { flex-wrap: wrap; margin-bottom: 8px; }.placement-toolbar .search-wrap { flex: 1 1 280px; max-width: none; }.placement-toolbar .filter-select { flex: 1 1 150px; min-width: 145px; max-width: 220px; }.placement-scope { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); font-size: 10px; }.placement-scope strong { font-size: 12px; }.placement-scope span { color: var(--muted); }.placement-scope small { margin-left: auto; color: var(--muted); text-align: right; }.placement-table-panel { overflow: hidden; }.placement-table { width: 100%; min-width: 1380px; border-collapse: collapse; }.placement-table th { padding: 10px 12px; color: var(--muted); background: var(--surface); font-size: 8px; text-align: left; text-transform: uppercase; }.placement-table td { padding: 11px 12px; border-top: 1px solid var(--border); font-size: 10px; vertical-align: middle; }.placement-table td strong,.placement-table td small { display: block; }.placement-table td strong { max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.placement-table td small { max-width: 300px; overflow: hidden; margin-top: 3px; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.placement-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 12px; border-top: 1px solid var(--border); }.placement-pagination span { color: var(--muted); font-size: 10px; }.placement-pagination button:disabled { opacity: .4; cursor: default; }
.placement-hierarchy-head { align-items: center; margin-top: 14px; }
.placement-quality { display: flex; gap: 7px; flex-wrap: wrap; }
.placement-quality span { display: inline-flex; align-items: center; gap: 5px; padding: 7px 9px; border-radius: 10px; color: var(--muted); background: var(--surface); font-size: 9px; font-weight: 750; }
.placement-quality span b { color: var(--ink); font-size: 12px; }
.placement-quality span.ok { color: var(--success); background: var(--success-soft); }
.placement-quality span.warning { color: var(--warning); background: var(--warning-soft); }
.placement-hierarchy { margin-bottom: 12px; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: var(--card); box-shadow: 0 8px 28px rgba(31,25,38,.04); }
.placement-hierarchy-offer + .placement-hierarchy-offer { border-top: 1px solid color-mix(in srgb,var(--ink) 9%,var(--border)); }
.placement-hierarchy-offer.unclassified { background: color-mix(in srgb,var(--warning) 5%,var(--card)); }
.placement-hierarchy-offer-toggle { width: 100%; display: grid; grid-template-columns: 26px minmax(210px,1fr) minmax(360px,1.2fr); align-items: center; gap: 10px; padding: 13px 15px; border: 0; color: var(--ink); background: transparent; font: inherit; text-align: left; cursor: pointer; }
.placement-hierarchy-offer-toggle:hover { background: color-mix(in srgb,var(--violet-600) 4%,var(--card)); }
.placement-hierarchy-offer-toggle > span,.placement-hierarchy-account-toggle > span { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid var(--border); border-radius: 7px; color: var(--violet-700); background: var(--card); font-size: 14px; font-weight: 900; }
.placement-hierarchy-offer-toggle > div { display: grid; gap: 3px; min-width: 0; }
.placement-hierarchy-offer-toggle > div strong { overflow: hidden; font-size: 13px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.placement-hierarchy-offer-toggle > div small { color: var(--muted); font-size: 9px; }
.placement-hierarchy-offer-toggle dl { display: grid; grid-template-columns: repeat(4,minmax(70px,1fr)); gap: 5px; margin: 0; }
.placement-hierarchy-offer-toggle dl div { padding: 6px 8px; border-left: 1px solid var(--border); }
.placement-hierarchy-offer-toggle dt { color: var(--muted); font-size: 8px; font-weight: 650; }
.placement-hierarchy-offer-toggle dd { margin: 2px 0 0; font-size: 12px; font-weight: 900; font-variant-numeric: tabular-nums; }
.placement-hierarchy-accounts { border-top: 1px solid var(--border); background: color-mix(in srgb,var(--surface) 48%,var(--card)); }
.placement-hierarchy-account + .placement-hierarchy-account { border-top: 1px solid color-mix(in srgb,var(--ink) 7%,var(--border)); }
.placement-hierarchy-account-toggle { width: 100%; display: grid; grid-template-columns: 26px minmax(210px,1fr) 72px 90px; align-items: center; gap: 10px; padding: 10px 16px 10px 34px; border: 0; color: var(--ink); background: transparent; font: inherit; text-align: left; cursor: pointer; }
.placement-hierarchy-account-toggle:hover { background: color-mix(in srgb,var(--success) 4%,var(--card)); }
.placement-hierarchy-account-toggle > div { display: grid; gap: 2px; }
.placement-hierarchy-account-toggle strong { font-size: 11px; font-weight: 850; }
.placement-hierarchy-account-toggle small,.placement-hierarchy-account-toggle em { color: var(--muted); font-size: 8px; font-style: normal; }
.placement-hierarchy-account-toggle b { font-size: 12px; font-variant-numeric: tabular-nums; text-align: right; }
.placement-hierarchy-cities { display: grid; gap: 8px; padding: 0 16px 12px 70px; }
.placement-hierarchy-city { overflow: hidden; border: 1px solid var(--border); border-radius: 11px; background: var(--card); }
.placement-hierarchy-city > header { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px; border-bottom: 1px solid var(--border); background: var(--surface); }
.placement-hierarchy-city > header strong { font-size: 10px; }
.placement-hierarchy-city > header span,.placement-hierarchy-city > p { color: var(--muted); font-size: 8px; }
.placement-hierarchy-city > p { margin: 0; padding: 8px 10px; }
.placement-hierarchy-item { display: grid; grid-template-columns: minmax(260px,1fr) 74px 68px 24px; align-items: center; gap: 8px; min-height: 42px; padding: 6px 10px; border-top: 1px solid color-mix(in srgb,var(--ink) 6%,var(--border)); }
.placement-hierarchy-city > header + .placement-hierarchy-item { border-top: 0; }
.placement-hierarchy-item button { min-width: 0; overflow: hidden; border: 0; color: var(--ink); background: transparent; font: inherit; text-align: left; cursor: pointer; }
.placement-hierarchy-item button:hover strong { color: var(--violet-600); text-decoration: underline; }
.placement-hierarchy-item strong,.placement-hierarchy-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.placement-hierarchy-item strong { font-size: 9px; }
.placement-hierarchy-item small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.placement-hierarchy-item > span { color: var(--muted); font-size: 8px; font-weight: 750; text-align: right; }
.placement-hierarchy-item > a { color: var(--violet-600); font-size: 12px; text-align: center; text-decoration: none; }
.placement-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; color: var(--muted); background: var(--surface); font-size: 8px; font-weight: 850; }.placement-status.active { color: var(--success); background: var(--success-soft); }.placement-status.blocked,.placement-status.rejected { color: var(--danger); background: var(--danger-soft); }
@media (max-width: 900px) { .placement-hierarchy-offer-toggle { grid-template-columns: 26px 1fr; }.placement-hierarchy-offer-toggle dl { grid-column: 2; grid-template-columns: repeat(4,minmax(55px,1fr)); }.placement-hierarchy-account-toggle { grid-template-columns: 26px 1fr 45px; padding-left: 18px; }.placement-hierarchy-account-toggle em { display: none; }.placement-hierarchy-cities { padding-left: 44px; }.placement-hierarchy-item { grid-template-columns: minmax(180px,1fr) 56px 50px 20px; } }
@media (max-width: 980px) { .daily-comparison-grid { grid-template-columns: repeat(3,1fr); }.placement-group-grid { grid-template-columns: repeat(2,1fr); }.placement-source { grid-template-columns: 1fr; }.placement-analysis-head { align-items: flex-start; flex-direction: column; }.placement-scope { align-items: flex-start; flex-wrap: wrap; }.placement-scope small { width: 100%; margin-left: 0; text-align: left; } }
@media (max-width: 620px) { .daily-analysis-panel > header { align-items: flex-start; flex-direction: column; }.daily-efficiency { flex-wrap: wrap; }.daily-comparison-grid,.daily-insight-grid,.placement-group-grid { grid-template-columns: 1fr; }.placement-switch { width: 100%; }.placement-switch button { flex: 1; padding: 0 8px; }.placement-toolbar .filter-select { max-width: none; }.placement-pagination { justify-content: space-between; } }

/* City × offer matrix: the primary placement analysis view. */
.geo-summary { grid-template-columns: repeat(4,minmax(0,1fr)); }
.geo-toolbar { padding: 10px; border: 1px solid var(--border); border-radius: 14px; background: var(--card); }
.geo-toolbar .ghost-button { white-space: nowrap; }
.geo-toolbar .ghost-button.active { color: var(--success); border-color: color-mix(in srgb,var(--success) 35%,var(--border)); background: var(--success-soft); }
.geo-matrix-panel { overflow: hidden; }
.geo-matrix-head { position: sticky; left: 0; }
.geo-matrix-head p { max-width: 720px; }
.geo-matrix-scroll { height: max(640px,calc(100vh - 190px)); max-height: 820px; overflow: auto; }
.geo-matrix { width: 100%; min-width: 1150px; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; }
.geo-matrix th { position: sticky; z-index: 3; top: 0; min-width: 58px; padding: 10px 6px; border-right: 1px solid color-mix(in srgb,var(--ink) 7%,var(--border)); border-bottom: 1px solid var(--border); color: var(--muted); background: var(--surface); font-size: 9px; text-align: center; text-transform: uppercase; }
.geo-matrix th:first-child { left: 0; z-index: 5; min-width: 210px; text-align: left; }
.geo-matrix th:nth-child(2) { min-width: 105px; }
.geo-matrix th:nth-child(3) { min-width: 96px; }
.geo-matrix th strong,.geo-matrix th small { display: block; }
.geo-matrix th strong { color: var(--ink); font-size: 10px; }
.geo-matrix th small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.geo-filter-row th { top: 49px; z-index: 4; padding: 6px; background: color-mix(in srgb,var(--surface) 88%,var(--card)); }
.geo-filter-row th:first-child { z-index: 6; }
.geo-filter-row input,.geo-filter-row select { width: 100%; min-height: 32px; padding: 5px 8px; border: 1px solid var(--border); border-radius: 8px; color: var(--ink); background: var(--card); font: inherit; font-size: 9px; font-weight: 700; outline: none; }
.geo-filter-row input:focus,.geo-filter-row select:focus { border-color: var(--violet-600); box-shadow: 0 0 0 2px color-mix(in srgb,var(--violet-600) 12%,transparent); }
.geo-city-row > td { height: 54px; padding: 8px; border-right: 1px solid color-mix(in srgb,var(--ink) 6%,var(--border)); border-bottom: 1px solid color-mix(in srgb,var(--ink) 8%,var(--border)); background: var(--card); font-size: 10px; text-align: center; }
.geo-city-row > td:first-child { position: sticky; z-index: 2; left: 0; padding: 0; box-shadow: 5px 0 12px rgba(20,20,20,.035); text-align: left; }
.geo-city-row:hover > td:not(.geo-offer-cell) { background-color: color-mix(in srgb,var(--violet-600) 3%,var(--card)); }
.geo-city-toggle { width: 100%; display: flex; align-items: center; gap: 9px; padding: 8px 10px; border: 0; color: var(--ink); background: transparent; font: inherit; text-align: left; cursor: pointer; }
.geo-city-toggle > span { display: grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; border: 1px solid var(--border); border-radius: 7px; color: var(--violet-700); background: var(--surface); font-size: 14px; font-weight: 900; }
.geo-city-toggle div { min-width: 0; }
.geo-city-toggle strong,.geo-city-toggle small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.geo-city-toggle strong { font-size: 11px; font-weight: 900; }
.geo-city-toggle small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.geo-population b,.geo-time b,.geo-total b,.geo-offer-cell b { color: var(--ink); font-size: 12px; font-weight: 900; }
.geo-time small,.geo-total small { display: block; margin-top: 2px; color: var(--muted); font-size: 7px; }
.geo-offer-cell.has-value { background: color-mix(in srgb,var(--lime-400) 15%,var(--card)); }
.geo-offer-cell.heat-2 { background: color-mix(in srgb,var(--lime-400) 24%,var(--card)); }
.geo-offer-cell.heat-3 { background: color-mix(in srgb,var(--lime-400) 34%,var(--card)); }
.geo-offer-cell.heat-4 { background: color-mix(in srgb,var(--lime-400) 45%,var(--card)); }
.geo-offer-cell.heat-5 { background: color-mix(in srgb,var(--lime-400) 58%,var(--card)); }
.geo-offer-cell.is-empty { color: color-mix(in srgb,var(--muted) 55%,transparent); }
.geo-total { background: color-mix(in srgb,var(--warning) 11%,var(--card)) !important; }
.geo-detail-row > td { padding: 0; border-bottom: 1px solid var(--border); background: color-mix(in srgb,var(--surface) 60%,var(--card)); }
.geo-city-detail { display: grid; grid-template-columns: minmax(500px,1.3fr) minmax(320px,1fr); gap: 12px; padding: 12px 16px 16px 50px; }
.geo-city-detail section { min-width: 0; }
.geo-city-detail h3 { margin: 0 0 8px; font-size: 10px; text-transform: uppercase; color: var(--muted); }
.geo-account-table { overflow-x: auto; border: 1px solid var(--border); border-radius: 10px; background: var(--card); }
.geo-account-table table { width: 100%; min-width: 720px; border-collapse: collapse; }
.geo-account-table td { padding: 7px 8px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); font-size: 9px; text-align: center; }
.geo-account-table td:first-child { min-width: 180px; text-align: left; }
.geo-account-table td strong,.geo-account-table td small { display: block; }
.geo-account-table td small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.geo-listing-preview { display: grid; align-content: start; gap: 5px; }
.geo-listing-preview h3 { grid-column: 1 / -1; }
.geo-listing-preview button { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 8px; min-width: 0; padding: 7px 8px; border: 1px solid var(--border); border-radius: 9px; color: var(--ink); background: var(--card); font: inherit; text-align: left; cursor: pointer; }
.geo-listing-preview button:hover { border-color: var(--violet-600); }
.geo-listing-preview button span { color: var(--violet-700); font-size: 8px; font-weight: 900; }
.geo-listing-preview button strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.geo-listing-preview button small { color: var(--muted); font-size: 8px; }
@media (max-width: 1100px) { .geo-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }.geo-city-detail { grid-template-columns: 1fr; padding-left: 16px; } }
@media (max-width: 620px) { .geo-summary { grid-template-columns: 1fr; }.geo-matrix-scroll { height: auto; max-height: none; }.geo-toolbar .ghost-button { width: 100%; } }

/* Dense analyst view for hundreds of cities and thousands of listings. */
.geo-toolbar { display: grid; grid-template-columns: minmax(210px,1.35fr) repeat(3,minmax(150px,.8fr)) auto auto auto; align-items: end; gap: 7px; }
.geo-toolbar label { display: grid; gap: 4px; min-width: 0; }
.geo-toolbar label > span { padding-left: 2px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.geo-toolbar .search-wrap { max-width: none; }
.geo-toolbar .search-input,.geo-toolbar .filter-select { width: 100%; min-width: 0; max-width: none; min-height: 35px; }
.geo-toolbar select:disabled { opacity: .5; cursor: not-allowed; }
.geo-city-scope { display: inline-flex; min-height: 35px; padding: 3px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); white-space: nowrap; }
.geo-city-scope button { padding: 0 10px; border: 0; border-radius: 7px; color: var(--muted); background: transparent; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.geo-city-scope button.active { color: var(--ink); background: var(--card); box-shadow: 0 2px 8px rgba(25,20,30,.08); }
.geo-toolbar > .text-button { min-height: 35px; }
.geo-toolbar .placement-multi { min-width: 150px; gap: 4px; }
.geo-toolbar .placement-multi > span { padding-left: 2px; font-size: 10px; }
.geo-toolbar .placement-multi summary { min-height: 35px; font-size: 12px; }
.geo-toolbar .placement-multi .effectiveness-multi-menu { width: max(100%,280px); }
.geo-toolbar > .secondary-button.compact { min-height: 35px; padding: 0 13px; white-space: nowrap; }
.geo-matrix-head { min-height: 58px; padding-top: 11px; padding-bottom: 10px; }
.geo-matrix-head h2 { margin-bottom: 3px; }
.geo-matrix-head p { margin: 0; color: var(--muted); font-size: 11px; }
.geo-heat-legend { display: flex; align-items: center; gap: 4px; color: var(--muted); font-size: 10px; white-space: nowrap; }
.geo-heat-legend i { width: 14px; height: 14px; border: 1px solid color-mix(in srgb,var(--ink) 5%,var(--border)); border-radius: 4px; }
.geo-heat-legend .heat-1 { background: color-mix(in srgb,var(--lime-400) 15%,var(--card)); }
.geo-heat-legend .heat-2 { background: color-mix(in srgb,var(--lime-400) 24%,var(--card)); }
.geo-heat-legend .heat-3 { background: color-mix(in srgb,var(--lime-400) 34%,var(--card)); }
.geo-heat-legend .heat-4 { background: color-mix(in srgb,var(--lime-400) 45%,var(--card)); }
.geo-heat-legend .heat-5 { background: color-mix(in srgb,var(--lime-400) 58%,var(--card)); }
.geo-matrix th { height: 48px; padding: 7px 6px; font-size: 11px; }
.geo-matrix th:first-child { width: 240px; min-width: 240px; max-width: 240px; }
.geo-matrix th:nth-child(2) { position: sticky; left: 240px; z-index: 5; width: 110px; min-width: 110px; max-width: 110px; }
.geo-matrix th:nth-child(3) { position: sticky; left: 350px; z-index: 5; width: 96px; min-width: 96px; max-width: 96px; box-shadow: 6px 0 12px rgba(20,20,20,.035); }
.geo-matrix th:last-child { position: sticky; right: 0; z-index: 7; width: 84px; min-width: 84px; background: color-mix(in srgb,var(--warning) 10%,var(--surface)); box-shadow: -6px 0 12px rgba(20,20,20,.04); }
.geo-filter-row th { top: 48px; height: 43px; }
.geo-filter-row th:nth-child(2),.geo-filter-row th:nth-child(3),.geo-filter-row th:last-child { z-index: 6; }
.geo-city-row > td { height: 50px; padding: 6px; border-color: color-mix(in srgb,var(--ink) 10%,var(--border)); font-size: 12px; }
.geo-region-row > td { height: 34px; padding: 7px 12px; border-top: 2px solid color-mix(in srgb,var(--violet-600) 22%,var(--border)); border-bottom: 1px solid var(--border); color: var(--ink); background: color-mix(in srgb,var(--violet-100) 48%,var(--surface)); text-align: left; }
.geo-region-row strong { font-size: 12px; }
.geo-region-row span { margin-left: 8px; color: var(--muted); font-size: 9px; font-weight: 750; }
.geo-city-row > td:first-child { width: 240px; min-width: 240px; max-width: 240px; }
.geo-city-row > td:nth-child(2) { position: sticky; z-index: 2; left: 240px; width: 110px; min-width: 110px; max-width: 110px; background: var(--card); }
.geo-city-row > td:nth-child(3) { position: sticky; z-index: 2; left: 350px; width: 96px; min-width: 96px; max-width: 96px; background: var(--card); box-shadow: 6px 0 12px rgba(20,20,20,.035); }
.geo-city-row > td:last-child { position: sticky; z-index: 4; right: 0; width: 84px; min-width: 84px; background: color-mix(in srgb,var(--warning) 10%,var(--card)) !important; box-shadow: -6px 0 12px rgba(20,20,20,.04); }
.geo-city-row:hover > td:nth-child(2),.geo-city-row:hover > td:nth-child(3) { background: color-mix(in srgb,var(--violet-600) 3%,var(--card)); }
.geo-city-toggle { min-height: 48px; padding: 6px 8px; }
.geo-city-toggle > span { flex-basis: 21px; width: 21px; height: 21px; border-radius: 6px; font-size: 12px; }
.geo-city-toggle strong { font-size: 13px; }
.geo-city-toggle small { font-size: 10px; }
.geo-population b,.geo-time b,.geo-total b,.geo-offer-cell b { font-size: 14px; }
.geo-time small,.geo-total small { font-size: 9px; }
.geo-total i { display: block; height: 3px; overflow: hidden; margin: 4px 3px 0; border-radius: 99px; background: color-mix(in srgb,var(--ink) 8%,transparent); }
.geo-total i span { display: block; height: 100%; border-radius: inherit; background: var(--warning); }
.geo-sort-button { position: relative; width: 100%; min-height: 34px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 14px 0 5px; border: 0; color: inherit; background: transparent; font: inherit; font-weight: 850; text-align: center; cursor: pointer; }
.geo-sort-icon { position: absolute; top: 50%; right: 3px; color: color-mix(in srgb,var(--muted) 80%,transparent); font-size: 11px; font-style: normal; line-height: 1; transform: translateY(-50%); }
.geo-static-head { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; line-height: 1.15; }
.geo-sort-button:hover { color: var(--violet-600); }
.geo-sort-button strong,.geo-sort-button small { display: block; }
.geo-sort-button small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.geo-unclassified-head { color: var(--warning) !important; background: var(--warning-soft) !important; }
.geo-unclassified-cell.has-value { background: color-mix(in srgb,var(--warning) 24%,var(--card)); }
.geo-unclassified-head,.geo-unclassified-filter { position: sticky !important; right: 84px !important; z-index: 6 !important; width: 58px !important; min-width: 58px !important; max-width: 58px !important; box-shadow: -5px 0 10px rgba(20,20,20,.035); }
.geo-city-row > .geo-unclassified-cell { position: sticky; right: 84px; z-index: 3; width: 58px; min-width: 58px; max-width: 58px; box-shadow: -5px 0 10px rgba(20,20,20,.035); }
.geo-offer-cell:hover { position: relative; z-index: 3; outline: 2px solid color-mix(in srgb,var(--violet-600) 70%,transparent); outline-offset: -2px; }
.geo-account-table th { position: static !important; width: auto !important; min-width: 0 !important; max-width: none !important; padding: 7px 8px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); color: var(--muted); background: var(--surface); box-shadow: none !important; font-size: 10px; text-align: center; }
.geo-account-table th:first-child { text-align: left; }
.geo-matrix th strong { font-size: 12px; }
.geo-filter-row input,.geo-filter-row select { font-size: 11px; }
.geo-toolbar .search-input,.geo-toolbar .filter-select { font-size: 12px; }
.geo-matrix-actions { display: flex; align-items: center; gap: 12px; }
.geo-fullscreen-button { min-height: 34px; padding: 0 11px; border: 1px solid var(--border); border-radius: 9px; color: var(--ink); background: var(--card); font: inherit; font-size: 10px; font-weight: 850; white-space: nowrap; cursor: pointer; }
.geo-fullscreen-button:hover { border-color: var(--violet-600); color: var(--violet-600); }
body.placement-matrix-open { overflow: hidden; }
.geo-matrix-panel.fullscreen { position: fixed; z-index: 1000; inset: 12px; display: flex; flex-direction: column; margin: 0; border-radius: 18px; background: var(--card); box-shadow: 0 24px 80px rgba(10,8,12,.28); }
.geo-matrix-panel.fullscreen .geo-matrix-head { flex: 0 0 auto; padding: 14px 18px; }
.geo-matrix-panel.fullscreen .geo-matrix-scroll { flex: 1 1 auto; max-height: none; }
.geo-matrix-panel.fullscreen .geo-matrix { min-width: 1150px; }
.geo-matrix-panel.fullscreen::before { content: ""; position: fixed; z-index: -1; inset: 0; background: rgba(14,12,17,.35); backdrop-filter: blur(2px); }
@media (max-width: 760px) { .geo-matrix-actions { width: 100%; justify-content: space-between; }.geo-fullscreen-button { margin-left: auto; } .geo-matrix-panel.fullscreen { inset: 5px; } }
.geo-city-row.no-listings > td { opacity: .58; }
.geo-detail-row > td { position: static !important; width: auto !important; max-width: none !important; box-shadow: none !important; }
.geo-matrix-scroll { scrollbar-color: color-mix(in srgb,var(--violet-600) 35%,var(--border)) transparent; scrollbar-width: thin; }
@media (max-width: 1180px) { .geo-toolbar { grid-template-columns: repeat(3,minmax(150px,1fr)); }.geo-search { grid-column: span 2; }.geo-city-scope { justify-self: start; } }
@media (max-width: 720px) { .geo-toolbar { grid-template-columns: 1fr 1fr; }.geo-search { grid-column: 1/-1; }.geo-city-scope { grid-column: 1/-1; width: 100%; }.geo-city-scope button { flex: 1; }.geo-heat-legend { display: none; } }

/* Placement matrix 2.0: stable absolute scale and compact analyst controls. */
.geo-active-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: -2px 0 8px; min-height: 28px; }
.geo-active-filters > span { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.geo-active-filters button { display: inline-flex; align-items: center; gap: 7px; min-height: 27px; padding: 0 8px 0 10px; border: 1px solid color-mix(in srgb,var(--violet-600) 24%,var(--border)); border-radius: 999px; color: var(--ink); background: color-mix(in srgb,var(--violet-100) 55%,var(--card)); font: inherit; cursor: pointer; }
.geo-active-filters button:hover { border-color: var(--violet-600); }
.geo-active-filters button b { max-width: 240px; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.geo-active-filters button i { color: var(--muted); font-size: 13px; font-style: normal; line-height: 1; }
.geo-matrix-head p > span { display: block; margin-top: 2px; color: color-mix(in srgb,var(--muted) 82%,var(--ink)); font-size: 9px; }
.geo-matrix-head { z-index: 25; overflow: visible; }
.geo-matrix-title { min-width: 0; }
.geo-matrix-title > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.geo-matrix-title h2 { margin: 0; }
.geo-freshness { position: relative; z-index: 20; }
.geo-freshness summary { display: inline-flex; align-items: center; gap: 5px; min-height: 25px; padding: 0 8px; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); background: var(--card); list-style: none; cursor: pointer; }
.geo-freshness summary::-webkit-details-marker { display: none; }
.geo-freshness summary > i,.geo-freshness article > i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--success); }
.geo-freshness summary b { color: var(--ink); font-size: 9px; }
.geo-freshness summary span { font-size: 8px; }
.geo-freshness.warning summary { border-color: color-mix(in srgb,var(--warning) 42%,var(--border)); background: color-mix(in srgb,var(--warning) 8%,var(--card)); }
.geo-freshness.warning summary > i,.geo-freshness article.warning > i { background: var(--warning); }
.geo-freshness > div { position: absolute; z-index: 40; top: calc(100% + 7px); left: 0; width: min(390px,calc(100vw - 36px)); max-height: 320px; overflow: auto; padding: 11px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); box-shadow: 0 16px 45px rgba(20,20,20,.16); }
.geo-freshness > div > header { display: grid; gap: 3px; padding: 2px 3px 9px; border-bottom: 1px solid var(--border); }
.geo-freshness > div > header strong { color: var(--ink); font-size: 10px; }
.geo-freshness > div > header small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.geo-freshness article { display: flex; align-items: center; gap: 8px; padding: 8px 3px; border-bottom: 1px solid color-mix(in srgb,var(--border) 72%,transparent); }
.geo-freshness article:last-child { border-bottom: 0; }
.geo-freshness article > div { display: grid; gap: 2px; min-width: 0; }
.geo-freshness article b { color: var(--ink); font-size: 9px; }
.geo-freshness article small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.geo-legends { display: grid; gap: 4px; }
.geo-heat-legend b { min-width: 18px; color: var(--muted); font-size: 8px; font-weight: 800; }
.geo-state-legend { display: flex; align-items: center; justify-content: flex-end; gap: 5px; color: var(--muted); font-size: 8px; white-space: nowrap; }
.geo-state-legend > span { display: grid; width: 16px; height: 16px; place-items: center; border: 1px solid var(--border); border-radius: 4px; font-size: 11px; font-weight: 900; }
.geo-state-legend > b { margin-right: 5px; font-size: 8px; font-weight: 750; }
.geo-state-legend .has-gap { color: var(--warning); background: color-mix(in srgb,var(--warning) 10%,var(--card)); }
.geo-state-legend .is-not-served { color: var(--muted); background: repeating-linear-gradient(135deg,var(--surface) 0,var(--surface) 3px,color-mix(in srgb,var(--muted) 8%,var(--surface)) 3px,color-mix(in srgb,var(--muted) 8%,var(--surface)) 6px); }
.geo-toolbar-compact { flex: 0 0 auto; grid-template-columns: minmax(190px,1.2fr) repeat(3,minmax(140px,.78fr)) auto auto auto; margin: 0; padding: 7px 12px; border-width: 1px 0 0; border-radius: 0; box-shadow: none; }
.geo-toolbar-compact label > span { font-size: 8px; }
.geo-toolbar-compact .search-input,.geo-toolbar-compact .filter-select,.geo-toolbar-compact .geo-city-scope,.geo-toolbar-compact > .text-button { min-height: 32px; }
.geo-matrix-panel.fullscreen > .geo-active-filters { flex: 0 0 auto; margin: 0; padding: 5px 14px; border-top: 1px solid var(--border); background: var(--card); }
.geo-matrix th { height: 42px; }
.geo-filter-row th { top: 42px; height: 36px; padding: 4px 6px; }
.geo-filter-row input,.geo-filter-row select { min-height: 28px; }
.geo-city-row > td { height: 44px; padding: 5px 6px; }
.geo-city-toggle { min-height: 42px; padding: 5px 8px; }
.geo-city-toggle strong { font-size: 12px; }
.geo-city-toggle small { font-size: 9px; }
.geo-population b,.geo-time b,.geo-total b,.geo-offer-cell b { font-size: 13px; }
.geo-city-row > td.geo-offer-cell { padding: 0; }
.geo-offer-cell > span,.geo-cell-drilldown { display: grid; width: 100%; min-height: 43px; place-items: center; }
.geo-cell-drilldown { border: 0; color: var(--ink); background: transparent; font: inherit; cursor: pointer; }
.geo-cell-drilldown:hover { background: color-mix(in srgb,var(--violet-600) 7%,transparent); }
.geo-offer-cell.selected { position: relative; z-index: 4; box-shadow: inset 0 0 0 3px var(--violet-600); }
.geo-offer-cell.has-gap { color: var(--warning); background: color-mix(in srgb,var(--warning) 8%,var(--card)); }
.geo-offer-cell.is-not-served { color: color-mix(in srgb,var(--muted) 68%,transparent); background: repeating-linear-gradient(135deg,var(--card) 0,var(--card) 5px,color-mix(in srgb,var(--muted) 5%,var(--card)) 5px,color-mix(in srgb,var(--muted) 5%,var(--card)) 10px); }
.geo-other-head { color: var(--violet-700) !important; background: color-mix(in srgb,var(--violet-100) 48%,var(--surface)) !important; }
.geo-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px 0 50px; }
.geo-detail-heading > div { display: grid; gap: 2px; }
.geo-detail-heading strong { color: var(--ink); font-size: 11px; }
.geo-detail-heading small { color: var(--muted); font-size: 9px; }
.geo-detail-heading button { min-height: 29px; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; color: var(--violet-700); background: var(--card); font: inherit; font-size: 9px; font-weight: 800; cursor: pointer; }
.geo-account-table.filtered table { min-width: 0; }
.geo-account-table.filtered th:last-child,.geo-account-table.filtered td:last-child { width: 110px; }
@media (max-width: 1180px) { .geo-toolbar-compact { grid-template-columns: repeat(3,minmax(150px,1fr)); } }
@media (max-width: 850px) { .geo-legends { display: none; }.geo-detail-heading { padding-left: 16px; } }

/* Offer classification */
.classification-compact-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.classification-compact-summary article { display: grid; gap: 4px; padding: 16px 18px; border: 1px solid var(--border); border-radius: 16px; background: var(--card); box-shadow: var(--shadow-soft); }
.classification-compact-summary article.needs-attention { border-color: color-mix(in srgb,var(--warning) 42%,var(--border)); background: color-mix(in srgb,var(--warning) 7%,var(--card)); }
.classification-compact-summary span,.classification-compact-summary small { color: var(--muted); font-size: 11px; }.classification-compact-summary strong { color: var(--ink); font-size: 24px; line-height: 1.1; }
.offer-directory-panel { margin-bottom: 14px; overflow: hidden; }.offer-directory-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; border-top: 1px solid var(--border); }.offer-directory-groups { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 16px; }
.offer-directory-group { overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }.offer-directory-group > header { display: flex; align-items: center; gap: 10px; padding: 12px; border-bottom: 1px solid var(--border); }.offer-directory-group > header > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: #fff; background: var(--violet-700); font-size: 11px; font-weight: 900; }.offer-directory-group header div,.offer-directory-group article { display: grid; gap: 2px; }.offer-directory-group header strong { font-size: 12px; }.offer-directory-group header small { color: var(--muted); font-size: 10px; }.offer-directory-group > div { max-height: 290px; overflow: auto; }.offer-directory-group article { grid-template-columns: 74px 1fr; align-items: center; gap: 8px; padding: 9px 12px; border-bottom: 1px solid var(--border); }.offer-directory-group article:last-child { border-bottom: 0; }.offer-directory-group article b { color: var(--violet-700); font-size: 11px; }.offer-directory-group article span { color: var(--ink); font-size: 11px; line-height: 1.3; }
.offer-category-form { display: grid; align-content: start; gap: 11px; padding: 18px; border-left: 1px solid var(--border); background: var(--surface); }.offer-category-form h3 { margin: 0 0 3px; font-size: 17px; }.offer-category-form label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 800; }.offer-category-form input,.offer-category-form select,.manual-offer-action select { min-height: 42px; padding: 0 11px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); font: inherit; font-size: 12px; }
.unclassified-items-panel { margin-bottom: 14px; overflow: hidden; }.classification-count { display: grid; min-width: 40px; height: 40px; padding: 0 10px; place-items: center; border-radius: 12px; color: var(--warning); background: color-mix(in srgb,var(--warning) 11%,var(--card)); font-size: 15px; font-weight: 900; }.classification-search { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; border-top: 1px solid var(--border); background: var(--surface); }.classification-search .search-wrap { width: min(520px,100%); }.classification-search > span { color: var(--muted); font-size: 11px; }.unclassified-items-table { width: 100%; min-width: 900px; border-collapse: collapse; }.unclassified-items-table th { padding: 10px 14px; color: var(--muted); background: var(--surface); font-size: 10px; text-align: left; text-transform: uppercase; }.unclassified-items-table td { padding: 12px 14px; border-top: 1px solid var(--border); vertical-align: middle; font-size: 12px; }.unclassified-items-table td strong,.unclassified-items-table td small { display: block; }.unclassified-items-table td strong { max-width: 460px; line-height: 1.35; }.unclassified-items-table td small { margin-top: 4px; color: var(--muted); font-size: 10px; }.offer-item-link { color: var(--violet-700); font-size: 11px; font-weight: 800; text-decoration: none; }.manual-offer-action { display: flex; align-items: center; gap: 8px; }.manual-offer-action select { min-width: 220px; }.manual-offer-action button { min-height: 42px; white-space: nowrap; }.classification-limit-note { padding: 11px 16px; border-top: 1px solid var(--border); color: var(--muted); background: var(--surface); font-size: 11px; }
.classification-summary { margin-bottom: 12px; }
.classification-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 12px; margin-bottom: 12px; align-items: start; }
.classification-rules-panel { overflow: hidden; }.classification-table { width: 100%; min-width: 680px; border-collapse: collapse; }.classification-table th { padding: 11px 13px; color: var(--muted); background: var(--surface); font-size: 10px; text-align: left; text-transform: uppercase; }.classification-table td { padding: 11px 13px; border-top: 1px solid var(--border); font-size: 12px; }.classification-table td strong,.classification-table td small { display: block; }.classification-table td small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.offer-code-chip { display: inline-flex; min-width: 54px; justify-content: center; padding: 6px 8px; border-radius: 8px; color: var(--violet-600); background: color-mix(in srgb,var(--violet-600) 10%,var(--card)); font-size: 9px; font-weight: 900; }
.classification-create { position: sticky; top: 82px; padding: 17px; }.classification-create h2 { margin: 5px 0; font-size: 17px; }.classification-create > p { margin: 0 0 14px; color: var(--muted); font-size: 11px; line-height: 1.45; }.classification-create form { display: grid; gap: 10px; }.classification-create label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 800; }.classification-create input,.classification-create select { min-height: 40px; padding: 0 11px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); font: inherit; font-size: 12px; }
.unclassified-panel { padding: 0; overflow: hidden; }.unclassified-panel .panel-head { padding: 16px; }.unclassified-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--border); }.unclassified-list article { padding: 11px 15px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }.unclassified-list strong,.unclassified-list span { display: block; }.unclassified-list strong { font-size: 10px; }.unclassified-list span { margin-top: 4px; color: var(--muted); font-size: 8px; }
@media (max-width: 1100px) { .offer-directory-layout { grid-template-columns: 1fr; }.offer-category-form { border-top: 1px solid var(--border); border-left: 0; }.offer-directory-groups { grid-template-columns: 1fr; }.classification-layout { grid-template-columns: 1fr; }.classification-create { position: static; } }
@media (max-width: 680px) { .classification-compact-summary { grid-template-columns: 1fr; }.classification-search { align-items: stretch; flex-direction: column; } }

.account-edit-modal { width: min(780px, 100%); }
.form-section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 4px 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.form-section-title:not(:first-child) { margin-top: 22px; }
.form-section-title strong { font-size: 12px; }
.form-section-title span { color: var(--muted); font-size: 8px; }
.account-edit-grid select, .account-edit-grid textarea { width: 100%; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); font: inherit; font-size: 11px; }
.account-edit-grid select { min-height: 42px; padding: 0 11px; }
.account-edit-grid textarea { min-height: 76px; padding: 10px 12px; resize: vertical; line-height: 1.45; }
.access-credential-state { padding: 9px 11px; border: 1px solid color-mix(in srgb, var(--success) 22%, var(--border)); border-radius: 10px; color: var(--success); background: var(--success-soft); font-size: 9px; line-height: 1.4; }

/*
 * Legacy design concept 01 — Fresh operations.
 * The class on <body> makes this visual experiment easy to disable without
 * touching product logic or the original component rules above.
 */
body.design-fresh {
  --violet-950: #101713;
  --violet-900: #14211a;
  --violet-800: #193025;
  --violet-700: #24543b;
  --violet-600: #357a54;
  --violet-500: #4f8f6c;
  --violet-300: #cbd9d0;
  --lime-500: #9ed52f;
  --lime-400: #b9e85b;
  --pink-400: #75c697;
  --ink: #151a17;
  --muted: #6e766f;
  --surface: #f3f5f1;
  --card: #ffffff;
  --border: #e1e6e0;
  --success: #26804b;
  --success-soft: #edf8f0;
  --info: #3f6f91;
  --shadow: 0 12px 34px rgba(20, 33, 26, .055);
  --radius-lg: 16px;
  --radius-md: 12px;
  --sidebar-width: 232px;
  font-family: Inter, "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  background: var(--surface);
}

body.design-fresh .sidebar {
  padding: 22px 14px 16px;
  background: #14211a;
  box-shadow: inset -1px 0 rgba(255, 255, 255, .045);
}

body.design-fresh .brand { gap: 11px; padding: 0 9px 27px; }
body.design-fresh .brand strong {
  color: #f8fbf8;
  font-size: 20px;
  font-weight: 720;
  letter-spacing: -.65px;
}
body.design-fresh .brand small { color: #829388; font-size: 9px; letter-spacing: 1.65px; }
body.design-fresh .brand-mark {
  width: 36px;
  height: 36px;
  overflow: hidden;
  border-radius: 11px;
  background: var(--lime-400);
  box-shadow: none;
  transform: none;
}
body.design-fresh .brand-mark i,
body.design-fresh .brand-mark b {
  top: 9px;
  width: 7px;
  border-radius: 999px;
  background: #173021;
  transform: rotate(-18deg);
}
body.design-fresh .brand-mark i { left: 10px; height: 18px; }
body.design-fresh .brand-mark b { right: 10px; height: 12px; }

body.design-fresh .nav-label { margin: 12px 11px 7px; color: #6f8176; font-size: 9px; letter-spacing: 1.35px; }
body.design-fresh .nav-item {
  min-height: 43px;
  gap: 10px;
  margin: 2px 0;
  padding: 8px 10px;
  border-radius: 10px;
  color: #9eaea4;
  font-size: 13px;
  font-weight: 520;
}
body.design-fresh .nav-item > span { width: 27px; height: 27px; color: #778a7e; font-size: 15px; }
body.design-fresh .nav-item:hover { color: #fff; background: rgba(255, 255, 255, .055); }
body.design-fresh .nav-item.active {
  color: #14211a;
  background: var(--lime-400);
  box-shadow: none;
  font-weight: 680;
}
body.design-fresh .nav-item.active > span { color: #14211a; }
body.design-fresh .nav-count { color: #c5d1c9; background: rgba(255, 255, 255, .075); }
body.design-fresh .nav-item.active .nav-count { color: #14211a; background: rgba(20, 33, 26, .11); }
body.design-fresh .nav-count.alert { color: #fff; background: var(--danger); }

body.design-fresh .sidebar-health {
  margin: 16px 3px 7px;
  padding: 13px;
  border-color: rgba(255, 255, 255, .075);
  border-radius: 12px;
  background: rgba(255, 255, 255, .035);
  backdrop-filter: none;
}
body.design-fresh .health-line { font-size: 11px; }
body.design-fresh .sidebar-health small { margin-left: 15px; color: #788a7f; font-size: 9px; }
body.design-fresh .health-meter i { background: var(--lime-400); }
body.design-fresh .health-meta { color: #788a7f; }
body.design-fresh .user-card { border-top: 1px solid rgba(255, 255, 255, .065); margin-top: 5px; padding: 13px 7px 2px; }
body.design-fresh .avatar { color: #14211a; border-radius: 50%; background: #eaf3ec; }

body.design-fresh .topbar {
  height: 72px;
  padding: 0 28px;
  border-bottom-color: var(--border);
  background: rgba(255, 255, 255, .91);
  backdrop-filter: blur(16px);
}
body.design-fresh .breadcrumb { font-size: 12px; }
body.design-fresh .breadcrumb span,
body.design-fresh .breadcrumb b { color: #a4aaa5; }
body.design-fresh .sync-state strong { font-size: 11px; }
body.design-fresh .sync-state small { font-size: 9px; }
body.design-fresh .icon-button {
  width: 38px;
  height: 38px;
  border-color: var(--border);
  border-radius: 10px;
  box-shadow: none;
}
body.design-fresh .icon-button:hover { border-color: #b8c5bc; background: #f8faf8; }

body.design-fresh .primary-button,
body.design-fresh .secondary-button,
body.design-fresh .ghost-button,
body.design-fresh .danger-button {
  min-height: 40px;
  border-radius: 10px;
  padding-inline: 16px;
  font-size: 12px;
  font-weight: 680;
}
body.design-fresh .primary-button {
  border-color: #8fc52c;
  color: #14211a;
  background: var(--lime-400);
  box-shadow: none;
}
body.design-fresh .primary-button:hover { filter: brightness(.97); transform: translateY(-1px); }
body.design-fresh .secondary-button { border-color: #dce2dc; }
body.design-fresh .ghost-button { color: var(--violet-700); background: #edf3ef; }

body.design-fresh #app { max-width: 1680px; padding: 26px 28px 60px; }
body.design-fresh .dashboard-intro {
  min-height: 142px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 18px;
  padding: 26px 28px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 0%, rgba(185, 232, 91, .20), transparent 28%),
    #fff;
  box-shadow: var(--shadow);
}
body.design-fresh .intro-copy { min-width: 0; }
body.design-fresh .dashboard-intro .eyebrow { color: var(--violet-600); }
body.design-fresh .dashboard-intro h1 {
  margin: 7px 0 7px;
  color: var(--ink);
  font-family: "Segoe UI Variable Display", "Segoe UI", sans-serif;
  font-size: clamp(27px, 3vw, 36px);
  line-height: 1.05;
  letter-spacing: -1.15px;
}
body.design-fresh .dashboard-intro p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
body.design-fresh .intro-actions { display: flex; flex: 0 0 auto; gap: 9px; }

body.design-fresh .summary-grid { gap: 12px; margin-bottom: 16px; }
body.design-fresh .metric-card,
body.design-fresh .panel {
  border-color: var(--border);
  box-shadow: var(--shadow);
}
body.design-fresh .metric-card { padding: 17px 18px; }
body.design-fresh .metric-top { color: var(--muted); font-size: 11px; }
body.design-fresh .metric-icon { border-radius: 9px; color: var(--violet-700); background: #edf3ef; }
body.design-fresh .metric-value { margin-top: 12px; font-size: 27px; letter-spacing: -.85px; }
body.design-fresh .trend { margin-top: 8px; font-size: 10px; }
body.design-fresh .dashboard-grid { gap: 16px; margin-bottom: 16px; }
body.design-fresh .panel-head { min-height: 66px; padding: 16px 18px; }
body.design-fresh .panel-head h2,
body.design-fresh .chart-head h2 { color: var(--ink); font-size: 15px; letter-spacing: -.35px; }
body.design-fresh .panel-head p,
body.design-fresh .chart-head p { font-size: 10px; }
body.design-fresh .text-button { color: var(--violet-600); }
body.design-fresh .attention-item { padding-block: 13px; }
body.design-fresh .account-monogram {
  color: #173021;
  background: #dff0e4;
  box-shadow: none;
}
body.design-fresh .attention-item strong,
body.design-fresh .account-cell strong { font-size: 12px; }
body.design-fresh .attention-item small,
body.design-fresh .account-cell small,
body.design-fresh .problem-copy { font-size: 10px; }
body.design-fresh .notification-dot.info { color: var(--violet-700); background: #edf3ef; }
body.design-fresh .chart-legend span::before { background: var(--violet-500); }
body.design-fresh .chart-legend span:last-child::before { background: var(--lime-500); }
body.design-fresh .chart-line-primary { stroke: var(--violet-500); }
body.design-fresh .chart-point { stroke: var(--violet-500); }
body.design-fresh .chart-grid-line { stroke: #e9ede9; }

body.design-fresh .page-head h1,
body.design-fresh .account-title h1 { color: var(--ink); font-family: "Segoe UI Variable Display", "Segoe UI", sans-serif; }
body.design-fresh .eyebrow { color: var(--violet-600); }
body.design-fresh .table-panel { box-shadow: var(--shadow); }
body.design-fresh .data-table th { height: 46px; color: #758078; background: #f7f9f7; font-size: 10px; }
body.design-fresh .data-table td { padding-block: 14px; font-size: 11px; }
body.design-fresh .data-table tbody tr:hover { background: #f8faf8; }
body.design-fresh .message-stat { color: var(--violet-700); background: #edf3ef; }
body.design-fresh .page-button.active { border-color: var(--violet-700); background: var(--violet-700); }
body.design-fresh .tab-button.active { color: #14211a; background: var(--lime-400); }
body.design-fresh .back-button,
body.design-fresh .text-button { color: var(--violet-600); }
body.design-fresh .toast { border-color: #dbe5dc; box-shadow: 0 18px 42px rgba(20, 33, 26, .13); }

@media (max-width: 920px) {
  body.design-fresh .mobile-overlay.show { background: rgba(12, 24, 16, .48); }
  body.design-fresh #app { padding: 22px 18px 50px; }
  body.design-fresh .dashboard-intro { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 680px) {
  body.design-fresh .topbar { height: 64px; padding-inline: 14px; }
  body.design-fresh #app { padding: 18px 13px 44px; }
  body.design-fresh .dashboard-intro { min-height: 0; padding: 22px 19px; }
  body.design-fresh .dashboard-intro h1 { font-size: 28px; }
  body.design-fresh .intro-actions { width: 100%; flex-wrap: wrap; }
  body.design-fresh .intro-actions > button { flex: 1 1 150px; }
}

/*
 * Design concept 02 — Vanta.
 * Visual-only layer: the application structure and product logic stay intact.
 */
html[data-theme="dark"] { color-scheme: dark; background: #11161c; }
html[data-theme="light"] { color-scheme: light; background: #f2f0eb; }

html[data-theme="dark"] body.design-vanta {
  --v-bg: #11161c;
  --v-workspace: #141a20;
  --v-sidebar: #0d1217;
  --v-card: #171e25;
  --v-card-raised: #1a222a;
  --v-card-soft: #151b21;
  --v-border: #2a333d;
  --v-border-soft: #222a32;
  --v-text: #f3efe8;
  --v-muted: #9ba1a7;
  --v-accent: #c89b57;
  --v-accent-strong: #ddb66f;
  --v-accent-soft: rgba(200, 155, 87, .12);
  --v-success: #83ba77;
  --v-success-soft: rgba(131, 186, 119, .12);
  --v-danger: #ee6e65;
  --v-danger-soft: rgba(238, 110, 101, .12);
  --v-warning: #d8a34f;
  --v-warning-soft: rgba(216, 163, 79, .12);
  --v-info: #8fa7bd;
  --v-input: #151b21;
  --v-row-hover: #1c242c;
  --v-shadow: 0 14px 38px rgba(0, 0, 0, .12);
}

html[data-theme="light"] body.design-vanta {
  --v-bg: #eeece7;
  --v-workspace: #f2f0eb;
  --v-sidebar: #11161c;
  --v-card: #fbfaf7;
  --v-card-raised: #fffefa;
  --v-card-soft: #f5f3ee;
  --v-border: #dcd8d0;
  --v-border-soft: #e8e4dc;
  --v-text: #202428;
  --v-muted: #74797c;
  --v-accent: #b8833d;
  --v-accent-strong: #9f6f30;
  --v-accent-soft: rgba(184, 131, 61, .11);
  --v-success: #4f8d55;
  --v-success-soft: #edf5ed;
  --v-danger: #d95750;
  --v-danger-soft: #fbeceb;
  --v-warning: #bd7c25;
  --v-warning-soft: #faf1e2;
  --v-info: #60798f;
  --v-input: #f7f5f0;
  --v-row-hover: #f7f4ee;
  --v-shadow: 0 14px 38px rgba(31, 34, 31, .045);
}

body.design-vanta {
  --violet-950: var(--v-text);
  --violet-900: var(--v-card);
  --violet-800: var(--v-card-raised);
  --violet-700: var(--v-accent);
  --violet-600: var(--v-accent);
  --violet-500: var(--v-accent);
  --violet-300: var(--v-border);
  --lime-500: var(--v-accent);
  --lime-400: var(--v-accent-strong);
  --pink-400: var(--v-accent);
  --ink: var(--v-text);
  --muted: var(--v-muted);
  --surface: var(--v-workspace);
  --card: var(--v-card);
  --border: var(--v-border);
  --danger: var(--v-danger);
  --danger-soft: var(--v-danger-soft);
  --warning: var(--v-warning);
  --warning-soft: var(--v-warning-soft);
  --success: var(--v-success);
  --success-soft: var(--v-success-soft);
  --info: var(--v-info);
  --shadow: var(--v-shadow);
  --radius-lg: 14px;
  --radius-md: 10px;
  --sidebar-width: 228px;
  min-height: 100vh;
  color: var(--v-text);
  background: var(--v-workspace);
  font-family: Inter, "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  transition: color .18s ease, background-color .18s ease;
}

body.design-vanta .app-shell { background: var(--v-workspace); }
body.design-vanta .workspace { min-height: 100vh; background: var(--v-workspace); }
body.design-vanta .sidebar {
  padding: 22px 14px 16px;
  color: #f1eee8;
  background: var(--v-sidebar);
  box-shadow: inset -1px 0 rgba(255, 255, 255, .045);
}
body.design-vanta .brand {
  min-height: 52px;
  align-items: center;
  gap: 10px;
  padding: 0 5px 28px;
}
body.design-vanta .brand-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body.design-vanta .brand strong {
  color: #f4f0e8;
  font-family: "Segoe UI Variable Display", "Segoe UI", sans-serif;
  font-size: 19px;
  font-weight: 620;
  letter-spacing: 3.4px;
  line-height: 1;
  text-transform: uppercase;
}
body.design-vanta .brand small {
  max-width: 143px;
  margin-top: 7px;
  color: #777d82;
  font-size: 7px;
  letter-spacing: .72px;
  line-height: 1.25;
  white-space: nowrap;
  text-transform: uppercase;
}
body.design-vanta .brand-axis {
  width: 40px;
  height: 44px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
}
body.design-vanta .brand-axis svg { width: 100%; height: 100%; overflow: visible; }
body.design-vanta .brand-axis-left { fill: #f4f0e8; }
body.design-vanta .brand-axis-right { fill: var(--v-accent-strong); }
body.design-vanta .brand-axis-line {
  fill: none;
  stroke: var(--v-accent-strong);
  stroke-width: 1.5;
  stroke-linecap: square;
  vector-effect: non-scaling-stroke;
}

body.design-vanta .nav-label { margin: 13px 11px 7px; color: #687077; font-size: 9px; letter-spacing: 1.35px; }
body.design-vanta .nav-item {
  min-height: 42px;
  gap: 10px;
  margin: 2px 0;
  padding: 8px 10px;
  border-radius: 9px;
  color: #a8adb1;
  font-size: 13px;
  font-weight: 500;
}
body.design-vanta .nav-item > span { width: 27px; height: 27px; color: #8e9499; font-size: 15px; }
body.design-vanta .nav-item:hover { color: #f4f0e8; background: rgba(255, 255, 255, .045); }
body.design-vanta .nav-item.active {
  color: #f6f2ea;
  background: linear-gradient(90deg, rgba(200, 155, 87, .14), rgba(255, 255, 255, .035));
  box-shadow: inset 2px 0 var(--v-accent);
}
body.design-vanta .nav-item.active > span { color: var(--v-accent-strong); }
body.design-vanta .nav-count { color: #b9bec1; background: rgba(255, 255, 255, .07); }
body.design-vanta .nav-count.alert { color: #fff; background: var(--v-danger); }

body.design-vanta .sidebar-health {
  margin: 16px 3px 7px;
  padding: 13px;
  border-color: rgba(255, 255, 255, .07);
  border-radius: 10px;
  background: rgba(255, 255, 255, .025);
  backdrop-filter: none;
}
body.design-vanta .health-line { font-size: 11px; }
body.design-vanta .sidebar-health small { margin-left: 15px; color: #747b80; font-size: 9px; }
body.design-vanta .health-meter { background: rgba(255, 255, 255, .08); }
body.design-vanta .health-meter i { background: var(--v-accent); }
body.design-vanta .health-meta { color: #747b80; }
body.design-vanta .user-card { margin-top: 5px; padding: 13px 7px 2px; border-top: 1px solid rgba(255, 255, 255, .06); }
body.design-vanta .avatar { color: #171b1f; border-radius: 50%; background: #d7bd92; }

body.design-vanta .topbar {
  height: 72px;
  padding: 0 28px;
  border-bottom: 1px solid var(--v-border-soft);
  background: color-mix(in srgb, var(--v-workspace) 92%, transparent);
  backdrop-filter: blur(16px);
}
body.design-vanta .breadcrumb { font-size: 12px; }
body.design-vanta .breadcrumb span,
body.design-vanta .breadcrumb b { color: var(--v-muted); }
body.design-vanta .header-clocks { border-color: var(--v-border); background: var(--v-card); }
body.design-vanta .header-clocks span { color: var(--v-muted); }
body.design-vanta .header-clocks strong { color: var(--v-text); }
body.design-vanta .header-clocks i { background: var(--v-border); }
body.design-vanta .pulse { background: var(--v-success); box-shadow: 0 0 0 5px var(--v-success-soft); }
body.design-vanta .icon-button {
  width: 38px;
  height: 38px;
  border-color: var(--v-border);
  border-radius: 9px;
  color: var(--v-text);
  background: var(--v-card);
  box-shadow: none;
}
body.design-vanta .icon-button:hover { color: var(--v-accent-strong); border-color: var(--v-accent); background: var(--v-card-raised); }
body.design-vanta .theme-toggle { font-size: 16px; }
body.design-vanta .notification-button i { border-color: var(--v-workspace); }

body.design-vanta .primary-button,
body.design-vanta .secondary-button,
body.design-vanta .ghost-button,
body.design-vanta .danger-button {
  min-height: 40px;
  border-radius: 9px;
  padding-inline: 16px;
  font-size: 12px;
  font-weight: 650;
  box-shadow: none;
}
body.design-vanta .primary-button { border: 1px solid var(--v-accent); color: #171a1c; background: var(--v-accent-strong); }
body.design-vanta .primary-button:hover { filter: brightness(1.04); transform: translateY(-1px); }
body.design-vanta .secondary-button { border-color: var(--v-border); color: var(--v-text); background: var(--v-card); }
body.design-vanta .ghost-button { color: var(--v-accent-strong); background: var(--v-accent-soft); }
body.design-vanta .danger-button { border-color: color-mix(in srgb, var(--v-danger) 42%, transparent); }

body.design-vanta #app { max-width: 1680px; padding: 26px 28px 60px; }
body.design-vanta .page-head h1,
body.design-vanta .account-title h1,
body.design-vanta .dashboard-intro h1 {
  color: var(--v-text);
  font-family: "Segoe UI Variable Display", "Segoe UI", sans-serif;
  font-weight: 650;
  letter-spacing: -.9px;
}
body.design-vanta .eyebrow { color: var(--v-accent); letter-spacing: 1.3px; }
body.design-vanta .dashboard-intro {
  position: relative;
  min-height: 136px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 16px;
  padding: 25px 27px;
  overflow: hidden;
  border: 1px solid var(--v-border);
  border-radius: var(--radius-lg);
  color: var(--v-text);
  background: var(--v-card);
  box-shadow: var(--v-shadow);
}
body.design-vanta .dashboard-intro::before {
  content: "";
  position: absolute;
  left: 0;
  top: 25px;
  bottom: 25px;
  width: 2px;
  background: var(--v-accent);
}
body.design-vanta .dashboard-intro h1 { margin: 7px 0 7px; font-size: clamp(27px, 3vw, 35px); line-height: 1.05; }
body.design-vanta .dashboard-intro p { margin: 0; color: var(--v-muted); font-size: 13px; line-height: 1.55; }
body.design-vanta .intro-actions { display: flex; flex: 0 0 auto; gap: 9px; }

body.design-vanta .summary-grid { gap: 12px; margin-bottom: 16px; }
body.design-vanta .metric-card,
body.design-vanta .panel,
body.design-vanta .alert-card,
body.design-vanta .rule-card,
body.design-vanta .integration-card,
body.design-vanta .setting-card {
  border-color: var(--v-border);
  background: var(--v-card);
  box-shadow: var(--v-shadow);
}
body.design-vanta .metric-card { padding: 17px 18px; }
body.design-vanta .metric-top { color: var(--v-muted); font-size: 11px; }
body.design-vanta .metric-icon,
body.design-vanta .rule-icon,
body.design-vanta .integration-icon {
  border: 1px solid var(--v-border);
  border-radius: 50%;
  color: var(--v-accent-strong);
  background: var(--v-accent-soft);
}
body.design-vanta .metric-icon.lime { color: var(--v-success); background: var(--v-success-soft); }
body.design-vanta .metric-icon.red { color: var(--v-danger); background: var(--v-danger-soft); }
body.design-vanta .metric-icon.orange { color: var(--v-warning); background: var(--v-warning-soft); }
body.design-vanta .metric-value { margin-top: 12px; font-size: 27px; letter-spacing: -.8px; }
body.design-vanta .trend { margin-top: 8px; font-size: 10px; }
body.design-vanta .dashboard-grid { gap: 16px; margin-bottom: 16px; }
body.design-vanta .panel-head { min-height: 66px; padding: 16px 18px; border-color: var(--v-border-soft); }
body.design-vanta .panel-head h2,
body.design-vanta .chart-head h2 { color: var(--v-text); font-size: 15px; letter-spacing: -.25px; }
body.design-vanta .panel-head p,
body.design-vanta .chart-head p,
body.design-vanta .chart-legend { color: var(--v-muted); }
body.design-vanta .text-button,
body.design-vanta .back-button { color: var(--v-accent-strong); }
body.design-vanta .attention-item,
body.design-vanta .notification-item,
body.design-vanta .connection-row,
body.design-vanta .setting-toggle,
body.design-vanta .log-row,
body.design-vanta .import-history-row { border-color: var(--v-border-soft); }
body.design-vanta .attention-item:hover { background: var(--v-row-hover); }
body.design-vanta .account-monogram { color: var(--v-accent-strong); border: 1px solid var(--v-border); background: var(--v-accent-soft); box-shadow: none; }
body.design-vanta .notification-dot.info { color: var(--v-accent-strong); background: var(--v-accent-soft); }

body.design-vanta .chart-grid-line { stroke: var(--v-border); }
body.design-vanta .chart-line-primary { stroke: var(--v-accent); }
body.design-vanta .chart-line-secondary { stroke: var(--v-success); }
body.design-vanta .chart-point { fill: var(--v-card); stroke: var(--v-accent); }
body.design-vanta .axis-label { fill: var(--v-muted); }
body.design-vanta .chart-legend span::before { background: var(--v-accent); }
body.design-vanta .chart-legend span:last-child::before { background: var(--v-success); }

body.design-vanta .search-input,
body.design-vanta .period-select,
body.design-vanta .filter-select,
body.design-vanta .matrix-search,
body.design-vanta .matrix-input,
body.design-vanta .matrix-select,
body.design-vanta .credentials-form input,
body.design-vanta .telegram-setup-form input,
body.design-vanta .telegram-setup-form select,
body.design-vanta .form-grid input {
  border-color: var(--v-border);
  color: var(--v-text);
  background: var(--v-input);
}
body.design-vanta input::placeholder { color: color-mix(in srgb, var(--v-muted) 72%, transparent); }
body.design-vanta .search-wrap::before { color: var(--v-muted); }

body.design-vanta .table-panel { box-shadow: var(--v-shadow); }
body.design-vanta .data-table th { height: 46px; color: var(--v-muted); background: var(--v-card-soft); }
body.design-vanta .data-table td { padding-block: 14px; border-color: var(--v-border-soft); color: var(--v-text); }
body.design-vanta .data-table tbody tr:hover { background: var(--v-row-hover); }
body.design-vanta .row-menu,
body.design-vanta .page-button { border-color: var(--v-border); color: var(--v-muted); background: var(--v-card); }
body.design-vanta .page-button.active { border-color: var(--v-accent); color: #171a1c; background: var(--v-accent); }
body.design-vanta .table-footer { border-color: var(--v-border); }
body.design-vanta .message-stat { color: var(--v-accent-strong); background: var(--v-accent-soft); }
body.design-vanta .tabs { border-color: var(--v-border); background: var(--v-card); }
body.design-vanta .tab-button.active { color: #171a1c; background: var(--v-accent-strong); }

body.design-vanta .status-off { color: var(--v-muted); background: color-mix(in srgb, var(--v-muted) 11%, transparent); }
body.design-vanta .status-info { color: var(--v-info); background: color-mix(in srgb, var(--v-info) 12%, transparent); }
body.design-vanta .connection-summary,
body.design-vanta .settings-account-banner,
body.design-vanta .security-note,
body.design-vanta .rule-meta span,
body.design-vanta .import-summary-grid > div,
body.design-vanta .registry-detail-stat {
  border-color: var(--v-border);
  color: var(--v-text);
  background: var(--v-card-soft);
}
body.design-vanta .settings-account-banner { background-image: none; }
body.design-vanta .switch,
body.design-vanta .setting-toggle i,
body.design-vanta .matrix-switch i { background: color-mix(in srgb, var(--v-muted) 38%, transparent); }
body.design-vanta .switch.on,
body.design-vanta .setting-toggle input:checked + i,
body.design-vanta .matrix-switch input:checked + i { background: var(--v-accent); }
body.design-vanta .switch::after,
body.design-vanta .setting-toggle i::after,
body.design-vanta .matrix-switch i::after { background: #f7f1e8; }

body.design-vanta .rules-matrix th,
body.design-vanta .rules-matrix td,
body.design-vanta .rules-matrix .matrix-account-cell,
body.design-vanta .matrix-footer { border-color: var(--v-border); color: var(--v-text); background: var(--v-card); }
body.design-vanta .rules-matrix thead th,
body.design-vanta .rules-matrix thead .matrix-groups th { color: var(--v-text); background: var(--v-card-soft); }
body.design-vanta .rules-matrix tbody tr:nth-child(even) td,
body.design-vanta .rules-matrix tbody tr:nth-child(even) .matrix-account-cell { background: var(--v-card-soft); }
body.design-vanta .rules-matrix tbody tr:hover td { background: var(--v-row-hover); }

body.design-vanta .upload-zone {
  border-color: var(--v-border);
  color: var(--v-text);
  background: var(--v-card-soft);
}
body.design-vanta .upload-zone:hover,
body.design-vanta .upload-zone.dragging { border-color: var(--v-accent); background: var(--v-accent-soft); }
body.design-vanta .upload-icon,
body.design-vanta .import-required-columns code { color: var(--v-accent-strong); background: var(--v-accent-soft); }
body.design-vanta .import-row-error td { background: var(--v-danger-soft); }
body.design-vanta .registry-expanded-row > td,
body.design-vanta .registry-expanded-grid { background: var(--v-card-soft); }
body.design-vanta .registry-detail-stat { background: var(--v-card); }

body.design-vanta .modal-backdrop { background: rgba(6, 9, 12, .68); }
body.design-vanta .modal { border-color: var(--v-border); color: var(--v-text); background: var(--v-card); box-shadow: 0 30px 90px rgba(0, 0, 0, .32); }
body.design-vanta .modal > header { border-color: var(--v-border); }
body.design-vanta .toast { border-color: var(--v-border); color: var(--v-text); background: var(--v-card-raised); box-shadow: 0 18px 48px rgba(0, 0, 0, .22); }
body.design-vanta .toast > span { color: var(--v-success); background: var(--v-success-soft); }

@media (max-width: 920px) {
  body.design-vanta .mobile-overlay.show { background: rgba(6, 9, 12, .62); }
  body.design-vanta #app { padding: 22px 18px 50px; }
  body.design-vanta .dashboard-intro { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 680px) {
  html,
  body.design-vanta { overflow-x: hidden; }
  body.design-vanta .topbar { height: 64px; padding-inline: 14px; }
  body.design-vanta .topbar-left { min-width: 0; }
  body.design-vanta .topbar-actions { flex: 0 0 auto; gap: 7px; }
  body.design-vanta .primary-button.compact {
    width: 40px;
    min-width: 40px;
    padding: 0;
    font-size: 0;
  }
  body.design-vanta .primary-button.compact span { font-size: 16px; }
  body.design-vanta #app { padding: 18px 13px 44px; }
  body.design-vanta .dashboard-intro { min-height: 0; padding: 22px 19px; }
  body.design-vanta .dashboard-intro h1 { font-size: 28px; }
  body.design-vanta .intro-actions { width: 100%; display: flex; flex-wrap: wrap; }
  body.design-vanta .intro-actions > button { flex: 1 1 150px; }
  body.design-vanta .theme-toggle { display: grid !important; }
}

/* Registry sheet view — dense and close to the working Excel layout */
.registry-table-legend {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin: -3px 2px 10px;
  color: var(--muted);
  font-size: 9px;
}
.registry-control-summary { display: grid; grid-template-columns: minmax(230px, 280px) minmax(300px, 360px); gap: 10px; margin-bottom: 14px; }
.registry-control-summary article { min-width: 0; min-height: 68px; display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 11px; padding: 10px 13px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); box-shadow: 0 7px 20px rgba(24,28,32,.035); }
.registry-control-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: var(--v-accent-strong, #b37b2a); background: color-mix(in srgb, var(--warning) 11%, var(--card)); font-size: 15px; }
.registry-control-icon.active { color: var(--success); background: color-mix(in srgb, var(--success) 10%, var(--card)); }
.registry-control-summary article > div { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 3px 12px; }
.registry-control-summary small { color: var(--muted); font-size: 9px; font-weight: 750; }
.registry-control-summary strong { color: var(--ink); font-size: 20px; font-weight: 900; font-variant-numeric: tabular-nums; line-height: 1; }
.registry-control-summary strong.is-date { font-size: 14px; letter-spacing: -.15px; }
.registry-control-summary p { grid-column: 1 / -1; margin: 2px 0 0; overflow: hidden; color: var(--muted); font-size: 9px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.registry-summary { gap: 9px; margin-bottom: 12px; }
.registry-summary .metric-card {
  min-height: 94px;
  padding: 13px 15px;
  border-radius: 15px;
}
.registry-summary .metric-icon { width: 27px; height: 27px; border-radius: 8px; }
.registry-summary .metric-value { margin-top: 5px; font-size: 22px; }
.registry-summary .trend { margin-top: 3px; font-size: 9px; }
.registry-work-filter-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 54px;
  margin: -4px 0 14px;
  padding: 8px;
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--card) 88%, var(--surface));
  scrollbar-width: none;
}
.registry-work-filter-bar::-webkit-scrollbar { display: none; }
.registry-work-filter-title {
  display: grid;
  gap: 2px;
  padding: 0 4px 0 3px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.registry-work-filter-title small { font-size: 7px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.registry-work-filter {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 36px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .18s ease, color .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.registry-work-filter:hover { transform: translateY(-1px); background: var(--card); color: var(--ink); }
.registry-work-filter i { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); }
.registry-work-filter strong {
  min-width: 22px;
  padding: 3px 6px;
  border-radius: 999px;
  color: inherit;
  background: color-mix(in srgb, currentColor 10%, transparent);
  font-size: 9px;
  text-align: center;
}
.registry-work-filter.active { color: var(--ink); border-color: var(--border); background: var(--card); box-shadow: 0 7px 20px rgba(31, 25, 38, .07); }
.registry-work-filter.working i { background: var(--success); box-shadow: 0 0 0 4px var(--success-soft); }
.registry-work-filter.waiting i { background: var(--warning); box-shadow: 0 0 0 4px var(--warning-soft); }
.registry-work-filter.banned i { background: var(--danger); box-shadow: 0 0 0 4px var(--danger-soft); }
.registry-work-filter.paused i { background: var(--muted); box-shadow: 0 0 0 4px color-mix(in srgb, var(--muted) 12%, transparent); }
.registry-work-filter.scrap i { background: var(--violet-600); box-shadow: 0 0 0 4px color-mix(in srgb, var(--violet-600) 12%, transparent); }
.registry-table-legend span { display: inline-flex; align-items: center; gap: 6px; }
.registry-table-legend i { width: 9px; height: 9px; border-radius: 3px; }
.registry-table-legend i.kp { background: #d8a34f; }
.registry-table-legend i.mnh { background: #5ca68b; }
.registry-table-legend i.offers { background: var(--warning); }
.registry-review-toggle,
.registry-offer-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--warning) 28%, var(--border));
  border-radius: 7px;
  color: var(--ink);
  background: color-mix(in srgb, var(--warning) 9%, var(--card));
  font: inherit;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}
.registry-review-toggle:hover,
.registry-offer-toggle:hover { border-color: var(--warning); transform: translateY(-1px); }
.registry-rating-head-content { display: flex; align-items: center; justify-content: center; gap: 7px; }
.registry-active-head-content,
.registry-offers-head-content { display: flex; align-items: center; justify-content: center; gap: 7px; }
.registry-active-head { color: var(--ink) !important; background: color-mix(in srgb, var(--warning) 7%, var(--card)) !important; }
.registry-money-cell { color: #24734b; background: color-mix(in srgb, var(--success) 8%, var(--card)); white-space: nowrap; }
.registry-cpa-balance-cell { color: var(--violet-700); background: color-mix(in srgb, var(--violet-600) 7%, var(--card)); }
.registry-balance-head { color: #24734b !important; }
.registry-cpa-head { color: var(--violet-700) !important; }
.registry-sheet-panel { overflow: hidden; }
.registry-sheet-scroll {
  max-height: calc(100vh - 292px);
  overflow: auto;
  scrollbar-color: var(--border) transparent;
  scrollbar-width: thin;
}
.registry-table { width: var(--registry-table-width); min-width: var(--registry-table-width); border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.registry-table th,
.registry-table td {
  height: 58px;
  padding: 8px 7px;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  text-align: center;
  white-space: nowrap;
}
.registry-table thead th {
  position: sticky;
  z-index: 8;
  height: 34px;
  color: var(--ink);
  background: var(--card);
  font-size: 10px;
  font-weight: 850;
}
.registry-table .registry-offers-head { color: var(--ink); background: color-mix(in srgb, var(--warning) 9%, var(--card)); }
.registry-table .registry-group-head > th { top: 0; }
.registry-table .registry-column-head > th {
  top: 34px;
  height: 42px;
  padding: 5px 4px;
  overflow: hidden;
  line-height: 1.15;
  vertical-align: middle;
  white-space: normal;
}
.registry-offer-label {
  display: inline-flex;
  width: 100%;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-align: center;
  text-overflow: clip;
}
.registry-table .registry-group-kp { color: #c78d33; background: color-mix(in srgb, #d8a34f 12%, var(--card)); }
.registry-table .offer-group-bt { color: #477d8b; background: color-mix(in srgb, #62a6b6 12%, var(--card)); }
.registry-table .registry-group-mnh { color: #55977f; background: color-mix(in srgb, #5ca68b 12%, var(--card)); }
.registry-table .registry-sticky { position: sticky; z-index: 4; background: var(--card); }
.registry-table .registry-sticky-account { left: 0; text-align: left; box-shadow: 7px 0 12px -12px rgba(0, 0, 0, .7); }
.registry-table thead .registry-sticky { z-index: 12; }
.registry-table tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--card) 92%, var(--surface)); }
.registry-table tbody tr:nth-child(even) .registry-sticky { background: color-mix(in srgb, var(--card) 92%, var(--surface)); }
.registry-table tbody td {
  border-right-color: color-mix(in srgb, var(--ink) 6%, var(--border));
  border-bottom-color: color-mix(in srgb, var(--ink) 11%, var(--border));
}
.registry-table tbody tr:hover td,
.registry-table tbody tr:hover .registry-sticky { background: var(--v-row-hover, #f7f4ee); }
.registry-table tbody tr.is-pending td,
.registry-table tbody tr.is-pending .registry-sticky { background: color-mix(in srgb, var(--warning) 10%, var(--card)); }
.registry-account-button {
  display: block;
  max-width: 164px;
  overflow: hidden;
  border: 0;
  padding: 0;
  color: var(--ink);
  background: transparent;
  font-size: 12px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.registry-account-button:hover { color: var(--violet-600); text-decoration: underline; }
.registry-account-workspace { display: block; max-width: 220px; margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 10px; font-weight: 720; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.registry-account-meta { display: block; max-width: 226px; margin-top: 3px; overflow: hidden; color: color-mix(in srgb, var(--muted) 88%, transparent); font-size: 9px; font-weight: 680; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.registry-row-state {
  display: block;
  width: max-content;
  max-width: 164px;
  margin: 5px 0 0;
  padding-left: 8px;
  overflow: hidden;
  color: var(--muted);
  font-size: 7px;
  font-weight: 800;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  position: relative;
}
.registry-row-state::before { content: ""; position: absolute; left: 0; top: 2px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.registry-row-state.working { color: var(--success); }
.registry-row-state.waiting { color: var(--warning); }
.registry-row-state.banned { color: var(--danger); }
.registry-row-state.paused { color: var(--muted); }
.registry-row-state.scrap { color: var(--violet-600); }
.registry-work-status-select {
  display: block;
  width: 104px;
  height: 24px;
  margin-top: 6px;
  padding: 0 20px 0 8px;
  border: 1px solid color-mix(in srgb, currentColor 24%, var(--border));
  border-radius: 8px;
  color: var(--muted);
  background: color-mix(in srgb, currentColor 6%, var(--card));
  font: 800 9px/1 inherit;
  cursor: pointer;
}
.registry-work-status-select.working { color: var(--success); }
.registry-work-status-select.waiting { color: var(--warning); }
.registry-work-status-select.banned { color: var(--danger); }
.registry-work-status-select.paused { color: var(--muted); }
.registry-work-status-select.scrap { color: var(--violet-600); }
.registry-work-status-select:disabled { cursor: wait; opacity: .6; }
.registry-main-row.work-banned td:first-child { box-shadow: inset 3px 0 0 var(--danger); }
.registry-main-row.work-paused td:first-child { box-shadow: inset 3px 0 0 var(--muted); }
.registry-main-row.work-scrap td:first-child { box-shadow: inset 3px 0 0 var(--violet-600); }
.registry-number { font-variant-numeric: tabular-nums; font-size: 12px; font-weight: 900; letter-spacing: -.01em; }
.registry-total { color: var(--ink); font-size: 13px; font-weight: 950; }
.registry-total small { display: block; margin-top: 3px; color: var(--muted); font-size: 7px; font-weight: 700; line-height: 1.1; }
.registry-rating-cell small { display: block; margin-top: 4px; color: color-mix(in srgb, var(--ink) 68%, var(--muted)); font-size: 9px; font-weight: 800; line-height: 1.15; }
.registry-duplicate-note { color: var(--danger) !important; text-transform: uppercase; }
.registry-offer-cell.registry-kp { background: color-mix(in srgb, #d8a34f 5%, var(--card)); }
.registry-offer-cell.registry-bt { background: color-mix(in srgb, #62a6b6 6%, var(--card)); }
.registry-offer-cell.registry-mnh { background: color-mix(in srgb, #5ca68b 5%, var(--card)); }
.registry-offer-cell.is-zero { color: color-mix(in srgb, var(--muted) 58%, transparent); font-weight: 500; }
.registry-tariff,
.registry-limit { font-size: 10px; font-variant-numeric: tabular-nums; line-height: 1.35; }
.registry-tariff strong { color: var(--ink); font-weight: 850; }
.registry-delete-button { display: inline-grid; width: 25px; height: 25px; margin-right: 3px; place-items: center; padding: 0; border: 1px solid color-mix(in srgb, var(--danger) 25%, var(--border)); border-radius: 7px; color: color-mix(in srgb, var(--danger) 78%, var(--muted)); background: transparent; font: inherit; font-size: 15px; font-weight: 850; line-height: 1; vertical-align: middle; cursor: pointer; }
.registry-delete-button:hover { color: #fff; border-color: var(--danger); background: var(--danger); }
.registry-delete-button:disabled { cursor: wait; opacity: .5; }
.registry-comment-cell { padding-inline: 8px !important; }
.registry-comment-cell button { width: 100%; overflow: hidden; border: 0; color: var(--ink); background: transparent; font: 700 10px/1.4 inherit; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.registry-comment-cell button:hover { color: var(--violet-600); text-decoration: underline; }
.registry-text-status { font-size: 9px; font-weight: 800; }
.registry-text-status.warning { color: var(--warning); }
.registry-rating-cell,
.registry-service-cell { font-weight: 900; }
.registry-rating-cell.excellent,
.registry-service-cell.excellent { color: var(--success); background: var(--success-soft); }
.registry-rating-cell.good,
.registry-service-cell.good { color: var(--warning); background: var(--warning-soft); }
.registry-rating-cell.low,
.registry-service-cell.low { color: var(--danger); background: var(--danger-soft); }
.registry-rating-cell.empty { color: var(--muted); }
.registry-rating-cell.excellent { color: var(--ink) !important; background: color-mix(in srgb, var(--success) 18%, var(--card)) !important; }
.registry-rating-cell.good { color: var(--ink) !important; background: color-mix(in srgb, var(--warning) 19%, var(--card)) !important; }
.registry-rating-cell.low { color: var(--ink) !important; background: color-mix(in srgb, var(--danger) 17%, var(--card)) !important; }
.registry-rating-cell.empty { color: var(--muted) !important; background: var(--card) !important; }
.registry-review-cell { --review-color: var(--muted); color: var(--ink) !important; background: color-mix(in srgb, var(--review-color) 17%, var(--card)) !important; font-size: 12px; font-weight: 950; }
.registry-review-cell span { color: inherit; font: inherit; }
.registry-review-cell.is-zero { color: color-mix(in srgb, var(--muted) 68%, transparent) !important; background: color-mix(in srgb, var(--muted) 4%, var(--card)) !important; font-weight: 600; }
.registry-review-5 { --review-color: var(--success); }
.registry-review-4 { --review-color: #74a873; }
.registry-review-3 { --review-color: var(--warning); }
.registry-review-2 { --review-color: #d47b55; }
.registry-review-1 { --review-color: var(--danger); }
.registry-review-none { --review-color: var(--muted); }
.registry-owner-link,
.registry-owner-name { display: block; overflow: hidden; color: var(--violet-600); font-size: 9px; font-weight: 720; text-overflow: ellipsis; text-decoration: none; }
.registry-owner-link:hover { text-decoration: underline; }
.registry-api-cell { padding-inline: 6px !important; }
.registry-api-dot { width: 8px; height: 8px; display: inline-block; margin-right: 7px; border-radius: 50%; background: var(--muted); }
.registry-api-dot.connected { background: var(--success); box-shadow: 0 0 0 3px var(--success-soft); }
.registry-api-dot.duplicate { background: var(--warning); box-shadow: 0 0 0 3px var(--warning-soft); }
.review-edit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.registry-api-cell .row-menu { width: 26px; height: 26px; }
.registry-edit-button { width: 25px; height: 25px; margin-right: 3px; border: 1px solid var(--border); border-radius: 8px; color: var(--muted); background: var(--card); font: 800 11px/1 inherit; cursor: pointer; }
.registry-edit-button:hover { color: var(--violet-600); border-color: color-mix(in srgb, var(--violet-600) 30%, var(--border)); }

@media (max-width: 680px) {
  .registry-sheet-scroll { max-height: calc(100vh - 250px); }
  .registry-table-legend { gap: 9px 13px; }
  .registry-review-toggle { margin-left: 0; }
  .registry-work-filter-title { display: none; }
  .registry-work-filter-bar { margin-bottom: 10px; }
}

@media (max-width: 430px) {
  .registry-sheet-panel { border: 1px solid var(--border) !important; border-radius: var(--radius-lg) !important; background: var(--card) !important; }
  .registry-sheet-scroll { overflow: auto !important; }
  .registry-table { width: var(--registry-table-width) !important; min-width: var(--registry-table-width) !important; display: table !important; }
  .registry-table thead { display: table-header-group !important; }
  .registry-table tbody { display: table-row-group !important; }
  .registry-table tr { display: table-row !important; }
  .registry-table th,
  .registry-table td { display: table-cell !important; }
  .registry-table td::before { display: none !important; content: none !important; }
  .registry-table .registry-sticky-account { left: 0; }
}

/* Comparative effectiveness */
.effectiveness-toolbar,
.effectiveness-filters {
  display: flex;
  align-items: end;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px;
}
.effectiveness-switch,
.effectiveness-periods { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface); }
.effectiveness-switch button,
.effectiveness-periods button { min-height: 34px; padding: 0 13px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; font: inherit; font-size: 10px; font-weight: 850; cursor: pointer; }
.effectiveness-switch button.active,
.effectiveness-periods button.active { color: #fff; background: var(--violet-600); box-shadow: 0 7px 18px color-mix(in srgb, var(--violet-600) 28%, transparent); }
.effectiveness-range { display: flex; align-items: center; gap: 7px; margin-left: auto; }
.effectiveness-range input,
.effectiveness-filters select,
.effectiveness-sort select { min-height: 38px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); font: inherit; font-size: 10px; font-weight: 700; }
.effectiveness-range input { padding: 0 9px; }
.effectiveness-filters { align-items: end; flex-wrap: wrap; }
.effectiveness-filters .active-only-rule { flex: 1 1 230px; min-height: 38px; padding-block: 6px; }
.effectiveness-filters > label { display: grid; flex: 1 1 160px; gap: 6px; min-width: 140px; }
.effectiveness-filters > label > span,
.effectiveness-multi > span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.effectiveness-filters select { width: 100%; padding: 0 30px 0 10px; }
.effectiveness-filters .text-button { min-height: 38px; }
.effectiveness-multi { position: relative; display: grid; flex: 1 1 185px; min-width: 170px; gap: 6px; }
.effectiveness-multi details { position: relative; }
.effectiveness-multi summary { display: flex; align-items: center; justify-content: space-between; min-height: 38px; padding: 0 11px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); font-size: 10px; cursor: pointer; list-style: none; }
.effectiveness-multi summary::-webkit-details-marker { display: none; }
.effectiveness-multi summary b { color: var(--muted); transition: transform .18s ease; }
.effectiveness-multi details[open] summary b { transform: rotate(180deg); }
.effectiveness-multi-menu { position: absolute; z-index: 80; top: calc(100% + 6px); left: 0; display: grid; width: max(100%, 250px); max-height: 310px; padding: 7px; overflow: auto; border: 1px solid var(--border); border-radius: 12px; background: var(--card); box-shadow: var(--shadow-lg); }
.effectiveness-multi-menu label { display: flex; align-items: center; gap: 9px; min-height: 34px; padding: 6px 8px; border-radius: 8px; color: var(--ink); font-size: 10px; font-weight: 720; cursor: pointer; }
.effectiveness-multi-menu label:hover { background: var(--card-soft); }
.effectiveness-multi-menu label.all { margin-bottom: 4px; border-bottom: 1px solid var(--border); border-radius: 8px 8px 0 0; }
.effectiveness-multi-menu input { width: 16px; height: 16px; accent-color: var(--violet-600); }
.effectiveness-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.effectiveness-summary article { display: grid; align-content: space-between; min-height: 128px; padding: 18px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); box-shadow: var(--shadow-sm); }
.effectiveness-summary article > span:first-child { color: color-mix(in srgb, var(--ink) 68%, var(--muted)); font-size: 12px; font-weight: 800; }
.effectiveness-summary article > strong { color: var(--ink); font-size: clamp(30px, 2.8vw, 42px); font-weight: 950; line-height: 1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; text-shadow: 0 1px 0 color-mix(in srgb, var(--card) 70%, transparent); }
.effectiveness-summary article > small { color: color-mix(in srgb, var(--ink) 58%, var(--muted)); font-size: 10px; font-weight: 650; }
.effectiveness-delta { display: inline-flex; width: max-content; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 900; font-variant-numeric: tabular-nums; }
.effectiveness-delta.positive { color: var(--success); background: var(--success-soft); }
.effectiveness-delta.negative { color: var(--danger); background: var(--danger-soft); }
.effectiveness-delta.neutral { color: var(--muted); background: color-mix(in srgb, var(--muted) 9%, transparent); }
.effectiveness-notes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.effectiveness-notes > div { display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 11px 14px; border: 1px solid var(--border); border-radius: 13px; color: var(--muted); background: var(--card-soft); font-size: 9px; line-height: 1.5; }
.effectiveness-notes > div > span { display: grid; flex: 0 0 25px; height: 25px; place-items: center; border-radius: 8px; color: var(--success); background: var(--success-soft); font-weight: 900; }
.effectiveness-notes > div:last-child > span { color: var(--warning); background: var(--warning-soft); }
.effectiveness-notes > div.coverage-warning { border-color: color-mix(in srgb, var(--warning) 35%, var(--border)); background: var(--warning-soft); }
.effectiveness-notes > div.coverage-warning > span { color: var(--warning); background: var(--card); }
.effectiveness-analysis-grid { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(280px, .7fr); gap: 14px; margin-bottom: 14px; }
.effectiveness-trend,
.effectiveness-insights,
.effectiveness-ranking { overflow: hidden; }
.effectiveness-trend-scroll { overflow-x: auto; padding: 8px 20px 17px; }
.effectiveness-trend-track { display: grid; grid-auto-flow: column; grid-auto-columns: var(--trend-point-width); align-items: end; min-width: max-content; height: 250px; border-bottom: 1px solid var(--border); background: repeating-linear-gradient(to bottom, transparent 0, transparent 61px, color-mix(in srgb, var(--border) 65%, transparent) 62px); }
.effectiveness-trend-point { display: grid; grid-template-rows: 20px 160px 22px 22px; align-items: end; justify-items: center; height: 225px; color: var(--muted); font-variant-numeric: tabular-nums; }
.effectiveness-trend-point em { color: var(--ink); font-size: 10px; font-style: normal; font-weight: 900; }
.effectiveness-trend-point > div { display: flex; align-items: end; width: 13px; height: 156px; border-radius: 7px 7px 2px 2px; background: color-mix(in srgb, var(--violet-600) 8%, transparent); }
.effectiveness-trend-point i { display: block; width: 100%; min-height: 3px; border-radius: 7px 7px 2px 2px; background: linear-gradient(180deg, var(--violet-500), var(--violet-700)); }
.effectiveness-trend-point b { color: var(--success); font-size: 10px; font-weight: 900; }
.effectiveness-trend-point span { color: color-mix(in srgb, var(--ink) 65%, var(--muted)); font-size: 9px; font-weight: 750; }
.effectiveness-insights { padding-bottom: 8px; }
.effectiveness-insight { display: flex; gap: 10px; margin: 0 16px 9px; padding: 13px; border: 1px solid var(--border); border-radius: 12px; background: var(--card-soft); }
.effectiveness-insight > i { flex: 0 0 7px; height: 7px; margin-top: 4px; border-radius: 50%; background: var(--muted); }
.effectiveness-insight.positive > i { background: var(--success); box-shadow: 0 0 0 4px var(--success-soft); }
.effectiveness-insight.warning > i { background: var(--warning); box-shadow: 0 0 0 4px var(--warning-soft); }
.effectiveness-insight.negative > i { background: var(--danger); box-shadow: 0 0 0 4px var(--danger-soft); }
.effectiveness-insight div { display: grid; gap: 4px; }
.effectiveness-insight strong { color: var(--ink); font-size: 10px; }
.effectiveness-insight span { color: var(--muted); font-size: 9px; line-height: 1.45; }
.effectiveness-sort { display: grid; gap: 4px; color: var(--muted); font-size: 8px; font-weight: 800; }
.effectiveness-sort select { min-width: 178px; padding: 0 28px 0 9px; }
.effectiveness-table { width: 100%; min-width: 1140px; border-collapse: collapse; }
.effectiveness-table th,
.effectiveness-table td { padding: 12px 10px; border-bottom: 1px solid var(--border); color: var(--ink); font-size: 12px; font-weight: 720; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.effectiveness-table th { color: color-mix(in srgb, var(--ink) 63%, var(--muted)); background: var(--card-soft); font-size: 10px; font-weight: 900; }
.effectiveness-sort-head { display: inline-flex; align-items: center; justify-content: flex-end; gap: 5px; }
.effectiveness-sort-arrows { display: inline-grid; grid-template-rows: 10px 10px; gap: 1px; }
.effectiveness-sort-arrows button { display: grid; width: 15px; height: 10px; place-items: center; padding: 0; border: 0; border-radius: 3px; color: color-mix(in srgb, var(--ink) 42%, var(--muted)); background: transparent; font: inherit; font-size: 9px; font-weight: 950; line-height: 1; cursor: pointer; }
.effectiveness-sort-arrows button:hover { color: var(--ink); background: color-mix(in srgb, var(--violet-600) 11%, transparent); }
.effectiveness-sort-arrows button.active { color: #fff; background: var(--violet-600); box-shadow: 0 2px 5px color-mix(in srgb, var(--violet-600) 28%, transparent); }
.effectiveness-table th:nth-child(2),
.effectiveness-table td:nth-child(2) { text-align: left; }
.effectiveness-table tbody tr:hover td { background: var(--v-row-hover, var(--card-soft)); }
.effectiveness-table td strong { color: var(--ink); font-size: 13px; font-weight: 900; }
.effectiveness-rank { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 8px; color: var(--violet-600); background: var(--violet-100); font-weight: 900; }
.effectiveness-group-name { display: grid; gap: 3px; min-width: 150px; }
.effectiveness-group-name strong { color: var(--ink); font-size: 12px; }
.effectiveness-group-name small { max-width: 190px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; }

.effectiveness-items-panel { margin-bottom: 14px; overflow: hidden; }
.effectiveness-items-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 16px 18px 13px; border-bottom: 1px solid var(--border); }
.effectiveness-items-head h2 { margin: 3px 0 0; font-size: 18px; }
.effectiveness-items-head p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.effectiveness-items-head form { display: flex; gap: 6px; min-width: min(440px, 44%); }
.effectiveness-items-head input { width: 100%; min-height: 38px; padding: 0 11px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); font: inherit; font-size: 10px; }
.effectiveness-item-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 13px; border-bottom: 1px solid var(--border); background: var(--card-soft); }
.effectiveness-item-states { display: flex; gap: 4px; flex-wrap: wrap; }
.effectiveness-item-states button { display: inline-flex; align-items: center; gap: 7px; min-height: 31px; padding: 0 10px; border: 1px solid transparent; border-radius: 9px; color: var(--muted); background: transparent; font: inherit; font-size: 9px; font-weight: 800; cursor: pointer; }
.effectiveness-item-states button b { min-width: 19px; padding: 2px 5px; border-radius: 999px; color: var(--ink); background: var(--card); font-size: 8px; text-align: center; }
.effectiveness-item-states button.active { color: var(--ink); border-color: var(--border); background: var(--card); box-shadow: var(--shadow-sm); }
.effectiveness-item-controls > label { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 800; }
.effectiveness-item-controls select { min-height: 33px; padding: 0 28px 0 9px; border: 1px solid var(--border); border-radius: 9px; color: var(--ink); background: var(--card); font: inherit; font-size: 9px; }
.effectiveness-items-table { width: 100%; min-width: 1320px; border-collapse: collapse; }
.effectiveness-items-table th, .effectiveness-items-table td { padding: 11px 9px; border-bottom: 1px solid var(--border); color: var(--ink); font-size: 11px; font-weight: 700; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.effectiveness-items-table th { color: color-mix(in srgb, var(--ink) 63%, var(--muted)); background: var(--card-soft); font-size: 10px; font-weight: 900; }
.effectiveness-items-table th .effectiveness-sort-head { width: 100%; }
.effectiveness-items-table th:nth-child(-n+4), .effectiveness-items-table td:nth-child(-n+4) { text-align: left; }
.effectiveness-items-table tbody tr:hover td { background: var(--v-row-hover, var(--card-soft)); }
.effectiveness-items-table td strong { color: var(--ink); }
.effectiveness-item-link { display: grid; max-width: 330px; gap: 3px; padding: 0; border: 0; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.effectiveness-item-link strong, .effectiveness-item-link small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.effectiveness-item-link strong { color: var(--ink); font-size: 12px; }
.effectiveness-item-link small, .effectiveness-items-table td small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.effectiveness-offer-code { display: inline-flex; padding: 3px 6px; border-radius: 6px; color: var(--violet-700); background: var(--violet-100); font-size: 9px; font-weight: 900; }
.effectiveness-item-state { display: inline-flex; padding: 5px 7px; border-radius: 8px; color: var(--muted); background: var(--surface); font-size: 9px; font-weight: 900; }
.effectiveness-item-state.leader { color: var(--success); background: var(--success-soft); }
.effectiveness-item-state.attention, .effectiveness-item-state.no_contacts { color: var(--danger); background: var(--danger-soft); }
.effectiveness-item-state.low_data { color: var(--warning); background: var(--warning-soft); }
.effectiveness-avito-link { display: grid; width: 27px; height: 27px; place-items: center; margin-left: auto; border: 1px solid var(--border); border-radius: 8px; color: var(--ink); background: var(--card); font-size: 12px; text-decoration: none; }
.effectiveness-item-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; color: var(--muted); font-size: 10px; }
.effectiveness-item-footer > div { display: flex; align-items: center; gap: 8px; }
.effectiveness-item-footer strong { color: var(--ink); font-size: 11px; }

@media (max-width: 1180px) {
  .effectiveness-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .effectiveness-analysis-grid { grid-template-columns: 1fr; }
  .effectiveness-notes { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .effectiveness-toolbar { align-items: stretch; flex-direction: column; }
  .effectiveness-range { margin-left: 0; flex-wrap: wrap; }
  .effectiveness-switch,
  .effectiveness-periods { overflow-x: auto; }
  .effectiveness-summary { grid-template-columns: 1fr 1fr; }
  .effectiveness-notes { grid-template-columns: 1fr; }
  .effectiveness-items-head { align-items: stretch; flex-direction: column; }
  .effectiveness-items-head form { min-width: 100%; }
  .effectiveness-item-controls { align-items: stretch; flex-direction: column; }
  .effectiveness-item-controls > label { justify-content: space-between; }
}
@media (max-width: 480px) {
  .effectiveness-summary { grid-template-columns: 1fr; }
  .effectiveness-summary article { min-height: 105px; }
  .effectiveness-range input { width: 132px; }
}

/* Individual listing history */
.item-history-open { display: grid; gap: 4px; max-width: 380px; border: 0; padding: 0; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.item-history-open strong { color: var(--ink); font-size: 10px; }
.item-history-open small { color: var(--muted); font-size: 8px; }
.item-history-open:hover strong { color: var(--violet-600); text-decoration: underline; }
.item-history-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 14px; padding: 20px; }
.item-history-hero > div { display: grid; gap: 7px; }
.item-history-hero h2 { margin: 0; color: var(--ink); font-size: 25px; }
.item-history-hero p { margin: 0; color: var(--muted); font-size: 10px; }
.item-history-hero dl { display: grid; grid-template-columns: repeat(4, minmax(115px, 1fr)); gap: 10px; margin: 0; }
.item-history-hero dl div,
.item-history-meta dl div { display: grid; gap: 4px; padding: 11px; border: 1px solid var(--border); border-radius: 11px; background: var(--card-soft); }
.item-history-hero dt,
.item-history-meta dt { color: var(--muted); font-size: 7px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.item-history-hero dd,
.item-history-meta dd { margin: 0; color: var(--ink); font-size: 10px; font-weight: 780; }
.item-history-toolbar { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; padding: 12px 14px; }
.item-history-toolbar > span { color: var(--muted); font-size: 9px; font-weight: 750; }
.item-history-toolbar > .text-button { margin-left: auto; }
.item-history-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.item-history-source { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; padding: 13px 16px; border: 1px solid var(--border); border-radius: 13px; background: var(--success-soft); }
.item-history-source.warning { background: var(--warning-soft); }
.item-history-source > span { display: grid; flex: 0 0 28px; height: 28px; place-items: center; border-radius: 9px; color: var(--success); background: var(--card); font-weight: 900; }
.item-history-source.warning > span { color: var(--warning); }
.item-history-source > div { display: grid; gap: 3px; }
.item-history-source strong { color: var(--ink); font-size: 9px; }
.item-history-source small { color: var(--muted); font-size: 8px; }
.item-history-main { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; margin-bottom: 14px; }
.item-history-charts-scroll { min-width: 0; overflow-x: auto; border-radius: var(--radius-lg); scrollbar-color: var(--border) transparent; scrollbar-width: thin; }
.item-history-charts { display: grid; gap: 12px; width: max-content; min-width: 100%; }
.item-history-chart { min-width: max(720px, 100%); overflow: hidden; }
.item-history-chart > header { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px 0; }
.item-history-chart > header h2 { margin: 0; color: var(--ink); font-size: 13px; }
.item-history-chart > header p { margin: 4px 0 0; color: var(--muted); font-size: 8px; }
.item-history-chart > header > strong { color: var(--ink); font-size: 18px; }
.item-history-bars { display: grid; grid-auto-flow: column; grid-auto-columns: var(--item-point-width); align-items: end; width: max-content; min-width: 100%; height: 150px; padding: 18px 18px 12px; border-bottom: 1px solid var(--border); background: repeating-linear-gradient(to bottom, transparent 0, transparent 43px, color-mix(in srgb, var(--border) 55%, transparent) 44px); }
.item-history-point { display: grid; grid-template-rows: 18px 92px 18px; align-items: end; justify-items: center; height: 128px; color: var(--muted); font-variant-numeric: tabular-nums; }
.item-history-point em { color: var(--ink); font-size: 7px; font-style: normal; font-weight: 800; }
.item-history-point i { display: block; width: 12px; min-height: 3px; border-radius: 6px 6px 2px 2px; background: var(--violet-600); }
.item-history-chart.green .item-history-point i { background: var(--success); }
.item-history-chart.amber .item-history-point i { background: var(--warning); }
.item-history-point span { font-size: 7px; }
.item-history-point.date-linked i { filter: brightness(1.15); box-shadow: 0 0 0 4px var(--violet-100); }
.item-history-meta { overflow: hidden; }
.item-history-meta dl { display: grid; gap: 8px; margin: 0; padding: 0 14px 14px; }
.item-history-meta dd { overflow-wrap: anywhere; line-height: 1.4; }
.item-history-bottom { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: 14px; }
.item-history-table-scroll { max-height: 420px; }
.item-history-table { min-width: 620px; }
.item-history-table th,
.item-history-table td { text-align: right; }
.item-history-table th:first-child,
.item-history-table td:first-child { text-align: left; }
.item-status-history { overflow: hidden; }
.item-status-history > div { padding: 0 18px 18px; }
.item-status-event { display: flex; gap: 12px; min-height: 70px; position: relative; }
.item-status-event::before { content: ""; position: absolute; left: 5px; top: 14px; bottom: -2px; width: 1px; background: var(--border); }
.item-status-event:last-child::before { display: none; }
.item-status-event > i { position: relative; z-index: 1; flex: 0 0 11px; width: 11px; height: 11px; margin-top: 3px; border: 3px solid var(--card); border-radius: 50%; background: var(--muted); box-shadow: 0 0 0 1px var(--border); }
.item-status-event.latest > i { background: var(--success); box-shadow: 0 0 0 4px var(--success-soft); }
.item-status-event > div { display: grid; align-content: start; gap: 4px; }
.item-status-event strong { color: var(--ink); font-size: 10px; }
.item-status-event span { color: var(--muted); font-size: 8px; line-height: 1.4; }
.item-status-event small { color: var(--muted); font-size: 7px; }

@media (max-width: 1080px) {
  .item-history-hero { align-items: flex-start; flex-direction: column; }
  .item-history-hero dl { width: 100%; }
  .item-history-main,
  .item-history-bottom { grid-template-columns: 1fr; }
  .item-history-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .item-history-hero dl { grid-template-columns: 1fr 1fr; }
  .item-history-toolbar { align-items: flex-start; flex-direction: column; }
  .item-history-toolbar > .text-button { margin-left: 0; }
  .item-history-summary { grid-template-columns: 1fr; }
}

/* Data confidence and source clarity */
.data-scope-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--card) 88%, var(--v-accent) 12%);
}
.data-scope-banner > div { display: grid; gap: 3px; }
.data-scope-banner strong { color: var(--ink); font-size: 12px; }
.data-scope-banner small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.source-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: max-content;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--v-accent-strong);
  background: var(--v-accent-soft);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.source-badge.api { color: var(--success); background: var(--success-soft); }
.source-badge.excel { color: #9a6421; background: #fff2da; }
.coverage-panel { margin-top: 18px; overflow: hidden; }

/* Центр контроля: компактная живая сводка активных офферов. */
.control-offer-panel { margin-bottom: 18px; overflow: hidden; }
.control-offer-head { min-height: 72px; }
.control-offer-source { display: flex; align-items: center; gap: 10px; }
.control-offer-layout { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(310px, .65fr); min-height: 360px; }
.control-offer-main { min-width: 0; padding: 20px; border-right: 1px solid var(--border); }
.dashboard-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.control-offer-rows { display: grid; gap: 11px; }
.control-offer-group-row { display: grid; grid-template-columns: 170px minmax(0, 1fr); min-height: 82px; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: var(--card); }
.control-offer-group-row > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 15px; color: #fff; background: #24292e; }
.control-offer-group-row.group-bt > header { background: #596b43; }
.control-offer-group-row.group-mnh > header { background: #7c5a2a; }
.control-offer-group-row > header div { display: grid; gap: 4px; min-width: 0; }
.control-offer-group-row > header span { font-size: 9px; font-weight: 850; letter-spacing: .08em; opacity: .7; }
.control-offer-group-row > header strong { font-size: 12px; font-weight: 850; line-height: 1.2; }
.control-offer-group-row > header b { font-size: 21px; font-weight: 900; font-variant-numeric: tabular-nums; }
.control-offer-group-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(88px, 1fr)); min-width: 0; }
.control-offer-cell { min-width: 0; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-content: center; gap: 4px 7px; padding: 11px 10px; border-left: 1px solid var(--border); text-align: left; }
.control-offer-cell span { grid-column: 1 / -1; overflow: hidden; color: var(--muted); font-size: 10px; font-weight: 850; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.control-offer-cell strong { color: var(--ink); font-size: 20px; font-weight: 900; font-variant-numeric: tabular-nums; line-height: 1; }
.control-offer-cell small { align-self: end; color: var(--muted); font-size: 9px; font-weight: 700; }
.control-offer-cell.empty { grid-template-columns: 1fr; }
.control-offer-total { display: flex; align-items: baseline; gap: 14px; margin-top: 12px; padding: 13px 16px; border: 1px solid color-mix(in srgb, #b37b2a 35%, var(--border)); border-radius: 13px; background: color-mix(in srgb, var(--card) 89%, #b37b2a 11%); }
.control-offer-total span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.control-offer-total strong { color: var(--ink); font-size: 27px; font-weight: 900; font-variant-numeric: tabular-nums; }
.control-offer-total small { margin-left: auto; color: var(--muted); font-size: 10px; }
.control-offer-footnote { margin: 13px 2px 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.control-offer-visual { display: grid; align-content: center; justify-items: center; gap: 20px; padding: 24px 20px; background: color-mix(in srgb, var(--card) 96%, #b37b2a 4%); }
.control-offer-donut { position: relative; width: min(220px, 70vw); aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; box-shadow: 0 18px 42px rgba(24,28,32,.12); }
.control-offer-donut::after { content: ""; position: absolute; width: 57%; aspect-ratio: 1; border-radius: 50%; background: var(--card); box-shadow: inset 0 0 0 1px var(--border); }
.control-offer-donut > div { position: relative; z-index: 1; display: grid; justify-items: center; }
.control-offer-donut strong { color: var(--ink); font-size: 30px; font-weight: 900; font-variant-numeric: tabular-nums; line-height: 1; }
.control-offer-donut span { margin-top: 5px; color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.control-offer-legend { width: 100%; max-height: 180px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px 12px; margin: 0; padding: 2px 4px; overflow-y: auto; list-style: none; }
.control-offer-legend li { min-width: 0; display: grid; grid-template-columns: 9px minmax(36px,1fr) auto; align-items: center; gap: 6px; color: var(--ink); font-size: 10px; }
.control-offer-legend i { width: 8px; height: 8px; border-radius: 3px; }
.control-offer-legend span { overflow: hidden; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.control-offer-legend strong { font-variant-numeric: tabular-nums; }
.control-offer-legend small { grid-column: 2 / -1; display: none; color: var(--muted); }

@media (max-width: 1120px) {
  .control-offer-layout { grid-template-columns: 1fr; }
  .control-offer-main { border-right: 0; border-bottom: 1px solid var(--border); }
  .control-offer-visual { grid-template-columns: 220px minmax(0,1fr); justify-items: stretch; }
  .control-offer-donut { justify-self: center; }
  .control-offer-legend { max-height: 220px; align-content: center; }
}

@media (max-width: 680px) {
  .control-offer-head { align-items: flex-start; }
  .control-offer-source { flex-direction: column; align-items: flex-end; }
  .control-offer-main { padding: 13px; }
  .dashboard-summary-grid { grid-template-columns: 1fr; }
  .control-offer-group-row { grid-template-columns: 1fr; }
  .control-offer-group-row > header { min-height: 62px; }
  .control-offer-group-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .control-offer-cell { border-top: 1px solid var(--border); }
  .control-offer-total { align-items: flex-start; flex-wrap: wrap; }
  .control-offer-total small { width: 100%; margin-left: 0; }
  .control-offer-visual { grid-template-columns: 1fr; }
  .registry-control-summary { grid-template-columns: 1fr; }
}
.coverage-list { display: grid; gap: 0; padding: 0 22px; }
.coverage-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, 1fr);
  align-items: center;
  gap: 24px;
  padding: 15px 0;
  border-top: 1px solid var(--border);
}
.coverage-row:first-child { border-top: 0; }
.coverage-row > div:first-child { display: grid; gap: 3px; }
.coverage-row strong { color: var(--ink); font-size: 12px; }
.coverage-row small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.coverage-value { display: grid; grid-template-columns: 56px 1fr 40px; align-items: center; gap: 10px; }
.coverage-value b { color: var(--ink); font-size: 10px; text-align: right; }
.coverage-value > span { height: 8px; overflow: hidden; border-radius: 999px; background: var(--surface); }
.coverage-value > span i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--v-accent), var(--success)); }
.coverage-value small { text-align: right; }
.data-truth-note {
  display: grid;
  grid-template-columns: minmax(190px, .35fr) 1fr;
  gap: 18px;
  margin: 6px 22px 22px;
  padding: 14px 16px;
  border-radius: 14px;
  color: var(--muted);
  background: var(--surface);
  font-size: 10px;
  line-height: 1.5;
}
.data-truth-note strong { color: var(--ink); }

@media (max-width: 760px) {
  .data-scope-banner { align-items: flex-start; flex-direction: column; }
  .coverage-row { grid-template-columns: 1fr; gap: 10px; }
  .coverage-value { grid-template-columns: 52px 1fr 36px; }
  .data-truth-note { grid-template-columns: 1fr; gap: 5px; }
}
