.calendar-event-heading > strong { font-size: 13px; line-height: 1.16; }
.calendar-event-body > p { margin: 3px 0; font-size: 12px; line-height: 1.22; }
.calendar-candidate-actions { gap: 3px; }
.calendar-candidate-actions .button { min-height: 32px; padding: 4px 6px; }
.calendar-event-form-compact textarea { min-height: 60px; }
.calendar-form-toggle { min-height: var(--density-control-height); }
.settings-policy-panel, .settings-signals-panel { margin-top: 6px; }
.settings-policy-grid, .settings-rule-list { gap: var(--density-grid-gap); }
.settings-policy-grid label { padding-top: 3px; }
.settings-form-footer { gap: 6px; margin-top: 6px; }
.settings-rule-card { padding: 7px; border-radius: 8px; }
.settings-rule-card > header { margin-bottom: 5px; padding-bottom: 4px; }
.settings-rule-card > header small { margin-top: 1px; font-size: 10px; }
.settings-rule-grid { gap: 4px; }
.settings-rule-grid input { min-height: var(--density-control-height); }
.settings-rule-card > footer { margin-top: 5px; padding-top: 4px; }
.settings-rule-card > footer small { font-size: 10px; line-height: 1.22; }

/* Keep dense metadata readable: compactness comes from spacing, not microtype. */
.unit-refresh-form small, .unit-model-current small, .unit-table-state,
.unit-table-note p, .filter-note, .dashboard-command-actions small,
.signal-body small, .brief-row small, .calendar-brief-row small,
.news-refresh-form small, .news-row > header small, .news-meta time,
.news-row > footer small, .news-row > footer .muted,
.calendar-event-body > small, .settings-form-footer small,
.profit-period-card > header time, .profit-value small,
.profit-card-empty small, .expense-marketplace-card > header small,
.trend-summary-label, .signal-actions time, .market-trend-row time,
.chart-legend, .expense-composition-legend { font-size: 10px; line-height: 1.18; }
.unit-refresh-form small, .unit-model-current small, .unit-table-note p,
.filter-note, .dashboard-command-actions small, .signal-body small,
.brief-row small, .calendar-brief-row small, .settings-form-footer small { font-size: 11px; }
.tabulator .tabulator-header .tabulator-col-group > .tabulator-col-content .tabulator-col-title { font-size: 11px; line-height: 1.14; }
.unit-status { font-size: 10px; line-height: 1.12; }
.calendar-candidate-actions .button { font-size: 13px; }
.settings-rule-grid label { font-size: 12px; line-height: 1.18; }
.toggle-line small, .unit-refresh-form small, .unit-model-current small,
.unit-table-note p, .unit-warning-list, .filter-note,
.unit-methodology-details ul, .dashboard-command-actions small,
.signal-body small { line-height: 1.22; }

/* Authentication follows the same compact scale without compromising focus. */
.login-body { padding: 10px; }
.login-shell { width: min(880px, 100%); border-radius: 18px; }
.login-brand { min-height: 430px; padding: 28px; }
.login-brand h1 { margin: 8px 0 3px; font-size: clamp(40px, 6vw, 64px); }
.login-lead { font-size: 15px; line-height: 1.25; }
.login-card { padding: 28px; }
.login-card h2 { font-size: 25px; }
.security-note { margin-top: 7px; font-size: 11px; line-height: 1.22; }

/* Small orange text stays AA; lines and fills use brighter dedicated roles. */
html[data-theme="light"] .nav-list a.active,
html[data-theme="light"] .rating-picker label input:checked + span { color: var(--accent-text); }
html[data-theme="light"] .section-tabs a.active,
html[data-theme="light"] .resource-chip.resource-warning,
html[data-theme="light"] .pill-warning { color: var(--accent-text-strong); }
html[data-theme="light"] .tabulator .tabulator-header .tabulator-col-group > .tabulator-col-content .tabulator-col-title { color: var(--accent-text-strong); }

@container (max-width: 430px) {
  .calendar-form-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1280px) {
  :root { --density-page-inline: 18px; }
  .topbar-actions { flex-wrap: wrap; }
  .unit-settings-grid { grid-template-columns: repeat(3, minmax(140px, 1fr)); }
  .unit-table-toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .unit-view-actions { grid-column: 1 / -1; justify-content: start; }
  .marketplace-filter { flex-wrap: wrap; }
  .marketplace-filter .filter-note { flex: 1 0 100%; max-width: none; margin-left: 0; }
}

