: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;
}

.direction-assignment-table .direction-unallocated-note { display: block; margin-top: 5px; color: var(--warning); font-size: 12px; line-height: 1.4; }

/* Account direction confirmations: deliberately isolated from financial forms. */
body.design-vanta .registry-table .registry-direction-cell { padding: 4px 6px; }
body.design-vanta .registry-direction-button { display: grid; gap: 3px; width: 100%; min-height: 40px; text-align: left; padding: 5px 7px; border: 1px solid transparent; border-radius: 7px; color: var(--ink); background: transparent; cursor: pointer; }
body.design-vanta .registry-direction-button strong { font-size: 12px; font-weight: 800; }
body.design-vanta .registry-direction-button small { font-size: 10px; line-height: 1.25; color: var(--muted); white-space: normal; }
body.design-vanta .registry-direction-button:hover, body.design-vanta .registry-direction-button:focus-visible { border-color: var(--border); background: var(--surface); }
body.design-vanta .registry-table tbody tr td.registry-direction-cell.needs-direction-check { background: color-mix(in srgb, var(--warning) 28%, var(--card)); box-shadow: inset 3px 0 0 var(--warning), inset 0 0 0 1px color-mix(in srgb, var(--warning) 45%, transparent); }
body.design-vanta .registry-direction-button.needs-check { background: transparent; border-color: transparent; }
body.design-vanta .registry-direction-button.needs-check small { color: var(--ink); font-weight: 600; }
.account-direction-dialog { box-sizing: border-box; width: min(620px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); overflow: auto; margin: auto; padding: 24px; color: var(--ink); background: var(--card); border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); font-size: 14px; }
.account-direction-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.account-direction-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.account-direction-dialog h2 { font-size: 22px; margin: 5px 0 18px; color: var(--ink); }
.account-direction-dialog small { color: var(--muted); font-size: 12px; line-height: 1.4; }
.account-direction-current { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.account-direction-current strong { font-size: 18px; }
.account-direction-hint { border: 1px solid var(--border); background: var(--surface); border-radius: 10px; padding: 14px; margin: 0 0 18px; }
.account-direction-hint.needs-check { border-color: var(--warning); }
.account-direction-hint p { margin: 8px 0; }
.account-direction-hint > button { display: block; margin-top: 10px; }
.account-direction-fields { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 14px; }
.account-direction-fields label { display: grid; gap: 8px; font-size: 14px; font-weight: 700; }
.account-direction-fields input, .account-direction-fields select { width: 100%; min-width: 0; height: 44px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--ink); font: inherit; }
.account-direction-dialog form p { line-height: 1.5; font-size: 13px; }
.account-direction-dialog footer { display: flex; justify-content: flex-end; gap: 10px; margin: 18px 0; }
.account-direction-error { color: var(--danger); }
.account-direction-history { border-top: 1px solid var(--border); padding: 12px 0 0; margin-top: 12px; }
.account-direction-history summary { cursor: pointer; font-size: 14px; font-weight: 700; }
.account-direction-history ol { display: grid; gap: 12px; margin: 14px 0 0; padding: 0; list-style: none; }
.account-direction-history li { padding-left: 12px; border-left: 2px solid var(--border); }
.account-direction-history li > div { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 5px; }
.account-direction-history li span { font-size: 13px; }
@media (max-width: 520px) {
  .account-direction-dialog { padding: 18px; }
  .account-direction-fields { grid-template-columns: 1fr; }
  .account-direction-dialog footer { flex-wrap: wrap; }
}