@media (max-width: 1100px) {
  :root {
    --density-page-inline: 13px;
    --density-panel-pad: 9px;
  }
  .topbar-status { max-width: 150px; }
  .topbar-status [data-status-label] { overflow: hidden; text-overflow: ellipsis; }
  .metric-grid-main, .resource-grid,
  .metric-grid:not(.unit-metric-grid):not(.inventory-metric-grid):not(.marketplace-metric-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .two-column, .rules-layout { grid-template-columns: 1fr; }
  .rule-form-panel { position: static; }
  .unit-settings-grid { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
  .unit-model-grid { grid-template-columns: 1fr; }
  .unit-model-publish-form { grid-template-columns: 150px 1fr; }
  .unit-model-publish-form .button { grid-column: 1 / -1; justify-self: start; }
  .unit-table-toolbar { grid-template-columns: 1fr 1fr; }
  .unit-view-actions { grid-column: 1 / -1; justify-content: start; }
  .unit-columns-groups { grid-template-columns: repeat(2, minmax(190px, 1fr)); }
  .unit-metric-grid, .inventory-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .inventory-toolbar { align-items: start; flex-direction: column; }
  .inventory-view-tabs { justify-content: start; }
  .inventory-filters { grid-template-columns: 1fr 1fr 1fr; }
  .marketplace-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .profit-period-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expense-marketplace-grid { grid-template-columns: 1fr; }
  .calendar-layout { grid-template-columns: 1fr; }
  .calendar-form-panel { position: static; }
  .settings-policy-grid { grid-template-columns: repeat(2, minmax(145px, 1fr)); }
  .settings-rule-list { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  :root {
    --density-page-inline: 10px;
    --density-page-top: 10px;
    --density-page-bottom: 18px;
    --density-panel-pad: 8px;
    --density-control-height: 44px;
    --density-section-gap: 8px;
    --density-grid-gap: 6px;
    --density-row-pad: 5px;
  }
  body { font-size: 14px; line-height: 1.22; }
  .app-shell { display: block; }
  .sidebar { position: fixed; left: -280px; width: 252px; transition: left .2s ease; box-shadow: 20px 0 60px rgba(0,0,0,.4); }
  .sidebar.open { left: 0; }
  .sidebar-backdrop { position: fixed; inset: 0; z-index: 19; display: block; padding: 0; background: rgba(3, 8, 11, .58); border: 0; opacity: 0; pointer-events: none; transition: opacity .2s ease; }
  .sidebar.open + .sidebar-backdrop { opacity: 1; pointer-events: auto; }
  body.sidebar-open { overflow: hidden; }
  .menu-button { display: block; }
  .topbar { flex-wrap: wrap; gap: 5px 7px; padding: 5px 10px; }
  .topbar-heading { flex: 1; min-width: 0; }
  .topbar h1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .topbar-actions { order: 3; flex: 1 0 100%; width: 100%; margin-left: 0; justify-content: space-between; }
  .resource-chips { flex: 1; min-width: 0; }
  .resource-chip { flex: 1; justify-content: center; min-width: 0; padding-inline: 6px; }
  .theme-control select { min-width: 82px; }
  .topbar-status { display: none; }
  .main-content { padding: var(--density-page-top) var(--density-page-inline) var(--density-page-bottom); }
  .command-banner, .page-intro, .section-heading { align-items: start; flex-direction: column; }
  .metric-grid-main, .resource-grid, .coming-grid,
  .metric-grid:not(.unit-metric-grid):not(.inventory-metric-grid):not(.marketplace-metric-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-card { grid-template-columns: 50px minmax(0, 1fr); }
  .review-status { grid-column: 2; align-items: start; }
  .review-title-line { align-items: start; flex-direction: column; gap: 3px; }
  .simulator-input-grid, .simulator-rule-meta { grid-template-columns: 1fr; }
  .simulator-submit-line, .simulator-result-head { align-items: stretch; flex-direction: column; }
  .simulator-submit-line small { max-width: none; }
  .event-row-full { grid-template-columns: 8px minmax(0, 1fr); }
  .event-actions { grid-column: 2; align-items: start; }
  .login-body { padding: 0; }
  .login-shell { display: block; min-height: 100vh; border: 0; border-radius: 0; }
  .login-brand { min-height: 170px; padding: 16px; }
  .login-card { padding: 16px; }
  .counter-cluster { width: 100%; }
  .filter-bar { align-items: stretch; flex-direction: column; }
  .account-row { grid-template-columns: 1fr; }
  .account-flags { flex-wrap: wrap; }
  .expense-row { grid-template-columns: 1fr auto; gap: 7px 12px; }
  .expense-track { grid-column: 1 / -1; grid-row: 2; }
  .unit-source-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .unit-source-tabs a { min-width: 0; justify-content: center; }
  .unit-refresh-form, .unit-toolbar { align-items: stretch; flex-direction: column; }
  .unit-refresh-form label, .unit-toolbar-group label { min-width: 0; }
  .unit-toolbar-group { flex-direction: column; }
  .unit-freshness { align-items: start; }
  .unit-metric-grid, .unit-settings-grid, .inventory-metric-grid { grid-template-columns: 1fr 1fr; }
  .unit-model-publish-form { grid-template-columns: 1fr; }
  .unit-model-publish-form .button { grid-column: auto; }
  .unit-name-field { grid-column: 1 / -1; }
  .unit-table-toolbar, .unit-table-controls { grid-template-columns: 1fr; }
  .unit-view-actions { grid-column: auto; justify-content: start; }
  .unit-columns-head { align-items: start; flex-direction: column; }
  .unit-columns-actions { justify-content: start; }
  .unit-columns-groups { grid-template-columns: 1fr; }
  .unit-table-note { align-items: start; flex-wrap: wrap; }
  .unit-table-note .button { margin-left: 8px; }
  .inventory-filters { grid-template-columns: 1fr 1fr; }
  .inventory-filters > label:first-child { grid-column: 1 / -1; }
  .inventory-view-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
  .marketplace-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .marketplace-tabs a { justify-content: center; flex-direction: column; gap: 4px; text-align: center; }
  .marketplace-tabs small { display: none; }
  .marketplace-intro-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .marketplace-filter { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
  .marketplace-filter .button, .marketplace-filter .filter-note { grid-column: 1 / -1; }
  .filter-note { margin-left: 0; }
  .marketplace-metric-grid { grid-template-columns: 1fr 1fr; }
  .marketplace-unit-counts { grid-template-columns: 1fr 1fr; }
  .market-trend-row { grid-template-columns: 38px minmax(80px, 1fr) 78px; }
  .market-line-chart { height: 180px; min-height: 0; }
  .market-product-bar { grid-template-columns: minmax(100px, .9fr) minmax(90px, 1.1fr) 78px; gap: 6px; }
  .dashboard-command-actions { align-items: stretch; max-width: none; width: 100%; }
  .dashboard-command-actions small { text-align: left; }
  .signal-panel-head { flex-direction: column; }
  .dashboard-trend-head { align-items: stretch; flex-direction: column; }
  .dashboard-trend-source { width: 100%; }
  .dashboard-trend-metrics { display: grid; grid-template-columns: 1fr 1fr; }
  .trend-metric-button { min-width: 0; white-space: normal; }
  .dashboard-trend-chart { height: 220px; min-height: 0; overflow-x: auto; overscroll-behavior-inline: contain; }
  .dashboard-trend-svg { width: 720px; height: 220px; min-height: 0; }
  .dashboard-trend-summary { grid-template-columns: 1fr; }
  .profit-period-grid { grid-template-columns: 1fr; }
  .expense-row-with-percent { grid-template-columns: 1fr auto; }
  .expense-row-with-percent .expense-progress { grid-column: 1 / -1; grid-row: 2; }
  .expense-row-with-percent > b { grid-column: 2; grid-row: 1; }
  .expense-row-with-percent > strong { grid-column: 1 / -1; text-align: center; }
  .signal-toolbar { align-items: stretch; flex-direction: column; }
  .signal-filter-marketplaces { padding-top: 5px; border-top: 1px solid var(--line); }
  .signal-stock-scale { grid-template-columns: repeat(5, minmax(112px, 1fr)); overflow-x: auto; }
  .signal-row { grid-template-columns: minmax(0, 1fr); padding-right: 0; }
  .signal-actions { grid-column: 1; align-items: center; justify-content: end; flex-direction: row; padding: 0 7px 6px; }
  .brief-row { grid-template-columns: auto minmax(0, 1fr); }
  .brief-row-actions { grid-column: 2; justify-content: start; }
  .section-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .section-tabs a { min-width: 0; }
  .news-refresh-form { align-items: stretch; width: 100%; }
  .news-source-strip { grid-template-columns: 1fr; }
  .news-section-tabs { grid-template-columns: 1fr; }
  .news-analysis-status { grid-template-columns: 1fr; }
  .news-analysis-status > div:last-child { text-align: left; }
  .news-filter-panel { align-items: stretch; flex-direction: column; }
  .news-filter-grid { width: 100%; grid-template-columns: 1fr 1fr; }
  .news-filter-query { grid-column: 1 / -1; }
  .news-filter-actions { width: 100%; }
  .news-filter-actions > * { flex: 1; }
  .news-refresh-form small { max-width: none; text-align: left; }
  .news-row > header { grid-template-columns: auto minmax(0, 1fr); }
  .news-meta { grid-column: 2; align-items: start; flex-direction: row; flex-wrap: wrap; }
  .news-effective, .news-details, .news-row > footer { margin-left: 0; }
  .news-row > footer { align-items: start; flex-direction: column; }
  .document-row > header { grid-template-columns: auto minmax(0, 1fr); }
  .document-row .news-meta { grid-column: 2; }
  .document-row footer { align-items: flex-start; flex-direction: column; }
  .calendar-event-row { grid-template-columns: auto minmax(0, 1fr); }
  .calendar-candidate-actions { grid-column: 2; flex-direction: row; flex-wrap: wrap; }
  .calendar-candidate-actions form { flex: 1 1 120px; min-width: 0; }
  .settings-policy-grid, .settings-rule-grid { grid-template-columns: 1fr 1fr; }
  .settings-form-footer, .settings-rule-card > footer { align-items: stretch; flex-direction: column; }

  /* Compact does not mean hard to tap on a phone. */
  .nav-list a, .button, button, .trend-metric-button,
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select { min-height: 44px !important; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea { font-size: 16px; }
  .button, button, .trend-metric-button { font-size: 14px; }
  .menu-button { width: 44px; height: 44px; }
  .marketplace-tabs a, .unit-source-tabs a, .section-tabs a,
  .rating-picker label span { min-height: 44px; }
  .rating-picker label span { display: inline-flex; align-items: center; }
  input[type="checkbox"], input[type="radio"] { width: 18px; height: 18px; min-height: 18px; }
  .calendar-candidate-actions .button, .signal-actions .button { min-height: 44px; }
}

@media (max-width: 480px) {
  .inventory-filters, .marketplace-filter { grid-template-columns: 1fr; }
  .inventory-filters > label:first-child { grid-column: auto; }
  .marketplace-filter .button, .marketplace-filter .filter-note { grid-column: auto; }
  .market-product-bar { grid-template-columns: minmax(0, 1fr) auto; }
  .market-product-bar > span { grid-column: 1 / -1; }
  .market-product-bar progress { min-width: 0; }
  .calendar-event-row { grid-template-columns: 36px minmax(0, 1fr); }
}

@media (max-width: 360px) {
  .form-grid { grid-template-columns: 1fr; }
  .metric-grid-main, .unit-metric-grid, .inventory-metric-grid, .marketplace-metric-grid,
  .marketplace-unit-counts, .settings-policy-grid, .settings-rule-grid,
  .metric-grid:not(.unit-metric-grid):not(.inventory-metric-grid):not(.marketplace-metric-grid) { grid-template-columns: 1fr; }
}

@media (pointer: coarse) {
  .nav-list a, .button, button, .trend-metric-button,
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select { min-height: 44px !important; }
  .marketplace-tabs a, .unit-source-tabs a, .section-tabs a,
  .rating-picker label span { min-height: 44px; }
  input[type="checkbox"], input[type="radio"] { width: 18px; height: 18px; min-height: 18px; }
}

/* Executive workspace: compact decisions first, diagnostics second. */
.topbar-actions { flex: 1 1 auto; }
.topbar-kpis { display: flex; align-items: stretch; gap: 4px; min-width: 0; }
.topbar-kpi { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 5px; min-height: 30px; padding: 4px 7px; color: var(--ink); background: var(--bg-soft); border: 1px solid var(--line); border-radius: 8px; text-decoration: none; white-space: nowrap; }
.topbar-kpi:hover { border-color: var(--accent-line); background: var(--panel-2); }
.topbar-kpi span { color: var(--muted); font-size: 10px; }
.topbar-kpi strong { font-size: 13px; font-variant-numeric: tabular-nums; }
.topbar-kpi-alert { border-color: color-mix(in srgb, var(--critical) 55%, var(--line)); }
.resource-chip [data-resource-absolute] { min-width: 68px; }

.dashboard-hero-grid .signal-row { padding-block: 0; }

.dashboard-hero-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(300px, .7fr); align-items: start; gap: var(--density-grid-gap); }
.dashboard-hero-grid > .panel { margin-top: 0; }
.dashboard-hero-grid .signal-list { max-height: min(62vh, 580px); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.dashboard-news-rail { overflow: hidden; }
.dashboard-news-rail .panel-head { margin-bottom: 5px; }
.dashboard-news-list { display: grid; gap: 0; max-height: min(62vh, 580px); margin-top: 5px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.dashboard-news-item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px; padding: 7px 1px; border-top: 1px solid var(--line); }
.dashboard-news-item a, .dashboard-news-item strong { display: -webkit-box; overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 500; line-height: 1.22; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.dashboard-news-item a:hover { color: var(--accent-text); }
.dashboard-news-item small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.dashboard-calendar-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, 300px); align-items: start; gap: 14px; }
.dashboard-calendar-panel .dashboard-calendar-events { display: flex; flex-direction: column; gap: 0; }
.calendar-event-meta a { font-size: inherit; }
.calendar-status-candidate { color: var(--warning) !important; }
.calendar-status-confirmed { color: var(--muted); }
.dashboard-month-card { min-width: 0; padding: 7px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 9px; }
.dashboard-month-calendar { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 2px; }
.dashboard-month-calendar caption { padding: 0 0 5px; color: var(--ink); font-size: 12px; font-weight: 700; text-align: left; text-transform: capitalize; }
.dashboard-month-calendar th { padding: 2px; color: var(--muted); font-size: 9px; font-weight: 650; text-align: center; }
.dashboard-month-calendar td { height: 31px; padding: 0; text-align: center; vertical-align: middle; border-radius: 6px; }
.dashboard-month-calendar td > a { display: grid; place-items: center; min-height: 31px; color: inherit; border-radius: inherit; text-decoration: none; }
.dashboard-month-calendar time { display: block; font-size: 10px; line-height: 1; }
.dashboard-month-calendar .is-outside { opacity: .28; }
.dashboard-month-calendar .is-today { color: var(--accent-text-strong); background: color-mix(in srgb, var(--accent-line) 14%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-line) 50%, var(--line)); }
.dashboard-month-calendar .has-events:not(.is-today) { background: var(--panel); }
.dashboard-month-calendar .has-events a:hover { box-shadow: inset 0 0 0 1px var(--accent-line); }
.dashboard-calendar-dots { display: flex; justify-content: center; gap: 2px; margin-top: 3px; }
.dashboard-calendar-dots i { width: 4px; height: 4px; background: currentColor; border: 1px solid currentColor; border-radius: 50%; }
.dashboard-calendar-dots .market-wb { color: #8b5cf6; }
.dashboard-calendar-dots .market-ozon { color: #2563eb; }
.dashboard-calendar-dots .market-yandex { color: #ef4444; }
.dashboard-calendar-dots .market-all { color: var(--muted); }
.dashboard-calendar-dots .is-candidate { background: transparent; }

.offer-changes-panel { margin-top: 6px; padding-block: 14px; }
.offer-changes-head { align-items: end; margin-bottom: 7px; }
.offer-change-list { display: grid; gap: 8px; }
.offer-change-market { min-width: 0; padding: 10px; background: var(--bg-soft); border: 1px solid var(--line); border-left: 4px solid var(--line); border-radius: 10px; }
.offer-change-market-wb { border-left-color: #8b5cf6; }
.offer-change-market-ozon { border-left-color: #2563eb; }
.offer-change-market-yandex { border-left-color: #ef4444; }
.offer-change-market-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 7px; }
.offer-change-market-head h3 { margin: 0; font-size: 14px; line-height: 1.25; }
.offer-change-market-head small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.offer-change-links { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 5px; }
.offer-change-source { min-height: 30px; padding: 4px 8px; }
.offer-change-overview { margin: 7px 0 0 31px; font-size: 13px; line-height: 1.35; }
.offer-change-items { display: grid; gap: 5px; margin: 8px 0 0 31px; }
.offer-change-item { padding: 7px 8px; background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--line); border-radius: 8px; }
.offer-change-critical { border-left-color: var(--critical); }
.offer-change-important { border-left-color: var(--accent-line); }
.offer-change-info { border-left-color: var(--cyan); }
.offer-change-item-head { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.offer-change-item-head strong { font-size: 13px; line-height: 1.25; }
.offer-change-item p { margin: 4px 0 0; font-size: 12px; line-height: 1.35; }
.offer-change-impact, .offer-change-action { color: var(--muted); }
.offer-change-impact b, .offer-change-action b { color: var(--ink); }
.offer-change-evidence { margin-top: 6px; padding-top: 5px; border-top: 1px solid var(--line); }
.offer-change-evidence summary { color: var(--accent-text); font-size: 11px; cursor: pointer; }
.offer-change-evidence div { display: grid; gap: 4px; margin-top: 5px; }
.offer-change-evidence p { padding: 5px 7px; background: var(--bg-soft); border-radius: 6px; }
.offer-change-evidence p span { display: block; margin-bottom: 2px; color: var(--muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.offer-change-evidence-added { border-left: 3px solid var(--ok); }
.offer-change-evidence-removed { border-left: 3px solid var(--critical); }
.offer-change-evidence-notice { border-left: 3px solid var(--accent-line); }
.offer-changes-disclaimer { margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.3; }
.offer-changes-empty { display: block; margin-top: 6px; padding-block: 12px; }
.offer-coverage-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 9px; }
.offer-coverage-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 7px; min-width: 0; padding: 7px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 8px; }
.offer-coverage-item > div { min-width: 0; }
.offer-coverage-item strong, .offer-coverage-item small { display: block; }
.offer-coverage-item strong { overflow: hidden; font-size: 11px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.offer-coverage-item small { margin-top: 2px; color: var(--muted); font-size: 9px; line-height: 1.25; }
.offer-coverage-item .text-link { font-size: 9px; white-space: nowrap; }
.offer-coverage-comparable { border-color: color-mix(in srgb, var(--ok) 42%, var(--line)); }
.offer-coverage-baseline { border-color: color-mix(in srgb, var(--warning) 42%, var(--line)); }
.offer-coverage-partial { border-color: color-mix(in srgb, var(--warning) 58%, var(--line)); }
.offer-coverage-degraded { border-color: color-mix(in srgb, var(--warning) 72%, var(--line)); }
.offer-coverage-blocked { border-color: color-mix(in srgb, var(--critical) 58%, var(--line)); }
.offer-coverage-unavailable, .offer-coverage-invalid { border-color: color-mix(in srgb, var(--critical) 42%, var(--line)); }

.news-panel > .panel-head { align-items: end; }
.news-panel-controls { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 5px; }
.news-view-switch { display: flex; align-items: center; gap: 3px; padding: 3px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 9px; }
.news-view-switch a { min-height: 28px; display: inline-flex; align-items: center; padding: 3px 8px; color: var(--muted); border-radius: 6px; font-size: 11px; text-decoration: none; }
.news-view-switch a.is-active { color: var(--ink); background: var(--panel); box-shadow: 0 0 0 1px var(--line); font-weight: 650; }
.news-layout-switch { display: flex; align-items: center; gap: 3px; padding: 3px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 9px; }
.news-layout-switch > span { padding-inline: 4px; color: var(--muted); font-size: 10px; }
.news-layout-switch button { min-width: 30px; min-height: 28px; padding: 3px 7px; color: var(--muted); background: transparent; border: 0; border-radius: 6px; font: inherit; cursor: pointer; }
.news-layout-switch button.is-active { color: var(--ink); background: var(--panel); box-shadow: 0 0 0 1px var(--line); font-weight: 650; }
.news-list { display: grid; align-items: start; gap: var(--density-grid-gap); }
.news-list.news-layout-1 { grid-template-columns: 1fr; }
.news-list.news-layout-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.news-list.news-layout-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.news-list .news-row { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 6px 8px; min-width: 0; padding: 9px; background: var(--bg-soft); border: 1px solid var(--line); border-left: 3px solid var(--line); border-radius: 9px; }
.news-list .news-row:first-child { padding-top: 9px; border-top: 1px solid var(--line); }
.news-list .news-row.news-row-analysis-wide { grid-template-columns: minmax(0, 1fr); container-type: inline-size; }
.news-list .news-row > header,
.news-list .news-row > .news-effective,
.news-list .news-row > .news-details,
.news-list .news-row > footer { grid-column: 1; margin-left: 0; }
.news-list .news-row > header,
.news-list .news-row > .news-effective,
.news-list .news-row > .news-details,
.news-list .news-row > footer,
.news-list .news-row > .news-analysis-card { grid-column: 1 / -1; }
.news-list .news-row > .news-analysis-card { grid-row: auto; align-self: start; margin: 0; }
.news-list .news-row > header { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
.news-list .news-row .news-meta { grid-column: 2; align-items: start; justify-content: start; flex-wrap: wrap; margin-top: 3px; }
.news-list .news-analysis-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(145px, 22%); gap: 8px 10px; }
.news-analysis-main { min-width: 0; }
.news-analysis-rail { min-width: 0; display: flex; flex-direction: column; gap: 6px; padding-left: 9px; border-left: 1px solid var(--line); }
.news-analysis-heading h3 { margin: 0; font-size: 12px; }
.news-analysis-summary { margin: 3px 0 0; line-height: 1.28; }
.news-analysis-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 8px; margin: 6px 0 0; }
.news-analysis-fact-wide { grid-column: 1 / -1; }
.news-analysis-facts dt { color: var(--muted); font-size: 9px; font-weight: 650; }
.news-analysis-facts dd { margin: 0; line-height: 1.22; }
.news-analysis-provenance { display: flex; flex-wrap: wrap; gap: 4px; }
.news-list .news-analysis-rail .news-review-actions { display: grid; grid-template-columns: 1fr; align-items: stretch; justify-content: stretch; gap: 4px; }
.news-list .news-review-actions form,
.news-list .news-review-actions .button { width: 100%; }
.news-review-note { font-size: 10px; }
.news-review-note small { display: block; margin-top: 4px; line-height: 1.2; }
.news-list .news-row > footer { align-items: flex-start; flex-direction: column; gap: 3px; margin-top: 2px; }
.news-pagination { display: grid; grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr); align-items: center; gap: 8px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.news-pagination > span { color: var(--muted); font-size: 11px; text-align: center; }
.news-pagination .button:last-child { justify-self: end; }

@media (max-width: 1500px) {
  .topbar { flex-wrap: wrap; }
  .topbar-actions { flex: 1 0 100%; width: 100%; margin-left: 0; justify-content: space-between; }
  .topbar-kpis { flex: 1 1 auto; }
  .topbar-kpi { flex: 1 1 0; }
}

@media (max-width: 1450px) {
  .news-list.news-layout-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1180px) {
  .dashboard-hero-grid { grid-template-columns: 1fr; }
  .dashboard-hero-grid .signal-list { max-height: 560px; }
  .dashboard-news-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
  .dashboard-calendar-layout { grid-template-columns: 1fr; }
  .dashboard-month-card { width: min(100%, 420px); }
  .news-list.news-layout-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .topbar-actions { align-items: stretch; flex-direction: column; }
  .topbar-kpis { width: 100%; overflow-x: auto; }
  .topbar-kpi { min-width: 105px; }
  .resource-chips { width: 100%; overflow-x: auto; }
  .resource-chip { flex: 0 0 auto; }
  .dashboard-news-list, .dashboard-calendar-panel .brief-list { grid-template-columns: 1fr; }
  .offer-change-market-head { grid-template-columns: auto minmax(0, 1fr); }
  .offer-change-links { grid-column: 2; justify-content: flex-start; }
  .offer-change-overview, .offer-change-items { margin-left: 0; }
  .offer-coverage-grid { grid-template-columns: 1fr; }
  .news-list.news-layout-2, .news-list.news-layout-3 { grid-template-columns: 1fr; }
  .news-list .news-row > .news-analysis-card { grid-column: 1; grid-row: auto; }
  .news-title-line, .news-subline { align-items: flex-start; flex-direction: column; gap: 4px; }
  .news-time-line { flex-wrap: wrap; }
  .news-layout-switch { width: 100%; justify-content: flex-end; }
  .news-panel-controls { width: 100%; justify-content: stretch; }
  .news-view-switch, .news-layout-switch { flex: 1 1 100%; justify-content: center; }
  .news-pagination { grid-template-columns: 1fr 1fr; }
  .news-pagination > span { grid-column: 1 / -1; grid-row: 1; }
  .calendar-view-switch { width: 100%; }
  .calendar-view-switch .button { flex: 1 1 0; }
  .settings-credential-row { grid-template-columns: auto minmax(0, 1fr); }
  .settings-credential-actions { grid-column: 1 / -1; justify-content: flex-start; padding-left: 0; }
  .settings-credential-replace > summary { margin-left: 0; }
  .unanswered-bulk-line { align-items: stretch; flex-direction: column; }
  .unanswered-bulk-line form, .unanswered-bulk-line .button { width: 100%; }
  .unanswered-bulk-actions { align-items: stretch; flex-direction: column; }
  .unanswered-filter-line { grid-template-columns: 1fr; }
  .unanswered-rating-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .unanswered-marketplace-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-reply-progress-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-reply-market-progress { grid-template-columns: 1fr; }
  .review-reply-progress-head { align-items: stretch; flex-direction: column; }
  .review-reply-progress-controls { justify-content: space-between; }
  .review-reply-recent-row { align-items: start; }
  .review-reply-recent-main { align-items: flex-start; }
  .review-reply-recent-customer { max-width: 100%; white-space: normal; }
  .unanswered-review-row { grid-template-columns: 22px 34px 70px minmax(0, 1fr); }
  .unanswered-review-copy { grid-column: 4; align-items: flex-start; flex-wrap: wrap; }
  .unanswered-review-row p { max-width: 100%; white-space: normal; }
}

@media (max-width: 480px) {
  .dashboard-month-card { width: 100%; }
  .dashboard-month-calendar td,
  .dashboard-month-calendar td > a { height: 34px; min-height: 34px; }
}

@container (max-width: 560px) {
  .news-list .news-analysis-card { grid-template-columns: 1fr; }
  .news-list .news-analysis-rail { padding: 6px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .news-list .news-analysis-rail .news-review-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Buyer questions: compact, read-only operational queue. */
.metric-grid-main { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.metric-card-alert { border-color: color-mix(in srgb, var(--critical) 58%, var(--line)); }
.questions-intro { margin-bottom: 6px; }
.question-coverage-grid, .dashboard-question-coverage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.question-coverage-grid { margin-bottom: 6px; }
.question-coverage-card, .dashboard-question-source { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 6px; min-width: 0; padding: 6px 7px; color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: 8px; text-decoration: none; }
.dashboard-question-source { grid-template-columns: auto minmax(0, 1fr); background: var(--bg-soft); }
.question-coverage-card strong, .question-coverage-card small, .dashboard-question-source strong, .dashboard-question-source small { display: block; line-height: 1.15; }
.question-coverage-card small, .dashboard-question-source small { margin-top: 1px; color: var(--muted); font-size: 11px; }
.question-source-error { color: var(--critical) !important; }
.question-coverage-failed { border-color: color-mix(in srgb, var(--critical) 48%, var(--line)); }
.question-filter-panel { margin-bottom: 6px; padding: 7px; }
.question-filters { display: grid; grid-template-columns: minmax(140px, .6fr) minmax(160px, .7fr) minmax(260px, 2fr) auto; align-items: end; gap: 6px; }
.question-filters label span { display: block; margin: 0 0 1px 1px; color: var(--muted); font-size: 12px; line-height: 1.08; }
.question-filters input, .question-filters select { min-height: 34px; padding: 6px 9px; }
.question-list { display: grid; gap: 5px; }
.question-card { display: grid; grid-template-columns: 36px minmax(0, 1fr) minmax(190px, 235px); gap: 7px; padding: 7px; background: var(--panel); border: 1px solid var(--line); border-left-width: 4px; border-radius: 9px; }
.question-sla-fresh { border-left-color: #d5b72f; }
.question-sla-warning { border-left-color: var(--accent-line); }
.question-sla-critical { border-left-color: var(--critical); background: color-mix(in srgb, var(--critical) 5%, var(--panel)); }
.question-sla-answered { border-left-color: var(--ok); }
.question-status-rail { padding-top: 1px; }
.question-title-line { display: flex; justify-content: space-between; gap: 8px; }
.question-title-line strong, .question-title-line small { display: block; line-height: 1.15; }
.question-title-line small { margin-top: 1px; color: var(--muted); font-size: 11px; }
.question-time { display: flex; align-items: center; justify-content: end; flex-wrap: wrap; gap: 4px; text-align: right; }
.question-time time { color: var(--muted); font-size: 11px; white-space: nowrap; }
.question-author { margin: 2px 0 0; color: var(--muted); font-size: 11px; line-height: 1.12; }
.question-text { margin: 2px 0 0; font-size: 14px; line-height: 1.16; white-space: pre-wrap; }
.question-answer { margin-top: 5px; padding: 5px 7px; background: var(--bg-soft); border-left: 3px solid var(--ok); border-radius: 6px; }
.question-answer-pending { border-left-color: var(--accent-line); }
.question-answer > div { display: flex; flex-wrap: wrap; gap: 5px; align-items: baseline; }
.question-answer span, .question-answer time { color: var(--muted); font-size: 11px; }
.question-answer p { margin: 2px 0 0; font-size: 13px; line-height: 1.16; white-space: pre-wrap; }
.question-card-actions { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 4px; }
.question-card-actions small { color: var(--muted); font-size: 11px; line-height: 1.15; }
.question-pagination { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; padding: 5px 7px; color: var(--muted); font-size: 11px; }
.question-pagination > div { display: flex; gap: 5px; }
.dashboard-questions-panel { margin-top: 6px; }
.dashboard-question-coverage { margin: 4px 0; }
.dashboard-question-list { display: grid; gap: 3px; }
.dashboard-question-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 6px; padding: 5px 6px; border: 1px solid var(--line); border-left-width: 4px; border-radius: 7px; }
.dashboard-question-row strong, .dashboard-question-row small { display: block; line-height: 1.15; }
.dashboard-question-row strong { font-size: 12px; }
.dashboard-question-row small { margin-top: 1px; color: var(--muted); font-size: 11px; }
@media (max-width: 1180px) {
  .metric-grid-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .question-card { grid-template-columns: 34px minmax(0, 1fr); }
  .question-card-actions { grid-column: 2; }
}
@media (max-width: 760px) {
  .metric-grid-main, .question-coverage-grid, .dashboard-question-coverage { grid-template-columns: 1fr; }
  .question-filters { grid-template-columns: 1fr; }
  .question-title-line { flex-direction: column; }
  .question-time { justify-content: start; text-align: left; }
  .dashboard-question-row { grid-template-columns: auto minmax(0, 1fr); }
  .dashboard-question-row > .pill, .dashboard-question-row > .text-link { grid-column: 2; justify-self: start; }
}

@media (pointer: coarse) {
  .question-filters input, .question-filters select, .question-card-actions .button,
  .question-pagination .button { min-height: 44px; }
}
.duplicate-rule-form { display: grid; gap: 14px; }
.duplicate-query-field { display: grid; gap: 6px; max-width: 760px; }
.duplicate-query-field > span, .duplicate-filters label > span { color: var(--muted); font-size: 11px; }
.duplicate-query-field input { width: 100%; }
.duplicate-scope-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.duplicate-scope-card { display: grid; gap: 8px; min-width: 0; padding: 12px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; }
.duplicate-scope-title { display: grid; grid-template-columns: 26px 1fr; align-items: center; gap: 7px; }
.duplicate-scope-title small { grid-column: 2; color: var(--muted); font-size: 10px; }
.duplicate-scope-card select { width: 100%; min-height: 142px; }
.duplicate-scope-card > small { color: var(--muted); font-size: 10px; }
.duplicate-form-actions { justify-content: space-between; }
.duplicate-rule-list, .duplicate-finding-list { display: grid; gap: 6px; }
.duplicate-rule-row { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); }
.duplicate-rule-row.is-disabled { opacity: .7; }
.duplicate-rule-copy { min-width: 0; }
.duplicate-rule-copy > strong, .duplicate-rule-copy > small { display: block; }
.duplicate-rule-copy > small { margin-top: 3px; color: var(--muted); overflow-wrap: anywhere; }
.duplicate-rule-actions { display: flex; align-items: center; gap: 9px; }
.duplicate-rule-actions form { margin: 0; }
.duplicate-filters { display: flex; align-items: end; gap: 9px; margin-bottom: 10px; }
.duplicate-filters label { display: grid; gap: 4px; }
.duplicate-finding-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto 90px; align-items: start; gap: 9px; padding: 8px 9px; border-bottom: 1px solid var(--line); }
.duplicate-finding-copy { min-width: 0; }
.duplicate-finding-title-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; min-width: 0; line-height: 1.25; }
.duplicate-finding-title-line > a { color: var(--ink); text-decoration: none; }
.duplicate-finding-inline { display: inline; min-width: 0; margin: 0; color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.duplicate-finding-inline b { color: var(--ink); }
.duplicate-inline-separator { padding: 0 2px; color: var(--line-strong); }
.duplicate-protected-match { color: var(--accent-text); font-weight: 800; }
.duplicate-finding-details { margin-top: 3px; color: var(--muted); font-size: 10px; }
.duplicate-finding-details summary { width: fit-content; cursor: pointer; color: var(--accent-text); }
.duplicate-finding-detail-body { display: grid; gap: 5px; margin-top: 5px; padding: 7px 8px; background: var(--bg-soft); border-radius: 7px; overflow-wrap: anywhere; }
.duplicate-finding-detail-body p { margin: 0; }
.duplicate-protected-item { display: block; margin-top: 2px; padding-left: 8px; }
.dashboard-duplicate-finding-details { max-width: 100%; }
.duplicate-finding-row time { color: var(--muted); font-size: 10px; text-align: right; }
.duplicate-finding-action { grid-column: 2 / -1; margin: 0; }
@media (max-width: 1050px) {
  .duplicate-scope-grid { grid-template-columns: 1fr; }
  .duplicate-rule-row { grid-template-columns: 10px minmax(0, 1fr) auto; }
  .duplicate-rule-actions { grid-column: 2 / -1; }
  .duplicate-finding-row { grid-template-columns: 28px minmax(0, 1fr) auto; }
  .duplicate-finding-row time { grid-column: 2; text-align: left; }
}