/* Standalone Direct ledger: scoped styles keep Avito tables unchanged. */
.direct-page { display: grid; gap: 16px; }
.direct-direction-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; margin: 0 0 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); }
.direct-direction-tabs button { min-height: 42px; padding: 10px 22px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-size: 13px; font-weight: 700; }
.direct-direction-tabs button.active { background: color-mix(in srgb, var(--warning) 18%, var(--card)); color: var(--ink); }
.direct-direction-tabs button:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.direct-view-heading h2 { margin: 0; font-size: 18px; }
.direct-view-heading p { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.direct-sites.is-single { grid-template-columns: minmax(0, 1fr); }
.direct-page .direct-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.direct-sites { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.direct-site-card { padding: 20px; border-top: 3px solid var(--info); }
.direct-site-card.cleaning { border-top-color: var(--success); }
.direct-site-card.mnh { border-top-color: #16a99a; }
.direct-site-card.bt { border-top-color: #419dc8; }
.direct-site-card header { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.direct-site-card h2 { margin: 6px 0 0; font-size: 19px; }
.direct-site-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.direct-site-values > div { min-width: 0; overflow-wrap: anywhere; }
.direct-api-balance { text-align: right; }
.direct-site-values small, .direct-site-values strong { display: block; }
.direct-site-values small, .direct-site-card p { color: var(--muted); font-size: 11px; }
.direct-site-values strong { color: var(--ink); font-size: 20px; margin-top: 7px; }
.direct-site-card p { margin: 18px 0 0; }
.direct-editor fieldset { padding: 0 20px 20px; border: 0; margin: 0; min-width: 0; }
.direct-form-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 14px; }
.direct-form-grid label { display: grid; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 700; }
.direct-form-grid input, .direct-form-grid select { width: 100%; min-width: 0; height: 44px; padding: 10px 12px; color: var(--ink); background: var(--surface); border: 1px solid var(--border); border-radius: 10px; font: inherit; }
.direct-form-grid input:focus, .direct-form-grid select:focus { outline: 2px solid var(--warning); outline-offset: 2px; }
.direct-comment { grid-column: 1 / -1; }
.direct-editor footer { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 18px; }
.direct-editor footer small { color: var(--muted); font-size: 11px; }
.direct-history .panel-head { flex-wrap: wrap; gap: 14px; }
.direct-history .panel-head p { max-width: 700px; line-height: 1.5; }
.direct-history .segmented { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.direct-history .segmented button { border: 0; border-radius: 8px; padding: 10px 13px; background: transparent; color: var(--muted); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.direct-history .segmented button.active { color: var(--ink); background: color-mix(in srgb, var(--warning) 18%, var(--card)); }
.direct-history .segmented button:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.direct-table { display: table; width: 100%; min-width: 920px; table-layout: fixed; border-collapse: collapse; }
.direct-table thead { display: table-header-group; }
.direct-table tbody { display: table-row-group; }
.direct-table tr { display: table-row; }
.direct-table th, .direct-table td { display: table-cell; padding: 14px 16px; border-bottom: 1px solid var(--border); text-align: left; font-size: 12px; color: var(--ink); }
.direct-table th { color: var(--muted); font-size: 11px; background: var(--surface); }
.direct-table .direct-note { width: 20%; }
.direct-page .direct-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.direct-history .direct-table { min-width: 1260px; }
.direct-history .direct-table th:nth-child(9) { width: 20%; }
.direct-coverage-note, .direct-legacy > p { padding: 14px 20px; color: var(--warning); font-size: 12px; line-height: 1.6; }
.direct-crm-status { display: grid; gap: 6px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); font-size: 11px; line-height: 1.5; }
.direct-crm-status span { color: var(--muted); overflow-wrap: anywhere; }
.direct-crm-status.is-ok strong { color: var(--success); }
.direct-crm-status.needs-check strong { color: var(--warning); }
.direct-legacy { overflow: hidden; }
.direct-legacy > summary { cursor: pointer; padding: 18px 20px; color: var(--warning); }
.direct-table td:nth-child(3), .direct-table td:nth-child(4), .direct-table td:nth-child(5) { font-variant-numeric: tabular-nums; font-weight: 700; }
.direct-history .direct-table td:nth-child(6), .direct-history .direct-table td:nth-child(7), .direct-history .direct-table td:nth-child(8) { font-variant-numeric: tabular-nums; font-weight: 700; }
.direct-history .direct-ad-spend, .direct-history .direct-api-spend { color: var(--danger); }
.direct-api-spend small { display: block; color: var(--warning); font-size: 10px; margin-top: 4px; }
.direct-api-status { font-size: 11px; line-height: 1.5; margin-top: 7px; color: var(--muted); overflow-wrap: anywhere; }
.direct-api-status span { display: block; }
.direct-api-status.is-ok { color: var(--success); }
.direct-api-status.needs-check { color: var(--warning); }
.direct-api-history table { width: 100%; border-collapse: collapse; }
.direct-api-history th, .direct-api-history td { padding: 14px 20px; text-align: left; border-bottom: 1px solid var(--border); }
.direct-history .direct-crm-income { color: var(--success); }
.direct-site-label { color: var(--info); font-weight: 700; }
.direct-site-label.cleaning { color: var(--success); }
.direct-site-label.mnh { color: #168d82; }
.direct-site-label.bt { color: #3085ad; }
.direct-note { overflow-wrap: anywhere; white-space: pre-wrap; }
.direct-history-note { padding: 14px 20px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.direct-error { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px; margin-bottom: 16px; color: var(--danger); }
.direct-table .direct-empty { text-align: center; padding: 32px; color: var(--muted); }
.direct-history .direct-totals { display: table-footer-group; }
.direct-history .direct-totals :is(th,td) { border-top: 2px solid var(--border); border-bottom: 0; background: color-mix(in srgb,var(--warning) 9%,var(--card)); font-weight: 800; font-variant-numeric: tabular-nums; }
.direct-history .direct-totals th { color: var(--ink); font-size: 12px; }
.direct-history .direct-totals td > span { white-space: nowrap; }
.direct-history .direct-totals small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.35; font-weight: 500; }
@media (max-width: 900px) {
  .direct-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .direct-site-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .direct-direction-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .direct-direction-tabs button { min-width: 0; padding: 10px 4px; }
  .direct-direction-tabs [data-direct-site="all"] { grid-column: 1 / -1; }
  .direct-sites, .direct-page .direct-summary { grid-template-columns: 1fr; }
  .direct-form-grid { grid-template-columns: 1fr; }
  .direct-editor footer { flex-direction: column; align-items: stretch; }
  .direct-error { flex-direction: column; align-items: stretch; }
}

[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; }
a[data-page] { text-decoration: none; }
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-header .page-actions { flex-wrap: wrap; justify-content: flex-end; }
.account-visibility-button[aria-pressed="true"] { border-color: var(--warning); background: var(--warning-soft); }
body.design-vanta .account-visibility-button[aria-pressed="true"] { border-color: var(--v-accent); background: var(--v-accent-soft); }
.registry-private-mark { flex: 0 0 auto; font-size: 10px; }
.account-sync-disabled { display: inline-flex; align-items: center; min-height: 38px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; color: var(--muted); background: var(--card); font-size: 9px; font-weight: 800; }
.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 .alert-close-button { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 42%, var(--border)); }
.alert-card .alert-close-button:hover { background: color-mix(in srgb, var(--danger) 11%, transparent); }
.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; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.rules-matrix-scroll { overflow-x: auto; overflow-y: visible; overscroll-behavior-x: contain; }
.rules-matrix { min-width: 1390px; 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: 320px; width: 320px; color: var(--ink); text-align: left; padding-left: 18px; }
.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: 320px; width: 320px; padding: 13px 18px; text-align: left; box-shadow: none; }
.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; }
.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; }
.system-sync-panel { grid-column: 1 / -1; overflow: hidden; }
.system-deployment-panel { grid-column: 1 / -1; }
.sync-history-head { display: flex; align-items: center; gap: 12px; }
.sync-history-summary { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.sync-history-summary span { display: inline-flex; align-items: baseline; gap: 4px; padding: 6px 9px; border-radius: 999px; color: var(--muted); background: var(--surface); font-size: 9px; font-weight: 750; }
.sync-history-summary b { color: var(--ink); font-size: 11px; font-variant-numeric: tabular-nums; }
.sync-history-summary .success b { color: var(--success); }
.sync-history-summary .deferred b { color: var(--warning); }
.sync-history-summary .partial b { color: var(--warning); }
.sync-history-summary .failed b { color: var(--danger); }
.sync-history-list { display: grid; gap: 10px; padding: 4px 18px 18px; }
.global-alert-schedule { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 14px; padding: 18px 20px; }
.global-alert-schedule h2 { margin: 4px 0 5px; font-size: 17px; }
.global-alert-schedule p { margin: 0; color: var(--muted); font-size: 11px; }
.global-alert-schedule label { display: grid; flex: 0 0 220px; gap: 7px; color: var(--muted); font-size: 10px; font-weight: 800; }
.global-alert-schedule select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--surface); font: inherit; font-weight: 800; }
.sync-cycle { overflow: hidden; border: 1px solid var(--border); border-radius: 13px; background: var(--surface); }
.sync-cycle.success { border-left: 3px solid var(--success); }
.sync-cycle.partial, .sync-cycle.failed { border-left: 3px solid var(--danger); }
.sync-cycle.deferred { border-left: 3px solid var(--warning); }
.sync-cycle.running { border-left: 3px solid var(--warning); }
.sync-cycle > summary { display: grid; grid-template-columns: minmax(0,1fr) auto 24px; align-items: center; gap: 12px; min-height: 66px; padding: 10px 14px; cursor: pointer; list-style: none; }
.sync-cycle > summary::-webkit-details-marker { display: none; }
.sync-cycle > summary > div:first-child { display: grid; gap: 4px; }
.sync-cycle > summary strong { color: var(--ink); font-size: 12px; }
.sync-cycle > summary small { color: var(--muted); font-size: 9px; }
.sync-cycle-result { display: grid; justify-items: end; gap: 4px; }
.sync-cycle-result b { color: var(--ink); font-size: 10px; }
.sync-cycle-arrow { color: var(--muted); font-size: 14px; transition: transform .18s ease; }
.sync-cycle[open] .sync-cycle-arrow { transform: rotate(180deg); }
.sync-account-list { border-top: 1px solid var(--border); background: color-mix(in srgb, var(--card) 72%, var(--surface)); }
.sync-account-row { display: grid; grid-template-columns: minmax(150px,.9fr) minmax(155px,.8fr) minmax(135px,.65fr); align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--border); }
.sync-account-row:last-child { border-bottom: 0; }
.sync-account-name, .sync-account-result, .sync-account-time { display: grid; gap: 4px; min-width: 0; }
.sync-account-name strong, .sync-account-time strong { color: var(--ink); font-size: 11px; }
.sync-account-name small, .sync-account-result small, .sync-account-time small { color: var(--muted); font-size: 9px; }
.sync-account-result { justify-items: start; }
.sync-account-time { justify-items: end; text-align: right; }
.deployment-status.partial { color: var(--warning); background: var(--warning-soft); }
.deployment-status.deferred { color: var(--warning); background: var(--warning-soft); }
.sync-completed, .sync-errors, .sync-missing-error { grid-column: 1 / -1; }
.sync-completed { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.sync-completed b { margin-right: 2px; color: var(--muted); font-size: 9px; }
.sync-completed span { padding: 4px 7px; border-radius: 999px; color: var(--success); background: var(--success-soft); font-size: 9px; font-weight: 750; }
.sync-errors { margin-top: 1px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--danger) 34%, var(--border)); border-radius: 9px; background: color-mix(in srgb, var(--danger-soft) 72%, var(--surface)); }
.sync-errors ul { display: grid; gap: 0; margin: 0; padding: 7px 11px; list-style: none; }
.sync-errors li { display: grid; grid-template-columns: minmax(130px,.45fr) minmax(0,1fr) auto; gap: 10px; padding: 8px 0; border-top: 1px solid color-mix(in srgb, var(--danger) 18%, transparent); }
.sync-errors li:first-child { border-top: 0; }
.sync-errors li strong { color: var(--danger); font-size: 9px; }
.sync-errors li span, .sync-errors li small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.sync-errors li small { text-align: right; }
.sync-errors.deferred { border-color: color-mix(in srgb, var(--warning) 38%, var(--border)); background: color-mix(in srgb, var(--warning-soft) 72%, var(--surface)); }
.sync-errors.deferred li { border-top-color: color-mix(in srgb, var(--warning) 20%, transparent); }
.sync-errors.deferred li strong { color: var(--warning); }
.sync-missing-error { margin: 0; padding: 9px 11px; border: 1px solid color-mix(in srgb, var(--danger) 34%, var(--border)); border-radius: 9px; color: var(--danger); background: var(--danger-soft); font-size: 9px; }
.deployment-list { padding: 4px 18px 16px; }
.deployment-row { display: grid; grid-template-columns: 38px minmax(0,1fr) minmax(230px,.55fr); gap: 14px; align-items: start; padding: 16px 2px; border-bottom: 1px solid var(--border); }
.deployment-row:last-child { border-bottom: 0; }
.deployment-status-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; font-size: 15px; font-weight: 900; }
.deployment-row.success .deployment-status-icon { color: var(--success); background: var(--success-soft); }
.deployment-row.failed .deployment-status-icon { color: var(--danger); background: var(--danger-soft); }
.deployment-row.running .deployment-status-icon { color: var(--warning); background: var(--warning-soft); }
.deployment-main { min-width: 0; }
.deployment-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.deployment-title strong { font-size: 13px; }
.deployment-status { padding: 4px 8px; border-radius: 999px; font-size: 9px; font-weight: 850; }
.deployment-status.success { color: var(--success); background: var(--success-soft); }
.deployment-status.failed { color: var(--danger); background: var(--danger-soft); }
.deployment-status.running { color: var(--warning); background: var(--warning-soft); }
.deployment-main p { margin: 6px 0 3px; color: var(--muted); font-size: 11px; }
.deployment-main p b { color: var(--ink); }
.deployment-main > small { display: block; color: var(--muted); font-size: 10px; line-height: 1.45; }
.deployment-changes { display: grid; gap: 5px; margin: 8px 0 0; padding: 0; list-style: none; }
.deployment-changes li { position: relative; padding-left: 14px; color: var(--ink); font-size: 10px; line-height: 1.45; }
.deployment-changes li::before { content: "✓"; position: absolute; left: 0; color: var(--success); font-weight: 900; }
.deployment-facts { display: grid; gap: 4px; text-align: right; }
.deployment-facts strong { font-size: 11px; }
.deployment-facts span, .deployment-facts small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.deployment-error { margin-top: 9px; border: 1px solid rgba(216,58,82,.2); border-radius: 9px; background: var(--danger-soft); }
.deployment-error summary { padding: 9px 11px; color: var(--danger); font-size: 10px; font-weight: 800; cursor: pointer; }
.deployment-error pre { max-height: 180px; margin: 0; overflow: auto; padding: 0 11px 11px; color: var(--danger); font: 10px/1.5 Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.history-archive { overflow: hidden; border: 1px dashed var(--border); border-radius: 12px; background: color-mix(in srgb, var(--surface) 74%, transparent); }
.history-archive > summary { display: grid; grid-template-columns: minmax(0,1fr) auto 22px; align-items: center; gap: 10px; min-height: 48px; padding: 8px 13px; color: var(--muted); cursor: pointer; list-style: none; }
.history-archive > summary::-webkit-details-marker { display: none; }
.history-archive > summary span:first-child { font-size: 11px; font-weight: 800; }
.history-archive > summary b { min-width: 28px; padding: 4px 8px; border-radius: 999px; color: var(--ink); background: var(--soft); font-size: 10px; text-align: center; }
.history-archive[open] > summary { border-bottom: 1px solid var(--border); }
.history-archive[open] > summary .sync-cycle-arrow { transform: rotate(180deg); }
.history-archive-body { display: grid; gap: 10px; padding: 10px; }
.deployment-list > .history-archive { margin: 8px 0 0; }
.deployment-list .history-archive-body { padding: 0 12px; }
.audit-list, .backup-list { padding: 4px 18px 16px; }
.compact-history-group { overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.compact-history-group + .compact-history-group { margin-top: 8px; }
.compact-history-group > summary { display: grid; grid-template-columns: minmax(0,1fr) auto 22px; align-items: center; gap: 12px; min-height: 64px; padding: 10px 13px; cursor: pointer; list-style: none; }
.compact-history-group > summary::-webkit-details-marker { display: none; }
.compact-history-group > summary > div:first-child { display: grid; gap: 4px; }
.compact-history-group > summary strong { color: var(--ink); font-size: 12px; }
.compact-history-group > summary small, .compact-history-facts span { color: var(--muted); font-size: 9px; }
.compact-history-facts { display: grid; justify-items: end; gap: 3px; }
.compact-history-facts b { color: var(--ink); font-size: 14px; font-variant-numeric: tabular-nums; }
.compact-history-group[open] > summary { border-bottom: 1px solid var(--border); }
.compact-history-group[open] > summary .sync-cycle-arrow { transform: rotate(180deg); }
.compact-history-body { padding: 0 13px; background: color-mix(in srgb, var(--card) 72%, var(--surface)); }
.backup-history-group .backup-row { padding-inline: 1px; }
.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-settings-card { grid-column: 1 / -1; overflow: hidden; }
.team-create-form { display: grid; grid-template-columns: minmax(150px,1.15fr) minmax(140px,1fr) minmax(145px,.8fr) minmax(190px,1.2fr) 118px; gap: 12px; align-items: end; margin: 18px 0 8px; padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.team-create-form > *, .team-user-controls > * { min-width: 0; }
.team-create-form label, .team-user-controls label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 750; line-height: 1.25; }
.team-create-form input, .team-create-form select, .team-user-controls input, .team-user-controls select { width: 100%; min-width: 0; min-height: 42px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); color: var(--ink); font: inherit; box-sizing: border-box; }
.team-create-form input:focus, .team-create-form select:focus, .team-user-controls input:focus, .team-user-controls select:focus { outline: 2px solid rgba(205,164,99,.18); border-color: var(--violet-500); }
.team-create-form .primary-button { width: 100%; min-height: 42px; padding-inline: 12px; }
.users-list { display: grid; gap: 10px; margin-top: 16px; }
.team-user-row { display: grid; grid-template-columns: minmax(230px,.9fr) minmax(0,1.7fr); gap: 20px; align-items: center; padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.team-user-identity { display: flex; min-width: 0; gap: 12px; align-items: center; }
.team-user-identity div { display: grid; min-width: 0; gap: 4px; }
.team-user-identity strong { color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.team-user-identity .avatar { flex: 0 0 34px; }
.team-settings-card h3 { color: var(--ink); }
.team-user-identity small { color: var(--muted); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.team-user-controls { display: grid; grid-template-columns: minmax(115px,.75fr) minmax(160px,1.2fr) 100px minmax(118px,auto); gap: 10px; align-items: end; }
.team-user-actions { display: flex; align-items: center; gap: 8px; min-width: 0; }
.team-user-actions :is(.secondary-button,.danger-button) { flex: 1 1 auto; width: auto; min-height: 42px; padding-inline: 10px; }
.team-user-controls .active-check { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 0 10px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--surface); white-space: nowrap; }
.team-user-controls .active-check input { width: 16px; min-height: 0; height: 16px; padding: 0; }
.team-user-controls .secondary-button { width: 100%; min-height: 42px; padding-inline: 12px; }
.current-user-summary { display: flex; align-items: center; gap: 12px; margin: 16px 0; padding: 14px; border: 1px solid var(--border); border-radius: 13px; }
.profile-timezone-card { grid-column: 1 / -1; }
.profile-preferences-form { display: grid; grid-template-columns: minmax(260px, 430px) auto; gap: 12px; align-items: end; margin-top: 17px; }
.profile-preferences-form label { display: grid; gap: 7px; color: var(--muted); font-size: 10px; font-weight: 750; }
.profile-preferences-form select { width: 100%; min-height: 44px; padding: 0 13px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); color: var(--ink); font: inherit; }
.profile-preferences-form select:focus { outline: 2px solid rgba(205,164,99,.18); border-color: var(--violet-500); }
.profile-preferences-form .primary-button { justify-self: start; width: auto; min-width: 190px; min-height: 44px; }
.profile-timezone-note { display: block; margin-top: 10px; color: var(--muted); font-size: 10px; }
@media (max-width: 1180px) {
  .team-create-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .team-create-form .primary-button { grid-column: 1 / -1; }
  .team-user-row { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .global-alert-schedule { align-items: stretch; flex-direction: column; }
  .global-alert-schedule label { flex-basis: auto; }
  .team-user-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .sync-history-head { align-items: flex-end; flex-direction: column-reverse; }
  .sync-history-summary { justify-content: flex-start; }
  .sync-cycle > summary { grid-template-columns: minmax(0,1fr) 20px; }
  .sync-cycle-result { grid-column: 1; justify-items: start; }
  .sync-cycle-arrow { grid-column: 2; grid-row: 1 / 3; }
  .sync-account-row { grid-template-columns: minmax(0,1fr) auto; }
  .sync-account-result { grid-column: 1; }
  .sync-account-time { grid-column: 2; grid-row: 1 / 3; }
  .sync-completed, .sync-errors, .sync-missing-error { grid-column: 1 / -1; }
  .sync-errors li { grid-template-columns: 1fr; gap: 3px; }
  .sync-errors li small { text-align: left; }
}
@media (max-width: 640px) {
  .auth-card { padding: 25px 20px; }
  .team-create-form, .team-user-controls { grid-template-columns: 1fr; }
  .team-create-form .primary-button { grid-column: auto; }
  .team-user-controls .active-check { justify-content: flex-start; }
  .profile-preferences-form { grid-template-columns: 1fr; }
  .profile-preferences-form .primary-button { width: 100%; }
}
.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-field-hint { margin-top: -3px; color: var(--muted); font-size: 9px; font-weight: 500; line-height: 1.35; }
.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; }
.monitoring-error-modal { width: min(540px, 100%); }
.monitoring-error-body { display: grid; grid-template-columns: 42px 1fr; gap: 13px; padding: 20px 22px 0; }
.monitoring-error-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--danger); background: var(--danger-soft); font-size: 20px; font-weight: 800; }
.monitoring-error-body h3 { margin: 0 0 3px; font-size: 16px; }
.monitoring-error-body p { margin: 4px 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.monitoring-error-body strong { display: block; margin-top: 10px; font-size: 12px; }
.monitoring-error-body .monitoring-error-action { color: var(--ink); }
.monitoring-error-extra { margin: 14px 22px 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.monitoring-error-modal footer { padding: 0 22px 22px; }
.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[data-tone="warning"] { border-color: #e5bd6d; }
.toast[data-tone="warning"] > span { color: #8a5700; background: #fff0cf; }
.toast[data-tone="error"] { border-color: #e8a09b; }
.toast[data-tone="error"] > span { color: #ad2f2a; background: #ffe6e3; }
.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: 1100px) {
  .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; }
  .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; }
  .account-rule-picker { width: 100%; min-width: 0; }
  .matrix-search { width: 100%; }
  .rules-matrix-scroll { overflow-x: auto; overflow-y: visible; }
  .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; }
  .deployment-row { grid-template-columns: 34px minmax(0,1fr); }
  .deployment-facts { grid-column: 2; text-align: left; }
  .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-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;
}
.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 .review-progress { height: 6px; }
.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-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-view-tabs { display: flex; gap: 6px; margin: 0 0 14px; }
.finance-view-tabs button { padding: 10px 18px; border: 1px solid var(--border); border-radius: 9px; background: var(--card); color: var(--muted); font: inherit; font-weight: 750; cursor: pointer; }
.finance-view-tabs button.active { color: var(--ink); border-color: var(--warning); background: color-mix(in srgb, var(--warning) 15%, var(--card)); }
.finance-directions-overview, .finance-direction-assignments, .finance-direction-days { margin-bottom: 14px; overflow: hidden; }
.finance-directions-overview > .table-scroll, .finance-direction-days > .table-scroll, .finance-direction-assignments > .table-scroll { overflow: auto; }
.finance-directions-table { display: table; width: 100%; min-width: 660px; border-collapse: separate; border-spacing: 0; color: var(--ink); font-variant-numeric: tabular-nums; }
.finance-directions-table th, .finance-directions-table td { display: table-cell; padding: 9px 12px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); text-align: right; vertical-align: middle; font-size: 12px; white-space: nowrap; }
.finance-directions-table th:first-child { text-align: left; }
.finance-directions-table thead th { background: var(--surface); color: var(--muted); font-size: 11px; }
.finance-directions-table tfoot th, .finance-directions-table tfoot td { background: var(--surface); font-weight: 800; }
.finance-directions-table .direction-funding { color: var(--warning); background: color-mix(in srgb, var(--warning) 5%, var(--card)); }
.direction-overview tbody th { width: 36%; padding: 0; }
.direction-overview button { display: block; width: 100%; padding: 10px 14px; border: 0; color: var(--ink); background: transparent; text-align: left; font: inherit; font-weight: 800; cursor: pointer; }
.direction-overview small { display: block; padding-top: 4px; color: var(--muted); font-size: 11px; font-weight: 500; }
.direction-overview .selected { background: color-mix(in srgb, var(--warning) 9%, var(--card)); }
.direction-overview .selected th { box-shadow: inset 3px 0 var(--warning); }
.direction-overview button:hover { background: color-mix(in srgb, var(--warning) 10%, var(--card)); }
.finance-direction-assignments summary { padding: 16px; color: var(--ink); cursor: pointer; font-weight: 750; }
.finance-direction-assignments summary span { margin-left: 12px; color: var(--muted); font-size: 12px; font-weight: 500; }
.direction-assignment-note, .direction-report-note { padding: 0 16px 14px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.direction-assignment-note b { color: var(--ink); }
.direction-report-note { padding-top: 14px; }
.direction-assignment-scroll { max-height: 340px; }
.direction-assignment-table { min-width: 900px; }
.direction-assignment-table td { text-align: left; }
.direction-assignment-table small { color: var(--muted); font-weight: 500; }
.direction-assignment-table select { max-width: 290px; width: 100%; padding: 8px; border: 1px solid var(--border); border-radius: 7px; background: var(--card); color: var(--ink); font: inherit; }
.direction-assignment-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; }
.direction-assignment-actions span { color: var(--muted); font-size: 11px; }
.direction-days-scroll { max-height: 610px; }
.direction-days-table { min-width: 1180px; }
.direction-days-table th, .direction-days-table td { padding: 9px 8px; }
.direction-days-table thead th { height: 34px; color: var(--ink); font-size: 12px; font-weight: 800; text-align: center; }
.direction-days-table thead th[colspan] { font-size: 13px; font-weight: 900; }
.direction-days-table tbody th, .direction-days-table tbody td { color: var(--ink); font-weight: 700; }
.direction-days-table thead, .direction-assignment-table thead { position: sticky; top: 0; z-index: 3; }
.direction-days-table tbody th, .direction-days-table tfoot th, .direction-days-table thead th[rowspan] { position: sticky; left: 0; z-index: 2; min-width: 88px; background: var(--surface); }
.direction-days-table tbody tr:hover td { background: color-mix(in srgb, var(--warning) 6%, var(--card)); }
.direction-empty-day td, .direction-empty-day th { color: var(--muted); font-weight: 700; }
.direction-empty-day td { text-align: center; }
.direction-days-table thead th[colspan], .direction-days-table .direction-funding { border-right: 2px solid var(--border); }
.direction-days-table .direction-cost-row td { font-size: 11px; text-align: center; }
.finance-combined-days { margin-bottom: 14px; overflow: hidden; }
html[data-theme="light"] .finance-combined-days {
  --card: #ffffff;
  --surface: #faf9f6;
  background: var(--card);
}
.finance-combined-head { align-items: flex-end; gap: 18px; }
.finance-combined-head .eyebrow { color: var(--warning); }
.finance-combined-head h2 { margin-top: 3px; }
.finance-day-direction-tabs { display: inline-flex; align-items: center; gap: 3px; flex: 0 0 auto; padding: 4px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); }
.finance-day-direction-tabs button { min-width: 54px; min-height: 33px; padding: 0 12px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.finance-day-direction-tabs button:hover { color: var(--ink); background: color-mix(in srgb, var(--warning) 7%, var(--card)); }
.finance-day-direction-tabs button.active { color: #6d4512; background: var(--warning-soft); box-shadow: 0 2px 7px color-mix(in srgb, var(--warning) 18%, transparent); }
.finance-partner-days-scroll { max-height: 680px; }
.finance-partner-days-table { --finance-total-tone: #b47b2d; --finance-partner-7-tone: #397e9a; --finance-partner-723-tone: #4b8a61; min-width: 1610px; table-layout: fixed; }
.finance-partner-days-table.finance-cleaning-days-table { min-width: 700px; --finance-total-tone: #4b8a61; }
.finance-partner-days-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.finance-partner-days-table .finance-partner-date { width: 102px; }
.finance-partner-days-table .finance-partner-weekday { width: 46px; }
.finance-partner-days-table .finance-partner-count { width: 62px; }
.finance-partner-days-table .finance-partner-money { width: 94px; }
.finance-partner-days-table .finance-partner-cost { width: 84px; }
.finance-partner-days-table th, .finance-partner-days-table td { padding: 8px 6px; white-space: nowrap; }
.finance-partner-days-table thead th { white-space: normal; line-height: 1.3; }
.finance-partner-days-table thead tr:first-child th { font-weight: 800; }
.finance-partner-days-table thead tr:nth-child(2) th { color: var(--muted); font-size: 11px; font-weight: 650; }
.finance-partner-days-table tbody th { font-weight: 750; }
.finance-partner-days-table tbody td { font-weight: 500; }
.finance-partner-days-table .finance-partner-weekday-heading,
.finance-partner-days-table .finance-partner-weekday-cell { text-align: center; }
.finance-partner-days-table thead th[rowspan].finance-partner-weekday-heading,
.finance-partner-days-table .finance-partner-weekday-cell { position: sticky; left: 102px; z-index: 2; background: var(--surface); }
.finance-partner-days-table .finance-partner-weekday-cell { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: lowercase; }
.finance-partner-days-table .finance-partner-weekday-cell.is-weekend { color: color-mix(in srgb, #c05252 78%, var(--ink)); background: color-mix(in srgb, #c05252 7%, var(--card)); }
.finance-partner-days-table .finance-partner-group-start { border-left: 3px solid color-mix(in srgb, var(--finance-group-tone) 48%, var(--border)); }
.finance-partner-days-table .finance-partner-group-end { border-right: 3px solid color-mix(in srgb, var(--finance-group-tone) 48%, var(--border)); }
.finance-partner-days-table .direction-funding { border-right: 1px solid var(--border); }
.finance-partner-days-table .finance-partner-group-total { --finance-group-tone: var(--finance-total-tone); }
.finance-partner-days-table .finance-partner-group-7 { --finance-group-tone: var(--finance-partner-7-tone); }
.finance-partner-days-table .finance-partner-group-723 { --finance-group-tone: var(--finance-partner-723-tone); }
.finance-partner-days-table .finance-partner-group-heading { border-top: 3px solid var(--finance-group-tone); border-right: 3px solid color-mix(in srgb, var(--finance-group-tone) 48%, var(--border)); border-left: 3px solid color-mix(in srgb, var(--finance-group-tone) 48%, var(--border)); background: color-mix(in srgb, var(--finance-group-tone) 18%, var(--surface)); font-size: 14px; }
.finance-partner-days-table thead tr:nth-child(2) .finance-partner-group-total { background: color-mix(in srgb, var(--finance-total-tone) 9%, var(--surface)); }
.finance-partner-days-table thead tr:nth-child(2) .finance-partner-group-7 { background: color-mix(in srgb, var(--finance-partner-7-tone) 11%, var(--surface)); }
.finance-partner-days-table thead tr:nth-child(2) .finance-partner-group-723 { background: color-mix(in srgb, var(--finance-partner-723-tone) 11%, var(--surface)); }
.finance-partner-days-table tbody .finance-partner-group-total { background: color-mix(in srgb, var(--finance-total-tone) 3.5%, var(--card)); }
.finance-partner-days-table tbody .finance-partner-group-7 { background: color-mix(in srgb, var(--finance-partner-7-tone) 5%, var(--card)); }
.finance-partner-days-table tbody .finance-partner-group-723 { background: color-mix(in srgb, var(--finance-partner-723-tone) 5%, var(--card)); }
.finance-partner-days-table .finance-metric-accepted { color: color-mix(in srgb, #328052 82%, var(--ink)); font-weight: 800; }
.finance-partner-days-table .finance-metric-closed { color: color-mix(in srgb, #357c9b 84%, var(--ink)); font-weight: 800; }
.finance-partner-days-table thead tr:nth-child(2) .finance-metric-accepted,
.finance-partner-days-table tbody .finance-metric-accepted,
.finance-partner-days-table tfoot .finance-metric-accepted { background: color-mix(in srgb, #54a36d 16%, var(--card)); }
.finance-partner-days-table thead tr:nth-child(2) .finance-metric-closed,
.finance-partner-days-table tbody .finance-metric-closed,
.finance-partner-days-table tfoot .finance-metric-closed { background: color-mix(in srgb, #4f98b7 16%, var(--card)); }
.finance-partner-days-table tbody tr:hover .finance-partner-group-total { background: color-mix(in srgb, var(--finance-total-tone) 9%, var(--card)); }
.finance-partner-days-table tbody tr:hover .finance-partner-group-7 { background: color-mix(in srgb, var(--finance-partner-7-tone) 11%, var(--card)); }
.finance-partner-days-table tbody tr:hover .finance-partner-group-723 { background: color-mix(in srgb, var(--finance-partner-723-tone) 11%, var(--card)); }
.finance-partner-days-table tbody tr:hover .finance-metric-accepted { background: color-mix(in srgb, #54a36d 22%, var(--card)); }
.finance-partner-days-table tbody tr:hover .finance-metric-closed { background: color-mix(in srgb, #4f98b7 22%, var(--card)); }
.finance-partner-days-table tfoot th,
.finance-partner-days-table tfoot td { font-weight: 800; }
.finance-mobile-direction-days { display: none; }
.finance-day-report-head,
.finance-combined-day > summary { display: grid; grid-template-columns: minmax(94px, .75fr) repeat(2, minmax(72px, .58fr)) repeat(2, minmax(104px, .86fr)) repeat(2, minmax(112px, .92fr)) minmax(126px, .82fr); align-items: center; column-gap: 8px; min-width: 1010px; }
.finance-day-report-head { grid-template-rows: 23px 27px; padding: 5px 18px 7px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); color: var(--muted); background: var(--surface); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .035em; }
.finance-day-report-head > * { display: flex; align-items: center; justify-content: flex-end; min-width: 0; }
.finance-day-report-head .finance-head-date { grid-column: 1; grid-row: 1 / 3; justify-content: flex-start; }
.finance-head-group { align-self: stretch; justify-content: center; border-radius: 6px 6px 0 0; color: var(--ink); font-size: 9px; letter-spacing: .07em; }
.finance-head-leads { grid-column: 2 / 4; grid-row: 1; background: color-mix(in srgb, #4b8a61 8%, transparent); }
.finance-head-money { grid-column: 4 / 6; grid-row: 1; background: color-mix(in srgb, var(--warning) 10%, transparent); }
.finance-head-costs { grid-column: 6 / 8; grid-row: 1; background: color-mix(in srgb, #397e9a 9%, transparent); }
.finance-day-report-head .finance-head-details { grid-column: 8; grid-row: 1 / 3; padding-left: 10px; box-shadow: inset 1px 0 var(--border); }
.finance-head-accepted { grid-column: 2; grid-row: 2; }
.finance-head-closed { grid-column: 3; grid-row: 2; }
.finance-head-revenue { grid-column: 4; grid-row: 2; }
.finance-head-cpa { grid-column: 5; grid-row: 2; }
.finance-head-cost-accepted { grid-column: 6; grid-row: 2; }
.finance-head-cost-closed { grid-column: 7; grid-row: 2; }
.finance-combined-scroll { max-height: 680px; overflow: auto; }
.finance-combined-day { min-width: 1010px; border-bottom: 1px solid var(--border); background: var(--card); }
.finance-combined-day > summary,
.finance-day-direction > summary { list-style: none; cursor: pointer; }
.finance-combined-day > summary::-webkit-details-marker,
.finance-day-direction > summary::-webkit-details-marker { display: none; }
.finance-combined-day > summary { min-height: 49px; padding: 8px 18px; color: var(--ink); font-variant-numeric: tabular-nums; }
.finance-combined-day > summary:hover { background: color-mix(in srgb, var(--warning) 6%, var(--card)); }
.finance-combined-day > summary:focus-visible,
.finance-day-direction > summary:focus-visible { outline: 2px solid var(--warning); outline-offset: -2px; }
.finance-combined-day > summary > span:not(.finance-day-direction-count) { text-align: right; font-size: 12px; font-weight: 800; }
.finance-combined-date { color: var(--ink); font-size: 12px; font-weight: 900; }
.finance-combined-day > summary .direction-funding { color: var(--warning); }
.finance-col-money-start,
.finance-col-cost-start { padding-left: 10px; box-shadow: inset 1px 0 color-mix(in srgb, var(--border) 82%, transparent); }
.finance-col-cost-start { color: color-mix(in srgb, #397e9a 84%, var(--ink)); }
.finance-day-direction-count { display: flex; align-items: center; justify-content: flex-end; gap: 12px; color: var(--muted); }
.finance-day-direction-count small { font-size: 10px; font-weight: 750; }
.finance-disclosure-arrow { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 1px solid var(--border); border-radius: 7px; color: var(--muted); background: var(--surface); font-size: 15px; line-height: 1; transition: transform .16s ease, color .16s ease, border-color .16s ease; }
.finance-combined-day[open] > summary .finance-day-direction-count > .finance-disclosure-arrow,
.finance-day-direction[open] > summary > .finance-disclosure-arrow { transform: rotate(180deg); color: var(--warning); border-color: color-mix(in srgb, var(--warning) 45%, var(--border)); }
.finance-combined-day[open] > summary { background: color-mix(in srgb, var(--warning) 9%, var(--card)); }
.finance-combined-day.direction-empty-day > summary { color: var(--muted); }
.finance-day-direction-list { padding: 8px 12px 12px; border-top: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 72%, var(--card)); }
.finance-day-direction { margin-top: 7px; border: 1px solid var(--border); border-radius: 9px; overflow: hidden; background: var(--card); }
.finance-day-direction:first-child { margin-top: 0; }
.finance-day-direction > .finance-cleaning-total,
.finance-day-direction > summary { display: grid; grid-template-columns: minmax(190px, 1.35fr) repeat(6, minmax(88px, .8fr)) 28px; align-items: center; gap: 8px; min-width: 960px; min-height: 45px; padding: 7px 12px; color: var(--ink); font-variant-numeric: tabular-nums; }
.finance-day-direction > summary:hover { background: color-mix(in srgb, currentColor 5%, var(--card)); }
.finance-day-direction > .finance-cleaning-total > span:not(.finance-day-direction-name),
.finance-day-direction > summary > span:not(.finance-day-direction-name) { text-align: right; font-size: 11px; font-weight: 800; }
.finance-day-direction > .finance-cleaning-total .direction-funding,
.finance-day-direction > summary .direction-funding { color: var(--warning); }
.finance-day-direction-name { display: grid; grid-template-columns: 8px auto 1fr; align-items: center; gap: 8px; min-width: 0; }
.finance-day-direction-name i { width: 7px; height: 24px; border-radius: 5px; background: currentColor; }
.finance-day-direction-name strong { color: currentColor; font-size: 12px; font-weight: 900; }
.finance-day-direction-name small { overflow: hidden; color: var(--muted); font-size: 10px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.finance-day-direction.tone-kp .finance-day-direction-name { color: #a96a13; }
.finance-day-direction.tone-bt .finance-day-direction-name { color: #397e9a; }
.finance-day-direction.tone-mnh .finance-day-direction-name { color: #198780; }
.finance-day-direction.tone-cleaning .finance-day-direction-name { color: #3e8b58; }
.finance-day-direction.tone-other .finance-day-direction-name { color: var(--muted); }
.finance-day-partners { padding: 0 12px 10px 28px; border-top: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 50%, var(--card)); }
.finance-day-partner-head,
.finance-day-partner-row { display: grid; grid-template-columns: minmax(140px, 1.35fr) repeat(6, minmax(88px, .8fr)); align-items: center; gap: 8px; min-width: 820px; padding: 7px 38px 7px 0; color: var(--ink); font-variant-numeric: tabular-nums; }
.finance-day-partner-head { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.finance-day-partner-row { border-top: 1px solid color-mix(in srgb, var(--border) 70%, transparent); font-size: 11px; font-weight: 750; }
.finance-day-partner-head span:not(:first-child),
.finance-day-partner-row span { text-align: right; }
.finance-day-partner-row strong { font-weight: 850; }
.finance-day-partner-row .direction-funding { color: var(--warning); }
.finance-day-empty { margin: 0; padding: 14px 18px; color: var(--muted); font-size: 11px; text-align: center; }
@media (max-width: 820px) { .finance-combined-head { align-items: stretch; }.finance-day-direction-tabs { align-self: flex-start; }.finance-day-direction-tabs button { min-width: 48px; padding-inline: 9px; } }

@media (max-width: 760px) {
  .finance-combined-head { display: grid; padding: 14px; }
  .finance-day-direction-tabs { width: 100%; overflow-x: auto; }
  .finance-day-direction-tabs button { min-width: 58px; min-height: 40px; flex: 1 0 auto; }
  .finance-partner-days-scroll { display: none; }
  .finance-mobile-direction-days { display: grid; gap: 10px; padding: 10px; background: var(--surface); }
  .finance-mobile-month-total,
  .finance-mobile-day { overflow: hidden; border: 1px solid var(--border); border-radius: 13px; background: var(--card); }
  .finance-mobile-month-total > header { display: flex; justify-content: space-between; gap: 12px; padding: 13px 14px; border-bottom: 1px solid var(--border); }
  .finance-mobile-month-total > header span { color: var(--muted); font-size: 11px; font-weight: 800; }
  .finance-mobile-month-total > header strong { color: var(--ink); font-size: 14px; }
  .finance-mobile-month-total > section,
  .finance-mobile-day-groups > section { padding: 12px 13px; border-top: 1px solid var(--border); }
  .finance-mobile-month-total > section:first-of-type { border-top: 0; }
  .finance-mobile-month-total > section.is-total,
  .finance-mobile-day-groups > section.is-total { background: color-mix(in srgb, var(--warning) 8%, var(--card)); }
  .finance-mobile-month-total h3,
  .finance-mobile-day-groups h3 { margin: 0 0 9px; color: var(--ink); font-size: 12px; }
  .finance-mobile-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--border); border-radius: 10px; }
  .finance-mobile-metrics > span { min-width: 0; min-height: 58px; display: grid; align-content: center; gap: 4px; padding: 8px 10px; border-top: 1px solid var(--border); border-right: 1px solid var(--border); }
  .finance-mobile-metrics > span:nth-child(-n+2) { border-top: 0; }
  .finance-mobile-metrics > span:nth-child(2n) { border-right: 0; }
  .finance-mobile-metrics small { color: var(--muted); font-size: 9px; font-weight: 750; }
  .finance-mobile-metrics strong { overflow: hidden; color: var(--ink); font-size: 14px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
  .finance-mobile-metrics .direction-funding strong { color: var(--warning); }
  .finance-mobile-day > summary { min-height: 64px; display: grid; grid-template-columns: minmax(0, 1fr) 64px 64px 28px; align-items: center; gap: 8px; padding: 10px 12px; list-style: none; cursor: pointer; }
  .finance-mobile-day > summary::-webkit-details-marker { display: none; }
  .finance-mobile-day > summary > span { display: grid; gap: 3px; }
  .finance-mobile-day > summary > span:not(:first-child) { text-align: right; }
  .finance-mobile-day > summary strong { color: var(--ink); font-size: 15px; }
  .finance-mobile-day > summary small { color: var(--muted); font-size: 9px; font-weight: 750; text-transform: lowercase; }
  .finance-mobile-day > summary b { color: var(--ink); font-size: 14px; }
  .finance-mobile-day > summary i { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 8px; color: var(--muted); font-style: normal; transition: transform .16s ease; }
  .finance-mobile-day[open] > summary i { transform: rotate(180deg); color: var(--warning); }
  .finance-mobile-day-groups { border-top: 1px solid var(--border); }

  .finance-day-report-head { display: none; }
  .finance-combined-scroll { max-height: none; overflow: visible; padding: 10px; background: var(--surface); }
  .finance-combined-day { min-width: 0; margin-bottom: 10px; overflow: hidden; border: 1px solid var(--border); border-radius: 13px; }
  .finance-combined-day:last-child { margin-bottom: 0; }
  .finance-combined-day > summary { position: relative; min-width: 0; min-height: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 0; }
  .finance-combined-date,
  .finance-combined-day > summary > .finance-day-direction-count { min-height: 50px; padding: 11px 12px; }
  .finance-combined-date { display: flex; align-items: center; font-size: 15px; }
  .finance-combined-day > summary > .finance-day-direction-count { justify-content: flex-end; }
  .finance-combined-day > summary > span:not(.finance-day-direction-count) { min-width: 0; min-height: 58px; display: grid; align-content: center; gap: 4px; padding: 8px 11px; border-top: 1px solid var(--border); border-right: 1px solid var(--border); text-align: left; font-size: 14px; }
  .finance-combined-day > summary > span:not(.finance-day-direction-count):nth-child(odd) { border-right: 0; }
  .finance-combined-day > summary > span:not(.finance-day-direction-count)::before { color: var(--muted); font-size: 9px; font-weight: 750; }
  .finance-combined-day > summary > span:nth-child(2)::before { content: "Принято"; }
  .finance-combined-day > summary > span:nth-child(3)::before { content: "Закрыто"; }
  .finance-combined-day > summary > span:nth-child(4)::before { content: "Приход"; }
  .finance-combined-day > summary > span:nth-child(5)::before { content: "CPA"; }
  .finance-combined-day > summary > span:nth-child(6)::before { content: "Цена принятой"; }
  .finance-combined-day > summary > span:nth-child(7)::before { content: "Цена закрытой"; }
  .finance-col-money-start,
  .finance-col-cost-start { padding-left: 11px; box-shadow: none; }
  .finance-day-direction-list { padding: 8px; }
  .finance-day-direction > .finance-cleaning-total,
  .finance-day-direction > summary { position: relative; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 0; }
  .finance-day-direction-name { grid-column: 1 / -1; min-height: 50px; padding: 9px 11px; }
  .finance-day-direction > summary > span:not(.finance-day-direction-name),
  .finance-day-direction > .finance-cleaning-total > span:not(.finance-day-direction-name) { min-height: 54px; display: grid; align-content: center; gap: 3px; padding: 7px 10px; border-top: 1px solid var(--border); border-right: 1px solid var(--border); text-align: left; font-size: 13px; }
  .finance-day-direction > :is(summary,.finance-cleaning-total) > span:nth-child(odd):not(.finance-day-direction-name) { border-right: 0; }
  .finance-day-direction > :is(summary,.finance-cleaning-total) > span:not(.finance-day-direction-name)::before { color: var(--muted); font-size: 8px; font-weight: 750; }
  .finance-day-direction > :is(summary,.finance-cleaning-total) > span:nth-child(2)::before { content: "Принято"; }
  .finance-day-direction > :is(summary,.finance-cleaning-total) > span:nth-child(3)::before { content: "Закрыто"; }
  .finance-day-direction > :is(summary,.finance-cleaning-total) > span:nth-child(4)::before { content: "Приход"; }
  .finance-day-direction > :is(summary,.finance-cleaning-total) > span:nth-child(5)::before { content: "CPA"; }
  .finance-day-direction > :is(summary,.finance-cleaning-total) > span:nth-child(6)::before { content: "Цена принятой"; }
  .finance-day-direction > :is(summary,.finance-cleaning-total) > span:nth-child(7)::before { content: "Цена закрытой"; }
  .finance-day-direction > summary > .finance-disclosure-arrow { position: absolute; top: 11px; right: 10px; }
  .finance-day-partners { padding: 0 8px 8px; }
  .finance-day-partner-head { display: none; }
  .finance-day-partner-row { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 8px; padding: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 9px; }
  .finance-day-partner-row > strong { grid-column: 1 / -1; padding: 9px 10px; background: var(--surface); }
  .finance-day-partner-row > span { min-height: 50px; display: grid; align-content: center; gap: 3px; padding: 7px 10px; border-top: 1px solid var(--border); border-right: 1px solid var(--border); text-align: left; }
  .finance-day-partner-row > span:nth-child(odd) { border-right: 0; }
  .finance-day-partner-row > span::before { color: var(--muted); font-size: 8px; font-weight: 750; }
  .finance-day-partner-row > span:nth-child(2)::before { content: "Принято"; }
  .finance-day-partner-row > span:nth-child(3)::before { content: "Закрыто"; }
  .finance-day-partner-row > span:nth-child(4)::before { content: "Приход"; }
  .finance-day-partner-row > span:nth-child(5)::before { content: "CPA"; }
  .finance-day-partner-row > span:nth-child(6)::before { content: "Цена принятой"; }
  .finance-day-partner-row > span:nth-child(7)::before { content: "Цена закрытой"; }
}
.finance-accounts-head { align-items: center; gap: 16px; }
.finance-account-view-controls { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.finance-account-view-controls .segmented { display: inline-flex; padding: 3px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.finance-account-view-controls .segmented button { min-height: 30px; padding: 0 10px; border: 0; border-radius: 7px; color: var(--muted); background: transparent; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.finance-account-view-controls .segmented button.active { color: var(--ink); background: var(--warning-soft); }
.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-toggle .finance-account-transition { color: color-mix(in srgb, var(--info) 76%, var(--ink)); font-size: 9px; font-weight: 800; line-height: 1.25; white-space: normal; }
.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); }
.finance-account-daily-table .finance-day-direction-change > td { border-top: 2px solid color-mix(in srgb, var(--info) 65%, var(--border)); }
.finance-account-daily-table .finance-day-direction-change > td:first-child { white-space: normal; background: color-mix(in srgb, var(--info) 8%, var(--card)); }
.finance-day-date { display: grid; gap: 1px; }
.finance-day-direction-marker { display: block; margin-top: 3px; color: color-mix(in srgb, var(--info) 78%, var(--ink)); font-size: 9px; font-weight: 850; line-height: 1.2; }
@media (max-width: 760px) { .finance-account-daily-table .finance-day-date { margin-left: auto; text-align: right; } }
.dds-summary-strip { display: grid; grid-template-columns: repeat(8,minmax(165px,1fr)); margin-bottom: 14px; overflow-x: auto; 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: 14px 12px; 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: 13px; font-weight: 650; }
.dds-summary-strip strong { margin-top: 9px; color: var(--ink); font-size: 22px; font-weight: 800; line-height: 1.2; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dds-summary-strip small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; font-weight: 600; }
.dds-summary-strip .crm-revenue-summary { background: color-mix(in srgb,var(--info) 5%,var(--card)); }
.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-wallet-panel { margin-bottom: 14px; padding: 0; overflow: hidden; }
.dds-wallet-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; cursor: pointer; list-style: none; }
.dds-wallet-summary::-webkit-details-marker { display: none; }
.dds-wallet-summary h2 { margin: 0; font-size: 17px; }
.dds-wallet-current-total { margin-left: auto; color: var(--muted); font-size: 12px; }
.dds-wallet-current-total strong { color: var(--ink); font-size: 15px; font-variant-numeric: tabular-nums; }
.dds-wallet-current-total small { color: var(--warning); font-size: 11px; }
.dds-wallet-toggle { flex: none; color: var(--warning); font-weight: 700; font-size: 13px; }
.dds-wallet-toggle .is-open, .dds-wallet-panel[open] .dds-wallet-toggle .is-closed { display: none; }
.dds-wallet-panel[open] .dds-wallet-toggle .is-open { display: inline; }
.dds-wallet-summary:hover { background: color-mix(in srgb,var(--warning) 4%,var(--card)); }
.dds-wallet-summary:focus-visible { outline: 2px solid var(--warning); outline-offset: -2px; }
.dds-wallet-content { border-top: 1px solid var(--border); }
.dds-wallet-api-overview { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 14px; }
.dds-wallet-api-overview > div { min-width: 0; padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); }
.dds-wallet-api-overview span, .dds-wallet-api-overview small { display: block; color: var(--muted); font-size: 12px; }
.dds-wallet-api-overview strong { display: block; margin: 5px 0; font-size: 22px; font-variant-numeric: tabular-nums; }
.dds-wallet-excluded { margin: 10px 14px; border: 1px solid var(--border); border-radius: 9px; overflow: hidden; }
.dds-wallet-excluded > summary { padding: 10px 12px; cursor: pointer; font-size: 13px; font-weight: 750; }
.dds-wallet-excluded > p { margin: 0; padding: 0 12px 10px; color: var(--muted); font-size: 12px; }
.dds-wallet-intro { margin: 11px 14px; color: var(--muted); font-size: 13px; }
.dds-wallet-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.dds-wallet-table th, .dds-wallet-table td { padding: 9px 13px; border-top: 1px solid var(--border); text-align: left; white-space: nowrap; }
.dds-wallet-table th { color: var(--muted); font-size: 12px; }
.dds-wallet-table td:nth-child(3), .dds-wallet-table td:nth-child(4), .dds-wallet-table td:nth-child(5) { font-weight: 700; }
.dds-wallet-table small { display: block; color: var(--muted); font-size: 11px; margin-top: 3px; }
.dds-wallet-total-row { background: color-mix(in srgb,var(--info) 8%,var(--card)); }
.dds-wallet-total-row td { font-weight: 750; }
.dds-wallet-total-extra { background: color-mix(in srgb,var(--warning) 5%,var(--card)); }
.dds-wallet-checkpoint-note { grid-column: 1 / -1; margin: 0 12px 10px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; color: var(--muted); font-size: 12px; }
.dds-wallet-checkpoint-note > summary { cursor: pointer; font-weight: 650; }
.dds-wallet-checkpoint-note > p { margin: 8px 0 0; line-height: 1.45; }
.dds-wallet-checkpoint-note b { color: var(--ink); font-variant-numeric: tabular-nums; }
.dds-wallet-breakdown { margin-top: 7px; white-space: normal; font-weight: 400; }
.dds-wallet-breakdown summary { width: fit-content; color: var(--warning); cursor: pointer; font-size: 11px; font-weight: 700; }
.dds-wallet-breakdown > div { display: grid; gap: 3px; min-width: 195px; margin-top: 7px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--card); font-size: 11px; }
.dds-wallet-breakdown b { padding-top: 4px; border-top: 1px solid var(--border); }
.dds-wallet-status { display: inline-block; border-radius: 7px; padding: 3px 7px; background: color-mix(in srgb,var(--muted) 9%,var(--card)); }
.dds-wallet-mismatch { background: color-mix(in srgb,var(--danger) 6%,var(--card)); }
.dds-wallet-mismatch .dds-wallet-status, .dds-wallet-mismatch td:nth-child(5) { color: var(--danger); }
.dds-wallet-match .dds-wallet-status { color: var(--success); background: color-mix(in srgb,var(--success) 9%,var(--card)); }
.dds-wallet-warning { margin: 0 14px 10px; padding: 9px 12px; border-radius: 9px; background: color-mix(in srgb,var(--warning) 12%,var(--card)); }
.dds-wallet-footnote { margin: 8px 14px 12px; color: var(--muted); font-size: 12px; }
@media (max-width: 700px) {
  .dds-wallet-api-overview { grid-template-columns: 1fr; }
  .dds-wallet-table thead { display: none; }
  .dds-wallet-table, .dds-wallet-table tbody, .dds-wallet-table tfoot, .dds-wallet-table tr, .dds-wallet-table td { display: block; width: 100%; }
  .dds-wallet-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 7px 10px; border-top: 1px solid var(--border); }
  .dds-wallet-table td { padding: 5px 6px; border: 0; white-space: normal; }
  .dds-wallet-table td::before { display: block; content: attr(data-label); color: var(--muted); font-size: 11px; font-weight: 600; }
  .dds-wallet-table td:first-child, .dds-wallet-table td:last-child { grid-column: 1 / -1; }
}
.dds-main-grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 14px; margin-bottom: 14px; align-items: start; }
.dds-owner-forms { display: grid; gap: 14px; min-width: 0; }
.dds-entry-panel, .dds-banks-panel, .dds-ledger-panel { overflow: visible; }
.dds-entry-panel, .dds-transfer-panel, .dds-banks-panel { height: auto; overflow: visible; }
.dds-banks-panel { display: flex; flex-direction: column; align-self: stretch; min-height: 0; }
.dds-banks-panel > .panel-head { flex: 0 0 auto; flex-wrap: wrap; gap: 10px; }
.dds-entry-panel .panel-head, .dds-transfer-panel .panel-head, .dds-banks-panel .panel-head { min-height: 68px; }
body.design-vanta .panel.dds-topup-panel {
  overflow: visible;
  border: 2px solid color-mix(in srgb, var(--warning) 70%, var(--border));
  border-left: 5px solid var(--warning);
  background: color-mix(in srgb, var(--warning) 4%, var(--card));
  box-shadow: 0 5px 20px color-mix(in srgb, var(--warning) 10%, transparent);
}
body.design-vanta .dds-topup-panel .panel-head {
  gap: 16px;
  background: color-mix(in srgb, var(--warning) 10%, var(--card));
  border-bottom-color: color-mix(in srgb, var(--warning) 35%, var(--border));
  border-radius: calc(var(--radius-lg) - 2px) calc(var(--radius-lg) - 2px) 0 0;
}
body.design-vanta .dds-topup-panel .panel-head h2 { font-size: 20px; font-weight: 750; }
.dds-topup-fields { display: grid; grid-template-columns: minmax(150px,1.2fr) minmax(180px,1.5fr) minmax(120px,1fr) minmax(150px,1fr); gap: 14px; min-width: 0; margin: 0; padding: 18px 20px; border: 0; }
.dds-topup-fields label { display: grid; gap: 7px; min-width: 0; }
.dds-topup-fields label > span { font-size: 11px; font-weight: 750; color: var(--muted); }
.dds-topup-fields input, .dds-topup-fields select { width: 100%; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); color: var(--ink); font: inherit; font-size: 13px; }
.dds-topup-fields input:focus, .dds-topup-fields select:focus { outline: 2px solid var(--warning); outline-offset: 2px; }
.dds-topup-fields:disabled { opacity: .65; }
.dds-topup-hint { grid-column: 1 / -1; margin: -2px 0 0; font-size: 11px; line-height: 1.6; color: var(--muted); }
.dds-topup-comment { grid-column: 1 / 4; }
.dds-topup-fields > button { align-self: end; min-height: 44px; }
.dds-topup-receipt { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; background: var(--success-soft); border-bottom: 1px solid var(--border); }
.dds-topup-receipt strong { color: var(--success); }
.dds-topup-receipt p { margin: 6px 0; }
.dds-topup-receipt small { color: var(--muted); }
.dds-topup-error { margin: 12px 20px 18px; color: var(--danger); font-size: 13px; line-height: 1.5; }
.dds-topup-status { padding: 20px; color: var(--muted); }
.dds-topup-review { padding: 18px 20px; }
.dds-topup-review h3 { margin: 0 0 16px; }
.dds-topup-review dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin: 0; }
.dds-topup-review dt { color: var(--muted); font-size: 11px; }
.dds-topup-review dd { margin: 6px 0 0; font-size: 16px; font-weight: 750; overflow-wrap: anywhere; }
.dds-topup-review p { color: var(--muted); font-size: 12px; line-height: 1.5; }
.dds-topup-review-actions { display: flex; justify-content: end; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
@media(max-width:600px) { .dds-topup-review dl { grid-template-columns: repeat(2,minmax(0,1fr)); } .dds-topup-review-actions > button { flex: 1; } }
@media (max-width: 1100px) { .dds-topup-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } .dds-topup-comment { grid-column: 1; } }
@media (max-width: 600px) { .dds-topup-fields { grid-template-columns: minmax(0,1fr); padding: 16px; } .dds-topup-receipt { align-items: stretch; flex-direction: column; } }
.dds-entry-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 12px; padding: 12px 16px 16px; }
.dds-entry-form label, .dds-table-filters label { display: grid; gap: 4px; min-width: 0; }
.dds-entry-form label > span, .dds-table-filters label > span { overflow: hidden; color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .04em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.dds-entry-form input, .dds-entry-form select, .dds-table-filters select { width: 100%; min-height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); font: inherit; font-size: 10px; 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-entry-form select, .dds-topup-fields select { font-size: 15px; min-height: 46px; }
.dds-comment-field { grid-column: auto; }
.dds-entry-form > button { grid-column: 2; min-width: 190px; min-height: 40px; justify-self: end; margin-top: 3px; }
.dds-transfer-help { grid-column: 1 / -1; margin: 0; color: var(--danger); font-size: 11px; }
.dds-bank-panel-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.dds-api-balance-highlight { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; padding: 12px 16px; }
.dds-api-balance-highlight > span { color: var(--ink); font-size: 13px; font-weight: 600; }
.dds-api-balance-highlight > strong { color: var(--ink); font-size: 19px; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dds-api-balance-highlight > small { flex-basis: 100%; color: var(--muted); font-size: 11px; line-height: 1.45; }
.dds-add-bank-button { min-height: 31px; padding: 0 10px; border-radius: 9px; font-size: 9px; }
.dds-add-bank-button span { font-size: 14px; line-height: 1; }
.dds-bank-grid { display: grid; grid-template-columns: 1fr; align-content: start; flex: 1 0 auto; gap: 0; overflow: visible; border: 1px solid var(--border); border-radius: 12px; }
.dds-bank-card { display: grid; grid-template-columns: minmax(180px,.95fr) minmax(0,1.25fr); min-height: 60px; 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.is-avito-balance { background: color-mix(in srgb,var(--warning) 6%,var(--surface)); }
.dds-bank-card header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 8px 12px; }
.dds-bank-identity { display: grid; min-width: 0; gap: 2px; }
.dds-bank-identity strong { color: var(--ink); font-size: 14px; font-weight: 650; overflow-wrap: anywhere; }
.dds-bank-identity small { color: var(--warning); font-size: 10px; font-weight: 600; }
.dds-bank-identity span { color: var(--ink); font-size: 18px; font-weight: 750; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dds-bank-actions { display: flex; align-items: center; gap: 3px; opacity: .62; transition: opacity .16s ease; }
.dds-bank-card:hover .dds-bank-actions, .dds-bank-actions:focus-within { opacity: 1; }
.dds-bank-actions button { display: grid; place-items: center; width: 25px; height: 25px; padding: 0; border: 1px solid var(--border); border-radius: 7px; color: var(--muted); background: var(--card); font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; }
.dds-bank-actions button:hover { color: var(--ink); border-color: var(--warning); background: var(--warning-soft); }
.dds-bank-actions button.danger:hover { color: var(--danger); border-color: color-mix(in srgb,var(--danger) 45%,var(--border)); background: var(--danger-soft); }
.dds-bank-actions button:disabled { cursor: wait; opacity: .45; }
.dds-bank-actions button.dds-bank-hide-button { width: auto; padding: 0 8px; font-size: 10px; }
.dds-archived-banks { margin: 10px 14px 14px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--card); font-size: 12px; }
.dds-archived-banks summary { cursor: pointer; font-weight: 700; }
.dds-archived-banks p { margin: 8px 0; color: var(--muted); }
.dds-archived-banks > div { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; padding: 7px 0; border-top: 1px solid var(--border); }
.dds-archived-banks button { padding: 5px 9px; font-size: 11px; }
.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; color: var(--muted); font-size: 10px; line-height: 1.4; }
.dds-bank-card > div span + span { border-left: 1px solid var(--border); }
.dds-bank-card > div b { display: block; margin-top: 4px; color: var(--ink); font-size: 13px; font-weight: 700; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.dds-bank-card > div small { display: block; margin-top: 4px; font-size: 10px; font-weight: 600; overflow-wrap: anywhere; }
.dds-topups-panel { margin-bottom: 14px; padding: 0; overflow: hidden; }
.dds-topups-panel > summary { list-style: none; cursor: pointer; }
.dds-topups-panel > summary::-webkit-details-marker { display: none; }
body.design-vanta .dds-topups-panel > summary.panel-head { min-height: 64px; padding: 12px 16px; }
.dds-topups-panel > summary:hover { background: color-mix(in srgb, var(--warning) 4%, var(--card)); }
.dds-topups-panel > summary:focus-visible { outline: 2px solid var(--warning); outline-offset: -3px; }
.dds-topups-panel > summary > div:first-child { min-width: 0; }
.dds-topups-toggle { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; color: var(--ink); background: var(--card); font-size: 11px; font-weight: 750; white-space: nowrap; }
.dds-topups-toggle .when-open, .dds-topups-panel[open] .dds-topups-toggle .when-closed { display: none; }
.dds-topups-panel[open] .dds-topups-toggle .when-open { display: inline; }
.dds-topups-panel[open] .dds-topups-toggle [aria-hidden="true"] { transform: rotate(180deg); }
.dds-topups-summary { display: grid; justify-items: end; gap: 3px; }
.dds-topups-summary span { color: var(--muted); font-size: 9px; font-weight: 760; }
.dds-topups-summary strong { color: var(--success); font-size: 17px; font-weight: 900; font-variant-numeric: tabular-nums; }
.dds-topups-summary b { color: var(--warning); font-size: 10px; font-weight: 800; }
.dds-topups-table { width: 100%; min-width: 1020px; table-layout: fixed; border-collapse: collapse; }
.dds-topups-table th, .dds-topups-table td { min-height: 42px; padding: 9px 12px; border: 1px solid var(--border); color: var(--ink); font-size: 10px; text-align: left; vertical-align: middle; font-variant-numeric: tabular-nums; }
.dds-topups-table th { height: 35px; color: var(--muted); background: var(--surface); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.dds-topups-table th:nth-child(1) { width: 110px; }
.dds-topups-table th:nth-child(2), .dds-topups-table th:nth-child(3) { width: 130px; }
.dds-topups-table th:nth-child(5) { width: 170px; }
.dds-topup-total { color: var(--success) !important; font-size: 12px !important; font-weight: 900; white-space: nowrap; }
.dds-transfer-total { color: var(--warning) !important; font-size: 12px !important; font-weight: 900; white-space: nowrap; }
.dds-topup-bank-list { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.dds-topup-bank-list > span { display: inline-flex; max-width: 100%; min-height: 30px; align-items: center; gap: 7px; padding: 2px 4px 2px 8px; border: 1px solid color-mix(in srgb,var(--success) 20%,var(--border)); border-radius: 8px; background: color-mix(in srgb,var(--success) 6%,var(--card)); white-space: normal; }
.dds-topup-bank-list > span.is-transfer { border-color: color-mix(in srgb,var(--warning) 35%,var(--border)); background: var(--warning-soft); }
.dds-topup-bank-list b { min-width: 0; font-size: 13px; overflow-wrap: anywhere; }
.dds-topup-bank-list strong { flex: 0 0 auto; color: var(--success); font-size: 14px; font-weight: 750; }
.dds-topup-bank-list > span.is-transfer strong { color: var(--warning); }
.dds-cash-activity-actions { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 3px; margin-left: 2px; font-style: normal; }
.dds-cash-activity-actions button { display: grid; width: 24px; height: 24px; padding: 0; place-items: center; border: 1px solid var(--border); border-radius: 6px; color: var(--muted); background: var(--card); font: inherit; font-size: 11px; font-weight: 900; cursor: pointer; }
.dds-cash-activity-actions button:hover { color: var(--ink); border-color: var(--warning); background: var(--warning-soft); }
.dds-cash-activity-actions button.danger:hover { color: var(--danger); border-color: color-mix(in srgb,var(--danger) 45%,var(--border)); background: var(--danger-soft); }
.dds-topup-comments { display: grid; gap: 4px; color: var(--ink); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .dds-topups-panel > summary.panel-head { flex-wrap: wrap; }
  .dds-topups-panel > summary > div:first-child { flex: 1 1 100%; }
  .dds-topups-summary { justify-items: start; }
  .dds-topups-toggle { margin-left: auto; }
}
.dds-ledger-panel { padding: 0; overflow: visible; }
.dds-ledger-panel > .table-scroll { border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
.dds-ledger-panel > .table-scroll, .dds-topups-panel > .table-scroll { overflow-x: auto; }
.dds-ledger-panel > header { padding: 14px 16px 10px; }
.dds-ledger-panel > header { flex-wrap: wrap; gap: 16px; }
body.design-vanta .dds-ledger-panel > header h2, body.design-vanta .dds-banks-panel > header h2 { font-size: 20px; }
body.design-vanta .dds-banks-panel > header h2 { font-size: 16px; }
.dds-ledger-panel > header p, .dds-banks-panel > header p { font-size: 12px; line-height: 1.5; }
.dds-ledger-more { position: sticky; left: 0; width: 100%; padding: 16px; display: flex; justify-content: center; border-top: 1px solid var(--border); background: var(--card); }
.dds-ledger-more .secondary-button { min-height: 46px; font-size: 14px; }
.dds-table-filters { display: flex; align-items: end; gap: 8px; }
.dds-table-filters { flex-wrap: wrap; gap: 12px; }
.dds-table-filters > label { width: 220px; }
.dds-table-filters > label > span, .dds-table-filters > .dds-account-multi > span { font-size: 12px; font-weight: 650; }
.dds-table-filters select, .dds-table-filters select option { font-size: 16px; font-weight: 600; }
.dds-table-filters select, .dds-table-filters .dds-account-multi summary { min-height: 48px; }
.dds-table-filters .dds-account-multi summary strong { font-size: 16px; font-weight: 650; }
.dds-table-filters label { min-width: 150px; }
.dds-table-filters .dds-account-multi { flex: 0 1 220px; width: 220px; min-width: 180px; gap: 6px; }
.dds-table-filters .dds-account-multi .effectiveness-multi-menu { right: 0; left: auto; width: 290px; text-transform: none; }
.dds-table-filters .dds-account-multi .effectiveness-multi-menu label { min-width: 0; }
.dds-table-filters .dds-account-multi .effectiveness-multi-menu label.all > span { font-size: 16px; }
.dds-table-filters .dds-account-multi .effectiveness-multi-menu label:not(.all) {
  min-height: 48px;
  font-weight: 850;
}
.dds-table-filters .dds-account-multi .effectiveness-multi-menu label:not(.all) > span {
  color: var(--ink);
  font-size: 18px;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}
.dds-table-filters .dds-account-multi .effectiveness-multi-menu label:not(.all) input {
  width: 22px;
  height: 22px;
}
.dds-ledger-table { width: 100%; min-width: 1350px; table-layout: fixed; border-collapse: collapse; }
.dds-ledger-table th, .dds-ledger-table td { height: 50px; padding: 10px 12px; border: 1px solid var(--border); color: var(--ink); font-size: 14px; text-align: right; vertical-align: middle; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dds-ledger-table th { height: 42px; color: var(--muted); background: var(--surface); font-size: 13px; font-weight: 700; }
.dds-ledger-table td:nth-child(3), .dds-ledger-table td:nth-child(4) { font-size: 16px; font-weight: 600; }
.dds-ledger-table td.dds-money { font-size: 16px; }
.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: 160px; }
.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: 140px; }
.dds-ledger-table th:nth-child(8) { width: 110px; }
.dds-ledger-table th:nth-child(9) { width: 110px; }
.dds-ledger-table .dds-delete-entry { white-space: nowrap; }
.dds-mobile-ledger { display: none; }
.dds-comment-cell { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dds-recorder { display: grid; gap: 2px; line-height: 1.1; }
.dds-recorder strong { font-size: 12px; font-weight: 850; color: var(--ink); }
.dds-recorder small { font-size: 10px; font-weight: 700; color: var(--muted); }
.dds-money { font-weight: 850; white-space: nowrap; }
.dds-ledger-table tr.is-editing td { background: color-mix(in srgb,var(--warning) 9%,var(--card)); }
.dds-row-actions { display: flex; align-items: center; justify-content: center; gap: 4px; }
.dds-row-actions .row-menu { width: 28px; height: 28px; min-height: 28px; border-radius: 8px; color: var(--muted); }
.dds-row-actions .row-menu:hover { color: var(--ink); background: var(--warning-soft); }
.dds-row-actions .row-menu.danger:hover { color: var(--danger); background: var(--danger-soft); }
.dds-delete-entry { min-height: 28px; padding: 0 9px; border: 1px solid color-mix(in srgb, var(--danger) 35%, transparent); border-radius: 8px; background: transparent; color: var(--danger); font-size: 11px; font-weight: 700; cursor: pointer; }
.dds-delete-entry:hover { background: var(--danger-soft); border-color: var(--danger); }
.dds-type-pill { display: inline-flex; min-height: 30px; align-items: center; padding: 3px 8px; border-radius: 7px; font-size: 12px; font-weight: 700; }
.dds-type-pill.income { color: var(--success); background: var(--success-soft); }
.dds-type-pill.expense { color: var(--danger); background: var(--danger-soft); }
.dds-type-pill.transfer { color: var(--warning); background: var(--warning-soft); }
.dds-ledger-table tr.is-transfer td { background: color-mix(in srgb,var(--warning) 4%,var(--card)); }
.dds-bank-modal { width: min(480px,100%); }
.dds-bank-name-field { display: grid; gap: 7px; color: var(--ink); font-size: 10px; font-weight: 780; }
.dds-bank-name-field input { width: 100%; height: 44px; padding: 0 13px; border: 1px solid var(--border); border-radius: 11px; color: var(--ink); background: var(--card); font: inherit; font-size: 12px; font-weight: 720; outline: none; }
.dds-bank-name-field input:focus { border-color: var(--warning); box-shadow: 0 0 0 3px color-mix(in srgb,var(--warning) 14%,transparent); }
@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); }
  .dds-main-grid { grid-template-columns: 1fr; }
  .dds-bank-grid { flex: none; }
  .dds-entry-panel, .dds-transfer-panel, .dds-banks-panel { height: auto; }
}
@media (max-width: 620px) {
  .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: 1fr; }
  .dds-bank-card > div span { padding: 8px 12px; font-size: 11px; }
  .dds-bank-card > div b { font-size: 13px; }
  .dds-ledger-panel > header { align-items: stretch; flex-direction: column; }
  .dds-table-filters { width: 100%; flex-wrap: wrap; }
  .dds-table-filters .dds-account-multi .effectiveness-multi-menu { left: 0; right: auto; }
  .dds-table-filters label { min-width: 0; flex: 1; }
  .dds-table-filters > label, .dds-table-filters .dds-account-multi { flex: 1 1 100%; width: 100%; }
  .dds-ledger-panel > .table-scroll { overflow: visible; }
  .dds-ledger-table { display: none; }
  .dds-mobile-ledger { display: grid; gap: 10px; padding: 10px; background: var(--surface); }
  .dds-mobile-operation { overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: var(--card); box-shadow: 0 6px 18px rgba(0,0,0,.04); }
  .dds-mobile-operation.is-transfer { border-left: 4px solid var(--warning); }
  .dds-mobile-operation.is-editing { outline: 2px solid var(--warning); outline-offset: -2px; }
  .dds-mobile-operation > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 13px; border-bottom: 1px solid var(--border); }
  .dds-mobile-operation > header > div { min-width: 0; display: flex; align-items: center; gap: 8px; }
  .dds-mobile-operation > header > div > strong { color: var(--ink); font-size: 14px; }
  .dds-mobile-operation .dds-type-pill { min-height: 28px; font-size: 10px; }
  .dds-mobile-operation-amount { flex: 0 0 auto; color: var(--ink); font-size: 16px; font-weight: 900; white-space: nowrap; }
  .dds-mobile-operation-amount.income { color: var(--success); }
  .dds-mobile-operation-amount.expense { color: var(--danger); }
  .dds-mobile-operation-amount.transfer { color: var(--warning); }
  .dds-mobile-operation dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; }
  .dds-mobile-operation dl > div { min-width: 0; min-height: 62px; padding: 10px 12px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .dds-mobile-operation dl > div:nth-child(2n) { border-right: 0; }
  .dds-mobile-operation dt { margin-bottom: 5px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
  .dds-mobile-operation dd { margin: 0; overflow-wrap: anywhere; color: var(--ink); font-size: 13px; font-weight: 750; line-height: 1.35; }
  .dds-mobile-operation-comment { grid-column: 1 / -1; border-right: 0 !important; }
  .dds-mobile-operation > footer { padding: 10px 12px; }
  .dds-mobile-operation > footer .dds-row-actions { justify-content: stretch; }
  .dds-mobile-operation > footer .dds-row-actions > * { min-height: 42px; flex: 1; }
  .dds-mobile-operation > footer > span { color: var(--muted); font-size: 12px; }
  .dds-ledger-more { padding: 10px; }
  .dds-ledger-more .secondary-button { width: 100%; }
}
.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 .offer-volume-progress { height: 100%; }
.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; margin-right: 8px; vertical-align: middle; }
.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: 14px; font-weight: 760; }
.daily-account-filter select option { font-size: 14px; font-weight: 600; }
.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-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(5,minmax(0,1fr)); margin-bottom: 10px; border: 1px solid var(--border); border-radius: 15px; overflow: hidden; background: var(--card); }
.daily-compact-summary.is-external { grid-template-columns: repeat(2,minmax(0,1fr)); }
.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-direction-history { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0 0 9px; padding: 7px 10px; border: 1px solid color-mix(in srgb, var(--info) 24%, var(--border)); border-radius: 10px; background: color-mix(in srgb, var(--info) 4%, var(--card)); }
.daily-direction-history > span { margin-right: 3px; color: var(--muted); font-size: 10px; font-weight: 750; }
.direction-transition-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border: 1px solid color-mix(in srgb, var(--info) 26%, var(--border)); border-radius: 7px; color: var(--ink); background: var(--card); font-size: 10px; white-space: nowrap; }
.direction-transition-chip i { width: 2px; height: 15px; border-radius: 2px; background: var(--info); }
.direction-transition-chip strong { font-weight: 850; }
.direction-transition-chip small { color: var(--muted); font-size: 9px; }
.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) 340px; 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-content; min-width: 100%; }
.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 { min-width: 100%; padding: 10px 14px 6px; overflow: visible; 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.daily-chart-cyan { --chart-color: #168eaa; }
.daily-chart-card header { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 34px; margin-bottom: 3px; }
.daily-chart-card h2 { margin: 0; font-size: 15px; }
.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-stats { display: flex; align-items: center; justify-content: flex-end; gap: 14px; color: var(--muted); font-size: 9px; white-space: nowrap; }
.daily-chart-stats span { display: inline-flex; align-items: baseline; gap: 4px; }
.daily-chart-stats b { color: var(--ink); font-size: 12px; font-variant-numeric: tabular-nums; }
.daily-chart-scroll { min-width: 0; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.daily-chart-scroll::-webkit-scrollbar { width: 0; height: 0; }
.daily-chart-card:last-child .daily-chart-scroll { scrollbar-width: thin; }
.daily-chart-card:last-child .daily-chart-scroll::-webkit-scrollbar { height: 7px; }
.daily-chart-plot { --daily-bar-base: 47px; display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 6px; align-items: stretch; min-width: 100%; }
.daily-chart-plot.with-direction-markers { --daily-bar-base: 67px; }
.daily-chart-scale { display: flex; flex-direction: column; justify-content: space-between; height: calc(141px + var(--daily-bar-base)); padding: 24px 0 var(--daily-bar-base); color: var(--muted); font-size: 9px; 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 { position: relative; display: flex; gap: 4px; align-items: end; width: max-content; min-width: 100%; height: calc(141px + var(--daily-bar-base)); padding: 24px 4px 0; border-bottom: 1px solid var(--border); background: repeating-linear-gradient(to bottom, transparent 0, transparent 28px, color-mix(in srgb, var(--border) 82%, transparent) 29px); }
.daily-bars.daily-points-short .daily-bar-point { flex-basis: var(--daily-point-width, 58px); }
.daily-bars.daily-points-month .daily-bar-point { flex-basis: var(--daily-point-width, 32px); }
.daily-bars.daily-points-long .daily-bar-point { flex-basis: 31px; }
.daily-average-line { display: none; }
.daily-empty-plot .daily-bars { position: relative; display: block; opacity: .72; }
.daily-bar-point { position: relative; display: grid; flex: 1 0 var(--daily-point-width, 24px); align-items: end; justify-items: center; height: 100%; min-width: 0; padding: 0; border: 0; color: var(--muted); background: transparent; cursor: pointer; }
.daily-bar-point i { position: absolute; bottom: var(--daily-bar-base); left: 50%; width: min(18px, 52%); height: var(--daily-bar-height); min-height: 6px; border-radius: 3px 3px 1px 1px; background: linear-gradient(180deg, color-mix(in srgb, var(--chart-color) 62%, white), var(--chart-color)); opacity: .94; 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 { position: relative; z-index: 3; height: 27px; padding-top: 7px; color: var(--ink); font-size: 9px; font-weight: 850; white-space: nowrap; }
.daily-bar-point em { position: absolute; bottom: calc(var(--daily-bar-base) + 4px + var(--daily-bar-height)); z-index: 3; padding: 3px 5px; border: 1px solid color-mix(in srgb, var(--chart-color) 30%, var(--border)); border-radius: 6px; color: var(--ink); background: color-mix(in srgb, var(--chart-color) 9%, var(--card)); box-shadow: 0 2px 6px rgba(31,25,38,.08); font-size: 9px; line-height: 1; font-style: normal; font-weight: 900; font-variant-numeric: tabular-nums; white-space: nowrap; }
.daily-bar-point em.is-hover-value { display: none; }
.daily-bar-point:is(:hover,:focus-visible,.date-linked) em.is-hover-value { display: block; }
.daily-bar-point.is-maximum em { border-color: color-mix(in srgb, var(--chart-color) 70%, var(--border)); background: color-mix(in srgb, var(--chart-color) 18%, var(--card)); }
.daily-bar-point.is-minimum:not(.is-maximum) i { opacity: .72; }
.daily-bar-point.is-missing::after { content: ""; position: absolute; right: 20%; bottom: calc(var(--daily-bar-base) + 12px); left: 20%; border-top: 1px dashed var(--border); }
.daily-bar-point.has-direction-change::before { content: ""; position: absolute; z-index: 2; top: 0; bottom: var(--daily-bar-base); left: 0; border-left: 2px dashed color-mix(in srgb, var(--info) 74%, var(--border)); pointer-events: none; }
.daily-chart-direction-label { position: absolute; z-index: 4; bottom: calc(var(--daily-bar-base) - 20px); left: 0; display: grid; place-items: center; height: 17px; padding: 0 5px; border: 1px solid color-mix(in srgb, var(--info) 48%, var(--border)); border-radius: 5px; color: color-mix(in srgb, var(--info) 80%, var(--ink)); background: var(--card); box-shadow: 0 1px 3px rgb(0 0 0 / 8%); font-size: 9px; font-weight: 850; line-height: 1; white-space: nowrap; pointer-events: none; }
.daily-chart-direction-label.align-end { left: 0; transform: translateX(calc(-100% - 2px)); }
.daily-bar-point b { position: absolute; right: auto; bottom: 27px; left: 50%; z-index: 3; width: auto; min-width: 18px; height: 18px; padding: 0 4px; display: grid; place-items: center; border-radius: 9px; color: #fff; background: var(--warning); font-size: 9px; box-shadow: 0 0 0 2px var(--warning-soft); transform: translateX(-50%); }
.daily-bar-point.has-note i { background: linear-gradient(180deg, var(--warning), #d17c2a); }
.daily-height-1 { --daily-bar-height: 8px; }
.daily-height-2 { --daily-bar-height: 16px; }
.daily-height-3 { --daily-bar-height: 24px; }
.daily-height-4 { --daily-bar-height: 32px; }
.daily-height-5 { --daily-bar-height: 40px; }
.daily-height-6 { --daily-bar-height: 48px; }
.daily-height-7 { --daily-bar-height: 56px; }
.daily-height-8 { --daily-bar-height: 64px; }
.daily-height-9 { --daily-bar-height: 72px; }
.daily-height-10 { --daily-bar-height: 80px; }
.daily-height-11 { --daily-bar-height: 88px; }
.daily-height-12 { --daily-bar-height: 96px; }
.daily-height-13 { --daily-bar-height: 104px; }
.daily-height-14 { --daily-bar-height: 112px; }
.daily-average-0 { --daily-average-height: 0px; }
.daily-average-1 { --daily-average-height: 8px; }
.daily-average-2 { --daily-average-height: 16px; }
.daily-average-3 { --daily-average-height: 24px; }
.daily-average-4 { --daily-average-height: 32px; }
.daily-average-5 { --daily-average-height: 40px; }
.daily-average-6 { --daily-average-height: 48px; }
.daily-average-7 { --daily-average-height: 56px; }
.daily-average-8 { --daily-average-height: 64px; }
.daily-average-9 { --daily-average-height: 72px; }
.daily-average-10 { --daily-average-height: 80px; }
.daily-average-11 { --daily-average-height: 88px; }
.daily-average-12 { --daily-average-height: 96px; }
.daily-average-13 { --daily-average-height: 104px; }
.daily-average-14 { --daily-average-height: 112px; }
/* Save space around the plot, keeping full-width bars and the original value scale. */
.daily-layout.is-compact-dashboard { grid-template-columns: minmax(0,1fr); }
.daily-layout.is-compact-dashboard .daily-notes-panel { position: static; }
.daily-layout.is-compact-dashboard .daily-notes-list { max-height: none; overflow: visible; }
.daily-charts.compact-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 4px; padding: 4px; --daily-axis-height: 112px; --daily-value-factor: 1; --daily-value-space: 20px; }
.daily-charts.compact-grid > .daily-chart-card { grid-column: 1 / -1; min-width: 0; padding: 4px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); }
.daily-charts.compact-grid .daily-chart-card header { flex-wrap: wrap; gap: 4px 12px; min-height: 24px; margin-bottom: 2px; }
.daily-charts.compact-grid .daily-chart-heading { display: flex; flex: 1 1 320px; flex-wrap: wrap; align-items: center; min-width: 0; gap: 2px 10px; }
.daily-charts.compact-grid h2 { color: var(--ink); font-size: 15px; line-height: 1.3; }
.daily-charts.compact-grid .daily-chart-stats { flex-wrap: wrap; gap: 12px; min-width: 0; margin-left: auto; font-size: 11px; line-height: 1.3; }
.daily-charts.compact-grid .daily-chart-stats b { font-size: 12px; font-weight: 400; }
.daily-charts.compact-grid .daily-chart-context { display: block; flex: 0 1 auto; min-width: 0; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.3; }
.daily-charts.compact-grid .daily-chart-plot { --daily-bar-base: 38px; grid-template-columns: 56px minmax(0,1fr); min-width: 0; }
.daily-charts.compact-grid .daily-chart-plot.with-direction-markers { --daily-bar-base: 58px; }
.daily-charts.compact-grid :is(.daily-bars,.daily-chart-scale) { height: calc(var(--daily-value-space) + var(--daily-axis-height) + var(--daily-bar-base)); }
.daily-charts.compact-grid .daily-bars { padding-top: var(--daily-value-space); background-position: 0 var(--daily-value-space); background-size: 100% calc(var(--daily-axis-height) + 1px); background-repeat: no-repeat; background-image: repeating-linear-gradient(to bottom,color-mix(in srgb,var(--border) 82%,transparent) 0,color-mix(in srgb,var(--border) 82%,transparent) 1px,transparent 1px,transparent calc(var(--daily-axis-height) / 4)); }
.daily-charts.compact-grid .daily-chart-scale { position: relative; display: block; padding: 0; font-size: 11px; font-weight: 400; }
.daily-charts.compact-grid .daily-chart-scale span { position: absolute; right: 0; left: 0; line-height: 1; transform: translateY(-50%); }
.daily-charts.compact-grid .daily-chart-scale span:nth-child(1) { top: var(--daily-value-space); }
.daily-charts.compact-grid .daily-chart-scale span:nth-child(2) { top: calc(var(--daily-value-space) + var(--daily-axis-height) * .25); }
.daily-charts.compact-grid .daily-chart-scale span:nth-child(3) { top: calc(var(--daily-value-space) + var(--daily-axis-height) * .5); }
.daily-charts.compact-grid .daily-chart-scale span:nth-child(4) { top: calc(var(--daily-value-space) + var(--daily-axis-height) * .75); }
.daily-charts.compact-grid .daily-chart-scale span:nth-child(5) { top: calc(var(--daily-value-space) + var(--daily-axis-height)); }
.daily-charts.compact-grid .daily-bar-point i { height: calc(var(--daily-bar-height) * var(--daily-value-factor)); }
.daily-charts.compact-grid .daily-bar-point em { bottom: calc(var(--daily-bar-base) + 3px + var(--daily-bar-height,0px) * var(--daily-value-factor)); padding: 2px; font-size: 11px; font-weight: 400; }
.daily-charts.compact-grid .daily-bar-point:first-of-type em { left: 0; right: auto; }
.daily-charts.compact-grid .daily-bar-point:last-of-type em { right: 0; left: auto; }
.daily-charts.compact-grid .daily-bar-point span { height: 20px; padding-top: 4px; font-size: 10px; line-height: 1.2; }
.daily-charts.compact-grid .daily-bar-point b { bottom: 21px; height: 16px; }
.daily-charts.compact-grid .daily-unavailable { inset: 18px 10px calc(var(--daily-bar-base) + 2px); pointer-events: none; }
.daily-chart-body { min-width: 0; }
.daily-chart-body[hidden] { display: none !important; }
.daily-chart-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 24px; padding: 4px 8px; border: 1px solid var(--border); border-radius: 7px; color: var(--muted); background: var(--surface); font: inherit; font-size: 11px; line-height: 1.2; white-space: nowrap; cursor: pointer; }
.daily-chart-toggle:hover { color: var(--ink); border-color: color-mix(in srgb,var(--ink) 30%,var(--border)); }
.daily-chart-toggle:focus-visible { outline: 2px solid var(--info); outline-offset: 2px; }
.daily-charts.compact-grid > .daily-chart-card.is-collapsed { padding: 4px 12px; }
.daily-chart-card.is-collapsed .daily-chart-stats { display: none; }
.daily-chart-card.is-collapsed .daily-chart-context { display: none; }
.daily-charts.compact-grid .daily-chart-card.is-collapsed header { min-height: 24px; margin: 0; }
.daily-charts.compact-grid .daily-chart-card.is-collapsed .daily-chart-toggle { margin-left: auto; }
@media(min-width:981px) {
  .daily-charts.compact-grid { --daily-axis-height: 96px; --daily-value-factor: 0.8571428571; }
  .daily-filter-panel { gap: 6px; padding: 7px 12px; }
  .daily-filter-panel :is(.daily-account-filter > span,.daily-direction-filter > span,.daily-filter-label,.daily-custom-range label > span,.daily-offer-multi > span) { font-size: 9px; }
  .daily-filter-panel .daily-account-filter select,.daily-filter-panel .daily-offer-multi summary,.daily-filter-panel .daily-custom-range input { min-height: 34px; }
  .daily-filter-panel .daily-filter-actions .secondary-button,.daily-filter-panel .daily-filter-actions .text-button,.daily-filter-panel .daily-custom-range .secondary-button { min-height: 34px; }
  .daily-filter-panel .daily-direction-options { grid-template-columns: repeat(5,minmax(42px,1fr)); min-height: 34px; }
  .daily-filter-panel .daily-direction-options button { gap: 3px; padding: 0 3px; }
  .daily-filter-panel .daily-direction-options small { min-width: 14px; padding-inline: 2px; font-size: 9px; }
  .daily-period-row { padding-top: 6px; }
  .daily-periods { padding: 3px; }
  .daily-periods button { min-height: 28px; }
  .daily-compact-summary > div { padding: 6px 10px; }
  .daily-compact-summary span { font-size: 9px; line-height: 1.2; }
  .daily-compact-summary strong { margin-top: 3px; font-size: 17px; line-height: 1.15; }
  body .daily-data-status { margin: 6px 0; padding: 6px 9px; font-size: 11px; line-height: 1.25; }
  .daily-direction-history { margin-bottom: 6px; padding: 3px 8px; }
  .daily-direction-history .direction-transition-chip { padding: 2px 6px; font-size: 10px; line-height: 1.2; }
}
@media(max-width:700px) {
  .daily-charts.compact-grid { padding: 6px; }
  .daily-charts.compact-grid > .daily-chart-card { padding: 6px 10px; }
  .daily-charts.compact-grid .daily-chart-card header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 6px 8px; }
  .daily-charts.compact-grid .daily-chart-heading { grid-column: 1; grid-row: 1; }
  .daily-charts.compact-grid .daily-chart-context { flex-basis: 100%; }
  .daily-charts.compact-grid .daily-chart-stats { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; margin-left: 0; }
  .daily-charts.compact-grid .daily-chart-toggle { grid-column: 2; grid-row: 1; min-height: 32px; }
  .daily-charts.compact-grid .daily-chart-plot { grid-template-columns: 52px minmax(0,1fr); }
}
.daily-notes-panel { position: sticky; top: 84px; padding: 16px; min-width: 0; }
.daily-notes-panel > header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.daily-notes-panel h2 { margin: 0; font-size: 18px; }
.daily-notes-panel p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.daily-notes-panel > header .text-button { font-size: 12px; align-self: start; }
.daily-notes-list { display: grid; gap: 12px; max-height: 660px; overflow: auto; padding: 2px; }
.daily-event-card { display: grid; gap: 8px; width: 100%; min-width: 0; padding: 15px; text-align: left; font: inherit; color: var(--ink); background: var(--card); border: 1px solid var(--border); border-left: 3px solid var(--warning); border-radius: 12px; overflow-wrap: anywhere; }
button.daily-event-card { cursor: pointer; }
button.daily-event-card:hover { background: color-mix(in srgb, var(--warning) 7%, var(--card)); }
.daily-event-card:focus-visible { outline: 2px solid var(--warning); outline-offset: 1px; }
.daily-event-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; }
.daily-event-heading time { font-weight: 650; }
.daily-event-status { padding: 4px 7px; border-radius: 6px; background: var(--warning-soft); }
.daily-event-status.is-completed { background: color-mix(in srgb, #399775 16%, var(--card)); }
.daily-event-card strong { font-size: 15px; font-weight: 650; line-height: 1.5; white-space: pre-wrap; }
.daily-event-comment { font-size: 14px; line-height: 1.55; white-space: pre-wrap; }
.daily-event-card small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.daily-event-open { font-size: 12px; color: var(--warning); }
.daily-events-archive { margin-top: 16px; border-top: 1px solid var(--border); padding-top: 12px; }
.daily-events-archive summary { cursor: pointer; padding: 8px 2px; font-size: 14px; font-weight: 600; }
.daily-events-archive summary small { display: block; margin: 5px 0 9px; font-size: 12px; color: var(--muted); font-weight: 400; }
dialog.daily-events-modal { margin: auto; width: min(660px, calc(100vw - 32px)); max-width: 660px; max-height: 85vh; overflow: auto; color: var(--ink); background: var(--card); border: 1px solid var(--border); padding: 22px; }
dialog.daily-events-modal::backdrop { background: rgb(0 0 0 / 50%); }
.daily-events-modal header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.daily-events-modal h2 { margin: 0; font-size: 20px; }
#dailyEventsContent { display: grid; gap: 14px; }
.daily-bar-point.has-note b { bottom: 27px; font-size: 9px; }
.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-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 .placement-volume-progress { height: 100%; }
.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:not(.fullscreen) { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.geo-matrix-panel:not(.fullscreen) .geo-matrix-head { padding-inline: 0; border-bottom: 0; }
.geo-matrix-head { position: sticky; left: 0; }
.geo-matrix-head p { max-width: 720px; }
.geo-matrix-scroll { height: auto; max-height: none; overflow-x: auto; overflow-y: visible; border-block: 1px solid var(--border); background: var(--card); overscroll-behavior-x: contain; overscroll-behavior-y: 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 .geo-listing-item { 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 .geo-listing-item:hover { border-color: var(--violet-600); }
.geo-listing-preview .geo-listing-item span { color: var(--violet-700); font-size: 8px; font-weight: 900; }
.geo-listing-preview .geo-listing-item strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.geo-listing-preview .geo-listing-item small { color: var(--muted); font-size: 8px; }
.geo-listing-pagination { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 5px; }
.geo-listing-pagination span { color: var(--muted); font-size: 9px; font-weight: 800; }
.geo-listing-pagination button { min-height: 32px; padding: 6px 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--ink); background: var(--card); font: inherit; font-size: 9px; font-weight: 800; cursor: pointer; }
.geo-listing-pagination button:hover:not(:disabled) { border-color: var(--violet-600); }
.geo-listing-pagination button:disabled { opacity: .45; cursor: default; }
@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-region-row.is-collapsible > td { padding: 0; }
.geo-region-toggle { width: 100%; min-height: 36px; display: flex; align-items: center; gap: 8px; padding: 6px 12px; border: 0; color: inherit; background: transparent; text-align: left; }
.geo-region-toggle:hover { background: color-mix(in srgb,var(--violet-600) 6%,transparent); }
.geo-region-toggle i { width: 22px; height: 22px; display: grid; flex: 0 0 22px; place-items: center; border: 1px solid color-mix(in srgb,var(--violet-600) 28%,var(--border)); border-radius: 6px; color: var(--violet-700); background: var(--card); font-size: 13px; font-style: normal; font-weight: 900; line-height: 1; }
.geo-region-toggle strong { font-size: 12px; }
.geo-region-toggle span { margin-left: 0; }
.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 .geo-share-progress { display: block; width: calc(100% - 6px); height: 3px; margin: 4px 3px 0; }
.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(2,minmax(0,1fr)); gap: 12px; padding: 16px; }
.offer-directory-tabs { display: inline-flex; gap: 4px; margin: 0 0 14px; padding: 4px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface); }
.offer-directory-tabs button { min-width: 118px; min-height: 40px; padding: 8px 18px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.offer-directory-tabs button:hover { color: var(--ink); background: var(--card); }
.offer-directory-tabs button.active { color: var(--ink); background: var(--warning-soft); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--warning) 42%, transparent); }
.geo-review-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.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-directory-empty { display: grid; min-height: 78px; margin: 0; padding: 16px; place-items: center; color: var(--muted); font-size: 11px; font-weight: 700; line-height: 1.4; text-align: center; }
.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; }
.offer-directory-layout { grid-template-columns: minmax(0,1fr) minmax(0,300px); align-items: start; }
.offer-directory-groups { grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); align-items: start; min-width: 0; gap: 10px; padding: 12px; }
.offer-directory-group { min-width: 0; max-width: 100%; }
.offer-directory-group > header { padding: 10px; }
.offer-directory-group > header > span { flex-shrink: 0; }
.offer-directory-group > header > div { min-width: 0; overflow-wrap: anywhere; }
.offer-directory-group > div { max-height: 300px; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-gutter: stable; }
.offer-category-form, .offer-category-form label { min-width: 0; grid-template-columns: minmax(0,1fr); }
.offer-category-form input, .offer-category-form select { min-width: 0; width: 100%; max-width: 100%; }
.offer-directory-group article.offer-category-row { position: relative; min-width: 0; min-height: 44px; grid-template-columns: 64px minmax(0,1fr) 22px; gap: 6px; padding: 8px 48px 8px 10px; }
.offer-category-row > b, .offer-category-row > span { font-size: 13px !important; overflow-wrap: anywhere; }
.offer-category-row > b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.offer-category-row > span { min-width: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; line-height: 1.4; }
.offer-table-visibility { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.offer-table-visibility input { width: 20px; height: 20px; accent-color: var(--warning); }
.offer-table-visibility span { font-size: 11px; }
.offer-category-editor { grid-column: 1 / -1; min-width: 0; }
.offer-category-editor > summary { position: absolute; top: 8px; right: 8px; }
.offer-category-editor:not([open]) > form { display: none; }
.offer-category-editor summary { width: 32px; min-width: 32px; min-height: 30px; margin-left: auto; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 8px; color: var(--ink); background: var(--card); font-size: 16px; cursor: pointer; list-style: none; }
.offer-category-editor summary::-webkit-details-marker { display: none; }
.offer-category-editor form { grid-column: 1 / -1; grid-template-columns: minmax(0,1fr); min-width: 0; display: grid; gap: 8px; margin-top: 6px; padding: 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); }
.offer-category-editor label { display: grid; grid-template-columns: minmax(0,1fr); min-width: 0; gap: 6px; font-size: 12px; color: var(--ink); }
.offer-category-editor input { min-width: 0; width: 100%; min-height: 42px; padding: 9px; color: var(--ink); background: var(--surface); border: 1px solid var(--border); border-radius: 8px; font: inherit; font-size: 14px; }
.offer-category-editor small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.offer-category-editor button { justify-self: start; }
.offer-directory-group > div:has(.offer-category-editor[open]) { max-height: 300px; }
.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; }
.classification-create, .classification-create form, .classification-create label { min-width: 0; }
.classification-create form, .classification-create label { grid-template-columns: minmax(0,1fr); }
.classification-create form { gap: 14px; }
.classification-create label { gap: 7px; font-size: 12px; }
.classification-create input, .classification-create select, .classification-create button[type="submit"] {
  box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 44px; font-size: 13px;
}
.classification-create select { text-overflow: ellipsis; }
body.design-vanta .classification-create button[type="submit"] { min-height: 44px; white-space: normal; padding: 10px 12px; font-size: 13px; }
.classification-rules-panel > .table-scroll { overflow-x: auto; }
.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%); }
.modal.account-edit-modal { width: min(920px, 100%); }
body:has(#accountEditBackdrop:not([hidden])) { overflow: hidden; }
.account-edit-modal { overscroll-behavior: contain; }
.account-edit-modal > header { position: sticky; top: 0; z-index: 2; background: var(--card); padding: 16px 20px; }
.account-edit-modal h2 { font-size: 20px; overflow-wrap: anywhere; }
.account-edit-modal #accountEditForm { padding: 0 20px 12px; }
.account-edit-modal fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.account-edit-modal [hidden] { display: none !important; }
.account-edit-modal .form-section-title { margin: 16px 0 10px; padding-bottom: 7px; }
.account-edit-modal .form-section-title strong { font-size: 13px; }
.account-edit-modal .form-section-title span { font-size: 10px; }
.account-edit-modal .account-edit-grid { gap: 10px 14px; }
.account-edit-modal .account-edit-grid > .full { grid-column: 1 / -1; }
.account-edit-modal .account-edit-grid label { min-width: 0; gap: 5px; font-size: 11px; }
.account-edit-modal .account-edit-grid input, .account-edit-modal .account-edit-grid select { width: 100%; min-width: 0; height: 38px; min-height: 38px; font-size: 12px; }
.account-edit-modal .account-edit-grid textarea { min-height: 64px; font-size: 12px; }
.account-edit-modal fieldset:disabled :is(input,select,textarea) { opacity: 1; color: var(--ink); -webkit-text-fill-color: var(--ink); }
.account-card-loading { padding: 28px 20px; color: var(--muted); }
.account-card-meta { padding: 14px 20px 0; }
.account-card-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.account-card-facts span { min-width: 0; color: var(--muted); font-size: 10px; }
.account-card-facts strong { display: block; margin-top: 4px; color: var(--ink); font-size: 12px; overflow-wrap: anywhere; }
.account-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.account-card-actions button { min-height: 34px; padding: 7px 12px; font-size: 11px; }
.account-card-access-state { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; color: var(--muted); font-size: 11px; }
.account-card-revealed { padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.account-card-revealed > div { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; gap: 10px; align-items: start; margin-bottom: 8px; font-size: 12px; }
.account-card-revealed strong { overflow-wrap: anywhere; user-select: text; }
.account-card-revealed small { color: var(--muted); font-size: 10px; }
.account-card-api { margin: 0 20px 16px; }
.account-card-api details { border: 1px solid var(--border); border-radius: 10px; }
.account-card-api summary { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 12px; cursor: pointer; font-size: 12px; }
.account-card-api summary::before { content: "›"; font-size: 16px; }
.account-card-api details[open] > summary::before { content: "⌄"; }
.account-card-api summary span { color: var(--muted); font-size: 11px; }
.account-card-api .panel { border: 0; border-top: 1px solid var(--border); border-radius: 0 0 10px 10px; box-shadow: none; }
.account-card-api .panel-head { padding: 12px; }
.account-card-api .panel-head h2 { font-size: 14px; }
.account-card-api .panel-head p { display: none; }
.account-card-api .connection-summary { padding: 12px; }
.account-edit-modal .account-card-api .credentials-form { padding: 0 12px 12px; }
.account-card-api .credentials-form input { width: 100%; min-width: 0; font-size: 12px; }
.account-edit-modal > .account-card-footer { position: sticky; bottom: 0; z-index: 2; margin: 0; padding: 12px 20px; border-top: 1px solid var(--border); background: var(--card); }
body.design-vanta .account-edit-modal > header, body.design-vanta .account-edit-modal > .account-card-footer { background: var(--v-card); }
@media (max-width: 600px) {
  .account-edit-modal .account-edit-grid { grid-template-columns: 1fr; }
  .account-edit-modal .form-section-title span { display: none; }
  .account-card-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .account-edit-modal > header, .account-edit-modal #accountEditForm, .account-card-meta { padding-left: 14px; padding-right: 14px; }
  .account-card-api { margin-left: 14px; margin-right: 14px; }
  .account-card-revealed > div { grid-template-columns: minmax(0,1fr) auto; }
  .account-card-revealed > div > span { grid-column: 1 / -1; }
  .account-edit-modal > .account-card-footer { flex-wrap: wrap; padding: 12px 14px; }
  .account-edit-modal > .account-card-footer > button { flex: 1 1 130px; }
}
.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: #151b22; }
html[data-theme="light"] { color-scheme: light; background: #f2f0eb; }

html[data-theme="dark"] body.design-vanta {
  --v-bg: #151b22;
  --v-workspace: #192028;
  --v-sidebar: #11171d;
  --v-card: #1e2630;
  --v-card-raised: #232c36;
  --v-card-soft: #1c242c;
  --v-border: #35404c;
  --v-border-soft: #2b3540;
  --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: #1c242c;
  --v-row-hover: #27313b;
  --v-shadow: 0 14px 38px rgba(0, 0, 0, .16);
}

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; }
.main-nav .nav-group { min-width: 0; }
.main-nav .nav-group > .nav-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 36px; margin: 8px 0 3px; padding: 8px 20px 8px 11px; border-radius: 7px; color: inherit; opacity: .85; font-size: 13px; font-weight: 750; line-height: 1.35; letter-spacing: .9px; list-style: none; cursor: pointer; }
.main-nav .nav-group > .nav-label::-webkit-details-marker { display: none; }
.main-nav .nav-group > .nav-label::after { content: ""; flex: 0 0 auto; width: 6px; height: 6px; margin-right: 2px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); }
.main-nav .nav-group[open] > .nav-label::after { transform: rotate(45deg); }
.main-nav .nav-group > .nav-label:hover { opacity: 1; background: rgba(128,128,128,.1); }
.main-nav .nav-group > .nav-label:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; opacity: 1; }
.main-nav .nav-group:has(.nav-item.active) > .nav-label { color: var(--warning); opacity: 1; }
.nav-group-links { display: flex; flex-direction: column; min-width: 0; }
@media (max-width: 700px) { .main-nav .nav-group > .nav-label { min-height: 44px; } }
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 { 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 .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-panel { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
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 .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 .monitoring-error-icon { color: var(--v-danger); background: var(--v-danger-soft); }
body.design-vanta .monitoring-error-body p,
body.design-vanta .monitoring-error-extra { color: var(--v-muted); }
body.design-vanta .monitoring-error-body .monitoring-error-action { color: var(--v-text); }
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); }
body.design-vanta .toast[data-tone="warning"] { border-color: color-mix(in srgb, var(--warning) 55%, var(--v-border)); }
body.design-vanta .toast[data-tone="warning"] > span { color: var(--warning); background: var(--warning-soft); }
body.design-vanta .toast[data-tone="error"] { border-color: color-mix(in srgb, var(--danger) 55%, var(--v-border)); }
body.design-vanta .toast[data-tone="error"] > span { color: var(--danger); background: var(--danger-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-work-filter.scrap {
  margin-left: auto;
  border-color: color-mix(in srgb, var(--violet-600) 24%, var(--border));
  background: color-mix(in srgb, var(--violet-600) 6%, transparent);
}
.registry-work-filter.scrap::before {
  width: 1px;
  height: 22px;
  margin-left: -12px;
  margin-right: 5px;
  background: var(--border);
  content: "";
}
.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,
.registry-finance-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,
.registry-finance-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,
.registry-finance-head-content { display: flex; align-items: center; justify-content: center; gap: 7px; }
.registry-finance-head { background: color-mix(in srgb, var(--violet-600) 5%, var(--card)) !important; }
.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-review-head-label,
.registry-review-head-total { display: block; }
.registry-review-head-total {
  margin-top: 4px;
  color: color-mix(in srgb, var(--ink) 68%, var(--muted));
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.registry-main-surface {
  min-width: 0;
  border-block: 1px solid var(--border);
  background: var(--card);
}
.registry-sheet-scroll {
  overflow-x: auto;
  overflow-y: visible;
  padding-bottom: 5px;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  scrollbar-color: var(--border) transparent;
  scrollbar-width: thin;
}
.registry-main-surface .table-footer { background: var(--card); }
.registry-scroll-hint { display: none; color: var(--muted); }
.registry-table { width: max-content; min-width: 100%; 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;
}
body.design-vanta .registry-table th { padding: 7px 6px; font-size: 11px; }
body.design-vanta .registry-table td { padding: 8px; font-size: 12px; }
body.design-vanta .registry-table td.registry-sticky-account { padding-left: 12px; }
.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-group-cleaning { color: #4c8d71; background: color-mix(in srgb, #69bd92 12%, var(--card)); }
.registry-table .offer-group-cleaning { color: #4c8d71; background: color-mix(in srgb, #69bd92 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;
  min-width: 0;
  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-title-line { display: flex; align-items: center; gap: 6px; max-width: 196px; }
.registry-profile-link {
  display: inline-grid;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--warning) 40%, var(--border));
  border-radius: 6px;
  color: var(--warning);
  background: color-mix(in srgb, var(--warning) 9%, transparent);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}
.registry-profile-link:hover { border-color: var(--warning); color: var(--ink); background: color-mix(in srgb, var(--warning) 19%, transparent); }
.registry-profile-link:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.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.registry-cleaning { background: color-mix(in srgb, #69bd92 6%, 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-table tbody td.registry-tariff.tariff-warning,
.registry-table tbody tr:hover td.registry-tariff.tariff-warning {
  background: color-mix(in srgb, #f2b84b 34%, var(--card)) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--warning) 62%, transparent);
}
.registry-table tbody td.registry-tariff.tariff-danger,
.registry-table tbody tr:hover td.registry-tariff.tariff-danger {
  background: color-mix(in srgb, #e65467 31%, var(--card)) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--danger) 68%, transparent);
}
.registry-tariff button {
  width: 100%;
  min-height: 30px;
  padding: 4px 6px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: inherit;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.registry-tariff button:hover,
.registry-tariff button:focus-visible {
  border-color: color-mix(in srgb, var(--warning) 42%, var(--border));
  background: color-mix(in srgb, var(--warning) 8%, transparent);
  outline: none;
}
.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-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: 1100px) {
  .registry-scroll-hint { display: inline-flex; align-items: center; gap: 4px; font-weight: 750; }
}

@media (max-width: 430px) {
  .registry-sheet-scroll { overflow: auto !important; }
  .registry-table { width: max-content !important; min-width: 100% !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: flex; align-items: end; width: max-content; min-width: 100%; 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; flex: 0 0 32px; 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: flex; 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; flex: 0 0 27px; grid-template-rows: 18px 92px 18px; align-items: end; justify-items: center; height: 128px; color: var(--muted); font-variant-numeric: tabular-nums; }
.chart-height-1 i { height: 8%; }.chart-height-2 i { height: 16%; }.chart-height-3 i { height: 24%; }.chart-height-4 i { height: 32%; }.chart-height-5 i { height: 40%; }.chart-height-6 i { height: 48%; }.chart-height-7 i { height: 56%; }.chart-height-8 i { height: 64%; }.chart-height-9 i { height: 72%; }.chart-height-10 i { height: 80%; }.chart-height-11 i { height: 88%; }.chart-height-12 i { height: 92%; }.chart-height-13 i { height: 96%; }.chart-height-14 i { height: 100%; }
.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.group-cleaning > header { background: #3f745e; }
.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 svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.control-offer-donut circle { fill: none; stroke-width: 13; }
.control-offer-donut .offer-donut-empty { stroke: #e7e2da; }
.control-offer-donut .offer-palette-stroke-0 { stroke: #8d55c7; }.control-offer-donut .offer-palette-stroke-1 { stroke: #b37b2a; }.control-offer-donut .offer-palette-stroke-2 { stroke: #2f7f7a; }.control-offer-donut .offer-palette-stroke-3 { stroke: #5d77b8; }.control-offer-donut .offer-palette-stroke-4 { stroke: #cf6c62; }.control-offer-donut .offer-palette-stroke-5 { stroke: #79a83f; }.control-offer-donut .offer-palette-stroke-6 { stroke: #9f6f99; }.control-offer-donut .offer-palette-stroke-7 { stroke: #4f8db3; }.control-offer-donut .offer-palette-stroke-8 { stroke: #d2903c; }.control-offer-donut .offer-palette-stroke-9 { stroke: #6d8661; }.control-offer-donut .offer-palette-stroke-10 { stroke: #a95d78; }.control-offer-donut .offer-palette-stroke-11 { stroke: #68737f; }
.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 .offer-palette-0 { background: #8d55c7; }.control-offer-legend .offer-palette-1 { background: #b37b2a; }.control-offer-legend .offer-palette-2 { background: #2f7f7a; }.control-offer-legend .offer-palette-3 { background: #5d77b8; }.control-offer-legend .offer-palette-4 { background: #cf6c62; }.control-offer-legend .offer-palette-5 { background: #79a83f; }.control-offer-legend .offer-palette-6 { background: #9f6f99; }.control-offer-legend .offer-palette-7 { background: #4f8db3; }.control-offer-legend .offer-palette-8 { background: #d2903c; }.control-offer-legend .offer-palette-9 { background: #6d8661; }.control-offer-legend .offer-palette-10 { background: #a95d78; }.control-offer-legend .offer-palette-11 { background: #68737f; }
.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 .coverage-progress { height: 100%; }
.coverage-value small { text-align: right; }
.panel-spaced { margin-top: 16px; }
/* The city × offer matrix is a main work surface, not a card inside a card. */
body.design-vanta .geo-matrix-panel:not(.fullscreen) {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.design-vanta .geo-matrix-panel:not(.fullscreen) .geo-matrix-head {
  border-bottom: 0;
  background: transparent;
}
.ui-progress { --progress-track: var(--border); --progress-fill: linear-gradient(90deg, var(--violet-600), var(--lime-500)); width: 100%; overflow: hidden; border: 0; border-radius: 999px; appearance: none; -webkit-appearance: none; vertical-align: middle; }
.ui-progress::-webkit-progress-bar { border-radius: inherit; background: var(--progress-track); }
.ui-progress::-webkit-progress-value { border-radius: inherit; background: var(--progress-fill); }
.ui-progress::-moz-progress-bar { border-radius: inherit; background: var(--progress-fill); }
.review-progress { --progress-track: #e7ece8; --progress-fill: #efaa30; }
.coverage-progress { --progress-track: var(--surface); --progress-fill: linear-gradient(90deg, var(--v-accent), var(--success)); }
.offer-account-share { --progress-track: var(--border); --progress-fill: var(--violet-500); }
.placement-volume-progress { --progress-track: var(--surface); --progress-fill: linear-gradient(90deg, var(--violet-600), var(--lime-400)); }
.geo-share-progress { --progress-track: color-mix(in srgb, var(--ink) 8%, transparent); --progress-fill: var(--warning); }
.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; }
}

/* 0.81 — плотная рабочая аналитика: меньше пустот, крупнее цифры, единая сетка. */
body.design-vanta .topbar { height: 76px; }
/* Shared header: readable at normal browser zoom without enlarging page controls. */
body.design-vanta .topbar-left { min-width: 0; flex: 1 1 auto; }
body.design-vanta .topbar-actions { flex: 0 0 auto; gap: 10px; }
body.design-vanta .topbar .breadcrumb { min-width: 0; font-size: 14px; }
body.design-vanta .topbar .breadcrumb strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.design-vanta .topbar .icon-button { flex: 0 0 48px; width: 48px; height: 48px; font-size: 26px; }
body.design-vanta .topbar .topbar-actions .icon-button { font-size: 23px; }
body.design-vanta .topbar .header-clocks { min-height: 48px; gap: 12px; padding: 6px 12px; }
body.design-vanta .topbar .header-clocks > div { min-width: 78px; gap: 3px; }
body.design-vanta .topbar .header-clocks span { font-size: 11px; line-height: 1.2; font-weight: 600; }
body.design-vanta .topbar .header-clocks strong { font-size: 20px; line-height: 1.1; font-weight: 750; }
body.design-vanta .topbar .header-clocks i { height: 28px; }
body.design-vanta .topbar .notification-button i { min-width: 20px; height: 20px; font-size: 10px; font-weight: 700; }
body.design-vanta .topbar .primary-button.compact { min-height: 48px; font-size: 14px; padding-inline: 16px; white-space: nowrap; }
body.design-vanta .topbar .primary-button.compact span { font-size: 23px; line-height: 1; }
@media (max-width: 680px) {
  body.design-vanta .topbar { height: 72px; gap: 10px; padding-inline: 12px; }
  body.design-vanta .topbar-left { gap: 8px; }
  body.design-vanta .topbar-actions { gap: 8px; }
  body.design-vanta .topbar .icon-button { flex-basis: 44px; width: 44px; height: 44px; font-size: 24px; }
  body.design-vanta .topbar .topbar-actions .icon-button { font-size: 22px; }
  body.design-vanta .topbar .header-clocks { min-height: 44px; gap: 9px; padding: 6px 9px; }
  body.design-vanta .topbar .header-clocks > div { min-width: 66px; }
  body.design-vanta .topbar .header-clocks span { display: block; font-size: 10px; }
  body.design-vanta .topbar .header-clocks strong { font-size: 17px; }
  body.design-vanta .topbar .primary-button.compact { width: 44px; min-width: 44px; min-height: 44px; padding: 0; font-size: 0; }
  body.design-vanta .topbar .primary-button.compact span { font-size: 23px; }
}
@media (max-width: 480px) {
  body.design-vanta .topbar { height: auto; min-height: 120px; flex-wrap: wrap; gap: 8px; padding-block: 10px; }
  body.design-vanta .topbar-left { flex-basis: 100%; }
  body.design-vanta .topbar-actions { width: 100%; justify-content: flex-end; }
  body.design-vanta .topbar .header-clocks { margin-right: auto; }
}
body.design-vanta #app { padding-top: 20px; }

.dashboard-heading-row,
.registry-overview {
  display: grid;
  grid-template-columns: minmax(300px, .7fr) minmax(560px, 1.3fr);
  align-items: stretch;
  gap: 16px;
  margin-bottom: 16px;
}
.dashboard-heading-row .page-head,
.registry-overview .page-head {
  min-width: 0;
  min-height: 104px;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  margin: 0;
  padding: 10px 0;
}
.dashboard-heading-row .page-head h1,
.registry-overview .page-head h1 { font-size: clamp(28px, 2.8vw, 38px); }
.dashboard-heading-row .page-head p,
.registry-overview .page-head p { font-size: 13px; line-height: 1.4; }
.registry-overview .page-actions { margin-top: 14px; }

.dashboard-summary-grid,
.registry-control-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.dashboard-summary-grid .metric-card {
  min-height: 104px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 14px 16px;
  border-radius: 14px;
}
body.design-vanta .dashboard-summary-grid .metric-top { font-size: 12px; font-weight: 700; }
body.design-vanta .dashboard-summary-grid .metric-value { margin-top: 8px; font-size: 30px; line-height: 1; }
body.design-vanta .dashboard-summary-grid .trend { margin-top: 8px; font-size: 11px; font-weight: 700; }

.registry-control-summary article {
  min-height: 104px;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 13px;
  padding: 14px 16px;
  border-radius: 14px;
}
.registry-control-icon { width: 40px; height: 40px; font-size: 17px; }
.registry-control-summary small { font-size: 11px; }
.registry-control-summary strong { font-size: 27px; }
.registry-control-summary strong.is-date { font-size: 17px; }
.registry-control-summary p { font-size: 10px; line-height: 1.35; }

.registry-toolbar {
  display: grid;
  grid-template-columns: minmax(360px, 650px) 220px;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.registry-toolbar .search-wrap { max-width: none; }
.registry-toolbar .search-input,
.registry-toolbar .filter-select { height: 44px; font-size: 12px; }
.registry-work-filter-bar { min-height: 48px; margin: 0 0 10px; padding: 6px 8px; border-radius: 13px; }
.registry-work-filter-title { font-size: 10px; }
.registry-work-filter-title small { font-size: 9px; }
.registry-work-filter { min-height: 34px; padding-inline: 10px; font-size: 11px; }
.registry-work-filter strong { font-size: 10px; }
.registry-table-legend { margin: 0 2px 8px; font-size: 10px; }

.registry-main-surface { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; }
.registry-table { min-width: 100%; }
.registry-table th,
.registry-table td {
  height: 72px;
  padding: 10px 8px;
  border-right: 1px solid color-mix(in srgb, var(--ink) 10%, var(--border));
  border-bottom: 1px solid color-mix(in srgb, var(--ink) 13%, var(--border));
  vertical-align: middle;
}
.registry-table thead th {
  height: 38px;
  padding-inline: 6px;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.15;
}
.registry-table .registry-column-head > th { top: 38px; height: 46px; padding: 7px 5px; }
.registry-offer-label { min-height: 32px; font-size: 10px; font-weight: 900; line-height: 1.15; }
.registry-table .registry-sticky-account { padding-left: 12px; }
.registry-account-button { max-width: 196px; font-size: 15px; line-height: 1.1; }
.registry-account-workspace { max-width: 196px; margin-top: 4px; font-size: 11px; line-height: 1.25; }
.registry-account-meta { max-width: 196px; margin-top: 4px; font-size: 10px; line-height: 1.25; }
.registry-work-status-select { width: 116px; height: 29px; margin-top: 7px; font-size: 11px; }
.registry-number { font-size: 14px; font-weight: 900; }
body.design-vanta .registry-table td.registry-number { font-size: 14px; }
.registry-money-cell { font-size: 14px; }
.registry-total { font-size: 16px; }
.registry-total small { font-size: 9px; }
.registry-offer-cell { font-size: 14px; }
.registry-offer-cell.is-zero { font-size: 13px; }
.registry-tariff,
.registry-limit { font-size: 12px; }
.registry-comment-cell button { font-size: 11px; font-weight: 700; line-height: 1.35; }
.registry-rating-cell { font-size: 15px; }
.registry-rating-cell small { margin-top: 5px; font-size: 10px; }
.registry-review-cell { font-size: 14px; }
.registry-service-cell { font-size: 14px; }
.registry-api-cell { white-space: nowrap; }
.registry-main-surface .table-footer { min-height: 46px; font-size: 10px; }

.control-offer-layout { grid-template-columns: minmax(0, 1.85fr) minmax(280px, .55fr); min-height: 0; }
.control-offer-main { padding: 16px; }
.control-offer-rows { gap: 8px; }
.control-offer-group-row { grid-template-columns: 210px minmax(0, 1fr); min-height: 76px; border-radius: 11px; }
.control-offer-group-row > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
}
.control-offer-group-row > header div { gap: 3px; }
.control-offer-group-row > header span { font-size: 10px; }
.control-offer-group-row > header strong { overflow: hidden; font-size: 12px; line-height: 1.25; }
.control-offer-group-row > header b { font-size: 23px; white-space: nowrap; }
.control-offer-group-items { grid-template-columns: repeat(6, minmax(78px, 1fr)); align-items: stretch; }
.control-offer-cell { min-height: 76px; padding: 10px 9px; }
.control-offer-cell span { font-size: 10px; }
.control-offer-cell strong { font-size: 22px; }
.control-offer-cell small { font-size: 9px; }
.control-offer-total { margin-top: 9px; padding: 10px 14px; }
.control-offer-total strong { font-size: 25px; }
.control-offer-footnote { margin-top: 9px; }
.control-offer-visual { gap: 14px; padding: 18px 16px; }
.control-offer-donut { width: min(190px, 70vw); box-shadow: none; }

@media (max-width: 1180px) {
  .dashboard-heading-row,
  .registry-overview { grid-template-columns: 1fr; }
  .dashboard-heading-row .page-head,
  .registry-overview .page-head { min-height: 0; padding-block: 4px; }
  .registry-control-summary { min-height: 0; }
  .registry-toolbar { grid-template-columns: minmax(0, 1fr) 220px; }
  .control-offer-group-items { grid-template-columns: repeat(3, minmax(90px, 1fr)); }
}

@media (max-width: 700px) {
  .dashboard-summary-grid,
  .registry-control-summary { grid-template-columns: 1fr; }
  .registry-toolbar { grid-template-columns: 1fr; }
  .registry-toolbar .search-wrap { min-width: 0; }
  .control-offer-group-row { grid-template-columns: 1fr; }
  .control-offer-group-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 0.87 — реестр аккаунтов: одна рабочая панель и читаемая Excel-плотность. */
body.design-vanta .registry-overview {
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(490px, 1.35fr) auto;
  align-items: stretch;
  gap: 12px;
  margin-bottom: 12px;
}
body.design-vanta .registry-overview .registry-page-head { display: contents; }
body.design-vanta .registry-overview .registry-page-head > div:first-child {
  min-width: 0;
  align-self: center;
}
body.design-vanta .registry-overview .registry-page-head .eyebrow { margin-bottom: 4px; }
body.design-vanta .registry-overview .registry-page-head h1 {
  margin: 0;
  font-size: clamp(28px, 2.35vw, 34px);
  line-height: 1;
}
body.design-vanta .registry-overview .registry-page-head p {
  margin-top: 7px;
  font-size: 11px;
  line-height: 1.3;
}
body.design-vanta .registry-overview .page-actions {
  grid-column: 3;
  grid-row: 1;
  align-self: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin: 0;
}
body.design-vanta .registry-overview .page-actions button {
  min-height: 42px;
  padding-inline: 14px;
  white-space: nowrap;
}
body.design-vanta .registry-control-summary {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  gap: 8px;
}
body.design-vanta .registry-control-summary article {
  min-height: 82px;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  padding: 11px 13px;
  border-radius: 12px;
}
body.design-vanta .registry-control-icon { width: 34px; height: 34px; font-size: 15px; }
body.design-vanta .registry-control-summary article > div {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 8px;
}
body.design-vanta .registry-control-summary small { font-size: 10px; }
body.design-vanta .registry-control-summary strong { font-size: 23px; }
body.design-vanta .registry-control-summary strong.is-date { font-size: 14px; }
body.design-vanta .registry-control-summary p { margin-top: 1px; font-size: 9px; }

body.design-vanta .registry-command-bar {
  margin-bottom: 8px;
  padding: 8px 10px 7px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--card) 94%, var(--surface));
}
body.design-vanta .registry-command-bar .registry-toolbar {
  grid-template-columns: minmax(300px, 1fr) 210px;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
body.design-vanta .registry-command-bar .search-input,
body.design-vanta .registry-command-bar .filter-select { height: 40px; font-size: 11px; }
body.design-vanta .registry-command-bar .registry-work-filter-bar {
  min-height: 38px;
  gap: 5px;
  margin: 7px 0 0;
  padding: 7px 0 0;
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--ink) 9%, var(--border));
  border-radius: 0;
  background: transparent;
}
body.design-vanta .registry-command-bar .registry-work-filter-title {
  min-width: 118px;
  padding-inline: 3px 7px;
}
body.design-vanta .registry-command-bar .registry-work-filter {
  min-height: 30px;
  padding-inline: 9px;
  font-size: 10px;
}
body.design-vanta .registry-table-legend { margin: 0 4px 6px; font-size: 9px; }

body.design-vanta .registry-main-surface { border-radius: 12px; }
body.design-vanta .registry-table th,
body.design-vanta .registry-table td {
  height: 64px;
  padding: 8px 7px;
  border-right-color: color-mix(in srgb, var(--ink) 13%, var(--border));
  border-bottom-color: color-mix(in srgb, var(--ink) 16%, var(--border));
}
body.design-vanta .registry-table thead th {
  height: 35px;
  padding-inline: 5px;
  font-size: 10px;
  line-height: 1.1;
}
body.design-vanta .registry-table .registry-column-head > th {
  top: 35px;
  height: 40px;
  padding: 5px 4px;
}
body.design-vanta .registry-offer-label {
  min-height: 28px;
  font-size: 9px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}
body.design-vanta .registry-table .registry-sticky-account { padding-left: 10px; }
body.design-vanta .registry-account-button { max-width: 188px; font-size: 15px; }
body.design-vanta .registry-account-title-line { max-width: 188px; }
body.design-vanta .registry-account-workspace,
body.design-vanta .registry-account-meta { max-width: 188px; }
body.design-vanta .registry-account-workspace { margin-top: 3px; font-size: 10px; }
body.design-vanta .registry-account-meta { margin-top: 3px; font-size: 9px; }
body.design-vanta .registry-work-status-select { width: 110px; height: 27px; margin-top: 6px; font-size: 10px; }
body.design-vanta .registry-number,
body.design-vanta .registry-table td.registry-number,
body.design-vanta .registry-money-cell,
body.design-vanta .registry-offer-cell,
body.design-vanta .registry-review-cell,
body.design-vanta .registry-service-cell {
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
body.design-vanta .registry-total { font-size: 17px; }
body.design-vanta .registry-offer-cell.is-zero {
  color: color-mix(in srgb, var(--muted) 66%, transparent);
  font-size: 13px;
  font-weight: 650;
}
body.design-vanta .registry-tariff,
body.design-vanta .registry-limit { font-size: 11px; }
body.design-vanta .registry-comment-cell button { font-size: 10px; }
body.design-vanta .registry-rating-cell { font-size: 16px; }
body.design-vanta .registry-rating-cell small { margin-top: 4px; font-size: 9px; }
body.design-vanta .registry-main-row:hover td,
body.design-vanta .registry-main-row:hover .registry-sticky {
  background: color-mix(in srgb, var(--warning) 5%, var(--card));
}
body.design-vanta .registry-main-surface .table-footer { min-height: 40px; }

@media (max-width: 1380px) {
  body.design-vanta .registry-overview {
    grid-template-columns: minmax(230px, .8fr) minmax(470px, 1.45fr);
  }
  body.design-vanta .registry-overview .page-actions {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: end;
  }
}

@media (max-width: 1080px) {
  body.design-vanta .registry-overview { grid-template-columns: 1fr; }
  body.design-vanta .registry-control-summary {
    grid-column: 1;
    grid-row: 2;
  }
  body.design-vanta .registry-overview .page-actions {
    grid-column: 1;
    grid-row: 3;
    justify-self: start;
  }
}

@media (max-width: 700px) {
  body.design-vanta .registry-control-summary { grid-template-columns: 1fr; }
  body.design-vanta .registry-command-bar .registry-toolbar { grid-template-columns: 1fr; }
  body.design-vanta .registry-command-bar .registry-work-filter-title { display: none; }
}

/* 0.88 — Центр контроля: компактная управленческая сводка без пустых зон. */
body.design-vanta .dashboard-control-head {
  display: grid;
  grid-template-columns: minmax(220px, .58fr) minmax(720px, 2.42fr);
  align-items: stretch;
  gap: 12px;
  margin-bottom: 12px;
}
body.design-vanta .dashboard-control-head > header {
  display: flex;
  justify-content: center;
  flex-direction: column;
  min-width: 0;
  padding: 6px 0;
}
body.design-vanta .dashboard-control-head h1 {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: clamp(28px, 2.3vw, 36px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.035em;
}
body.design-vanta .dashboard-control-head p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
body.design-vanta .dashboard-metric-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--card);
}
body.design-vanta .dashboard-metric {
  position: relative;
  min-width: 0;
  min-height: 86px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 0;
  border-right: 1px solid var(--border);
  color: var(--ink);
  background: transparent;
  font: inherit;
  text-align: left;
}
body.design-vanta button.dashboard-metric { cursor: pointer; }
body.design-vanta .dashboard-metric:last-child { border-right: 0; }
body.design-vanta button.dashboard-metric:hover { background: color-mix(in srgb, var(--warning) 6%, var(--card)); }
body.design-vanta .dashboard-metric-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  color: var(--muted);
  background: var(--surface);
  font-size: 14px;
  font-weight: 900;
}
body.design-vanta .dashboard-metric-icon.working,
body.design-vanta .dashboard-metric.success .dashboard-metric-icon { color: var(--success); background: var(--success-soft); }
body.design-vanta .dashboard-metric.danger .dashboard-metric-icon { color: var(--danger); background: color-mix(in srgb, var(--danger) 14%, transparent); }
body.design-vanta .dashboard-metric.balance .dashboard-metric-icon { color: var(--success); background: var(--success-soft); }
body.design-vanta .dashboard-metric.cpa .dashboard-metric-icon,
body.design-vanta .dashboard-metric.api .dashboard-metric-icon { color: var(--warning); background: var(--warning-soft); }
body.design-vanta .dashboard-metric-copy { min-width: 0; display: grid; gap: 3px; }
body.design-vanta .dashboard-metric-copy small,
body.design-vanta .dashboard-metric-copy strong,
body.design-vanta .dashboard-metric-copy em { display: block; min-width: 0; }
body.design-vanta .dashboard-metric-copy small { color: var(--muted); font-size: 10px; font-weight: 750; }
body.design-vanta .dashboard-metric-copy strong {
  overflow: hidden;
  color: var(--ink);
  font-size: clamp(20px, 1.65vw, 26px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
body.design-vanta .dashboard-metric-copy em {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.design-vanta .dashboard-metric-link {
  position: absolute;
  top: 8px;
  right: 9px;
  color: var(--warning);
  font-size: 8px;
  font-weight: 800;
  opacity: 0;
  transition: opacity .16s ease;
}
body.design-vanta button.dashboard-metric:hover .dashboard-metric-link { opacity: 1; }

body.design-vanta .control-offer-panel { margin-bottom: 12px; border-radius: 13px; }
body.design-vanta .control-offer-head { min-height: 58px; padding: 11px 14px; }
body.design-vanta .control-offer-head h2 { font-size: 15px; }
body.design-vanta .control-offer-head p { margin-top: 3px; font-size: 9px; }
body.design-vanta .control-offer-source { gap: 12px; }
body.design-vanta .control-offer-head-total { display: flex; align-items: baseline; gap: 6px; }
body.design-vanta .control-offer-head-total strong { color: var(--ink); font-size: 22px; font-weight: 900; font-variant-numeric: tabular-nums; }
body.design-vanta .control-offer-head-total small { color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; }
body.design-vanta .control-offer-layout {
  grid-template-columns: minmax(0, 1fr) 230px;
  min-height: 0;
}
body.design-vanta .control-offer-main { padding: 12px; }
body.design-vanta .control-offer-rows { gap: 6px; }
body.design-vanta .control-offer-group-row {
  grid-template-columns: 185px minmax(0, 1fr);
  min-height: 62px;
  border-radius: 9px;
}
body.design-vanta .control-offer-group-row > header { padding: 9px 12px; }
body.design-vanta .control-offer-group-row > header span { font-size: 9px; }
body.design-vanta .control-offer-group-row > header strong { font-size: 11px; }
body.design-vanta .control-offer-group-row > header b { font-size: 20px; }
body.design-vanta .control-offer-group-items { grid-template-columns: repeat(auto-fit, minmax(76px, 1fr)); }
body.design-vanta .control-offer-cell {
  min-height: 62px;
  padding: 8px 9px;
  background: color-mix(in srgb, var(--card) 96%, var(--surface));
}
body.design-vanta .control-offer-cell span { font-size: 9px; }
body.design-vanta .control-offer-cell strong { font-size: 19px; }
body.design-vanta .control-offer-cell small { font-size: 8px; }
body.design-vanta .control-offer-total { margin-top: 7px; padding: 8px 12px; border-radius: 9px; }
body.design-vanta .control-offer-total span { font-size: 9px; }
body.design-vanta .control-offer-total strong { font-size: 22px; }
body.design-vanta .control-offer-total small { font-size: 9px; }
body.design-vanta .control-offer-footnote { margin: 7px 2px 0; font-size: 8px; }
body.design-vanta .control-offer-visual { gap: 10px; padding: 14px 12px; }
body.design-vanta .control-offer-donut { width: 132px; }
body.design-vanta .control-offer-donut circle { stroke-width: 12; }
body.design-vanta .control-offer-donut strong { font-size: 22px; }
body.design-vanta .control-offer-donut span { font-size: 8px; }
body.design-vanta .control-offer-legend {
  max-height: 94px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 8px;
  padding: 0;
}
body.design-vanta .control-offer-legend li { grid-template-columns: 7px minmax(24px, 1fr) auto; gap: 4px; font-size: 8px; }
body.design-vanta .control-offer-legend i { width: 6px; height: 6px; }

body.design-vanta .dashboard-health-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(380px, .7fr);
  gap: 12px;
}
body.design-vanta .dashboard-health-grid > .panel { min-width: 0; overflow: hidden; border-radius: 13px; }
body.design-vanta .dashboard-health-grid.dashboard-health-grid-overview { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 621px) {
  body.design-vanta .dashboard-metric-strip.dashboard-metric-strip-overview { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
  body.design-vanta .dashboard-metric-strip-overview .dashboard-metric { border-bottom: 0; }
  body.design-vanta .dashboard-metric-strip-overview .dashboard-metric:not(:last-child) { border-right: 1px solid var(--border); }
}
body.design-vanta .dashboard-health-grid .panel-head { min-height: 60px; padding: 11px 14px; }
body.design-vanta .dashboard-health-grid .panel-head h2 { font-size: 15px; }
body.design-vanta .dashboard-health-grid .panel-head p { margin-top: 3px; font-size: 9px; }
body.design-vanta .dashboard-error-panel .attention-list { padding: 0 12px 12px; }
body.design-vanta .dashboard-error-panel .attention-item {
  min-height: 54px;
  grid-template-columns: 32px minmax(100px, .45fr) minmax(180px, 1fr) 16px;
  gap: 9px;
  padding: 8px 4px;
}
body.design-vanta .dashboard-error-panel .account-monogram { width: 30px; height: 30px; font-size: 9px; }
body.design-vanta .dashboard-error-panel .attention-item strong { font-size: 10px; }
body.design-vanta .dashboard-error-panel .attention-item small { font-size: 8px; }
body.design-vanta .dashboard-data-list { padding: 0 14px; }
body.design-vanta .dashboard-data-row {
  min-height: 49px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid var(--border);
}
body.design-vanta .dashboard-data-row:first-child { border-top: 0; }
body.design-vanta .dashboard-data-row > span { min-width: 0; display: grid; gap: 2px; }
body.design-vanta .dashboard-data-row strong { color: var(--ink); font-size: 10px; }
body.design-vanta .dashboard-data-row small { color: var(--muted); font-size: 8px; }
body.design-vanta .dashboard-data-row b { color: var(--ink); font-size: 12px; font-weight: 900; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.design-vanta .dashboard-data-row.success b { color: var(--success); }
body.design-vanta .dashboard-data-row.warning b { color: var(--warning); }
body.design-vanta .dashboard-data-row.muted b { color: var(--muted); }
body.design-vanta .dashboard-quick-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  padding: 11px 14px 13px;
  border-top: 1px solid var(--border);
}
body.design-vanta .dashboard-quick-links .secondary-button { min-width: 0; min-height: 34px; padding: 0 8px; font-size: 9px; }

@media (max-width: 1300px) {
  body.design-vanta .dashboard-control-head { grid-template-columns: 1fr; }
  body.design-vanta .dashboard-control-head > header { padding-block: 2px; }
  body.design-vanta .dashboard-health-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  body.design-vanta .dashboard-metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.design-vanta .dashboard-metric:nth-child(2) { border-right: 0; }
  body.design-vanta .dashboard-metric:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  body.design-vanta .control-offer-layout { grid-template-columns: 1fr; }
  body.design-vanta .control-offer-main { border-right: 0; border-bottom: 1px solid var(--border); }
  body.design-vanta .control-offer-visual { grid-template-columns: 145px minmax(0, 1fr); justify-items: stretch; }
  body.design-vanta .control-offer-donut { justify-self: center; }
}

@media (max-width: 620px) {
  body.design-vanta .dashboard-control-head h1 { font-size: 28px; }
  body.design-vanta .dashboard-metric-strip { grid-template-columns: 1fr; }
  body.design-vanta .dashboard-metric { min-height: 76px; border-right: 0; border-bottom: 1px solid var(--border); }
  body.design-vanta .dashboard-metric:last-child { border-bottom: 0; }
  body.design-vanta .control-offer-source { align-items: flex-end; }
  body.design-vanta .control-offer-group-row { grid-template-columns: 1fr; }
  body.design-vanta .control-offer-group-row > header { min-height: 52px; }
  body.design-vanta .control-offer-group-items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.design-vanta .control-offer-visual { grid-template-columns: 1fr; }
  body.design-vanta .dashboard-health-grid { grid-template-columns: minmax(0, 1fr); }
  body.design-vanta .dashboard-error-panel .attention-item { grid-template-columns: 32px minmax(0, 1fr) 16px; }
  body.design-vanta .dashboard-error-panel .problem-copy { grid-column: 2; }
  body.design-vanta .dashboard-quick-links { grid-template-columns: 1fr; }
}

/* Cards directory: deliberately compact, because the useful relationship is
   account -> last four digits -> holder -> bank. Full card data is never shown. */
.cards-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 14px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--card);
}
.cards-summary-strip article {
  min-height: 76px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 13px 17px;
  border-right: 1px solid var(--border);
}
.cards-summary-strip article:last-child { border-right: 0; }
.cards-summary-strip span { color: var(--muted); font-size: 10px; font-weight: 700; }
.cards-summary-strip strong { color: var(--ink); font-size: 24px; font-weight: 900; font-variant-numeric: tabular-nums; }
.cards-summary-strip .positive { color: var(--success); }
.cards-summary-strip .warning-text { color: var(--warning); }

.cards-form-panel,
.cards-directory-panel { margin-bottom: 14px; border-radius: 13px; }
.cards-form-panel .panel-head,
.cards-directory-panel .panel-head { min-height: 68px; padding: 13px 17px; }
.cards-form-panel .panel-head h2,
.cards-directory-panel .panel-head h2 { font-size: 17px; }
.cards-form-panel .panel-head p,
.cards-directory-panel .panel-head p { margin-top: 3px; font-size: 10px; }
.cards-form {
  display: grid;
  grid-template-columns: 1.15fr 1fr .7fr 1fr;
  gap: 11px;
  align-items: end;
  padding: 15px 17px 17px;
  border-top: 1px solid var(--border);
}
.cards-form label { min-width: 0; display: grid; gap: 6px; }
.cards-form label > span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.cards-form input:not([type="checkbox"]),
.cards-form select,
.cards-filters select {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 11px;
  font-weight: 700;
}
.cards-note-field { grid-column: span 2; }
.cards-active-field {
  min-height: 42px;
  grid-auto-flow: column;
  grid-template-columns: auto 1fr;
  align-items: center;
  justify-content: start;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: var(--surface);
}
.cards-active-field input { accent-color: var(--accent); }
.cards-active-field > span { color: var(--ink) !important; text-transform: none !important; }
.cards-form > .primary-button { min-height: 42px; }

.cards-bank-directory {
  margin: 0 0 14px;
  padding: 15px 17px 17px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--card);
}
.cards-bank-directory-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}
.cards-bank-directory-head h2 { margin: 0; color: var(--ink); font-size: 17px; }
.cards-bank-directory-head p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.cards-bank-directory-head > span { color: var(--muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.cards-bank-filter-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}
.cards-bank-filter-button {
  min-width: 0;
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr;
  align-items: start;
  gap: 5px 12px;
  padding: 11px 13px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.cards-bank-filter-button:hover { border-color: color-mix(in srgb, var(--warning) 55%, var(--border)); transform: translateY(-1px); }
.cards-bank-filter-button.active { border-color: var(--warning); background: color-mix(in srgb, var(--warning) 10%, var(--surface)); }
.cards-bank-filter-button > span { min-width: 0; overflow: hidden; color: var(--ink); font-size: 11px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.cards-bank-filter-button > strong { color: var(--warning); font-size: 17px; font-weight: 900; font-variant-numeric: tabular-nums; }
.cards-bank-filter-button > small { grid-column: 1 / -1; min-width: 0; overflow: hidden; color: var(--muted); font-size: 9px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }

.cards-directory-panel .panel-head { gap: 16px; }
.cards-filters { width: min(480px, 48vw); min-width: 260px; }
.cards-table { width: 100%; min-width: 900px; border-collapse: collapse; table-layout: fixed; }
.cards-table th,
.cards-table td { padding: 11px 14px; border-top: 1px solid var(--border); text-align: left; vertical-align: middle; }
.cards-table th { color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.cards-table td { color: var(--ink); font-size: 11px; }
.cards-table th:nth-child(1) { width: 18%; }
.cards-table th:nth-child(2) { width: 13%; }
.cards-table th:nth-child(3) { width: 23%; }
.cards-table th:nth-child(4) { width: 18%; }
.cards-table th:nth-child(5) { width: 15%; }
.cards-table th:nth-child(6) { width: 13%; }
.cards-table td strong,
.cards-table td small { display: block; }
.cards-table td strong { font-weight: 850; }
.cards-table td small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.cards-account-link,
.cards-account-unassigned {
  width: 100%;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.cards-account-link { cursor: pointer; }
.cards-account-link:hover strong { color: var(--warning); }
.cards-account-link small span { color: var(--warning); }
.card-last-four { color: var(--warning) !important; font-weight: 900; font-size: 14px !important; letter-spacing: .05em; font-variant-numeric: tabular-nums; }
.card-row-actions { display: flex; justify-content: flex-end; align-items: center; gap: 7px; }
.card-row-actions .dds-delete-entry { min-height: 30px; }

.registry-card-cell strong,
.registry-card-owner strong,
.registry-card-cell small,
.registry-card-owner small { display: block; }
.registry-card-cell strong { color: var(--warning); font-size: 11px; font-weight: 900; letter-spacing: .03em; font-variant-numeric: tabular-nums; }
.registry-card-owner strong { color: var(--ink); font-size: 10px; font-weight: 850; }
.registry-card-cell small,
.registry-card-owner small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.25; }

.registry-card-bank-cell { padding: 8px 10px !important; text-align: left; vertical-align: middle; }
.registry-card-bank-cell strong,
.registry-card-bank-cell span,
.registry-card-bank-cell small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.registry-card-bank-cell strong { color: var(--warning); font-size: 11px; font-weight: 900; letter-spacing: .03em; font-variant-numeric: tabular-nums; }
.registry-card-bank-cell span { margin-top: 3px; color: var(--ink); font-size: 10px; font-weight: 850; }
.registry-card-bank-cell small { margin-top: 2px; color: var(--muted); font-size: 8px; line-height: 1.2; }

@media (max-width: 1100px) {
  .cards-summary-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cards-summary-strip article:nth-child(2) { border-right: 0; }
  .cards-summary-strip article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .cards-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cards-note-field { grid-column: span 2; }
}
@media (max-width: 700px) {
  .cards-summary-strip { grid-template-columns: 1fr; }
  .cards-summary-strip article { border-right: 0; border-bottom: 1px solid var(--border); }
  .cards-summary-strip article:last-child { border-bottom: 0; }
  .cards-form { grid-template-columns: 1fr; }
  .cards-note-field { grid-column: auto; }
  .cards-directory-panel .panel-head { align-items: stretch; flex-direction: column; }
  .cards-filters { width: 100%; min-width: 0; }
  .cards-bank-directory-head { align-items: flex-start; flex-direction: column; gap: 7px; }
  .cards-bank-filter-list { grid-template-columns: 1fr; }
}

/* Unified account planner */
.dashboard-planner-teaser {
  display: grid;
  grid-template-columns: minmax(220px, .78fr) minmax(260px, 1.25fr);
  gap: 16px 24px;
  margin-top: 14px;
  padding: 17px 20px;
}
.dashboard-planner-teaser > header { grid-row: 1 / span 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 14px; }
.dashboard-planner-teaser > header h2 { margin: 4px 0 0; font-size: 18px; }
.planner-teaser-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.planner-teaser-summary > div { min-width: 0; display: grid; gap: 2px; padding: 10px 12px; border-right: 1px solid var(--border); }
.planner-teaser-summary > div:last-child { border-right: 0; }
.planner-teaser-summary strong { color: var(--ink); font-size: 20px; font-weight: 900; font-variant-numeric: tabular-nums; }
.planner-teaser-summary span { color: var(--muted); font-size: 10px; }
.planner-teaser-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.planner-teaser-entry { min-width: 0; display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.planner-teaser-entry > i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; font-style: normal; font-weight: 900; background: color-mix(in srgb, currentColor 12%, transparent); }
.planner-teaser-entry strong, .planner-teaser-entry small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planner-teaser-entry strong { color: var(--ink); font-size: 11px; }
.planner-teaser-entry small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.planner-teaser-empty, .planner-teaser-loading { min-height: 68px; display: flex; align-items: center; gap: 11px; color: var(--muted); }
.planner-teaser-empty strong, .planner-teaser-empty small, .planner-teaser-loading strong, .planner-teaser-loading small { display: block; }
.planner-teaser-empty strong, .planner-teaser-loading strong { color: var(--ink); font-size: 11px; }
.planner-teaser-empty small, .planner-teaser-loading small { margin-top: 3px; font-size: 9px; }
.planner-teaser-loading.is-error { color: var(--danger); }
.planner-spinner { font-size: 22px; }

.planner-page-head { margin-bottom: 13px; }
.planner-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-bottom: 8px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; background: var(--card); }
.planner-period-tools { display: flex; align-items: flex-end; gap: 14px; }
.planner-period-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.planner-period-actions button { min-height: 38px; }
.planner-filters { flex: 0 1 390px; display: grid; grid-template-columns: minmax(160px, 1fr) minmax(150px, 1fr); gap: 8px; }
.planner-filters label { min-width: 0; display: grid; gap: 4px; }
.planner-filters label > span { color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.planner-filters select, .planner-form-grid select, .planner-finance-fields select, .planner-finance-fields input, .planner-form-grid textarea {
  width: 100%;
  min-height: 38px;
  padding: 0 11px;
  border: 1px solid var(--border);
  border-radius: 9px;
  color: var(--ink);
  background: var(--surface);
  font-size: 10px;
  font-weight: 700;
}
.planner-form-grid textarea { min-height: 78px; padding-block: 10px; resize: vertical; }
.planner-summary { flex: 0 0 auto; display: flex; align-items: stretch; justify-content: flex-end; gap: 1px; overflow: hidden; border: 1px solid var(--border); border-radius: 9px; }
.planner-summary span { min-width: 65px; display: grid; place-items: center; gap: 0; padding: 5px 7px; color: var(--muted); background: var(--surface); font-size: 8px; text-align: center; }
.planner-summary b { color: var(--ink); font-size: 12px; font-variant-numeric: tabular-nums; }
.planner-create-button { flex: 0 0 auto; min-height: 38px; padding-inline: 15px; }

.planner-workspace { overflow: hidden; border: 1px solid var(--border); border-radius: 10px; background: var(--card); }
.planner-matrix-tools { min-height: 45px; display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 86%, var(--card)); }
.planner-matrix-tools p { margin: 0 0 0 auto; color: var(--muted); font-size: 9px; }
.planner-matrix-toggle { min-height: 31px; display: inline-flex; align-items: center; gap: 7px; padding: 4px 9px 4px 5px; border: 1px solid var(--border); border-radius: 8px; color: var(--ink); background: var(--card); font-size: 9px; font-weight: 850; }
.planner-matrix-toggle:hover { border-color: color-mix(in srgb, var(--warning) 58%, var(--border)); background: color-mix(in srgb, var(--warning) 7%, var(--card)); }
.planner-matrix-toggle b { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; color: var(--warning); background: color-mix(in srgb, var(--warning) 15%, transparent); font-size: 15px; line-height: 1; }
.planner-matrix-toggle small { min-width: 18px; padding: 2px 5px; border-radius: 8px; color: var(--muted); background: var(--surface); font-size: 8px; font-weight: 900; text-align: center; }
.planner-matrix-toggle.is-white-toggle { border-color: color-mix(in srgb, var(--warning) 28%, var(--border)); }
.planner-workspace-head { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 16px; border-bottom: 1px solid var(--border); }
.planner-workspace-head h2 { margin: 0; color: var(--ink); font-size: 16px; }
.planner-workspace-head p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.planner-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px 10px; }
.planner-legend span { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 750; }
.planner-legend i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.planner-status-legend .is-completed { color: var(--success); }
.planner-status-legend .is-planned { color: var(--warning); }
.planner-status-legend .is-empty { color: var(--muted); }
.planner-matrix-scroll { width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; }
.planner-matrix-grid { display: inline-block; width: max-content; min-width: 100%; background: var(--border); }
.planner-matrix-row {
  display: grid;
  width: max-content;
  min-width: 100%;
  grid-template-columns: 100px;
  grid-auto-columns: 144px;
  grid-auto-flow: column;
  justify-content: start;
  gap: 1px;
  background: var(--border);
}
.planner-matrix-row + .planner-matrix-row { border-top: 1px solid var(--border); }
.has-general-plan .planner-matrix-row { grid-template-columns: 100px var(--planner-general-width, 180px); }
.planner-general-head { background: color-mix(in srgb, var(--info) 8%, var(--card)); box-shadow: inset 0 -3px color-mix(in srgb, var(--info) 65%, transparent); }
.planner-general-head > button { min-width: 0; display: flex; justify-content: center; align-items: center; gap: 9px; border: 0; padding: 3px 0; color: var(--ink); background: transparent; cursor: pointer; }
.planner-general-head > button > span { color: var(--muted); font-size: 20px; line-height: 1; }
.planner-general-head.is-collapsed { padding: 4px 3px; }
.planner-general-head.is-collapsed > button { gap: 3px; }
.planner-general-head.is-collapsed strong { font-size: 10px; }
.planner-general-head small { font-size: 8px; text-transform: none; }
.planner-general-cell { background: color-mix(in srgb, var(--info) 3%, var(--card)); }
.planner-general-cell.has-general-count { gap: 3px; padding: 4px 3px; background: color-mix(in srgb, var(--info) 10%, var(--card)); }
.planner-general-cell.has-general-count strong { font-size: 13px; }
.planner-general-cell.has-general-count small { color: var(--success); font-size: 9px; font-weight: 750; }
.planner-general-head > button:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.planner-matrix-row.is-older-row .planner-date-cell { background: color-mix(in srgb, var(--muted) 8%, var(--card)); }
.planner-matrix-header { position: sticky; z-index: 10; top: 0; }
.planner-matrix-corner, .planner-account-head, .planner-date-cell, .planner-cell { min-width: 0; border: 0; color: var(--ink); background: var(--card); }
.planner-matrix-corner { position: sticky; z-index: 12; left: 0; min-height: 48px; display: grid; align-content: center; gap: 2px; padding: 5px 9px; box-shadow: 1px 1px var(--border); }
.planner-matrix-corner span { font-size: 10px; font-weight: 850; }
.planner-matrix-corner small { color: var(--muted); font-size: 9px; }
.planner-account-head { min-height: 48px; display: grid; align-content: center; gap: 2px; padding: 5px 7px; text-align: center; background: color-mix(in srgb, var(--info) 10%, var(--card)); box-shadow: inset 0 -3px color-mix(in srgb, var(--info) 75%, transparent); }
.planner-account-head:hover, .planner-account-head.is-selected { background: color-mix(in srgb, var(--info) 18%, var(--card)); }
.planner-account-head.is-white-account { background: color-mix(in srgb, var(--warning) 22%, var(--card)); box-shadow: inset 0 -3px color-mix(in srgb, var(--warning) 90%, transparent); }
.planner-account-head.is-white-account:hover, .planner-account-head.is-white-account.is-selected { background: color-mix(in srgb, var(--warning) 31%, var(--card)); }
.planner-account-head.is-white-account small { color: var(--warning); }
.planner-account-head small { overflow: hidden; color: var(--info); font-size: 8px; font-weight: 850; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.planner-account-head strong { overflow: hidden; font-size: 13px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.planner-account-head em { display: none; }
.planner-account-title { display: flex; justify-content: center; align-items: center; gap: 6px; }
.planner-account-title > button { padding: 2px 3px; border: 0; color: inherit; background: transparent; cursor: pointer; }
.planner-account-title .registry-profile-link { flex: 0 0 auto; }
.planner-account-title > .planner-account-note-trigger { flex: 0 0 18px; width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 1px solid transparent; border-radius: 4px; color: var(--muted); font-size: 13px; line-height: 1; }
.planner-account-title > .planner-account-note-trigger.has-note { color: var(--warning); background: color-mix(in srgb, var(--warning) 10%, transparent); }
.planner-account-title > .planner-account-note-trigger:hover, .planner-account-title > .planner-account-note-trigger[aria-expanded="true"] { color: var(--ink); border-color: var(--border); background: var(--card); }
.planner-account-title > .planner-account-note-trigger:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.planner-account-note-popover { position: fixed; z-index: 1200; inset: auto; width: min(360px, calc(100vw - 16px)); box-sizing: border-box; margin: 0; padding: 12px; overflow: auto; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: var(--card); box-shadow: 0 8px 30px #0003; text-align: left; font-family: inherit; }
.planner-account-note-popover::backdrop { background: transparent; pointer-events: none; }
.planner-account-note-popover > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.planner-account-note-popover > header > strong { font-size: 13px; overflow-wrap: anywhere; }
.planner-account-note-popover > header > button { flex: 0 0 24px; min-width: 24px; padding: 0; font-size: 21px; line-height: 24px; }
.planner-account-note-text { max-height: 240px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.5; }
.planner-account-note-text.is-empty { color: var(--muted); }
.planner-account-note-label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; }
.planner-account-note-label > textarea { min-height: 110px; width: 100%; box-sizing: border-box; resize: vertical; border: 1px solid var(--border); border-radius: 7px; padding: 8px; color: var(--ink); background: var(--bg); font: inherit; font-size: 13px; line-height: 1.45; }
.planner-account-note-label > textarea:focus { outline: 2px solid var(--warning); outline-offset: 1px; }
.planner-account-note-edit-tools { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 4px; color: var(--muted); font-size: 10px; }
.planner-account-note-edit-tools > button { padding: 3px 0; font-size: 10px; }
.planner-account-note-status { margin: 8px 0 0; color: var(--success); font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.planner-account-note-status.is-error { color: var(--danger); }
.planner-account-note-hint { margin: 9px 0 0; color: var(--muted); font-size: 10px; }
.planner-account-note-popover > footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; margin-top: 10px; }
.planner-account-note-popover > footer > button { min-height: 30px; padding: 6px 9px; border-radius: 7px; font-size: 11px; }
.planner-direction-filter { display: grid; align-content: end; gap: 4px; }
.planner-direction-filter > span { font-size: 11px; color: var(--muted); font-weight: 700; }
.planner-direction-buttons { display: flex; flex-wrap: wrap; gap: 4px; min-height: 42px; }
.planner-direction-buttons button { flex: 1; border: 1px solid var(--border); border-radius: 9px; padding: 8px 10px; background: var(--card); color: var(--ink); font-size: 13px; font-weight: 650; cursor: pointer; }
.planner-direction-buttons button.active { background: var(--warning-soft); border-color: var(--warning); color: var(--warning); }
.registry-filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 7px; padding-top: 7px; border-top: 1px solid var(--border); min-width: 0; }
.registry-filter-row > .registry-work-filter-bar,
body.design-vanta .registry-command-bar .registry-filter-row > .registry-work-filter-bar { flex: 0 1 auto; min-width: 0; max-width: 100%; min-height: 34px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.registry-direction-filter { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; max-width: 100%; padding-left: 14px; border-left: 1px solid var(--border); }
.registry-direction-filter > span { font-size: 10px; }
.registry-direction-buttons { flex-wrap: nowrap; min-height: 30px; }
.registry-direction-buttons button { min-height: 30px; padding: 6px 10px; font-size: 11px; white-space: nowrap; }
.registry-direction-buttons button:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
@media (max-width: 700px) {
  .registry-direction-filter { display: grid; gap: 4px; width: 100%; padding-left: 0; border-left: 0; }
  .registry-direction-buttons button { min-height: 40px; }
}
.planner-task[draggable="true"] { cursor: grab; }
.planner-task.is-dragging { opacity: .45; cursor: grabbing; }
.planner-cell.planner-drop-target { outline: 2px solid var(--warning); outline-offset: -2px; background: var(--warning-soft); }
.planner-workspace[aria-busy="true"] .planner-task { cursor: progress; }
.planner-delete-button { margin-right: auto; color: var(--danger, #c44848); background: transparent; border: 1px solid currentColor; border-radius: 9px; padding: 10px 12px; font: inherit; font-size: 13px; cursor: pointer; }
.planner-date-cell { position: sticky; z-index: 4; left: 0; min-height: 28px; display: grid; place-items: center; align-content: center; padding: 3px 6px; text-align: center; background: color-mix(in srgb, var(--success) 22%, var(--card)); box-shadow: 1px 0 var(--border); }
.planner-date-cell.is-task-row { min-height: 64px; }
.planner-date-cell:hover, .planner-date-cell.is-selected { background: color-mix(in srgb, var(--success) 16%, var(--card)); }
.planner-date-cell.is-selected { box-shadow: inset 3px 0 var(--warning), 1px 0 var(--border); }
.planner-date-cell.is-weekend { color: var(--ink); }
.planner-date-cell.is-today { background: color-mix(in srgb, var(--success) 34%, var(--card)); box-shadow: inset 3px 0 var(--warning), 1px 0 var(--border); }
.planner-date-cell strong { font-size: 10px; font-weight: 900; font-variant-numeric: tabular-nums; }
.planner-cell { position: relative; min-height: 28px; display: grid; place-items: center; align-content: center; gap: 3px; padding: 3px 6px; text-align: left; transition: background .15s ease, box-shadow .15s ease; }
.planner-cell.is-task-row { min-height: 64px; }
.planner-cell.has-entries { padding: 0; gap: 1px; align-content: stretch; align-items: stretch; }
.planner-task { min-width: 0; width: 100%; min-height: 64px; padding: 6px 7px; border: 0; border-radius: 0; color: var(--ink); background: var(--card); text-align: left; cursor: pointer; transition: background .15s ease; }
.planner-task + .planner-task { border-top: 1px solid var(--border); }
.planner-task.is-planned { background: color-mix(in srgb, var(--warning) 34%, var(--card)); box-shadow: inset 3px 0 var(--warning); }
.planner-task.is-completed { background: color-mix(in srgb, var(--success) 34%, var(--card)); box-shadow: inset 3px 0 var(--success); }
.planner-task.is-cancelled { background: color-mix(in srgb, var(--muted) 12%, var(--card)); box-shadow: inset 3px 0 var(--muted); }
.planner-task:hover { background: color-mix(in srgb, var(--warning) 48%, var(--card)); }
.planner-task.is-completed:hover { background: color-mix(in srgb, var(--success) 48%, var(--card)); }
.planner-task:focus-visible, .planner-entry-open:focus-visible { position: relative; z-index: 3; outline: 2px solid var(--ink); outline-offset: -3px; }
.planner-task-status { color: var(--ink); font-size: 11px; line-height: 1.35; font-weight: 650; }
.planner-cell:hover { background: color-mix(in srgb, var(--warning) 7%, var(--card)); }
.planner-cell.is-selected { z-index: 2; outline: 2px solid var(--warning); outline-offset: -2px; }
.planner-cell-copy { min-width: 0; width: 100%; display: grid; justify-items: stretch; gap: 3px; overflow-wrap: anywhere; }
.planner-cell-copy b { display: -webkit-box; overflow: hidden; color: var(--ink); font-size: 14px; font-weight: 750; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.planner-cell-copy small { display: -webkit-box; overflow: hidden; color: var(--ink); font-size: 12px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.planner-cell-finance { color: var(--ink); font-size: 14px; font-weight: 800; }
.planner-cell-add { position: absolute; inset: 0; display: grid; place-items: center; color: var(--warning); font-size: 17px; opacity: 0; transition: opacity .15s ease; }
.planner-cell:not(.has-entries):hover .planner-cell-add, .planner-cell:focus-visible .planner-cell-add { opacity: .7; }
.planner-matrix-empty { width: 100%; min-height: 100px; display: grid; place-items: center; color: var(--muted); background: var(--card); font-size: 10px; }

.planner-selection-drawer { margin-top: 8px; overflow: hidden; border: 1px solid var(--border); border-radius: 10px; background: var(--card); }
.planner-selection-drawer > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; border-bottom: 1px solid var(--border); }
.planner-selection-drawer > header > div { display: flex; align-items: baseline; gap: 8px; }
.planner-selection-drawer > header strong { color: var(--ink); font-size: 11px; }
.planner-selection-drawer > header span { color: var(--muted); font-size: 9px; }
.planner-day-agenda { margin-top: 12px; overflow: hidden; border-radius: 13px; }
.planner-day-agenda > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--border); }
.planner-day-agenda > header h2 { margin: 3px 0 0; color: var(--ink); font-size: 17px; }
.planner-day-agenda > header p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.planner-agenda-list { display: grid; gap: 0; }
.planner-agenda-card { display: grid; grid-template-columns: 30px minmax(220px, 1fr) auto; align-items: center; gap: 9px; padding: 8px 12px; border-bottom: 1px solid var(--border); box-shadow: inset 3px 0 currentColor; }
.planner-agenda-card:last-child { border-bottom: 0; }
.planner-agenda-card.status-cancelled { opacity: .55; }
.planner-agenda-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: color-mix(in srgb, currentColor 12%, transparent); font-size: 12px; font-weight: 900; }
.planner-agenda-copy { min-width: 0; }
.planner-entry-open { display: block; width: 100%; padding: 4px 0; border: 0; border-radius: 4px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.planner-entry-open:hover .planner-agenda-title { text-decoration: underline; text-underline-offset: 3px; }
.planner-agenda-meta { display: flex; align-items: center; gap: 8px; }
.planner-agenda-meta strong { color: var(--ink); font-size: 14px; }
.planner-agenda-meta span { color: var(--muted); font-size: 12px; }
.planner-agenda-title { display: block; margin: 5px 0 0; color: var(--ink); font-size: 16px; line-height: 1.4; }
.planner-agenda-comment { display: block; margin: 4px 0 0; color: var(--ink); font-size: 14px; line-height: 1.5; }
.planner-entry-finance { display: inline-block; margin-top: 5px; color: var(--warning); font-size: 14px; font-weight: 800; }
.planner-agenda-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.planner-agenda-actions .secondary-button, .planner-agenda-actions .ghost-button { min-height: 36px; padding-inline: 10px; font-size: 12px; }
.planner-entry-status { color: var(--muted); font-size: 12px; font-weight: 800; }
.planner-entry-status.is-completed { color: var(--success); }
.planner-entry-status.is-cancelled { color: var(--danger); }
.planner-cancel-button { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 8px; color: var(--danger); background: transparent; }
.planner-mobile-agenda { display: none; }
.planner-range-controls { display: flex; align-items: flex-end; gap: 7px; }
.planner-range-controls label { display: grid; gap: 5px; }
.planner-range-controls label > span, .planner-toolbar .planner-filters label > span { font-size: 11px; color: var(--muted); font-weight: 700; }
.planner-range-controls input { width: 136px; min-height: 38px; padding: 6px 9px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--ink); font: inherit; font-size: 13px; }
.planner-toolbar .planner-filters select { font-size: 13px; }
.planner-range-controls .secondary-button { min-height: 38px; }
.planner-range-separator { align-self: center; margin-top: 17px; color: var(--muted); }
.planner-day-agenda { display: block; margin-top: 16px; border: 1px solid var(--border); border-radius: 11px; background: var(--card); overflow: hidden; }
.planner-agenda-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 16px; }
.planner-agenda-heading h2 { margin: 0; font-size: 18px; }
.planner-agenda-heading > span { color: var(--muted); font-size: 13px; }
.planner-day-agenda .planner-mobile-day { margin: 0; border-radius: 0; border-inline: 0; }
.planner-mobile-day { overflow: hidden; margin-bottom: 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); }
.planner-mobile-day > header { display: flex; justify-content: space-between; padding: 11px 13px; border-bottom: 1px solid var(--border); }
.planner-mobile-day > header strong { font-size: 12px; }
.planner-mobile-day > header span { color: var(--muted); font-size: 9px; }

.tone-work { color: var(--info); }
.tone-launch { color: var(--success); }
.tone-tariff { color: var(--warning); }
.tone-promotion { color: var(--violet-500); }
.tone-topup { color: #2a9d78; }
.tone-note { color: var(--muted); }

.planner-modal { width: min(690px, 100%); }
.planner-modal-status { margin: 0 0 8px; color: var(--ink); font-size: 15px; font-weight: 750; }
.planner-modal-status.is-completed { color: var(--success); }
.planner-modal-hint { margin: 0 0 16px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.planner-change-history { margin-top: 16px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: color-mix(in srgb, var(--info) 4%, var(--card)); }
.planner-change-history h3 { margin: 0 0 10px; color: var(--ink); font-size: 14px; }
.planner-change-history > p { margin: 0; color: var(--muted); font-size: 12px; }
.planner-change-history ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.planner-change-history li { display: grid; gap: 4px; padding-bottom: 9px; border-bottom: 1px solid var(--border); }
.planner-change-history li:last-child { padding-bottom: 0; border-bottom: 0; }
.planner-change-history li > span { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 12px; }
.planner-change-history strong { color: var(--ink); font-size: 12px; }
.planner-change-history small { color: var(--muted); font-size: 11px; }
.planner-change-history li p { margin: 0; color: var(--ink); font-size: 12px; line-height: 1.45; }
.planner-complete-button { border-color: color-mix(in srgb, var(--success) 60%, var(--border)); color: color-mix(in srgb, var(--success) 78%, var(--ink)); background: color-mix(in srgb, var(--success) 9%, var(--card)); }
.planner-complete-button:hover { background: color-mix(in srgb, var(--success) 18%, var(--card)); }
.planner-modal .form-grid label, .planner-modal .planner-finance-fields > label { font-size: 13px; }
.planner-modal input, .planner-modal select, .planner-modal textarea { font-size: 15px; }
.planner-modal input:disabled, .planner-modal select:disabled { color: var(--ink); opacity: .75; }
.planner-private-note { grid-column: 1 / -1; min-width: 0; border: 1px solid var(--border); border-radius: 10px; background: color-mix(in srgb, var(--warning) 3%, var(--card)); }
.planner-private-note > summary { display: flex; align-items: center; gap: 9px; padding: 10px 12px; cursor: pointer; color: var(--ink); font-size: 13px; font-weight: 650; list-style: none; }
.planner-private-note > summary::-webkit-details-marker { display: none; }
.planner-private-note > summary::before { content: "›"; color: var(--muted); font-size: 17px; line-height: 1; transition: transform .15s; }
.planner-private-note[open] > summary::before { transform: rotate(90deg); }
.planner-private-note > summary small { color: var(--muted); font-size: 11px; font-weight: 500; }
.planner-private-note-body { padding: 0 12px 11px; }
.planner-private-note-body > label { display: block; margin-bottom: 7px; color: var(--muted); font-size: 12px; }
.planner-modal .planner-private-note-body textarea { width: 100%; min-height: 74px; max-width: 100%; padding: 9px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--card); color: var(--ink); font: inherit; font-size: 13px; line-height: 1.45; resize: vertical; }
.planner-private-note-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 9px; }
.planner-modal .planner-private-note-actions button { min-height: 34px; padding: 7px 10px; font-size: 12px; }
.planner-modal .planner-private-note-actions .secondary-button { border-color: var(--border); color: var(--ink); background: var(--card); }
.planner-private-note-notify { display: inline-flex; align-items: center; gap: 6px; }
.planner-private-note-notify svg { width: 15px; height: 15px; flex: 0 0 auto; }
.planner-private-note-status { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.planner-private-note-status.is-error { color: var(--danger, #d64f49); }
.planner-private-note-status.is-sent { color: var(--success); }
.planner-private-note > summary:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; border-radius: 8px; }
.planner-form-grid select { height: 42px; }
.planner-finance-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; padding: 13px; border: 1px solid color-mix(in srgb, var(--warning) 35%, var(--border)); border-radius: 12px; background: color-mix(in srgb, var(--warning) 6%, var(--card)); }
.planner-finance-fields > label { display: grid; gap: 6px; color: var(--ink); font-size: 10px; font-weight: 800; }
.planner-finance-note { grid-column: 1 / -1; display: flex; align-items: center; gap: 9px; }
.planner-finance-note > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: var(--warning); background: color-mix(in srgb, var(--warning) 15%, transparent); font-weight: 900; }
.planner-finance-note p, .planner-finance-note strong, .planner-finance-note small { display: block; margin: 0; }
.planner-finance-note strong { color: var(--ink); font-size: 10px; }
.planner-finance-note small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.daily-note-item.is-plan { border-left: 3px solid currentColor; background: color-mix(in srgb, currentColor 7%, var(--card)); }

@media (max-width: 1120px) {
  .planner-toolbar { flex-wrap: wrap; }
  .planner-period-tools { flex: 1 0 100%; }
  .planner-filters { order: 3; flex-basis: 100%; }
  .planner-summary { margin-left: auto; }
  .planner-summary span { flex: 1; }
  .dashboard-planner-teaser { grid-template-columns: 1fr; }
  .dashboard-planner-teaser > header { grid-row: auto; flex-direction: row; align-items: center; }
}

@media (max-width: 760px) {
  .planner-page-head .page-actions { width: 100%; }
  .planner-page-head .primary-button { width: 100%; }
  .planner-toolbar { align-items: stretch; }
  .planner-period-tools { display: grid; gap: 12px; }
  .planner-period-actions { justify-content: flex-start; }
  .planner-range-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .planner-range-controls input { width: 100%; }
  .planner-range-controls .secondary-button { grid-column: 1 / -1; }
  .planner-filters { grid-template-columns: 1fr; }
  .planner-summary { order: 4; width: 100%; margin-left: 0; }
  .planner-create-button { order: 2; margin-left: auto; }
  .planner-workspace, .planner-selection-drawer { display: none; }
  .planner-mobile-agenda { display: block; margin-top: 11px; }
  .planner-agenda-card { grid-template-columns: 32px minmax(0, 1fr); padding: 11px 12px; }
  .planner-agenda-icon { width: 30px; height: 30px; }
  .planner-agenda-actions { grid-column: 1 / -1; justify-content: flex-start; flex-wrap: wrap; padding-left: 41px; }
  .dashboard-planner-teaser { padding: 14px; }
  .planner-teaser-list { grid-template-columns: 1fr; }
  .planner-finance-fields { grid-template-columns: 1fr; }
  .planner-finance-note { grid-column: auto; }
}

/* 0.99.69 — Accounts: compact identity column and Excel-like offer scanning. */
.registry-table .offer-group-kp,
.registry-table .registry-offer-cell.registry-kp { --registry-offer-accent: #d8a34f; }
.registry-table .offer-group-bt,
.registry-table .registry-offer-cell.registry-bt { --registry-offer-accent: #4b9fc1; }
.registry-table .offer-group-mnh,
.registry-table .registry-offer-cell.registry-mnh { --registry-offer-accent: #22a8a3; }
.registry-table .offer-group-cleaning,
.registry-table .registry-offer-cell.registry-cleaning { --registry-offer-accent: #54aa70; }
.registry-table .offer-group-other,
.registry-table .registry-offer-cell.registry-other { --registry-offer-accent: #8b91a1; }

body.design-vanta .registry-table col:first-child { width: 158px; }
body.design-vanta .registry-table .registry-sticky-account {
  width: 158px;
  min-width: 158px;
  max-width: 158px;
  padding: 7px 8px 7px 9px;
}
body.design-vanta .registry-account-title-line {
  width: 100%;
  max-width: 140px;
  gap: 5px;
}
body.design-vanta .registry-account-button {
  display: inline-flex;
  width: fit-content;
  max-width: 112px;
  min-height: 24px;
  align-items: center;
  padding: 3px 7px;
  border-radius: 7px;
  color: var(--ink);
  background: color-mix(in srgb, var(--success) 13%, var(--card));
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
}
body.design-vanta .registry-main-row.work-waiting .registry-account-button {
  background: color-mix(in srgb, var(--warning) 18%, var(--card));
}
body.design-vanta .registry-main-row.work-banned .registry-account-button {
  background: color-mix(in srgb, var(--danger) 17%, var(--card));
}
body.design-vanta .registry-main-row.work-paused .registry-account-button,
body.design-vanta .registry-main-row.work-scrap .registry-account-button {
  background: color-mix(in srgb, var(--muted) 14%, var(--card));
}
body.design-vanta .registry-profile-link {
  flex-basis: 19px;
  width: 19px;
  height: 19px;
}
body.design-vanta .registry-account-workspace,
body.design-vanta .registry-account-meta {
  width: 100%;
  max-width: 140px;
}
body.design-vanta .registry-account-workspace {
  margin-top: 4px;
  color: var(--ink);
  font-size: 10px;
  font-weight: 800;
}
body.design-vanta .registry-account-meta {
  margin-top: 3px;
  color: color-mix(in srgb, var(--ink) 68%, var(--muted));
  font-size: 9px;
  font-weight: 650;
}
body.design-vanta .registry-work-status-select {
  width: 104px;
  height: 26px;
  margin-top: 5px;
  font-size: 10px;
}
body.design-vanta .registry-work-status-select.working { color: var(--success); }
body.design-vanta .registry-work-status-select.waiting { color: var(--warning); }
body.design-vanta .registry-work-status-select.banned { color: var(--danger); }
body.design-vanta .registry-work-status-select.paused { color: var(--muted); }
body.design-vanta .registry-work-status-select.scrap { color: var(--violet-600); }

body.design-vanta .registry-table .registry-column-head > th[class*="offer-group-"] {
  color: var(--ink);
  background: color-mix(in srgb, var(--registry-offer-accent) 30%, var(--card));
  box-shadow: inset 0 3px var(--registry-offer-accent);
}
body.design-vanta .registry-table tbody td.registry-offer-cell {
  color: var(--ink);
  background: color-mix(in srgb, var(--registry-offer-accent) 12%, var(--card));
  font-weight: 900;
}
body.design-vanta .registry-table tbody tr:nth-child(even) td.registry-offer-cell {
  background: color-mix(in srgb, var(--registry-offer-accent) 15%, var(--card));
}
body.design-vanta .registry-table tbody tr:hover td.registry-offer-cell {
  background: color-mix(in srgb, var(--registry-offer-accent) 21%, var(--card));
}
body.design-vanta .registry-table .is-direction-start {
  border-left: 2px solid color-mix(in srgb, var(--registry-offer-accent) 82%, var(--border));
}
body.design-vanta .registry-table .is-direction-end {
  border-right: 2px solid color-mix(in srgb, var(--registry-offer-accent) 82%, var(--border));
}
body.design-vanta .registry-table tbody td.registry-offer-cell.is-zero {
  color: color-mix(in srgb, var(--ink) 72%, var(--muted));
  background: color-mix(in srgb, var(--registry-offer-accent) 7%, var(--card));
  font-size: 13px;
  font-weight: 700;
}
body.design-vanta .registry-table tbody tr:nth-child(even) td.registry-offer-cell.is-zero {
  background: color-mix(in srgb, var(--registry-offer-accent) 9%, var(--card));
}
body.design-vanta .registry-table tbody tr:hover td.registry-offer-cell.is-zero {
  background: color-mix(in srgb, var(--registry-offer-accent) 16%, var(--card));
}

body.design-vanta .registry-table tbody td,
body.design-vanta .registry-limit,
body.design-vanta .registry-tariff strong,
body.design-vanta .registry-comment-cell button,
body.design-vanta .registry-card-bank-cell span {
  color: var(--ink);
}
body.design-vanta .registry-table tbody td {
  border-right-color: color-mix(in srgb, var(--ink) 17%, var(--border));
  border-bottom-color: color-mix(in srgb, var(--ink) 19%, var(--border));
}

/* 0.99.70 — Direction totals stay visible; details open independently. */
body.design-vanta .registry-table th,
body.design-vanta .registry-table td {
  height: 42px;
  padding: 4px 6px;
}
body.design-vanta .registry-table thead th {
  height: 32px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 900;
}
body.design-vanta .registry-table .registry-column-head > th {
  top: 32px;
  height: 32px;
  padding: 3px 4px;
}
body.design-vanta .registry-table .registry-group-head > th[rowspan="2"] {
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
}
body.design-vanta .registry-table .registry-sticky-account {
  padding: 4px 7px 4px 8px;
}
body.design-vanta .registry-account-title-line {
  width: 100%;
  max-width: 142px;
  flex-wrap: nowrap;
  gap: 4px;
}
body.design-vanta .registry-account-button {
  flex: 0 1 auto;
  max-width: 56px;
  min-height: 20px;
  padding: 2px 5px;
  border-radius: 5px;
  background: color-mix(in srgb, var(--success) 8%, var(--card));
  font-size: 14px;
}
body.design-vanta .registry-main-row.work-waiting .registry-account-button {
  background: color-mix(in srgb, var(--warning) 11%, var(--card));
}
body.design-vanta .registry-main-row.work-banned .registry-account-button {
  background: color-mix(in srgb, var(--danger) 11%, var(--card));
}
body.design-vanta .registry-profile-link {
  flex-basis: 17px;
  width: 17px;
  height: 17px;
  border-radius: 5px;
  font-size: 10px;
}
body.design-vanta .registry-work-status-select {
  flex: 0 0 62px;
  width: 62px;
  height: 21px;
  margin: 0 0 0 auto;
  padding: 0 15px 0 5px;
  border-radius: 6px;
  font-size: 8px;
}
body.design-vanta .registry-account-workspace {
  max-width: 142px;
  margin-top: 2px;
  font-size: 9px;
  line-height: 1.1;
}
body.design-vanta .registry-account-meta { display: none; }

.registry-offer-direction-head-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.registry-offer-direction-head-content > span {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 5px;
}
.registry-offer-direction-head-content b {
  color: var(--ink);
  font-size: 11px;
  font-weight: 950;
}
.registry-offer-direction-head-content small {
  display: none;
  overflow: hidden;
  color: color-mix(in srgb, var(--ink) 72%, var(--muted));
  font-size: 8px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 0.99.75 — Placements: direction totals with independently expandable offers. */
.geo-toolbar {
  grid-template-columns: minmax(210px, 1.35fr) repeat(2, minmax(150px, .8fr)) auto auto auto;
}
.geo-toolbar-compact {
  grid-template-columns: minmax(190px, 1.2fr) repeat(2, minmax(140px, .78fr)) auto auto auto;
}
.geo-matrix .offer-group-kp { --geo-offer-accent: #d8a34f; }
.geo-matrix .offer-group-bt { --geo-offer-accent: #4b9fc1; }
.geo-matrix .offer-group-mnh { --geo-offer-accent: #22a8a3; }
.geo-matrix .offer-group-cleaning { --geo-offer-accent: #54aa70; }
.geo-matrix .offer-group-other { --geo-offer-accent: #8b91a1; }
.geo-offer-direction-head {
  color: var(--ink) !important;
  background: color-mix(in srgb, var(--geo-offer-accent) 15%, var(--surface)) !important;
  box-shadow: inset 0 3px var(--geo-offer-accent);
}
.geo-offer-direction-head-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
.geo-offer-direction-head-content > span {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 5px;
}
.geo-offer-direction-head-content b {
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
}
.geo-offer-direction-head-content small {
  display: none;
  overflow: hidden;
  color: color-mix(in srgb, var(--ink) 72%, var(--muted));
  font-size: 9px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.geo-offer-direction-head.is-expanded .geo-offer-direction-head-content small { display: inline; }
.geo-offer-direction-toggle {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--geo-offer-accent) 58%, var(--border));
  border-radius: 6px;
  color: var(--ink);
  background: color-mix(in srgb, var(--geo-offer-accent) 8%, var(--card));
  font: inherit;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
}
.geo-offer-direction-toggle:hover {
  border-color: var(--geo-offer-accent);
  background: color-mix(in srgb, var(--geo-offer-accent) 18%, var(--card));
}

.finance-direction-editor { min-width: 200px; }
.finance-direction-editor > summary, .finance-direction-history > summary {
  cursor: pointer; color: var(--ink); font-size: 12px; font-weight: 750;
}
.finance-direction-editor label { display: grid; gap: 5px; margin-top: 10px; }
.finance-direction-editor input[type="date"] {
  min-height: 36px; padding: 6px 8px; border: 1px solid var(--border);
  border-radius: 8px; background: var(--card); color: var(--ink); font: inherit;
}
.finance-direction-editor small { display: block; margin-top: 6px; color: var(--muted); }
.finance-direction-history { margin-top: 8px; min-width: 210px; }
.finance-direction-history ol { margin: 8px 0 0; padding: 0; list-style: none; }
.finance-direction-history li { display: grid; grid-template-columns: 55px 1fr; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--border); }
.finance-direction-history span { font-size: 12px; white-space: nowrap; }
.geo-offer-column-row th {
  position: sticky;
  z-index: 4;
  top: 42px;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  min-width: 58px !important;
  max-width: none !important;
  height: 42px;
  background: color-mix(in srgb, var(--geo-offer-accent) 8%, var(--surface));
  box-shadow: none !important;
  text-align: center !important;
}
.geo-direction-row > th[rowspan="2"] { height: 84px; }
.geo-filter-row th { top: 84px; }
.geo-direction-total-head,
.geo-direction-total-cell {
  border-left: 2px solid color-mix(in srgb, var(--geo-offer-accent) 78%, var(--border)) !important;
}
.geo-direction-total-head.is-direction-only,
.geo-direction-total-cell.is-direction-only,
.geo-offer-detail-head.is-direction-end,
.geo-offer-detail-cell.is-direction-end {
  border-right: 2px solid color-mix(in srgb, var(--geo-offer-accent) 78%, var(--border)) !important;
}
.geo-direction-total-cell:not(.has-value) {
  background: color-mix(in srgb, var(--geo-offer-accent) 4%, var(--card));
}
.geo-account-table .offer-group-kp { background: color-mix(in srgb, #d8a34f 8%, var(--card)); }
.geo-account-table .offer-group-bt { background: color-mix(in srgb, #4b9fc1 8%, var(--card)); }
.geo-account-table .offer-group-mnh { background: color-mix(in srgb, #22a8a3 8%, var(--card)); }
.geo-account-table .offer-group-cleaning { background: color-mix(in srgb, #54aa70 8%, var(--card)); }
.geo-account-table .offer-group-other { background: color-mix(in srgb, #8b91a1 8%, var(--card)); }
@media (max-width: 1180px) {
  .geo-toolbar { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
}
.registry-offer-direction-head.is-expanded .registry-offer-direction-head-content small { display: inline; }
.registry-offer-direction-toggle {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--registry-offer-accent) 58%, var(--border));
  border-radius: 5px;
  color: var(--ink);
  background: color-mix(in srgb, var(--registry-offer-accent) 8%, var(--card));
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
}
.registry-offer-direction-toggle:hover {
  border-color: var(--registry-offer-accent);
  background: color-mix(in srgb, var(--registry-offer-accent) 16%, var(--card));
}
body.design-vanta .registry-table .registry-offer-direction-head {
  color: var(--ink);
  background: color-mix(in srgb, var(--registry-offer-accent) 15%, var(--card));
  box-shadow: inset 0 2px var(--registry-offer-accent);
}
body.design-vanta .registry-table .registry-column-head > th[class*="offer-group-"] {
  background: color-mix(in srgb, var(--registry-offer-accent) 10%, var(--card));
  box-shadow: none;
}
body.design-vanta .registry-table .registry-offer-total-head {
  font-size: 9px;
  font-weight: 950;
}
body.design-vanta .registry-table tbody td.registry-offer-cell {
  background: color-mix(in srgb, var(--registry-offer-accent) 4%, var(--card));
  font-size: 12px;
}
body.design-vanta .registry-table tbody td.registry-offer-total-cell {
  background: color-mix(in srgb, var(--registry-offer-accent) 9%, var(--card));
  font-size: 13px;
  font-weight: 950;
}
body.design-vanta .registry-table tbody tr:nth-child(even) td.registry-offer-cell {
  background: color-mix(in srgb, var(--registry-offer-accent) 6%, var(--card));
}
body.design-vanta .registry-table tbody tr:nth-child(even) td.registry-offer-total-cell {
  background: color-mix(in srgb, var(--registry-offer-accent) 11%, var(--card));
}
body.design-vanta .registry-table tbody tr:hover td.registry-offer-cell {
  background: color-mix(in srgb, var(--registry-offer-accent) 12%, var(--card));
}
body.design-vanta .registry-table tbody td.registry-offer-cell.is-zero,
body.design-vanta .registry-table tbody tr:nth-child(even) td.registry-offer-cell.is-zero {
  color: color-mix(in srgb, var(--ink) 68%, var(--muted));
  background: color-mix(in srgb, var(--registry-offer-accent) 2.5%, var(--card));
  font-size: 11px;
  font-weight: 650;
}
body.design-vanta .registry-offer-label {
  min-height: 22px;
  font-size: 9px;
}

body.design-vanta .registry-number,
body.design-vanta .registry-table td.registry-number,
body.design-vanta .registry-money-cell,
body.design-vanta .registry-review-cell,
body.design-vanta .registry-service-cell { font-size: 13px; }
body.design-vanta .registry-total { font-size: 14px; }
body.design-vanta .registry-tariff,
body.design-vanta .registry-limit { font-size: 10px; }
body.design-vanta .registry-comment-cell button { font-size: 9px; }
body.design-vanta .registry-rating-cell { font-size: 14px; }
body.design-vanta .registry-rating-cell small { margin-top: 2px; font-size: 8px; }
body.design-vanta .registry-card-bank-cell { padding-block: 3px !important; }
body.design-vanta .registry-card-bank-cell strong { font-size: 10px; }
body.design-vanta .registry-card-bank-cell span { margin-top: 1px; font-size: 9px; }
body.design-vanta .registry-card-bank-cell small { margin-top: 1px; font-size: 7px; }

body.design-vanta .registry-rating-cell.excellent { background: color-mix(in srgb, var(--success) 25%, var(--card)) !important; }
body.design-vanta .registry-rating-cell.good { background: color-mix(in srgb, var(--warning) 26%, var(--card)) !important; }
body.design-vanta .registry-rating-cell.low { background: color-mix(in srgb, var(--danger) 24%, var(--card)) !important; }
body.design-vanta .registry-review-cell:not(.is-zero) {
  background: color-mix(in srgb, var(--review-color) 27%, var(--card)) !important;
}

/* 0.99.116 — Accounts can be created before API keys and keep protected sign-in data. */
.account-api-toggle {
  display: flex !important;
  align-items: flex-start;
  gap: 11px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--warning) 6%, var(--surface));
  cursor: pointer;
}
.account-api-toggle input { width: 18px; height: 18px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--warning); }
.account-api-toggle span,
.account-api-toggle strong,
.account-api-toggle small { display: block; }
.account-api-toggle strong { color: var(--ink); font-size: 12px; font-weight: 900; }
.account-api-toggle small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.modal.account-create-modal { width: min(780px, 100%); }
.account-api-fields { grid-template-columns: 1fr; gap: 12px; padding: 14px; border: 1px dashed color-mix(in srgb, var(--warning) 42%, var(--border)); border-radius: 12px; background: var(--surface); }
.account-api-fields:not([hidden]) { display: grid; }
.account-api-fields input { width: 100%; min-width: 0; }

.registry-access-cell { padding: 4px 7px !important; text-align: left; vertical-align: middle; }
.registry-access-masked,
.registry-access-empty,
.registry-access-values { min-width: 0; }
.registry-access-masked { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1px 7px; align-items: center; }
.registry-access-masked > span { min-width: 0; }
.registry-access-masked > span:first-child { grid-column: 1; }
.registry-access-masked > span:nth-child(2) { grid-column: 1; }
.registry-access-masked > button { grid-column: 2; grid-row: 1 / span 2; }
.registry-access-masked small,
.registry-access-values small { margin-right: 4px; color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.registry-access-masked strong { overflow: hidden; color: var(--ink); font-size: 9px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.registry-access-cell button,
.registry-mobile-access button { min-height: 23px; padding: 2px 7px; border: 1px solid var(--border); border-radius: 7px; color: var(--warning); background: var(--card); font: 800 8px/1 inherit; cursor: pointer; }
.registry-access-cell button:hover,
.registry-mobile-access button:hover { border-color: color-mix(in srgb, var(--warning) 45%, var(--border)); background: var(--warning-soft); }
.registry-access-empty { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.registry-access-empty > span { color: var(--muted); font-size: 9px; font-weight: 750; }
.registry-access-values { display: grid; gap: 3px; }
.registry-access-values > span { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 6px; padding-block: 2px; }
.registry-access-values > span + span { border-top: 1px dashed var(--border); }
.registry-access-values > span > small { grid-column: 1; display: block; margin-right: 0; }
.registry-access-values strong { grid-column: 1; min-width: 0; overflow: visible; color: var(--ink); font-size: 9px; font-weight: 850; line-height: 1.3; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; user-select: text; }
.registry-access-values > span > button { grid-column: 2; grid-row: 1 / span 2; align-self: center; min-height: 23px; padding-inline: 5px; font-size: 9px; }
.registry-access-values .registry-access-hide { justify-self: end; min-height: 23px; padding-inline: 6px; }
.registry-mobile-access { grid-column: 1 / -1; }
.registry-mobile-access > div { margin-top: 5px; }
.registry-mobile-access .registry-access-masked,
.registry-mobile-access .registry-access-values { max-width: 310px; }

/* 0.99.71 — Slightly taller account rows with profile details restored. */
/* Geo directory: scoped sizing, unchanged typography on other pages. */
.geo-directory-panel, .geo-review-panel { margin-top: 18px; }
.geo-directory-editor, .geo-review-body { padding: 18px 22px; }
.geo-directory-editor summary, .geo-directory-list summary { cursor: pointer; font-size: 15px; font-weight: 700; color: var(--ink); }
.geo-directory-editor p, .geo-review-body > p, .geo-city-dialog p { color: var(--muted); font-size: 13px; line-height: 1.55; }
.geo-editor-form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 16px 0; }
body.design-vanta .geo-editor-form label, body.design-vanta .geo-city-dialog label { display: grid; gap: 7px; font-size: 13px; text-transform: none; letter-spacing: normal; }
.geo-editor-form label:first-child { flex: 1 1 240px; }
body.design-vanta .geo-editor-form input, body.design-vanta .geo-editor-form select, body.design-vanta .geo-city-dialog select { min-height: 42px; font-size: 15px; padding: 10px 12px; color: var(--ink); background: var(--card); border: 1px solid var(--border); border-radius: 9px; }
.geo-directory-list { margin-top: 20px; }
.geo-directory-list > div { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0 24px; max-height: 360px; overflow: auto; margin-top: 16px; }
.geo-directory-list span { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.geo-directory-list small { color: var(--muted); white-space: nowrap; }
.geo-directory-head { align-items: center; gap: 18px; }
.geo-directory-head .eyebrow { color: var(--success); }
.geo-directory-head p { max-width: 680px; }
.geo-white-direction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 18px 22px 22px; }
.geo-white-direction-card { --geo-tone: var(--warning); min-width: 0; overflow: hidden; border: 1px solid var(--border); border-top: 4px solid var(--geo-tone); border-radius: 13px; background: var(--card); box-shadow: 0 8px 22px rgba(25, 20, 30, .045); }
.geo-white-direction-card.tone-kp { --geo-tone: #b9771c; }
.geo-white-direction-card.tone-bt { --geo-tone: #397e9a; }
.geo-white-direction-card.tone-mnh { --geo-tone: #198780; }
.geo-white-direction-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 74px; padding: 11px 14px; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--geo-tone) 7%, var(--surface)); }
.geo-white-direction-card > header > div:first-child { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2px 8px; min-width: 0; }
.geo-white-direction-card > header > div:first-child > span { grid-row: 1 / 3; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: var(--card); background: var(--geo-tone); font-size: 12px; font-weight: 950; }
.geo-white-direction-card h3 { overflow: hidden; margin: 0; color: var(--ink); font-size: 13px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.geo-white-direction-title { display: flex; align-items: center; gap: 7px; min-width: 0; }
.geo-white-direction-title h3 { min-width: 0; }
.geo-copy-direction { display: grid; flex: 0 0 28px; width: 28px; height: 28px; padding: 0; place-items: center; border: 1px solid color-mix(in srgb, var(--geo-tone) 35%, var(--border)); border-radius: 7px; color: var(--geo-tone); background: var(--card); font-size: 19px; line-height: 1; cursor: pointer; }
.geo-copy-direction:hover:not(:disabled) { background: color-mix(in srgb, var(--geo-tone) 12%, var(--card)); }
.geo-copy-direction:focus-visible, .geo-city-copy-check:focus-visible { outline: 2px solid var(--geo-tone); outline-offset: 3px; }
.geo-copy-direction:disabled { opacity: .45; cursor: default; }
.geo-white-direction-card header small { color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.geo-white-direction-card > header > div:last-child { display: grid; justify-items: end; gap: 3px; }
.geo-white-direction-card > header > div:last-child strong { color: var(--ink); font-size: 16px; font-weight: 900; font-variant-numeric: tabular-nums; }
.geo-white-direction-card > header .text-button { min-height: 24px; padding: 2px 5px; color: var(--geo-tone); font-size: 9px; font-weight: 900; }
.geo-white-city-list { max-height: 650px; overflow: auto; margin: 0; padding: 0 12px; list-style: none; scrollbar-color: color-mix(in srgb, var(--geo-tone) 36%, var(--border)) transparent; scrollbar-width: thin; }
.geo-white-city-list li { display: grid; grid-template-columns: 25px minmax(0, 1fr) auto 22px; align-items: center; gap: 8px; min-height: 37px; border-bottom: 1px solid color-mix(in srgb, var(--border) 78%, transparent); color: var(--ink); }
.geo-white-city-list li:last-child { border-bottom: 0; }
.geo-white-city-list li > span { color: var(--muted); font-size: 9px; font-weight: 750; text-align: right; font-variant-numeric: tabular-nums; }
.geo-white-city-list li > strong { overflow: hidden; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.geo-white-city-list li > small { display: inline-flex; align-items: center; gap: 4px; color: var(--success); font-size: 8px; font-weight: 800; white-space: nowrap; -webkit-user-select: none; user-select: none; }
.geo-white-city-list li > small::before { content: "✓"; display: grid; width: 15px; height: 15px; place-items: center; border-radius: 50%; color: var(--success); background: var(--success-soft); font-size: 9px; }
.geo-white-city-status::after { content: attr(data-label); }
.geo-city-copy-check { width: 17px; height: 17px; margin: 0; justify-self: start; accent-color: var(--geo-tone); cursor: pointer; }
.geo-white-empty { display: none; margin: 0; padding: 32px 14px; color: var(--muted); font-size: 11px; text-align: center; }
.geo-white-direction-card.is-empty .geo-white-city-list { display: none; }
.geo-white-direction-card.is-empty .geo-white-empty { display: block; }
.geo-directory-single { grid-template-columns: minmax(0, 1fr); }
.geo-directory-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; padding: 16px 22px 0; }
.geo-directory-directions { display: inline-flex; flex-shrink: 0; gap: 3px; padding: 3px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.geo-directory-directions button { min-width: 54px; min-height: 34px; padding: 6px 12px; border: 0; border-radius: 7px; color: var(--muted); background: transparent; font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; }
.geo-directory-directions button.active { color: var(--ink); background: var(--card); box-shadow: 0 2px 8px rgba(25,20,30,.08); }
.geo-directory-directions button:focus-visible, .geo-directory-filters input:focus-visible { outline: 2px solid var(--violet-600); outline-offset: 3px; }
.geo-directory-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; }
.geo-directory-filters label { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); font-size: 12px; font-weight: 750; cursor: pointer; }
.geo-directory-filters input { width: 17px; height: 17px; margin: 0; accent-color: var(--violet-600); }
.geo-directory-filters label:has(input:disabled) { color: var(--muted); cursor: default; }
.geo-directory-metro-filters { padding-right: 18px; border-right: 1px solid var(--border); }
.geo-directory-data-status { flex-basis: 100%; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.geo-directory-data-status.is-error { color: var(--warning); }
.geo-directory-data-status .text-button { padding: 2px 4px; font-size: 11px; }
/* GEO white offers: independent clipboard scope inside the Excel directory. */
.geo-white-offer-copy { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(280px, 1.2fr); align-items: center; gap: 12px 22px; margin: 16px 22px 0; padding: 15px 17px; border: 1px solid color-mix(in srgb, var(--success) 28%, var(--border)); border-radius: 10px; background: color-mix(in srgb, var(--success) 5%, var(--card)); }
.geo-white-offer-heading { min-width: 0; }
.geo-white-offer-heading h3 { margin: 0 0 5px; color: var(--ink); font-size: 13px; font-weight: 800; }
.geo-white-offer-heading p, .geo-white-offer-scope p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.geo-white-offer-controls { display: flex; align-items: end; gap: 10px; min-width: 0; }
.geo-white-offer-controls label, body.design-vanta .geo-white-offer-controls label { display: grid; flex: 1; gap: 6px; min-width: 0; color: var(--ink); font-size: 11px; font-weight: 650; text-transform: none; letter-spacing: normal; }
.geo-white-offer-controls select { width: 100%; min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 7px; color: var(--ink); background: var(--card); font: inherit; font-size: 12px; }
.geo-white-offer-controls .secondary-button { flex-shrink: 0; min-height: 38px; padding: 8px 12px; font-size: 12px; white-space: nowrap; }
.geo-white-offer-controls :is(select,button):disabled { opacity: .55; cursor: default; }
.geo-white-offer-controls :is(select,button):focus-visible { outline: 2px solid var(--success); outline-offset: 3px; }
.geo-white-offer-scope { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; padding-top: 10px; border-top: 1px solid color-mix(in srgb, var(--success) 18%, var(--border)); }
.geo-white-offer-scope > span { color: var(--ink); font-size: 11px; white-space: nowrap; }
.geo-white-offer-scope strong { font-variant-numeric: tabular-nums; }
@media (max-width: 850px) {
  .geo-white-offer-copy { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .geo-white-offer-copy { gap: 12px; margin: 14px 16px 0; padding: 13px; }
  .geo-white-offer-controls { flex-wrap: wrap; }
  .geo-white-offer-controls label { flex-basis: 100%; }
  .geo-white-offer-controls .secondary-button { width: 100%; }
}
.geo-directory-single .geo-white-city-list li.geo-directory-parent { display: block; }
.geo-directory-city-row { display: grid; grid-template-columns: 22px 25px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 43px; }
.geo-directory-row-number { color: var(--muted); font-size: 10px; text-align: right; font-variant-numeric: tabular-nums; }
.geo-directory-city-name { min-width: 0; }
.geo-directory-city-name strong { display: block; overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.geo-directory-city-name > small { display: block; color: var(--muted); font-size: 10px; line-height: 1.5; }
.geo-directory-city-name > .geo-directory-satellite-label { color: var(--geo-tone); font-size: 10px; font-weight: 750; overflow-wrap: anywhere; }
.geo-directory-city-row > .geo-white-city-status { color: var(--success); font-size: 9px; font-weight: 800; -webkit-user-select: none; user-select: none; }
.geo-directory-city-row > .geo-white-city-status::before { content: "✓ "; }
.geo-directory-territories { margin: 0 0 8px 30px; padding: 0 0 0 10px; border-left: 2px solid var(--border); list-style: none; }
.geo-white-city-list .geo-directory-territory { grid-template-columns: 22px 18px minmax(0, 1fr); min-height: 40px; gap: 8px; padding: 4px 0; }
.geo-directory-territory .geo-directory-city-name strong { font-size: 11px; font-weight: 700; }
.geo-directory-child-mark { color: var(--muted); }
.geo-directory-metro { margin: 0 0 10px 30px; padding-left: 10px; border-left: 2px solid color-mix(in srgb, var(--geo-tone) 35%, var(--border)); }
.geo-directory-metro > summary { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 9px; min-height: 36px; padding: 5px 0; color: var(--geo-tone); font-size: 11px; cursor: pointer; list-style: none; }
.geo-directory-metro > summary::-webkit-details-marker { display: none; }
.geo-directory-metro > summary:focus-visible { outline: 2px solid var(--geo-tone); outline-offset: 3px; border-radius: 4px; }
.geo-directory-metro > summary strong { font-weight: 800; }
.geo-directory-metro > summary small { color: var(--muted); font-size: 10px; }
.geo-directory-metro-chevron { display: inline-block; transition: transform .15s; }
.geo-directory-metro[open] > summary .geo-directory-metro-chevron { transform: rotate(90deg); }
.geo-directory-metro-cities { margin: 0; padding: 0; list-style: none; }
.geo-directory-metro-context .geo-directory-city-name > small { font-size: 10px; white-space: normal; }
.geo-directory-metro-cities > .geo-directory-spb-fallback { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
@media (max-width: 600px) {
  .geo-directory-controls { gap: 12px; padding: 14px 16px 0; }
  .geo-directory-filters { gap: 10px 14px; }
  .geo-directory-city-row { grid-template-columns: 19px 20px minmax(0, 1fr) auto; gap: 6px; }
  .geo-directory-city-row > .geo-white-city-status { max-width: 54px; font-size: 8px; text-align: right; }
  .geo-directory-territories { margin-left: 26px; padding-left: 7px; }
  .geo-white-city-list .geo-directory-territory { grid-template-columns: 19px 16px minmax(0, 1fr); gap: 6px; }
  .geo-directory-metro { margin-left: 25px; padding-left: 7px; }
}
.geo-directory-add { display: grid; grid-template-columns: minmax(230px, .7fr) minmax(560px, 1.7fr); align-items: center; gap: 22px; margin: 0 22px 22px; padding: 16px 18px; border: 1px solid color-mix(in srgb, var(--success) 25%, var(--border)); border-radius: 13px; background: color-mix(in srgb, var(--success) 5%, var(--surface)); }
.geo-directory-add h3 { margin: 3px 0 4px; color: var(--ink); font-size: 15px; }
.geo-directory-add p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.geo-directory-add .geo-editor-form { display: grid; grid-template-columns: minmax(210px, 1fr) minmax(190px, .75fr) auto; align-items: end; gap: 10px; margin: 0; }
.geo-directory-add .geo-editor-form label:first-child { min-width: 0; }
.geo-directory-add .geo-editor-form button { min-height: 42px; white-space: nowrap; }
.geo-review-item { border-top: 1px solid var(--border); padding: 18px 0; }
.geo-review-item header, .geo-review-item footer, .geo-review-values, .geo-review-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.geo-review-item header > strong { font-size: 18px; color: var(--ink); }
.geo-review-item h3 { font-size: 15px; line-height: 1.4; margin: 10px 0 5px; }
.geo-review-item p { color: var(--muted); font-size: 13px; margin: 0 0 12px; }
.geo-review-values { font-size: 13px; margin-bottom: 12px; }
.geo-review-reason { font-size: 12px; color: var(--ink); background: color-mix(in srgb, var(--warning) 17%, transparent); padding: 5px 9px; border-radius: 6px; }
.geo-review-pagination { justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--border); font-size: 13px; }
.geo-city-dialog { width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow: auto; margin: auto; color: var(--ink); background: var(--card); border: 1px solid var(--border); border-radius: 16px; padding: 24px; }
.geo-city-dialog::backdrop { background: rgb(0 0 0 / 55%); }
.geo-city-dialog header, .geo-city-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.geo-city-dialog header h2 { font-size: 21px; }
.geo-city-dialog #geoCorrectionAddress { white-space: pre-line; }
.geo-city-dialog footer { margin-top: 20px; justify-content: end; }
@media (max-width: 1100px) { .geo-white-direction-grid { grid-template-columns: 1fr; }.geo-white-city-list { max-height: 440px; }.geo-directory-add { grid-template-columns: 1fr; }.geo-directory-add .geo-editor-form { grid-template-columns: 1fr 1fr auto; } }
@media (max-width: 600px) { .geo-review-panel .panel-head, .geo-directory-head { flex-wrap: wrap; gap: 14px; }.geo-directory-head .secondary-button { width: 100%; }.geo-directory-editor, .geo-review-body { padding: 16px; }.geo-white-direction-grid { padding: 14px 16px 18px; }.geo-directory-add { margin: 0 16px 18px; }.geo-directory-add .geo-editor-form { grid-template-columns: 1fr; } }

body.design-vanta .registry-table tbody td { height: 52px; }
body.design-vanta .registry-table .registry-sticky-account {
  padding-top: 5px;
  padding-bottom: 5px;
}
body.design-vanta .registry-account-workspace {
  margin-top: 2px;
  font-size: 9px;
}
body.design-vanta .registry-account-meta {
  display: block;
  max-width: 142px;
  margin-top: 2px;
  overflow: hidden;
  color: color-mix(in srgb, var(--ink) 70%, var(--muted));
  font-size: 8px;
  font-weight: 650;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Historical analytics: explicit source and incomplete-data coverage. */
.analytics-coverage { margin: 12px 0; padding: 12px 16px; border: 1px solid var(--border); border-radius: 12px; font-size: 13px; line-height: 1.5; }
.analytics-coverage p { margin: 0 0 4px; }
.analytics-coverage small { opacity: .8; }
.analytics-coverage.is-partial { border-color: #c69745; }
.daily-data-status { margin: 10px 0; padding: 10px 14px; border-left: 3px solid var(--warning); border-radius: 6px; background: var(--warning-soft); color: var(--ink); font-size: 13px; line-height: 1.5; }

/* Compact workspace, introduced for registry/planner in 0.99.105 and shared in 0.99.106. */
body.design-vanta #app {
  max-width: none;
  padding: 16px 20px 44px;
}
body.design-vanta .registry-overview {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-bottom: 8px;
}
body.design-vanta .registry-overview .registry-page-head > div:first-child { flex: 1 0 150px; }
body.design-vanta .registry-overview .registry-control-summary { order: 1; flex: 0 1 480px; }
body.design-vanta .registry-overview .page-actions { order: 2; flex-wrap: wrap; gap: 6px; }
body.design-vanta .registry-control-summary article { min-height: 64px; padding: 8px 10px; gap: 8px; grid-template-columns: 28px minmax(0,1fr); }
body.design-vanta .registry-control-icon { width: 28px; height: 28px; }
body.design-vanta .registry-control-summary article > div { grid-template-columns: minmax(0,1fr); }
body.design-vanta .registry-overview .page-actions button { padding-inline: 10px; }
.planner-toolbar { gap: 8px; padding: 8px 10px; margin-bottom: 6px; }
.planner-period-tools { gap: 10px; }
.planner-filters { flex-basis: 390px; grid-template-columns: minmax(140px,1fr) minmax(220px,1.3fr); gap: 6px; }
@media (max-width: 600px) {
  .planner-filters { grid-template-columns: minmax(0,1fr); }
}
@media (min-width: 761px) {
  .planner-period-tools { flex: 0 1 auto; flex-wrap: wrap; }
  .planner-filters { order: 0; }
  .planner-summary { margin-left: 0; }
}
@media (max-width: 700px) {
  body.design-vanta #app { padding: 12px 12px 36px; }
  body.design-vanta .registry-overview .registry-control-summary { flex-basis: 100%; }
  body.design-vanta .registry-overview .page-actions { width: 100%; }
}

/* 0.99.106 — Shared compact spacing, without shrinking data or controls. */
body.design-vanta #app > .page-head { flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
body.design-vanta #app > .page-head > div { min-width: 0; max-width: 100%; }
body.design-vanta #app > .page-head .page-actions { gap: 8px; }
#app .panel-head { flex-wrap: wrap; }
#app .panel-head > div { min-width: 0; max-width: 100%; }
#app .form-grid > label, #app .direct-form-grid > label { min-width: 0; }
#app .form-grid input, #app .form-grid select { min-width: 0; max-width: 100%; }
#app .table-scroll { min-width: 0; max-width: 100%; overflow-x: auto; }
.effectiveness-toolbar { flex-wrap: wrap; }
.effectiveness-toolbar, .effectiveness-filters { padding: 10px 12px; gap: 8px; margin-bottom: 10px; }
.effectiveness-range { flex-wrap: wrap; }
.daily-period-row { flex-wrap: wrap; gap: 8px; }
.geo-toolbar, .geo-toolbar-compact { grid-template-columns: repeat(auto-fit,minmax(min(180px,100%),1fr)); }
.geo-toolbar .search-wrap, .geo-toolbar .placement-multi { min-width: 0; }
.geo-toolbar .placement-multi .effectiveness-multi-menu { max-width: calc(100vw - 48px); }
@media (max-width: 700px) {
  #app > .page-head .page-actions { width: 100%; }
  #app > .page-head .page-actions > :is(input,select,label) { min-width: 0; max-width: 100%; }
  .effectiveness-range { min-width: 0; max-width: 100%; }
}

/* Mobile workspace: one compact header, touch-sized controls and readable account cards. */
.registry-mobile-list { display: none; }
@media (max-width: 760px) {
  html, body.design-vanta { overflow-x: hidden; }
  body.design-vanta .app-shell { min-width: 0; }
  body.design-vanta .workspace { min-width: 0; }
  body.design-vanta .topbar {
    height: 68px;
    min-height: 68px;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 0 10px;
  }
  body.design-vanta .topbar-left { min-width: 0; flex: 1 1 auto; gap: 8px; }
  body.design-vanta .topbar-actions { width: auto; flex: 0 0 auto; gap: 6px; justify-content: flex-end; }
  body.design-vanta .topbar .breadcrumb { min-width: 0; font-size: 13px; }
  body.design-vanta .topbar .breadcrumb span,
  body.design-vanta .topbar .breadcrumb b,
  body.design-vanta .topbar .header-clocks,
  body.design-vanta .topbar #quickSearch { display: none; }
  body.design-vanta .topbar .breadcrumb strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body.design-vanta .topbar .icon-button,
  body.design-vanta .topbar .topbar-actions .icon-button {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    font-size: 21px;
  }
  body.design-vanta .topbar .primary-button.compact {
    display: inline-flex;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    font-size: 0;
  }
  body.design-vanta .topbar .primary-button.compact span { font-size: 22px; }
  body.design-vanta #app { min-width: 0; padding: 14px 12px 40px; }
  body.design-vanta #app > .page-head { gap: 10px; margin-bottom: 12px; }
  body.design-vanta #app > .page-head h1,
  body.design-vanta .registry-page-head h1 { font-size: 28px; line-height: 1.05; }
  body.design-vanta #app > .page-head p { font-size: 12px; line-height: 1.45; }
  body.design-vanta .panel { border-radius: 14px; }
  body.design-vanta :is(.primary-button,.secondary-button,.ghost-button,.danger-button) { min-height: 44px; font-size: 13px; }
  body.design-vanta :is(input,select,textarea,.period-select,.filter-select,.search-input) { min-height: 46px; font-size: 14px; }
  body.design-vanta .table-scroll { overscroll-behavior-inline: contain; scroll-snap-type: none; -webkit-overflow-scrolling: touch; }
  body.design-vanta .sidebar {
    width: min(88vw, 320px);
    max-width: 320px;
    height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: max(18px, env(safe-area-inset-bottom));
  }
  body.design-vanta .sidebar-collapse-button { display: none; }
  body.design-vanta .nav-item { min-height: 48px; margin-block: 2px; font-size: 14px; }
  body.design-vanta .nav-item > span { width: 30px; height: 30px; font-size: 18px; }
  body.design-vanta .modal-backdrop { place-items: end center; padding: 0; }
  body.design-vanta .modal {
    width: 100%;
    max-width: none;
    max-height: 92dvh;
    border-width: 1px 0 0;
    border-radius: 20px 20px 0 0;
    padding-bottom: env(safe-area-inset-bottom);
  }
  body.design-vanta .modal > header { position: sticky; top: 0; z-index: 2; background: var(--v-card); }
  body.design-vanta .modal form > footer { flex-wrap: wrap; }
  body.design-vanta .modal form > footer > button { flex: 1 1 140px; }
  body.design-vanta dialog.modal,
  body.design-vanta .account-direction-dialog,
  body.design-vanta .geo-city-dialog {
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
    margin: auto auto 8px;
    border-radius: 18px;
  }
  body.design-vanta .dds-summary-strip,
  body.design-vanta .finance-summary-strip {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  body.design-vanta .dds-summary-strip > *,
  body.design-vanta .finance-summary-strip > * { scroll-snap-align: start; }
  body.design-vanta .effectiveness-multi-menu,
  body.design-vanta .dds-account-menu { max-width: calc(100vw - 24px); }

  body.design-vanta .registry-overview { display: block; margin-bottom: 10px; }
  body.design-vanta .registry-overview .registry-page-head { min-height: 0; padding: 0; }
  body.design-vanta .registry-overview .page-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin-top: 10px;
  }
  body.design-vanta .registry-overview .page-actions > :last-child { grid-column: 1 / -1; }
  body.design-vanta .registry-control-summary { grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
  body.design-vanta .registry-control-summary article { min-height: 74px; padding: 9px; }
  body.design-vanta .registry-control-summary strong { font-size: 20px; }
  body.design-vanta .registry-control-summary strong.is-date { font-size: 13px; }
  body.design-vanta .registry-control-summary p { display: none; }
  body.design-vanta .registry-command-bar { margin-bottom: 10px; }
  body.design-vanta .registry-command-bar .registry-toolbar { grid-template-columns: 1fr; padding: 8px; }
  body.design-vanta .registry-command-bar .registry-work-filter-bar {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 7px 8px;
    -webkit-overflow-scrolling: touch;
  }
  body.design-vanta .registry-command-bar .registry-work-filter-title { display: none; }
  body.design-vanta .registry-command-bar .registry-work-filter { min-height: 40px; flex: 0 0 auto; padding-inline: 11px; }
  body.design-vanta .registry-main-surface { display: none; }
  body.design-vanta .registry-mobile-list { display: grid; gap: 10px; }
  body.design-vanta .registry-mobile-list > footer,
  body.design-vanta .registry-mobile-empty { padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: var(--card); color: var(--muted); }
  body.design-vanta .registry-mobile-empty h2 { margin: 0 0 5px; color: var(--ink); font-size: 18px; }
  body.design-vanta .registry-mobile-empty p { margin: 0; font-size: 13px; }
  body.design-vanta .registry-mobile-card {
    --mobile-account-tone: var(--v-accent);
    overflow: hidden;
    border: 1px solid var(--border);
    border-left: 4px solid var(--mobile-account-tone);
    border-radius: 15px;
    background: var(--card);
    box-shadow: 0 8px 22px rgba(0,0,0,.05);
  }
  body.design-vanta .registry-mobile-card.work-waiting { --mobile-account-tone: var(--warning); }
  body.design-vanta .registry-mobile-card.work-banned { --mobile-account-tone: var(--danger); }
  body.design-vanta .registry-mobile-card.work-paused,
  body.design-vanta .registry-mobile-card.work-scrap { --mobile-account-tone: var(--muted); }
  body.design-vanta .registry-mobile-card > header { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; padding: 13px 14px 11px; }
  body.design-vanta .registry-mobile-account { display: flex; align-items: center; gap: 7px; min-width: 0; }
  body.design-vanta .registry-mobile-account .registry-account-button { font-size: 20px; }
  body.design-vanta .registry-mobile-account .registry-profile-link { width: 28px; height: 28px; }
  body.design-vanta .registry-mobile-card .registry-work-status-select { min-height: 36px; height: 36px; max-width: 122px; font-size: 12px; }
  body.design-vanta .registry-mobile-workspace { grid-column: 1 / -1; margin-top: 3px; color: var(--ink); font-size: 14px; }
  body.design-vanta .registry-mobile-card > header > small { grid-column: 1 / -1; color: var(--muted); font-size: 10px; }
  body.design-vanta .registry-mobile-direction {
    width: 100%;
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    align-items: center;
    gap: 7px;
    min-height: 48px;
    padding: 8px 14px;
    border: 0;
    border-block: 1px solid var(--border);
    color: var(--ink);
    background: color-mix(in srgb, var(--v-accent) 7%, var(--surface));
    text-align: left;
  }
  body.design-vanta .registry-mobile-direction.needs-check { background: color-mix(in srgb, var(--warning) 15%, var(--surface)); }
  body.design-vanta .registry-mobile-direction span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
  body.design-vanta .registry-mobile-direction strong { font-size: 15px; }
  body.design-vanta .registry-mobile-direction small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
  body.design-vanta .registry-mobile-direction b { font-size: 22px; }
  body.design-vanta .registry-mobile-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
  body.design-vanta .registry-mobile-metrics > div { min-width: 0; min-height: 66px; display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 9px 11px; border-right: 1px solid var(--border); border-top: 1px solid var(--border); }
  body.design-vanta .registry-mobile-metrics > div:nth-child(-n+3) { border-top: 0; }
  body.design-vanta .registry-mobile-metrics > div:nth-child(3n) { border-right: 0; }
  body.design-vanta .registry-mobile-metrics small { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
  body.design-vanta .registry-mobile-metrics strong,
  body.design-vanta .registry-mobile-metrics button { overflow: hidden; color: var(--ink); font-size: 14px; font-weight: 850; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
  body.design-vanta .registry-mobile-metrics button { min-height: 0; padding: 0; border: 0; background: none; }
  body.design-vanta .registry-mobile-metrics span { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
  body.design-vanta .registry-mobile-metrics .tariff-warning { background: color-mix(in srgb, var(--warning) 20%, var(--card)); }
  body.design-vanta .registry-mobile-metrics .tariff-danger { background: color-mix(in srgb, var(--danger) 18%, var(--card)); }
  body.design-vanta .registry-mobile-rating.excellent,
  body.design-vanta .registry-mobile-service.excellent { background: color-mix(in srgb, var(--success) 14%, var(--card)); }
  body.design-vanta .registry-mobile-rating.low,
  body.design-vanta .registry-mobile-service.low { background: color-mix(in srgb, var(--danger) 12%, var(--card)); }
  body.design-vanta .registry-mobile-bank { grid-column: span 2; }
  body.design-vanta .registry-mobile-offers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 10px 12px; }
  body.design-vanta .registry-mobile-offer { display: grid; gap: 2px; min-width: 0; padding: 7px 5px; border-radius: 9px; text-align: center; background: color-mix(in srgb, var(--v-accent) 10%, var(--surface)); }
  body.design-vanta .registry-mobile-offer small { overflow: hidden; color: var(--muted); font-size: 9px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
  body.design-vanta .registry-mobile-offer strong { color: var(--ink); font-size: 14px; }
  body.design-vanta .registry-mobile-offer.is-zero { opacity: .55; }
  body.design-vanta .registry-mobile-offer-details { border-top: 1px solid var(--border); }
  body.design-vanta .registry-mobile-offer-details summary { min-height: 44px; padding: 13px 14px; color: var(--ink); font-size: 12px; font-weight: 800; cursor: pointer; }
  body.design-vanta .registry-mobile-offer-details > div { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; padding: 0 14px 12px; }
  body.design-vanta .registry-mobile-offer-details span { display: flex; justify-content: space-between; gap: 8px; padding: 8px 0; border-top: 1px solid var(--border); }
  body.design-vanta .registry-mobile-offer-details small { color: var(--muted); font-size: 10px; }
  body.design-vanta .registry-mobile-offer-details strong { color: var(--ink); font-size: 12px; }
  body.design-vanta .registry-mobile-comment { width: 100%; display: grid; gap: 4px; padding: 10px 14px; border: 0; border-top: 1px solid var(--border); color: var(--ink); background: transparent; text-align: left; }
  body.design-vanta .registry-mobile-comment small { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
  body.design-vanta .registry-mobile-comment span { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
  body.design-vanta .registry-mobile-card > footer { display: grid; grid-template-columns: 1fr 1.25fr 44px; gap: 7px; padding: 11px 12px 12px; border-top: 1px solid var(--border); }
  body.design-vanta .registry-mobile-card > footer > button { min-width: 0; padding-inline: 8px; }
  body.design-vanta .registry-mobile-delete { width: 44px; min-height: 44px; border: 1px solid color-mix(in srgb, var(--danger) 25%, var(--border)); border-radius: 11px; color: var(--danger); background: var(--danger-soft); font-size: 20px; }
}

@media (max-width: 370px) {
  body.design-vanta .registry-overview .page-actions { grid-template-columns: 1fr; }
  body.design-vanta .registry-overview .page-actions > :last-child { grid-column: auto; }
  body.design-vanta .registry-mobile-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.design-vanta .registry-mobile-metrics > div:nth-child(n) { border-top: 1px solid var(--border); border-right: 1px solid var(--border); }
  body.design-vanta .registry-mobile-metrics > div:nth-child(-n+2) { border-top: 0; }
  body.design-vanta .registry-mobile-metrics > div:nth-child(2n) { border-right: 0; }
}

/* 0.99.115 — System-wide readability and phone layouts for operational tables. */
body.design-vanta :is(.rules-matrix,.finance-accounts-table,.finance-daily-table,.cards-table,.direct-table) th {
  font-size: 11px;
  line-height: 1.25;
}
body.design-vanta :is(.rules-matrix,.finance-accounts-table,.finance-daily-table,.cards-table,.direct-table) td {
  font-size: 12px;
  line-height: 1.35;
}
body.design-vanta :is(.rules-matrix,.finance-accounts-table,.finance-daily-table,.cards-table,.direct-table) :is(button,input,select) {
  min-height: 32px;
}
body.design-vanta :is(button,a,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--v-accent);
  outline-offset: 2px;
}
@media (max-width: 700px) {
  body.design-vanta :is(.direct-history,.cards-directory-panel,.finance-accounts-panel) > .table-scroll,
  body.design-vanta .finance-account-detail .table-scroll,
  body.design-vanta .rules-matrix-scroll { overflow: visible; }

  body.design-vanta .direct-history .direct-table,
  body.design-vanta .cards-table,
  body.design-vanta .finance-accounts-table,
  body.design-vanta .finance-account-daily-table,
  body.design-vanta .rules-matrix {
    display: block;
    width: 100%;
    min-width: 0;
    table-layout: auto;
    background: transparent;
  }
  body.design-vanta :is(.direct-history .direct-table,.cards-table,.finance-accounts-table,.finance-account-daily-table,.rules-matrix) colgroup,
  body.design-vanta :is(.direct-history .direct-table,.cards-table,.finance-accounts-table,.finance-account-daily-table,.rules-matrix) thead { display: none; }
  body.design-vanta :is(.direct-history .direct-table,.cards-table,.finance-accounts-table,.finance-account-daily-table,.rules-matrix) tbody { display: grid; gap: 10px; }
  body.design-vanta :is(.direct-history .direct-table,.cards-table,.finance-account-daily-table,.rules-matrix) tbody > tr,
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--card);
    box-shadow: 0 7px 20px rgba(0,0,0,.05);
  }
  body.design-vanta :is(.direct-history .direct-table,.cards-table,.finance-account-daily-table,.rules-matrix) tbody > tr > td,
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td {
    width: auto;
    min-width: 0;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border: 0;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    text-align: right;
    white-space: normal;
    background: transparent;
  }
  body.design-vanta :is(.direct-history .direct-table,.cards-table,.finance-account-daily-table,.rules-matrix) tbody > tr > td:nth-child(2n),
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td:nth-child(2n) { border-right: 0; }
  body.design-vanta :is(.direct-history .direct-table,.cards-table,.finance-account-daily-table,.rules-matrix) td::before,
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td::before {
    content: attr(data-label);
    flex: 0 0 auto;
    color: var(--muted);
    font-size: 10px;
    font-weight: 850;
    line-height: 1.25;
    text-align: left;
    text-transform: uppercase;
  }
  body.design-vanta .direct-history .direct-table td:nth-child(1)::before,
  body.design-vanta .finance-account-daily-table td:nth-child(1)::before { content: "Дата"; }
  body.design-vanta .direct-history .direct-table td:nth-child(2)::before { content: "Направление"; }
  body.design-vanta .direct-history .direct-table td:nth-child(3)::before { content: "Пополнено"; }
  body.design-vanta .direct-history .direct-table td:nth-child(4)::before { content: "Расход"; }
  body.design-vanta .direct-history .direct-table td:nth-child(5)::before { content: "Принято"; }
  body.design-vanta .direct-history .direct-table td:nth-child(6)::before { content: "Закрыто"; }
  body.design-vanta .direct-history .direct-table td:nth-child(7)::before { content: "Ср цена заявки"; }
  body.design-vanta .direct-history .direct-table td:nth-child(8)::before { content: "Прибыль"; }
  body.design-vanta .direct-history .direct-table td:nth-child(9)::before { content: "Комментарий"; }
  body.design-vanta .direct-history .direct-table td:nth-child(10)::before { content: "Действие"; }
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td:nth-child(1)::before { content: "Аккаунт / партнёр"; }
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td:nth-child(2)::before,
  body.design-vanta .finance-account-daily-table td:nth-child(2)::before { content: "Пополнено"; }
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td:nth-child(3)::before,
  body.design-vanta .finance-account-daily-table td:nth-child(3)::before { content: "Принято"; }
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td:nth-child(4)::before,
  body.design-vanta .finance-account-daily-table td:nth-child(4)::before { content: "Закрыто"; }
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td:nth-child(5)::before,
  body.design-vanta .finance-account-daily-table td:nth-child(5)::before { content: "Приход"; }
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td:nth-child(6)::before,
  body.design-vanta .finance-account-daily-table td:nth-child(6)::before { content: "Цена принятой"; }
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td:nth-child(7)::before,
  body.design-vanta .finance-account-daily-table td:nth-child(7)::before { content: "Цена закрытой"; }
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td:nth-child(8)::before,
  body.design-vanta .finance-account-daily-table td:nth-child(8)::before { content: "Комментарии"; }
  body.design-vanta .direct-history .direct-table td:nth-child(1),
  body.design-vanta .finance-account-daily-table td:nth-child(1),
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td:first-child,
  body.design-vanta .rules-matrix .matrix-account-cell,
  body.design-vanta .cards-table td[data-label="Аккаунт"] { grid-column: 1 / -1; }
  body.design-vanta .rules-matrix .matrix-account-cell {
    position: static;
    width: auto;
    max-width: none;
    padding: 13px 14px;
    background: color-mix(in srgb, var(--v-accent) 7%, var(--card));
  }
  body.design-vanta .rules-matrix .matrix-account-cell::before { display: none; }
  body.design-vanta .rules-matrix .matrix-account { width: 100%; }
  body.design-vanta .rules-matrix td .matrix-input { width: 108px; max-width: 100%; }
  body.design-vanta .rules-matrix tbody tr[hidden] { display: none; }

  body.design-vanta .finance-account-detail { display: block; }
  body.design-vanta .finance-account-detail > td { display: block; width: 100%; }
  body.design-vanta .finance-account-detail-inner { padding: 13px; }
  body.design-vanta .finance-account-identity { width: 100%; }
  body.design-vanta .finance-account-toggle { flex: 1; }
  body.design-vanta .finance-account-daily-table td:nth-child(8) { grid-column: 1 / -1; align-items: flex-start; }
  body.design-vanta .finance-day-comments { max-width: 68%; text-align: right; }

  body.design-vanta .cards-table td[data-label="Аккаунт"] { background: color-mix(in srgb, var(--v-accent) 7%, var(--card)); }
  body.design-vanta .cards-table td[data-label="Действия"] { justify-content: flex-end; }
  body.design-vanta .cards-table td[data-label="Действия"]::before { margin-right: auto; }
  body.design-vanta .card-row-actions { justify-content: flex-end; }
  body.design-vanta .direct-history .direct-table td:nth-child(9),
  body.design-vanta .direct-history .direct-table td:nth-child(10) { grid-column: 1 / -1; }
  body.design-vanta :is(.direct-history .direct-table,.cards-table,.finance-account-daily-table) td[colspan] { grid-column: 1 / -1; display: block; text-align: center; }
  body.design-vanta :is(.direct-history .direct-table,.cards-table,.finance-account-daily-table) td[colspan]::before { display: none; }
}

@media (max-width: 390px) {
  body.design-vanta :is(.direct-history .direct-table,.cards-table,.finance-account-daily-table,.rules-matrix) tbody > tr,
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row { grid-template-columns: 1fr; }
  body.design-vanta :is(.direct-history .direct-table,.cards-table,.finance-account-daily-table,.rules-matrix) tbody > tr > td,
  body.design-vanta .finance-accounts-table > tbody > .finance-account-row > td { border-right: 0; }
}

@media (max-width: 700px) {
  body.design-vanta .direct-history .direct-totals { display: block; margin-top: 12px; }
  body.design-vanta .direct-history .direct-totals > tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: color-mix(in srgb,var(--warning) 9%,var(--card)); }
  body.design-vanta .direct-history .direct-totals :is(th,td) { display: block; width: auto; min-width: 0; padding: 12px; border: 0; border-bottom: 1px solid var(--border); background: transparent; text-align: left; }
  body.design-vanta .direct-history .direct-totals th { display: block; grid-column: 1 / -1; font-size: 15px; }
  body.design-vanta .direct-history .direct-totals .direct-total-scope { grid-column: 1 / -1; }
  body.design-vanta .direct-history .direct-totals td::before { display: block; margin-bottom: 7px; }
  body.design-vanta .direct-history .direct-totals .direct-total-empty { display: none; }
}
@media (max-width: 390px) {
  body.design-vanta .direct-history .direct-totals > tr { grid-template-columns: 1fr; }
}

/* 0.99.109 — A little more room for account identity without loosening the whole registry. */
@media (min-width: 761px) {
  body.design-vanta .registry-table col:first-child { width: 176px; }
  body.design-vanta .registry-table .registry-sticky-account {
    width: 176px;
    min-width: 176px;
    max-width: 176px;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  body.design-vanta .registry-account-title-line,
  body.design-vanta .registry-account-workspace,
  body.design-vanta .registry-account-meta { max-width: 160px; }
  body.design-vanta .registry-table tbody td { height: 56px; }
  body.design-vanta .registry-account-workspace {
    margin-top: 3px;
    font-size: 10px;
    line-height: 1.1;
  }
  body.design-vanta .registry-account-meta {
    margin-top: 2px;
    font-size: 9px;
    line-height: 1.1;
  }
}

/* A floating copy of each table heading follows the page, not an inner table scroll. */
.vector-page-sticky-header {
  position: fixed;
  z-index: 39;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.vector-page-sticky-header::-webkit-scrollbar { display: none; }
.vector-page-sticky-header .registry-table,
.vector-page-sticky-header .geo-matrix { margin: 0; }
.vector-page-sticky-header .planner-matrix-tools {
  position: sticky;
  z-index: 20;
  left: 0;
  width: var(--sticky-header-width);
}
.vector-page-sticky-header .planner-matrix-grid { min-width: 0; }

/* Keep account comments inside their own column and make the adjacent details readable. */
body.design-vanta .registry-table td.registry-comment-cell { white-space: normal; }
body.design-vanta .registry-comment-cell button {
  display: block;
  width: 100%;
  overflow: visible;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.design-vanta .registry-card-bank-cell strong { font-size: 13px; }
body.design-vanta .registry-card-bank-cell span { font-size: 11px; }
body.design-vanta .registry-card-bank-cell small { font-size: 9px; }
body.design-vanta .registry-access-masked small,
body.design-vanta .registry-access-values small { font-size: 9px; }
body.design-vanta .registry-access-masked strong,
body.design-vanta .registry-access-values strong,
body.design-vanta .registry-access-empty > span { font-size: 11px; }
body.design-vanta .registry-access-cell button { font-size: 9px; }

/* Account email follows the protected sign-in column in desktop and mobile views. */
body.design-vanta .registry-table td.registry-email-cell {
  padding-inline: 10px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
  text-align: left;
  vertical-align: middle;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.design-vanta .registry-mobile-email { grid-column: 1 / -1; }
.registry-table td.registry-manager-cell { padding-inline: 8px; text-align: left; white-space: normal; }
.registry-manager-cell > button, .registry-mobile-manager > button { display: block; width: 100%; min-width: 0; padding: 3px 0; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: 12px; line-height: 1.35; text-align: left; cursor: pointer; }
.registry-manager-preview { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; white-space: pre-wrap; overflow-wrap: anywhere; }
.registry-manager-preview.is-empty { color: var(--muted); }
.registry-manager-cell > button:hover, .registry-mobile-manager > button:hover { color: var(--warning); }
.registry-manager-cell > button:focus-visible, .registry-mobile-manager > button:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; border-radius: 3px; }
.registry-mobile-manager { grid-column: 1 / -1; min-width: 0; }
.registry-mobile-manager > button { min-height: 34px; }
body.design-vanta .registry-mobile-email strong {
  font-size: 12px;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.design-vanta .registry-mobile-access .registry-access-values strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.design-vanta .registry-mobile-access .registry-access-values button {
  min-height: 23px;
  padding: 2px 6px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--card);
  font-size: 9px;
}

/* Monthly Avito CRM plan: aggregate-only overview, separate from account lists. */
.monthly-plan-panel { padding: 22px; margin: 0 0 18px; border: 1px solid var(--border); border-radius: var(--radius-lg); color: var(--ink); background: var(--card); box-shadow: var(--shadow); }
.monthly-plan-panel *, .monthly-plan-panel *::before, .monthly-plan-panel *::after { box-sizing: border-box; }
.monthly-plan-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.monthly-plan-header > div:first-child { min-width: 0; }
.monthly-plan-eyebrow { color: var(--v-accent, var(--warning)); font-size: 10px; font-weight: 800; letter-spacing: 1.4px; }
.monthly-plan-header h2 { margin: 5px 0 5px; color: var(--ink); font-size: 20px; line-height: 1.25; }
.monthly-plan-header p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.monthly-plan-controls { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.monthly-plan-controls .secondary-button { min-height: 38px; padding: 8px 12px; font-size: 12px; white-space: nowrap; }
.monthly-plan-controls .monthly-plan-refresh { min-width: 38px; padding: 5px 9px; font-size: 21px; line-height: 1; }
.monthly-plan-controls .monthly-plan-edit-toggle { min-height: 38px; padding: 8px 14px; font-size: 12px; white-space: nowrap; }
.monthly-plan-period { display: flex; align-items: center; gap: 0; padding: 2px; min-width: 0; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); }
.monthly-plan-period input[type="month"] { width: 160px; min-width: 0; max-width: 100%; height: 34px; padding: 5px 7px; border: 0; border-radius: 5px; background: transparent; color: var(--ink); font: inherit; font-size: 12px; font-weight: 650; }
.monthly-plan-month-step { flex: 0 0 30px; min-height: 32px; padding: 0 6px; border: 0; border-radius: 5px; color: var(--ink); background: transparent; font-size: 24px; line-height: 1; cursor: pointer; }
.monthly-plan-month-step:hover { background: var(--card); }
.monthly-plan-panel button:focus-visible, .monthly-plan-panel input:focus-visible, .monthly-plan-panel textarea:focus-visible { outline: 2px solid var(--v-accent, var(--warning)); outline-offset: 2px; }
.monthly-plan-overview { display: grid; grid-template-columns: minmax(230px, .9fr) minmax(0, 3fr); gap: 18px; }
.monthly-plan-total { display: flex; flex-direction: column; padding: 18px 20px; border: 1px solid color-mix(in srgb, var(--v-accent, var(--warning)) 35%, var(--border)); border-radius: 11px; background: color-mix(in srgb, var(--v-accent, var(--warning)) 8%, var(--card)); }
.monthly-plan-total-title { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 5px 10px; }
.monthly-plan-total-title > span { font-size: 13px; font-weight: 750; }
.monthly-plan-total-title > small { color: var(--muted); font-size: 11px; }
.monthly-plan-total-count { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 10px; margin: 14px 0 18px; }
.monthly-plan-total-count > strong { color: var(--ink); font-size: 32px; line-height: 1.15; font-weight: 850; font-variant-numeric: tabular-nums; }
.monthly-plan-total-count > span { color: var(--muted); font-size: 12px; }
.monthly-plan-directions { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; min-width: 0; }
.monthly-plan-direction { min-width: 0; padding: 18px; border: 1px solid var(--border); border-radius: 11px; background: var(--card); }
.monthly-plan-direction-title { display: flex; align-items: baseline; gap: 8px; min-height: 30px; }
.monthly-plan-direction-title > strong { flex-shrink: 0; font-size: 14px; font-weight: 850; }
.monthly-plan-direction-title > span { color: var(--muted); font-size: 11px; line-height: 1.4; }
.monthly-plan-values { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 6px; margin: 10px 0 18px; }
.monthly-plan-values > strong { font-size: 25px; font-weight: 800; line-height: 1.15; font-variant-numeric: tabular-nums; }
.monthly-plan-values small { color: var(--muted); font-size: 14px; font-weight: 650; white-space: nowrap; }
.monthly-plan-values > span { color: var(--muted); font-size: 11px; }
.monthly-plan-progress-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: auto 0 8px; }
.monthly-plan-progress-meta > span { color: var(--muted); font-size: 11px; line-height: 1.35; }
.monthly-plan-progress-meta > strong { flex-shrink: 0; color: var(--ink); font-size: 13px; font-weight: 800; font-variant-numeric: tabular-nums; }
.monthly-plan-progress { display: block; width: 100%; height: 8px; overflow: hidden; border: 0; border-radius: 6px; background: var(--surface); accent-color: var(--v-accent, var(--warning)); -webkit-appearance: none; appearance: none; }
.monthly-plan-progress::-webkit-progress-bar { background: var(--surface); border-radius: 6px; }
.monthly-plan-progress::-webkit-progress-value { background: var(--v-accent, var(--warning)); border-radius: 6px; }
.monthly-plan-progress::-moz-progress-bar { background: var(--v-accent, var(--warning)); border-radius: 6px; }
.monthly-plan-progress.is-complete { accent-color: var(--success); }
.monthly-plan-progress.is-complete::-webkit-progress-value { background: var(--success); }
.monthly-plan-progress.is-complete::-moz-progress-bar { background: var(--success); }
.monthly-plan-progress.is-partial::-webkit-progress-value { background: repeating-linear-gradient(115deg, var(--v-accent, var(--warning)) 0 6px, color-mix(in srgb, var(--v-accent, var(--warning)) 65%, var(--card)) 6px 12px); }
.monthly-plan-progress.is-partial::-moz-progress-bar { background: repeating-linear-gradient(115deg, var(--v-accent, var(--warning)) 0 6px, color-mix(in srgb, var(--v-accent, var(--warning)) 65%, var(--card)) 6px 12px); }
.monthly-plan-pace { margin-top: 15px; padding-top: 12px; border-top: 1px solid var(--border); }
.monthly-plan-pace-head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; font-size: 11px; line-height: 1.45; }
.monthly-plan-pace-head > span { color: var(--muted); }
.monthly-plan-pace-head > strong { font-size: 12px; font-weight: 750; font-variant-numeric: tabular-nums; }
.monthly-plan-pace.is-ahead .monthly-plan-pace-head > strong { color: var(--success); }
.monthly-plan-pace.is-behind .monthly-plan-pace-head > strong { color: var(--danger); }
.monthly-plan-pace.is-unknown .monthly-plan-pace-head > strong { color: var(--muted); font-weight: 500; }
.monthly-plan-pace-track { display: block; width: 100%; height: 12px; margin: 7px 0 5px; }
.monthly-plan-pace-background { fill: var(--surface); }
.monthly-plan-pace-fill { fill: var(--v-accent, var(--warning)); }
.monthly-plan-pace.is-ahead .monthly-plan-pace-fill { fill: var(--success); }
.monthly-plan-pace.is-behind .monthly-plan-pace-fill { fill: var(--danger); }
.monthly-plan-pace-marker { stroke: var(--ink); stroke-width: 2px; }
.monthly-plan-pace-values { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 3px 10px; color: var(--muted); font-size: 10px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.monthly-plan-pace-legend i { display: inline-block; width: 2px; height: 10px; margin: 0 6px -1px 0; background: var(--ink); }
.monthly-plan-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 10px 18px; margin-top: 16px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.monthly-plan-crm-stamp { padding-top: 5px; text-align: right; }
.monthly-plan-bonus { min-width: 0; padding: 14px 16px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); }
.monthly-plan-bonus > header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 14px; }
.monthly-plan-bonus h3 { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.3; }
.monthly-plan-bonus header button { padding: 6px 10px; min-height: 30px; font-size: 11px; }
.monthly-plan-bonus-text { margin: 10px 0 0; color: var(--ink); font-size: 14px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.monthly-plan-bonus-text.is-empty { color: var(--muted); font-size: 12px; }
#monthlyPlanBonusForm { margin-top: 12px; }
#monthlyPlanBonusForm label { display: block; margin-bottom: 7px; color: var(--muted); font-size: 12px; }
#monthlyPlanBonusForm textarea { width: 100%; min-height: 82px; max-width: 100%; resize: vertical; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--v-input, var(--card)); color: var(--ink); font: inherit; font-size: 14px; line-height: 1.5; }
.monthly-plan-bonus-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.monthly-plan-bonus-actions button { min-height: 36px; padding: 7px 12px; font-size: 12px; }
.monthly-plan-footer > small { flex: 1 0 100%; font-size: 10px; }
.monthly-plan-hints { display: flex; flex-wrap: wrap; gap: 5px 16px; width: 100%; color: var(--warning); }
.monthly-plan-placeholder { padding: 28px 18px; border: 1px dashed var(--border); border-radius: 11px; color: var(--muted); font-size: 13px; line-height: 1.5; text-align: center; }
.monthly-plan-error { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; padding: 11px 14px; margin: 0 0 14px; border: 1px solid color-mix(in srgb, var(--danger) 35%, var(--border)); border-radius: 8px; color: var(--danger); background: var(--danger-soft); font-size: 12px; line-height: 1.4; }
.monthly-plan-error button { padding: 4px 7px; border: 1px solid currentColor; border-radius: 5px; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.monthly-plan-editor { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--border); }
.monthly-plan-editor-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 14px; }
.monthly-plan-editor-head > strong { font-size: 14px; }
.monthly-plan-editor-head > span { color: var(--muted); font-size: 11px; }
.monthly-plan-editor-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.monthly-plan-editor-fields label { display: grid; gap: 7px; min-width: 0; color: var(--ink); font-size: 13px; font-weight: 750; }
.monthly-plan-editor-fields label span { min-height: 34px; }
.monthly-plan-editor-fields label small { display: block; color: var(--muted); font-size: 10px; font-weight: 400; }
.monthly-plan-editor-fields input { display: block; width: 100%; min-width: 0; height: 40px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 8px; color: var(--ink); background: var(--v-input, var(--surface)); font: inherit; font-variant-numeric: tabular-nums; }
.monthly-plan-editor-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 9px; margin-top: 14px; }
.monthly-plan-editor-actions button { min-height: 38px; padding: 8px 16px; font-size: 12px; }
@media (max-width: 1150px) {
  .monthly-plan-header { align-items: flex-start; flex-direction: column; gap: 14px; }
  .monthly-plan-controls { justify-content: flex-start; width: 100%; }
  .monthly-plan-overview { grid-template-columns: minmax(0, 1fr); }
  .monthly-plan-footer { grid-template-columns: minmax(0, 1fr); }
  .monthly-plan-crm-stamp { text-align: left; padding-top: 0; }
  .monthly-plan-total-count { margin-bottom: 14px; }
}
@media (max-width: 600px) {
  .monthly-plan-panel { padding: 16px; }
  .monthly-plan-header { margin-bottom: 16px; }
  .monthly-plan-header h2 { font-size: 18px; }
  .monthly-plan-directions { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .monthly-plan-direction { padding: 15px 16px; }
  .monthly-plan-direction-title { min-height: 0; }
  .monthly-plan-direction-title > span { font-size: 12px; }
  .monthly-plan-values { margin: 10px 0 12px; }
  .monthly-plan-period input[type="month"] { width: 145px; }
  .monthly-plan-editor-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .monthly-plan-editor-actions { justify-content: stretch; }
  .monthly-plan-editor-actions button { flex: 1; }
}

/* Narrow OKK workstation. No general registry controls are reused. */
.review-accounts-head-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; min-width: 0; }
.review-accounts-update-card { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 10px; width: 300px; max-width: 100%; min-height: 82px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--card); box-shadow: 0 7px 20px rgb(24 28 32 / 3.5%); }
.review-accounts-update-card > div { display: grid; gap: 3px; min-width: 0; }
.review-accounts-update-card small { color: var(--muted); font-size: 11px; line-height: 1.3; }
.review-accounts-update-card strong { color: var(--ink); font-size: 16px; font-weight: 800; line-height: 1.3; font-variant-numeric: tabular-nums; white-space: nowrap; }
.page-head .review-accounts-update-card p { color: var(--muted); font-size: 10px; line-height: 1.4; }
.review-accounts-retry { margin-bottom: 14px; }
.review-accounts-panel { padding: 18px; }
.review-accounts-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-bottom: 16px; }
.review-accounts-toolbar label { min-width: 0; }
.review-accounts-search { flex: 1 1 250px; }
.review-accounts-toolbar :is(input,select) { width: 100%; min-height: 40px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--v-input,var(--surface)); color: var(--ink); font: inherit; font-size: 13px; }
.review-accounts-count { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.review-accounts-table-wrap { width: 100%; overflow-x: auto; }
.review-accounts-table { width: 100%; border-collapse: collapse; color: var(--ink); }
.review-accounts-table :is(th,td) { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
.review-accounts-table th { color: var(--muted); font-size: 11px; font-weight: 700; }
.review-accounts-table td { font-size: 13px; }
.review-accounts-table.reviews-expanded { min-width: 1000px; }
.review-accounts-table.reviews-expanded :is(th,td) { padding-inline: 6px; }
.review-accounts-table .review-accounts-review-group { text-align: center; color: var(--ink); }
.review-breakdown-toggle { display: inline-grid; width: 26px; height: 26px; margin-left: 7px; place-items: center; padding: 0; border: 1px solid var(--border); border-radius: 6px; color: var(--ink); background: var(--surface); font: inherit; font-size: 17px; cursor: pointer; }
.review-breakdown-toggle:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.review-accounts-toolbar .review-breakdown-mobile-toggle { display: none; }
.review-accounts-table.reviews-expanded :is(.review-stars-heading,.review-account-stars-cell) { width: 72px; min-width: 72px; padding-inline: 6px; text-align: center; font-variant-numeric: tabular-nums; }
.review-accounts-table.reviews-expanded :is(.review-stars-heading,.review-account-stars-cell).review-stars-unrated { width: 80px; min-width: 80px; }
.review-account-stars-cell > span { font-size: 14px; font-weight: 750; white-space: nowrap; }
.review-account-stars-cell.is-zero > span { color: var(--muted); font-weight: 500; }
.review-accounts-table .review-stars-positive, .review-account-breakdown-grid .review-stars-positive { background: color-mix(in srgb,var(--success) 12%,var(--card)); }
.review-accounts-table .review-stars-neutral, .review-account-breakdown-grid .review-stars-neutral { background: color-mix(in srgb,var(--warning) 12%,var(--card)); }
.review-accounts-table .review-stars-negative, .review-account-breakdown-grid .review-stars-negative { background: color-mix(in srgb,var(--danger) 12%,var(--card)); }
.review-accounts-table .review-stars-unrated, .review-account-breakdown-grid .review-stars-unrated { background: var(--surface); }
.review-account-total-reviews strong { font-size: 14px; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.review-account-total-reviews small { display: block; max-width: 140px; margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.review-accounts-table td > small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.review-accounts-table .review-account-identity { min-width: 140px; }
.review-accounts-table:has(.review-account-priority-heading) .review-account-identity { min-width: 124px; }
.review-account-identity > small { max-width: 220px; overflow-wrap: anywhere; }
.review-account-open { padding: 3px 7px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: var(--ink); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.review-account-priority-badge { display: inline-block; margin-left: 6px; padding: 3px 6px; border-radius: 5px; color: var(--warning); background: color-mix(in srgb,var(--warning) 12%,var(--card)); font-size: 10px; font-weight: 750; line-height: 1.3; white-space: nowrap; }
.review-accounts-table .review-account-priority-cell { min-width: 100px; width: 104px; }
.review-account-priority-toggle { display: inline-block; min-height: 30px; padding: 5px 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: var(--muted); font: inherit; font-size: 11px; font-weight: 650; line-height: 1.3; white-space: nowrap; cursor: pointer; }
.review-account-priority-toggle.is-selected { border-color: color-mix(in srgb,var(--warning) 45%,var(--border)); background: color-mix(in srgb,var(--warning) 12%,var(--card)); color: var(--ink); }
.review-account-priority-toggle:disabled { opacity: .65; cursor: wait; }
.review-account-priority-toggle:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.review-account-priority-error { display: block; max-width: 190px; margin-top: 5px; color: var(--danger); font-size: 10px; font-weight: 400; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
.review-accounts-table .review-account-comment-cell { width: 148px; min-width: 140px; max-width: 160px; }
.review-account-comment-preview { display: block; max-width: 100%; overflow: visible; overflow-wrap: anywhere; white-space: pre-wrap; color: var(--ink); font-size: 12px; font-weight: 650; line-height: 1.4; }
.review-account-comment-preview.is-empty { color: var(--ink); }
.review-accounts-table .review-account-comment-field { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 32px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); font: inherit; font-size: 12px; font-weight: 650; line-height: 1.4; text-align: left; cursor: pointer; }
.review-account-comment-field .review-account-comment-preview { max-width: 100%; }
.review-accounts-table .review-account-comment-field:hover:not(:disabled) .review-account-comment-preview { color: var(--violet-600); text-decoration: underline; }
.review-accounts-table .review-account-comment-field:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.review-accounts-table .review-account-comment-field:disabled { opacity: .65; cursor: wait; }
.review-comment-dialog { width: min(560px,calc(100vw - 32px)); }
.review-comment-dialog h2 { font-size: 20px; }
.review-comment-label { display: block; margin-bottom: 8px; color: var(--ink); font-size: 13px; font-weight: 700; }
.review-comment-dialog textarea { display: block; width: 100%; min-height: 138px; resize: vertical; padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--v-input,var(--card)); color: var(--ink); font: inherit; font-size: 15px; line-height: 1.6; }
.review-comment-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 7px; color: var(--muted); font-size: 10px; }
.review-comment-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.review-comment-actions .secondary-button { padding: 9px 12px; font-size: 12px; }
.review-comment-actions #reviewCommentDiscard { margin-right: auto; }
.review-comment-conflict { margin-top: 16px; padding: 12px; border: 1px solid color-mix(in srgb,var(--warning) 45%,var(--border)); border-radius: 8px; background: color-mix(in srgb,var(--warning) 8%,var(--card)); font-size: 12px; line-height: 1.6; }
.review-comment-conflict details { margin-top: 8px; }
.review-comment-conflict details p { max-height: 160px; overflow: auto; margin-top: 8px; overflow-wrap: anywhere; white-space: pre-wrap; }
.review-comment-conflict > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.review-comment-dialog :is(button,textarea):focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.review-accounts-table tr.is-okk-priority > td:not(.review-account-stars-cell,.is-warning) { background: color-mix(in srgb,var(--warning) 7%,var(--card)); }
.review-accounts-table tr.is-okk-priority .review-account-identity:not(.is-warning) { border-inline-start: 3px solid var(--warning); }
.review-accounts-table .secondary-button { display: inline-block; padding: 8px 10px; font-size: 12px; white-space: nowrap; }
body.design-vanta .review-accounts-table .secondary-button { min-height: 32px; padding: 6px 9px; line-height: 1.3; }
body.design-vanta .review-accounts-table .review-account-comment-field { min-height: 32px; padding: 0; color: var(--ink); background: transparent; font-size: 12px; }
.review-account-rating { font-size: 17px !important; font-weight: 800; font-variant-numeric: tabular-nums; }
.review-account-rating-content { display: grid; grid-template-columns: max-content minmax(0,1fr); align-items: center; gap: 4px 6px; min-width: 156px; max-width: 200px; }
.review-account-rating-content > strong { font-size: 18px; line-height: 1.2; }
.review-account-rating-content > .review-account-rating-value { display: inline-block; justify-self: start; padding: 2px 4px; border-radius: 5px; color: var(--ink); background: transparent; white-space: nowrap; }
.review-account-rating-value.excellent { background: color-mix(in srgb, var(--success) 18%, var(--card)); }
.review-account-rating-value.good { background: color-mix(in srgb, var(--warning) 19%, var(--card)); }
.review-account-rating-value.low { background: color-mix(in srgb, var(--danger) 17%, var(--card)); }
.review-account-rating-content > .review-account-rating-value.empty { color: var(--muted); }
body.design-vanta .review-account-rating-value.excellent { background: color-mix(in srgb, var(--success) 25%, var(--card)); }
body.design-vanta .review-account-rating-value.good { background: color-mix(in srgb, var(--warning) 26%, var(--card)); }
body.design-vanta .review-account-rating-value.low { background: color-mix(in srgb, var(--danger) 24%, var(--card)); }
.review-account-rating-actions { display: flex; flex-wrap: nowrap; gap: 4px; }
.review-accounts-table .review-account-rating-actions .secondary-button,
body.design-vanta .review-accounts-table .review-account-rating-actions .secondary-button { min-height: 28px; padding: 4px 6px; font-size: 11px; line-height: 1.3; font-weight: 600; }
.review-account-rating-time { grid-column: 1 / -1; color: var(--muted); font-size: 10px; line-height: 1.4; font-weight: 400; white-space: normal; }
.review-account-rating-error { grid-column: 1 / -1; color: var(--danger); font-size: 10px; line-height: 1.4; font-weight: 500; white-space: normal; }
.review-account-status { display: inline-block; padding: 4px 8px; border-radius: 5px; color: var(--success); background: var(--success-soft); font-size: 11px; white-space: nowrap; }
.review-account-status.is-warning { color: var(--danger); background: var(--danger-soft); }
.review-accounts-table .review-account-identity.is-warning { border-inline-start: 3px solid var(--danger); background: var(--danger-soft); }
.review-accounts-table .review-account-identity.is-warning .review-account-open { color: var(--danger); border-color: color-mix(in srgb,var(--danger) 45%,var(--border)); background: var(--card); }
.review-accounts-table .review-account-warning-note, .review-account-dialog .review-account-warning-note { color: var(--danger); font-size: 10px; line-height: 1.45; }
.review-accounts-table .review-account-warning-note { display: block; margin-top: 5px; max-width: 200px; }
.review-account-muted, .review-accounts-note { color: var(--muted); font-size: 11px; line-height: 1.5; }
.review-accounts-note { margin: 16px 0 0; }
.review-accounts-error { padding: 12px 14px; margin: 0 0 14px; border: 1px solid var(--danger); border-radius: 8px; background: var(--danger-soft); color: var(--danger); font-size: 12px; }
.review-account-dialog { width: min(460px,calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 22px; border: 1px solid var(--border); border-radius: 14px; color: var(--ink); background: var(--card); box-shadow: var(--shadow); }
.review-account-dialog::backdrop { background: rgb(0 0 0 / 50%); }
.review-account-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.review-account-dialog h2 { margin: 0; font-size: 22px; }
.review-account-dialog header button { width: 34px; height: 34px; padding: 0; border: 1px solid var(--border); border-radius: 8px; color: var(--ink); background: var(--surface); font-size: 23px; cursor: pointer; }
.review-account-dialog-body { margin-top: 16px; font-size: 13px; }
.review-account-dialog-name { margin: 0 0 18px; color: var(--muted); overflow-wrap: anywhere; }
.review-account-dialog dl { display: grid; gap: 12px; margin: 0 0 22px; }
.review-account-dialog dl > div { display: flex; justify-content: space-between; gap: 18px; padding-bottom: 10px; border-bottom: 1px solid var(--border); }
.review-account-dialog dt { color: var(--muted); }
.review-account-dialog dd { margin: 0; font-weight: 750; text-align: right; }
.review-account-dialog .primary-button { display: block; padding: 11px 14px; font-size: 13px; text-align: center; }
.review-account-dialog .review-accounts-note { display: block; }
.review-account-breakdown-panel { margin: 0 0 22px; }
.review-account-breakdown-panel h3 { margin: 0 0 10px; font-size: 13px; }
.review-account-breakdown-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.review-account-breakdown-grid > div { display: grid; gap: 4px; padding: 7px; border: 1px solid var(--border); border-radius: 7px; text-align: center; }
.review-account-breakdown-grid span { color: var(--muted); font-size: 11px; }
.review-account-breakdown-grid strong { font-size: 14px; font-weight: 750; font-variant-numeric: tabular-nums; }
.review-rating-calculator { width: min(620px,calc(100vw - 32px)); }
.review-rating-calculator h2 { font-size: 20px; }
.review-rating-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.review-rating-summary > div { display: grid; align-content: start; gap: 6px; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.review-rating-summary > div:first-child { border-color: color-mix(in srgb,var(--success) 35%,var(--border)); }
.review-rating-summary span { color: var(--muted); font-size: 11px; }
.review-rating-summary strong { font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.review-rating-summary small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.review-rating-section-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 20px 0 12px; }
.review-rating-section-title h3 { margin: 0; font-size: 14px; }
.review-rating-calculator .secondary-button { padding: 7px 10px; font-size: 12px; }
.review-rating-calculator .secondary-button:not(:disabled) { color: var(--ink); background: var(--card); border-color: var(--border); cursor: pointer; opacity: 1; }
.review-rating-calculator .review-rating-target > .secondary-button:not(:disabled) { border-color: var(--warning); color: var(--ink); background: color-mix(in srgb,var(--warning) 13%,var(--card)); }
.review-rating-calculator .secondary-button:disabled { color: var(--muted); background: var(--surface); opacity: .55; }
.review-rating-inputs { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.review-rating-inputs label { display: grid; gap: 7px; min-width: 0; padding: 10px 8px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.review-rating-inputs label > span { display: grid; gap: 4px; color: var(--ink); font-size: 14px; font-weight: 700; }
.review-rating-inputs small { color: var(--muted); font-size: 10px; font-weight: 400; line-height: 1.4; }
.review-rating-inputs input, .review-rating-target input { width: 100%; min-width: 0; padding: 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--v-input,var(--card)); color: var(--ink); font: inherit; font-size: 14px; }
.review-rating-inputs input:invalid, .review-rating-target input:invalid { border-color: var(--danger); }
.review-rating-target { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 12px; align-items: start; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--border); }
.review-rating-target label { display: grid; gap: 8px; color: var(--muted); font-size: 11px; }
.review-rating-target > div { display: grid; gap: 7px; color: var(--ink); font-size: 12px; line-height: 1.5; }
.review-rating-target > div small { color: var(--muted); font-size: 10px; }
.review-rating-target > button { grid-column: 1 / -1; justify-self: start; }
.review-rating-assumptions, .review-rating-caution, .review-rating-unavailable { margin: 18px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.review-rating-caution { color: var(--warning); }
.review-rating-caution:empty { display: none; }
.review-rating-unavailable { margin-bottom: 12px; }
.review-rating-calculator :is(button,input):focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
@media (max-width: 650px) {
  .review-accounts-head-controls, .review-accounts-update-card { width: 100%; }
  .review-accounts-panel { padding: 14px; }
  .review-accounts-toolbar > label:not(.review-accounts-search) { flex: 1 1 120px; }
  .review-accounts-toolbar .review-breakdown-mobile-toggle { display: inline-block; margin-left: auto; }
  .review-accounts-table.reviews-expanded { min-width: 0; }
  .review-accounts-table :is(thead,th) { display: none; }
  .review-accounts-table :is(tbody,tr,td) { display: block; }
  .review-accounts-table tr { margin-bottom: 12px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; }
  .review-accounts-table td { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 0; border: 0; text-align: right; }
  .review-accounts-table td::before { content: attr(data-label); color: var(--muted); font-size: 11px; font-weight: 400; text-align: left; }
  .review-accounts-table td:first-child { flex-wrap: wrap; }
  .review-accounts-table td > small { flex: 1 0 100%; }
  .review-accounts-table .review-account-priority-cell { width: auto; min-width: 0; flex-wrap: wrap; }
  .review-accounts-table .review-account-comment-cell { display: grid; grid-template-columns: minmax(0,1fr); width: auto; min-width: 0; max-width: none; text-align: left; }
  .review-accounts-table .review-account-comment-cell::before { grid-column: 1 / -1; }
  .review-accounts-table .review-account-comment-field, body.design-vanta .review-accounts-table .review-account-comment-field { min-height: 44px; }
  .review-account-comment-preview { max-width: none; }
  .review-account-priority-toggle { min-height: 36px; }
  .review-account-priority-error { max-width: none; }
  .review-accounts-table tr.is-okk-priority { border-color: color-mix(in srgb,var(--warning) 45%,var(--border)); }
  .review-accounts-table tr.is-okk-priority > td:not(.review-account-stars-cell,.is-warning) { background: transparent; }
  .review-accounts-table.reviews-expanded td.review-account-stars-cell,
  .review-accounts-table.reviews-expanded td.review-account-stars-cell.review-stars-unrated { display: inline-flex; width: calc(33.333% - 8px); min-width: 0; min-height: 50px; flex-direction: column; align-items: center; justify-content: center; gap: 4px; margin: 4px; padding: 6px 3px; border-radius: 6px; vertical-align: top; text-align: center; }
  .review-accounts-table td.review-account-stars-cell::before { text-align: center; }
  .review-accounts-table td[colspan] { display: block; text-align: center; }
  .review-accounts-table td[colspan]::before { display: none; }
  .review-account-rating-content { align-items: end; max-width: 230px; text-align: right; }
  .review-account-rating-actions { justify-content: flex-end; }
  body.design-vanta .review-accounts-table .secondary-button,
  body.design-vanta .review-accounts-table .review-account-rating-actions .secondary-button { min-height: 36px; }
  .review-comment-dialog textarea { font-size: 16px; }
  .review-rating-calculator { padding: 16px; }
  .review-rating-summary { gap: 8px; }
  .review-rating-summary > div { padding: 10px; }
  .review-rating-summary strong { font-size: 21px; }
  .review-rating-inputs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .review-rating-target { grid-template-columns: 1fr; }
  .review-rating-target label { grid-template-columns: 1fr 95px; align-items: center; }
}
.dds-bank-identity .bank-expense-average,
.cards-bank-filter-button > .bank-expense-average {
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.45;
  overflow: visible;
  white-space: normal;
}
.bank-expense-average > span { color: inherit; font-size: inherit; font-weight: inherit; }

/* Owner-only DDS monthly source summary; compact until explicitly expanded. */
.dds-source-summary { display: grid; justify-items: center; margin: -5px 0 14px; }
.dds-source-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 32px; max-width: 100%; padding: 5px 12px; border: 1px solid var(--border); border-radius: 8px; color: var(--muted); background: var(--card); font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
.dds-source-toggle:hover, .dds-source-summary.is-expanded .dds-source-toggle { color: var(--ink); border-color: color-mix(in srgb,var(--warning) 35%,var(--border)); }
.dds-source-body { width: 100%; margin-top: 12px; }
.dds-source-period { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 8px; color: var(--muted); font-size: 10px; }
.dds-source-summary .dds-source-period button, .dds-source-error button { padding: 4px 8px; border: 1px solid var(--border); border-radius: 6px; color: var(--ink); background: var(--card); font: inherit; font-size: 10px; cursor: pointer; }
.dds-source-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.dds-source-card { min-width: 0; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); }
.dds-source-card h3 { margin: 0 0 10px; color: var(--ink); font-size: 14px; font-weight: 750; }
.dds-source-table-wrap { width: 100%; overflow-x: auto; }
.dds-source-card table { width: 100%; border-collapse: collapse; color: var(--ink); font-variant-numeric: tabular-nums; }
.dds-source-card :is(th,td) { padding: 8px 6px; border-bottom: 1px solid var(--border); text-align: right; font-size: 12px; vertical-align: middle; white-space: nowrap; }
.dds-source-card thead th { color: var(--muted); font-size: 10px; font-weight: 600; }
.dds-source-card th:first-child { min-width: 85px; text-align: left; white-space: normal; }
.dds-source-coverage { display: block; max-width: 145px; margin-top: 4px; color: var(--warning); font-size: 9px; font-weight: 400; line-height: 1.4; }
.dds-source-card .dds-source-total :is(th,td) { border-bottom: 0; padding-top: 10px; font-weight: 750; }
.dds-source-note { margin: 9px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.dds-source-loading { margin: 0; padding: 15px; border: 1px solid var(--border); border-radius: 9px; color: var(--muted); background: var(--card); font-size: 12px; text-align: center; }
.dds-source-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid color-mix(in srgb,var(--danger) 40%,var(--border)); border-radius: 9px; color: var(--danger); background: var(--card); font-size: 12px; line-height: 1.5; }
.dds-source-summary button:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
@media (max-width: 1000px) {
  .dds-source-cards { grid-template-columns: 1fr; }
}
@media (max-width: 550px) {
  .dds-source-toggle { font-size: 10px; text-align: left; }
  .dds-source-card { padding: 10px; }
  .dds-source-card thead { display: none; }
  .dds-source-card :is(tbody,tr,th,td) { display: block; }
  .dds-source-card tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 10px; padding: 10px 0; border-bottom: 1px solid var(--border); }
  .dds-source-card :is(th,td) { min-width: 0; padding: 0; border: 0; text-align: left; white-space: normal; overflow-wrap: anywhere; }
  .dds-source-card th { grid-column: 1 / -1; }
  .dds-source-card td::before { display: block; margin-bottom: 4px; color: var(--muted); font-size: 10px; font-weight: 400; content: attr(data-label); }
  .dds-source-card .dds-source-total { border-bottom: 0; }
  .dds-source-card .dds-source-total :is(th,td) { padding: 0; }
  .dds-source-coverage { max-width: none; display: inline; margin-left: 8px; }
  .dds-source-error { align-items: flex-start; flex-direction: column; }
}
.bank-expense-average > b { color: var(--ink); font-size: inherit; font-weight: 550; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dds-bank-identity .bank-expense-average > span { color: var(--muted); font-size: 10px; font-weight: 400; }
.cards-bank-filter-button > .cards-bank-expense-average { grid-column: 1 / -1; margin: 0; }
.cards-bank-filter-button { appearance: none; }

/* Directory-only city editing; clipboard checkboxes remain independent. */
.geo-directory-editor { margin: 0 0 18px; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.geo-directory-editor-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; }
.geo-directory-editor-heading p { flex: 1 1 260px; margin: 0; font-size: 11px; line-height: 1.6; color: var(--muted); }
.geo-directory-city-editor-form { display: grid; grid-template-columns: minmax(150px,1fr) minmax(180px,1.5fr) auto; gap: 12px; margin-top: 16px; align-items: end; }
.geo-directory-city-editor-form > label { display: grid; gap: 6px; min-width: 0; font-size: 12px; color: var(--ink); }
.geo-directory-city-editor-form input:not([type=checkbox]) { min-width: 0; width: 100%; padding: 10px; border: 1px solid var(--border); border-radius: 7px; background: var(--card); color: var(--ink); font: inherit; }
.geo-directory-city-editor-form > .geo-directory-editor-white { display: flex; align-items: center; gap: 8px; min-height: 39px; }
.geo-directory-editor-form-actions { display: flex; gap: 12px; align-items: center; grid-column: 1 / -1; }
.geo-directory-city-editor-form > small { grid-column: 1 / -1; color: var(--muted); font-size: 11px; }
.geo-directory-removed { margin-top: 12px; font-size: 12px; }
.geo-directory-removed summary { color: var(--muted); cursor: pointer; }
.geo-directory-removed ul { display: grid; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.geo-directory-removed li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 0; border-top: 1px solid var(--border); }
.geo-directory-city-row:has(> .geo-directory-remove) { grid-template-columns: 22px 25px minmax(0,1fr) auto auto; }
.geo-directory-remove { padding: 5px 8px; border: 1px solid var(--border); border-radius: 6px; background: transparent; color: var(--muted); font: inherit; font-size: 10px; cursor: pointer; }
.geo-directory-remove:hover:not(:disabled) { color: var(--danger); border-color: var(--danger); }
.geo-directory-manual-label { color: var(--muted); font-size: 10px; }
.geo-directory-editor :is(button,input):focus-visible, .geo-directory-remove:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.geo-directory-editor button:disabled, .geo-directory-remove:disabled { opacity: .5; cursor: default; }
/* White membership is separate from the left-side clipboard checkboxes. */
.geo-directory-city-row:has(> .geo-directory-city-actions) { grid-template-columns: 22px 25px minmax(0,1fr) auto auto; }
.geo-directory-city-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 5px; }
.geo-directory-white-toggle { padding: 5px 8px; border: 1px solid var(--border); border-radius: 6px; background: transparent; color: var(--muted); font: inherit; font-size: 10px; cursor: pointer; }
.geo-directory-white-toggle:hover:not(:disabled), .geo-directory-white-toggle.is-white { color: var(--success); border-color: color-mix(in srgb,var(--success) 45%,var(--border)); }
.geo-directory-white-toggle:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.geo-directory-white-toggle:disabled { opacity: .5; cursor: default; }
.geo-directory-moscow-branch { padding-top: 7px; }
.geo-directory-moscow-branch + .geo-directory-moscow-branch { margin-top: 10px; border-top: 1px solid var(--border); }
@media (max-width: 650px) {
  .geo-directory-city-editor-form { grid-template-columns: 1fr; }
  .geo-directory-city-row:has(> .geo-directory-remove) { grid-template-columns: 19px 20px minmax(0,1fr) auto; }
  .geo-directory-city-row > .geo-directory-remove { grid-column: 3 / -1; justify-self: end; margin-bottom: 5px; }
  .geo-directory-city-row:has(> .geo-directory-city-actions) { grid-template-columns: 19px 20px minmax(0,1fr) auto; }
  .geo-directory-city-row > .geo-directory-city-actions { grid-column: 3 / -1; justify-self: end; margin-bottom: 5px; }
  .geo-directory-city-actions > .geo-directory-remove { grid-column: auto; margin: 0; }
}
