.unit-model-confirm input { flex: 0 0 auto; width: auto; margin: 2px 0 0; }
.unit-model-history { margin-top: 14px; border-top: 1px solid var(--line); }
.unit-model-history summary { padding: 12px 0 3px; color: var(--muted); cursor: pointer; font-size: 11px; font-weight: 800; }
.unit-model-save-first { margin: 0; }
.unit-scenario-settings { margin-bottom: 14px; }
.unit-settings-grid { display: grid; grid-template-columns: 1.5fr repeat(5, minmax(135px, 1fr)); gap: 11px; }
.unit-settings-grid label { color: var(--muted); font-size: 11px; }
.unit-settings-grid input, .unit-settings-grid select { min-height: 43px; }
.unit-table-panel { padding: 0; overflow: hidden; }
.unit-table-toolbar { display: grid; grid-template-columns: minmax(185px, auto) minmax(320px, 1fr) auto; align-items: end; gap: 16px; padding: 16px 18px; }
.unit-table-toolbar h2 { margin: 5px 0 0; font-size: 19px; }
.unit-table-title { min-width: 0; }
.unit-table-state { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; color: var(--muted); font-size: 9px; }
.unit-table-state span { padding: 3px 7px; background: rgba(143,162,174,.08); border-radius: 99px; }
.unit-has-dirty [data-unit-dirty-count] { color: var(--warning); background: rgba(var(--accent-fill-rgb), .12); }
.unit-table-controls { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(150px, .45fr); gap: 9px; }
.unit-search, .unit-status-filter { min-width: 0; color: var(--muted); font-size: 10px; }
.unit-search input, .unit-status-filter select { min-height: 38px; margin-top: 5px; padding: 8px 10px; }
.unit-view-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; }
.unit-view-actions .button { min-height: 36px; padding: 7px 10px; }
.unit-icon-button { width: 36px; padding: 0 !important; font-size: 19px; }
.unit-icon-button:disabled { opacity: .32; cursor: default; }
.unit-table-save { min-width: 94px; }
.unit-columns-panel { display: block; max-height: 42vh; overflow: auto; padding: 15px 18px 18px; background: var(--bg-soft); border-top: 1px solid var(--line); }
.unit-columns-panel[hidden] { display: none; }
.unit-columns-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.unit-columns-head strong, .unit-columns-head small { display: block; }
.unit-columns-head small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.unit-columns-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; }
.unit-columns-actions .button { min-height: 34px; padding: 6px 9px; }
.unit-columns-groups { display: grid; grid-template-columns: repeat(4, minmax(190px, 1fr)); gap: 10px; }
.unit-columns-groups fieldset { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; padding: 11px; border: 1px solid var(--line); border-radius: 10px; }
.unit-columns-groups legend { padding: 0 6px; color: var(--accent-text); font-size: 10px; font-weight: 900; }
.unit-columns-panel label { display: flex; align-items: center; gap: 7px; color: #b4c4cb; font-size: 10px; }
.unit-columns-panel input { width: auto; margin: 0; }
.unit-table-note { display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 7px 18px; color: var(--muted); background: rgba(84,200,195,.045); border-top: 1px solid var(--line); font-size: 10px; }
.unit-table-note > span { flex: 0 0 auto; width: 8px; height: 8px; background: rgba(84,200,195,.45); border: 1px solid var(--cyan); border-radius: 2px; }
.unit-table-note > .unit-editable-swatch { display: grid; place-items: center; width: 22px; height: 22px; color: var(--cyan); background: rgba(84,200,195,.1); border-color: color-mix(in srgb, var(--cyan) 55%, var(--line)); border-radius: 5px; font-size: 11px; }
.unit-table-note p { margin: 0; line-height: 1.4; }
.unit-table-note p strong { color: #bce5e2; }
.unit-table-note .button { min-height: 32px; margin-left: auto; padding: 5px 9px; white-space: nowrap; }
.unit-table { border-top: 1px solid var(--line); }
.unit-focus-open { overflow: hidden; }
.unit-table-panel.unit-table-focus { position: fixed; inset: 10px; z-index: 100; display: flex; flex-direction: column; margin: 0; background: #0c171d; border-color: rgba(var(--accent-line-rgb), .35); border-radius: 16px; box-shadow: 0 30px 100px rgba(0,0,0,.65); }
.unit-table-focus .unit-table-toolbar, .unit-table-focus .unit-columns-panel, .unit-table-focus .unit-table-note { flex: 0 0 auto; }
.unit-table-focus .unit-table { flex: 1 1 auto; min-height: 0; }
.unit-audit-grid { margin-top: 16px; }
.unit-check-list { display: flex; flex-direction: column; }
.unit-check-list > div { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; padding: 10px 0; border-top: 1px solid var(--line); }
.unit-check-list > div:first-child { border-top: 0; }
.unit-check-list p { margin: 0; }
.unit-check-list strong, .unit-check-list small { display: block; font-size: 11px; }
.unit-check-list small { margin-top: 3px; color: var(--muted); }
.unit-warning-list { margin: 0; padding-left: 18px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.unit-warning-list li + li { margin-top: 8px; }
.tabulator { border: 0 !important; background: #0e1a20 !important; font-size: 11px; }
.tabulator .tabulator-header { border-bottom: 1px solid rgba(180,209,221,.15) !important; background: #15252d !important; }
.tabulator .tabulator-header .tabulator-col { background: #15252d !important; border-right-color: rgba(180,209,221,.11) !important; }
.tabulator .tabulator-header .tabulator-col.tabulator-col-group { background: #1a2c35 !important; }
.tabulator .tabulator-header .tabulator-col .tabulator-col-content { padding: 8px 7px !important; }
.tabulator .tabulator-header .tabulator-col-title { color: #b7c7ce; font-size: 10px; line-height: 1.25; }
.tabulator .tabulator-header .tabulator-col-group > .tabulator-col-content .tabulator-col-title { color: var(--accent-text-strong); font-size: 9px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.tabulator-row { min-height: 40px !important; background: #101e25 !important; border-bottom-color: rgba(180,209,221,.08) !important; }
.tabulator-row:nth-child(even) { background: #13232b !important; }
.tabulator-row:hover { background: #1a2e37 !important; }
.tabulator-row .tabulator-cell { display: inline-flex; align-items: center; border-right-color: rgba(180,209,221,.08) !important; padding: 8px 7px !important; }
.tabulator-row .tabulator-cell[tabulator-field="product"] { align-items: start; justify-content: center; }
.tabulator-row .tabulator-cell[tabulator-field="product"] strong, .tabulator-row .tabulator-cell[tabulator-field="product"] small { display: block; }
.tabulator-row .tabulator-cell[tabulator-field="product"] strong { color: #dbe6ea; font-size: 11px; line-height: 1.25; }
.tabulator-row .tabulator-cell[tabulator-field="product"] small { margin-top: 3px; color: var(--critical); font-size: 9px; }
.tabulator .tabulator-row-header { color: #718791; background: #0c181e !important; border-right: 1px solid rgba(var(--accent-line-rgb), .14) !important; }
.tabulator .tabulator-frozen.tabulator-frozen-left { border-right: 1px solid rgba(var(--accent-line-rgb), .19) !important; box-shadow: 4px 0 12px rgba(0,0,0,.12); }
.tabulator-row .unit-editable-cell { color: #a9efec; background: rgba(84,200,195,.075); box-shadow: inset 0 0 0 1px rgba(84,200,195,.06); cursor: text; }
.tabulator-row .unit-editable-cell::after { content: "✎"; position: absolute; top: 2px; right: 3px; color: color-mix(in srgb, var(--cyan) 72%, transparent); font-size: 8px; line-height: 1; pointer-events: none; }
.tabulator-row .unit-editable-cell.unit-cell-overridden { background: rgba(84,200,195,.12); }
.tabulator-row .unit-editable-cell.unit-cell-dirty { color: #ffe0a8; box-shadow: inset 3px 0 0 var(--accent-line), inset 0 0 0 1px rgba(var(--accent-line-rgb), .14); }
.tabulator-row .unit-editable-cell.tabulator-editing,
.tabulator-row .unit-editable-cell.unit-cell-editing { color: var(--ink); background: #10262b !important; border: 1px solid var(--cyan) !important; }
.tabulator-row .unit-result-cell { font-weight: 650; }
.tabulator-row.unit-row-profit .unit-result-cell { color: #8be0b5; }
.tabulator-row.unit-row-loss .unit-result-cell { color: #ff9e9a; }
.tabulator-row.unit-row-warning .unit-result-cell { color: var(--warning); }
.tabulator-row.unit-row-incomplete .unit-result-cell { color: var(--muted); }
.tabulator-row.unit-row-locked { opacity: .68; }
.tabulator-row.unit-row-dirty .tabulator-cell[tabulator-field="product"] { box-shadow: inset 3px 0 0 rgba(var(--accent-line-rgb), .8); }
.tabulator .tabulator-range-active { border-color: var(--accent-line) !important; }
.tabulator .tabulator-range-highlight { background: rgba(var(--accent-fill-rgb), .075) !important; }
.tabulator .tabulator-range-cell-active { outline-color: var(--accent-line) !important; }
.tabulator .tabulator-calcs-holder { border-top: 1px solid rgba(var(--accent-line-rgb), .25) !important; background: #17272f !important; }
.tabulator .tabulator-calcs { background: #17272f !important; color: #dce6ea; font-weight: 800; }
.unit-density-compact .tabulator { font-size: 10px; }
.unit-density-compact .tabulator-row { min-height: 32px !important; }
.unit-density-compact .tabulator-row .tabulator-cell { padding: 5px 6px !important; }
.unit-density-compact .tabulator .tabulator-header .tabulator-col .tabulator-col-content { padding: 6px !important; }
.unit-effective-panel { margin-bottom: 6px; }
.unit-effective-toolbar { grid-template-columns: minmax(260px, .7fr) minmax(320px, 1.3fr); align-items: center; }
.unit-effective-explainer { max-width: 760px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.3; }
.unit-inline-notice { margin: 0; border-right: 0; border-left: 0; border-radius: 0; }
.unit-period-warning { color: var(--accent-text); }
.unit-editable-key { display: inline-flex; align-items: center; gap: 4px; color: var(--cyan); }
.unit-editable-key i { display: inline-grid; place-items: center; width: 16px; height: 16px; background: rgba(84,200,195,.1); border-radius: 4px; font-size: 9px; font-style: normal; }
.unit-table-reference.tabulator .tabulator-header,
.unit-table-reference.tabulator .tabulator-header .tabulator-col {
  background: #1e343d !important;
}
.unit-table-reference.tabulator .tabulator-header .tabulator-col-title {
  color: #d4dfe3 !important;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.15;
}
.unit-table-reference.tabulator .tabulator-header .tabulator-col .tabulator-col-content {
  padding: 4px !important;
}
.unit-table-reference .tabulator-row .unit-reference-cost { background: rgba(206,97,79,.13) !important; }
.unit-table-reference .tabulator-row .unit-reference-price { background: rgba(88,139,177,.14) !important; }
.unit-table-reference .tabulator-row .unit-reference-net-price { background: rgba(255,238,75,.15) !important; }
.unit-table-reference .tabulator-row .unit-reference-spp-price { background: rgba(193,91,207,.14) !important; color: #e8b9ef; }
.unit-table-reference .tabulator-row .unit-reference-commission-rate { color: #ff918a; }
.unit-status { display: inline-flex; padding: 4px 7px; border-radius: 999px; font-size: 9px; font-weight: 650; white-space: normal; line-height: 1.25; }
.unit-status-ok { color: #8be0b5; background: rgba(79,193,138,.12); }
.unit-status-warning { color: var(--warning); background: rgba(var(--accent-fill-rgb), .12); }
.unit-status-critical { color: #ff9e9a; background: rgba(239,108,104,.12); }
.unit-status-info { color: #8dc8d0; background: rgba(84,200,195,.1); }
.unit-status-unknown { color: var(--muted); background: rgba(143,162,174,.09); }

.inventory-metric-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 14px; }
.inventory-workspace { padding: 0; overflow: hidden; }
.inventory-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 17px 18px 14px; }
.inventory-toolbar h2 { margin: 5px 0 0; font-size: 19px; }
.inventory-freshness { margin: 8px 0 0; color: var(--muted); font-size: 10px; }
.inventory-freshness strong { color: var(--ink); }
.inventory-view-tabs { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; }
.inventory-view-tabs .button { min-height: 36px; padding: 7px 11px; }
.inventory-view-tabs .button.active { color: var(--accent-text); border-color: rgba(38,208,206,.58); background: rgba(38,208,206,.1); }
.inventory-filters { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(145px, .35fr) minmax(190px, .45fr) auto auto; align-items: end; gap: 10px; padding: 13px 18px 16px; background: var(--bg-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.inventory-filters label { color: var(--muted); font-size: 10px; }
.inventory-filters input, .inventory-filters select { min-height: 38px; margin-top: 5px; padding: 8px 10px; }
.inventory-check { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 2px; color: var(--ink) !important; white-space: nowrap; }
.inventory-check input { width: auto; min-height: 0; margin: 0; }
.inventory-table-view[hidden] { display: none; }
.inventory-notes { margin-top: 16px; }
.inventory-notes .panel { min-height: 100%; }
.inventory-notes .muted { line-height: 1.65; }

.nav-list { min-height: 0; overflow-y: auto; padding-right: 3px; }
.nav-market-wb { color: #d789ff; }
.nav-market-ozon { color: #74a4ff; }
.nav-market-yandex { color: #f3d84b; }
.marketplace-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.marketplace-tabs a { display: flex; align-items: center; gap: 11px; padding: 12px 14px; color: var(--muted); background: rgba(21,35,43,.72); border: 1px solid var(--line); border-radius: 14px; transition: .18s ease; }
.marketplace-tabs a:hover { color: var(--ink); background: var(--panel); }
.marketplace-tabs a.active { color: var(--ink); border-color: rgba(var(--accent-line-rgb), .42); box-shadow: inset 0 0 0 1px rgba(var(--accent-line-rgb), .08); }
.marketplace-tabs strong, .marketplace-tabs small { display: block; }
.marketplace-tabs small { margin-top: 2px; color: #617783; font-size: 10px; }
.marketplace-intro { position: relative; overflow: hidden; padding: 25px 27px; background: linear-gradient(130deg, rgba(27,45,54,.92), rgba(16,29,36,.82)); border: 1px solid var(--line); border-radius: 19px; }
.marketplace-intro::after { content: ""; position: absolute; right: -60px; top: -110px; width: 260px; height: 260px; border: 1px solid rgba(255,255,255,.045); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.012), 0 0 0 84px rgba(255,255,255,.008); }
.marketplace-intro-wb { border-color: rgba(188,92,239,.2); }
.marketplace-intro-ozon { border-color: rgba(60,115,247,.23); }
.marketplace-intro-yandex { border-color: rgba(244,184,50,.22); }
.marketplace-intro-actions { position: relative; z-index: 1; display: flex; align-items: center; gap: 9px; }
.marketplace-filter { align-items: center; }
.marketplace-filter label { min-width: 150px; }
.filter-note { margin-left: auto; max-width: 460px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.marketplace-metric-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-bottom: 18px; }
.marketplace-metric-grid .metric-card { min-height: 132px; padding: 17px 18px; }
.marketplace-metric-grid .metric-card > strong { font-size: 24px; }
.metric-card-profit { border-color: rgba(79,193,138,.2); background: linear-gradient(145deg, rgba(23,50,47,.9), #132129); }
.metric-card-negative { border-color: rgba(239,108,104,.3); background: linear-gradient(145deg, rgba(62,31,34,.88), #132129); }
.metric-card-negative > strong { color: #ffaaa7; }
.metric-card-incomplete { border-color: rgba(var(--accent-line-rgb), .28); background: linear-gradient(145deg, rgba(var(--accent-fill-rgb), .12), #132129); }
.unit-snapshot-context { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin: -2px 0 14px; color: var(--muted); font-size: 11px; }
.unit-snapshot-context strong { color: var(--ink); font-size: 13px; }
.unit-methodology-details { margin-top: 12px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); font-size: 11px; }
.unit-methodology-details summary { cursor: pointer; color: #a9bec8; font-weight: 700; }
.unit-methodology-details ul { margin: 10px 0 0; padding-left: 18px; line-height: 1.55; }
.marketplace-overview-columns { grid-template-columns: 1.42fr .58fr; margin-top: 0; }
.marketplace-detail-columns { grid-template-columns: 1.15fr .85fr; margin-top: 16px; }
.market-chart-wrap { width: 100%; overflow: hidden; padding: 5px 0 0; }
.market-line-chart { display: block; width: 100%; height: auto; min-height: 285px; overflow: visible; }
.market-chart-grid { stroke: rgba(180,209,221,.105); stroke-width: 1; vector-effect: non-scaling-stroke; }
.market-chart-zero { stroke: rgba(238,244,247,.28); stroke-width: 1.2; stroke-dasharray: 5 5; vector-effect: non-scaling-stroke; }
.market-chart-y-label, .market-chart-x-label { fill: #718894; font-size: 10px; font-variant-numeric: tabular-nums; }
.market-chart-line { fill: none; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.market-chart-line-sales { stroke: var(--accent-line); stroke-width: 2.6; }
.market-chart-line-net { stroke: var(--cyan); stroke-width: 2.2; stroke-dasharray: 7 4; }
.market-chart-point { vector-effect: non-scaling-stroke; stroke-width: 1.4; transition: r .14s ease; }
.market-chart-point:hover { r: 6px; }
.market-chart-point-sales { fill: var(--panel); stroke: var(--accent-line); }
.market-chart-point-net { fill: var(--cyan); stroke: var(--panel); }
.market-trend { display: flex; flex-direction: column; gap: 8px; max-height: 355px; overflow-y: auto; padding-right: 4px; }
.market-trend-row { display: grid; grid-template-columns: 42px minmax(100px, 1fr) 100px; align-items: center; gap: 10px; min-height: 23px; }
.market-trend-row time { color: #718894; font-size: 9px; }
.market-trend-row > strong { text-align: right; font-size: 10px; font-variant-numeric: tabular-nums; }
.market-trend-bars { position: relative; height: 13px; background: #0b151a; border-radius: 4px; }
.market-trend-bars span { position: absolute; left: 0; display: block; min-width: 2px; border-radius: 3px; }
.market-trend-sales { top: 1px; height: 6px; background: linear-gradient(90deg, var(--accent-fill), var(--accent-fill-end)); }
.market-trend-net { bottom: 1px; height: 3px; background: var(--cyan); opacity: .88; }
.chart-legend { display: flex; justify-content: end; gap: 15px; margin-top: 13px; color: var(--muted); font-size: 9px; }
.chart-legend span { display: flex; align-items: center; gap: 5px; }
.chart-legend i { width: 15px; height: 4px; border-radius: 99px; }
.legend-sales { background: var(--accent-fill); }
.legend-net { background: var(--cyan); }
.marketplace-events { margin: 15px 0 0; }
.marketplace-events a { color: var(--ink); font-weight: 800; }
.marketplace-table td:first-child { max-width: 360px; overflow: hidden; text-overflow: ellipsis; }
.market-product-bars { display: flex; flex-direction: column; gap: 9px; padding: 3px 0 18px; }
.market-product-bar { display: grid; grid-template-columns: minmax(125px, .8fr) minmax(150px, 1.2fr) 95px; align-items: center; gap: 12px; }
.market-product-bar > span { overflow: hidden; color: #b9c8cf; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.market-product-bar > strong { text-align: right; font-size: 10px; font-variant-numeric: tabular-nums; }
.market-product-bar progress { height: 7px; }
.market-product-table { padding-top: 15px; border-top: 1px solid var(--line); }
.stock-coverage { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; padding-top: 16px; margin-top: 5px; border-top: 1px solid var(--line); font-size: 10px; }
.stock-coverage > span, .stock-coverage small { color: var(--muted); }
.stock-coverage progress, .stock-coverage small { grid-column: 1 / -1; }
.marketplace-unit-counts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.marketplace-unit-counts span { min-width: 0; }
.marketplace-unit-counts strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.marketplace-inline-notice { margin: 13px 0 0; }
.expense-composition-chart { padding-top: 18px; margin-top: 17px; border-top: 1px solid var(--line); }
.expense-composition-head { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 11px; font-size: 11px; }
.expense-composition-head span { color: var(--muted); }
.expense-composition-chart svg { display: block; width: 100%; height: 24px; overflow: hidden; border-radius: 6px; }
.expense-segment { stroke: var(--panel); stroke-width: 2; vector-effect: non-scaling-stroke; }
.expense-segment-0 { fill: var(--accent-fill); background: var(--accent-fill); }
.expense-segment-1 { fill: #54c8c3; background: #54c8c3; }
.expense-segment-2 { fill: #9a79c9; background: #9a79c9; }
.expense-segment-3 { fill: #d27b65; background: #d27b65; }
.expense-segment-4 { fill: #789bbd; background: #789bbd; }
.expense-segment-5 { fill: #9eaa69; background: #9eaa69; }
.expense-composition-legend { display: flex; flex-wrap: wrap; gap: 7px 13px; margin-top: 10px; color: var(--muted); font-size: 9px; }
.expense-composition-legend span { display: flex; align-items: center; gap: 5px; }
.expense-composition-legend i { width: 8px; height: 8px; border-radius: 2px; }
.expense-composition-legend strong { color: #b9c8cf; }
.marketplace-expenses { padding-top: 17px; margin-top: 17px; border-top: 1px solid var(--line); }
.marketplace-expenses .expense-row progress { width: 100%; height: 7px; }
.marketplace-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.marketplace-mini-grid > div { padding: 13px; background: var(--bg-soft); border: 1px solid rgba(180,209,221,.07); border-radius: 11px; }
.marketplace-mini-grid span, .marketplace-mini-grid strong { display: block; }
.marketplace-mini-grid span { color: var(--muted); font-size: 10px; }
.marketplace-mini-grid strong { margin-top: 7px; font-size: 18px; }
.marketplace-campaigns { padding-top: 12px; margin-top: 12px; border-top: 1px solid var(--line); }
.marketplace-compact-empty { padding: 22px 10px 8px; }
.marketplace-yandex-panel { margin-top: 16px; }

/* Official news, calendar, and owner-editable operating thresholds. */
.section-tabs { display: flex; align-items: center; gap: 7px; margin: 0 0 16px; }
.section-tabs a { min-width: 112px; padding: 10px 14px; color: var(--muted); background: var(--panel); border: 1px solid var(--line); border-radius: 10px; text-align: center; font-size: 12px; font-weight: 650; }
.section-tabs a.active { color: var(--accent-text); border-color: rgba(var(--accent-line-rgb), .38); background: var(--accent-soft); }
.news-refresh-form { display: flex; flex-direction: column; align-items: end; gap: 6px; }
.news-refresh-form input[type="hidden"] { display: none; }
.news-refresh-form small { max-width: 320px; color: var(--muted); font-size: 9px; text-align: right; }
.news-filter-bar { justify-content: start; }
.news-source-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 6px; margin: 0 0 8px; }
.news-source-strip-wide { margin: 0 0 var(--density-section-gap); }
.news-source-chip { min-width: 0; display: flex; align-items: center; gap: 7px; padding: 6px 8px; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); border-radius: var(--density-radius-control); text-decoration: none; }
.news-source-chip:hover { border-color: color-mix(in srgb, var(--cyan) 58%, var(--line)); background: color-mix(in srgb, var(--cyan) 6%, var(--panel-2)); }
.news-source-chip:focus { outline: none; }
.news-source-chip:focus-visible { outline: 2px solid var(--accent-line); outline-offset: 2px; }
.news-source-chip > span:last-child { min-width: 0; }
.news-source-chip strong, .news-source-chip small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.news-source-chip strong { font-size: 12px; font-weight: 600; line-height: 1.14; }
.news-source-chip small { margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.14; }
.news-source-empty { opacity: .8; }
.news-source-stale small, .news-source-partial small { color: var(--warning); }
.news-source-blocked small, .news-source-unavailable small { color: var(--danger); }
.news-source-not_configured small { color: var(--muted); }
.news-source-chip.is-selected { border-color: var(--cyan); background: color-mix(in srgb, var(--cyan) 9%, var(--panel-2)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cyan) 25%, transparent); }
.news-source-all.is-selected { border-color: color-mix(in srgb, var(--muted) 62%, var(--line)); background: var(--panel-3); box-shadow: none; }
.market-all { color: var(--muted); background: color-mix(in srgb, var(--muted) 10%, transparent); }
.news-source-error { color: var(--danger) !important; white-space: normal !important; }
.news-section-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.news-analysis-status { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .65fr); gap: var(--density-grid-gap); align-items: center; }
.news-analysis-status > div { min-width: 0; }
.news-analysis-status strong, .news-analysis-status small { display: block; }
.news-analysis-status small { margin-top: 2px; color: var(--muted); }
.news-analysis-status > div:last-child { text-align: right; }
.news-filter-panel { display: flex; align-items: end; gap: var(--density-grid-gap); }
.news-filter-grid { flex: 1; min-width: 0; display: grid; grid-template-columns: minmax(220px, 1.6fr) repeat(4, minmax(130px, 1fr)) minmax(150px, .8fr); gap: var(--density-grid-gap); align-items: end; }
.news-filter-grid label { min-width: 0; }
.news-filter-grid input, .news-filter-grid select { width: 100%; min-width: 0; }
.news-action-filter { min-height: var(--density-control-height); align-self: end; }
.news-filter-actions { display: flex; flex: 0 0 auto; gap: 5px; }
.news-list { display: flex; flex-direction: column; }
.news-row { padding: 17px 2px; border-top: 1px solid var(--line); }
.news-row:first-child { padding-top: 2px; border-top: 0; }
.news-row > header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.news-row > header strong, .news-row > header small { display: block; }
.news-row > header strong { font-size: 14px; font-weight: 600; line-height: 1.35; }
.news-row > header small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.news-heading-stack { min-width: 0; }
.news-title-line, .news-subline, .news-market-line, .news-time-line { display: flex; align-items: center; min-width: 0; }
.news-title-line { justify-content: space-between; gap: 16px; }
.news-title-line > strong { min-width: 0; }
.news-title-line > .text-link { flex: 0 0 auto; font-size: 10px; font-weight: 500; white-space: nowrap; }
.news-subline { justify-content: space-between; gap: 12px; margin-top: 4px; color: var(--muted); }
.news-market-line, .news-time-line { gap: 7px; }
.news-market-line > span:first-child { font-size: 10px; }
.news-time-line time, .news-time-line small { margin: 0; font-size: 9px; white-space: nowrap; }
.news-time-line small { padding-left: 8px; border-left: 1px solid var(--line); }
.news-meta { display: flex; flex-direction: column; align-items: end; gap: 6px; }
.news-meta time { color: var(--muted); font-size: 9px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.news-importance-important { box-shadow: inset 3px 0 rgba(var(--accent-line-rgb), .72); padding-left: 13px; }
.news-effective { margin: 12px 0 0 46px; color: var(--warning); font-size: 10px; }
.news-details { margin: 12px 0 0 46px; color: var(--muted); font-size: 11px; }
.news-details summary { width: fit-content; color: var(--cyan); cursor: pointer; font-weight: 700; }
.news-details p { max-width: 980px; margin: 9px 0 0; white-space: pre-line; line-height: 1.55; }
.news-analysis-card { margin: 5px 0; padding: 7px 9px; border: 1px solid color-mix(in srgb, var(--cyan) 35%, var(--line)); border-radius: var(--density-radius-control); background: color-mix(in srgb, var(--cyan) 6%, var(--panel-2)); }
.news-analysis-card > div { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.news-analysis-card p { margin: 4px 0 0; line-height: 1.22; }
.news-review-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.news-review-actions form { margin: 0; }
.news-review-actions .button { min-height: 30px; padding: 4px 7px; }
.news-review-actions small { color: var(--muted); }
.news-evidence { margin-top: 5px; }
.news-evidence ul, .document-diff ul { margin: 4px 0 0 18px; padding: 0; }
.news-evidence li, .document-diff li { margin: 2px 0; line-height: 1.2; }
.news-row > footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 12px 0 0 46px; }
.news-row > footer small, .news-row > footer .muted { color: var(--muted); font-size: 9px; }
.document-list { display: flex; flex-direction: column; }
.document-row { padding: 8px 0; border-top: 1px solid var(--line); }
.document-row:first-child { padding-top: 0; border-top: 0; }
.document-row > header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 7px; align-items: start; }
.document-row > header strong, .document-row > header small { display: block; }
.document-row > header small { margin-top: 1px; color: var(--muted); }
.document-summary { margin: 5px 0; line-height: 1.22; }
.document-diff { margin: 5px 0; padding: 6px 8px; background: var(--panel-2); border: 1px solid var(--line); border-radius: var(--density-radius-control); }
.document-diff > strong { display: block; margin-top: 5px; }
.document-row footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 5px; }
.document-row footer small { color: var(--muted); overflow-wrap: anywhere; }

.calendar-panel { margin-bottom: 16px; }
.calendar-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; margin-bottom: 15px; text-align: center; }
.calendar-toolbar h2 { margin: 4px 0 0; }
.calendar-grid-scroll { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.calendar-grid { min-width: 700px; display: grid; grid-template-columns: repeat(7, minmax(90px, 1fr)); gap: 1px; overflow: hidden; background: var(--line); border: 1px solid var(--line); border-radius: 13px; }
.calendar-weekday { padding: 9px; color: var(--muted); background: var(--panel-2); font-size: 9px; font-weight: 900; text-align: center; text-transform: uppercase; }
.calendar-day { min-height: 116px; padding: 9px; background: var(--panel); }
.calendar-day > time { display: grid; place-items: center; width: 28px; height: 28px; margin-left: auto; border-radius: 50%; color: var(--muted); font-size: 10px; font-weight: 800; }
.calendar-day-today > time { color: var(--accent-contrast); background: var(--accent-fill); }
.calendar-day-outside { opacity: .42; }
.calendar-day-events { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; }
.calendar-day-events > small { color: var(--muted); font-size: 8px; }
.calendar-event-chip { display: block; overflow: hidden; padding: 4px 6px; color: var(--ink); background: var(--panel-3); border-left: 2px solid var(--cyan); border-radius: 5px; font-size: 8px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event-chip.severity-warning { border-left-color: var(--warning); }
.calendar-event-chip.severity-critical { border-left-color: var(--critical); }
.calendar-event-chip.severity-positive { border-left-color: var(--ok); }
.calendar-event-candidate { border-style: dashed; opacity: .8; }
.calendar-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(310px, .6fr); gap: 16px; align-items: start; }
.calendar-form-panel { position: sticky; top: 112px; }
.calendar-event-list { display: flex; flex-direction: column; }
.calendar-event-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; padding: 15px 0; border-top: 1px solid var(--line); }
.calendar-event-row:first-child { padding-top: 0; border-top: 0; }
.calendar-event-row > time { display: grid; place-items: center; align-content: center; width: 46px; min-height: 48px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 10px; }
.calendar-event-row > time strong { font-size: 17px; }
.calendar-event-row > time span { color: var(--muted); font-size: 8px; }
.calendar-event-heading { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.calendar-event-heading > strong { font-size: 12px; line-height: 1.4; }
.calendar-event-body > small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.calendar-event-body > p { margin: 8px 0; color: var(--muted); font-size: 10px; line-height: 1.5; white-space: pre-line; }
.calendar-candidate-actions { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.calendar-candidate-actions form { margin: 0; }
.calendar-candidate-actions .button { width: 100%; min-height: 31px; padding: 5px 8px; font-size: 9px; }
.calendar-event-form { display: flex; flex-direction: column; gap: 12px; }
.calendar-event-form label > input, .calendar-event-form label > select, .calendar-event-form label > textarea { margin-top: 6px; }
.calendar-event-form .toggle-line { display: flex; }
.calendar-list-panel .panel-head { align-items: center; flex-wrap: wrap; gap: 7px; }
.calendar-list-heading { min-width: 150px; }
.calendar-view-switch { display: inline-flex; align-items: center; gap: 3px; padding: 3px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--density-radius-control); }
.calendar-view-switch .button { min-height: 28px; padding: 3px 8px; border: 0; font-size: 10px; }

.settings-credentials-panel, .settings-policy-panel, .settings-signals-panel { margin-top: 16px; scroll-margin-top: 20px; }
.settings-credential-row { grid-template-columns: auto minmax(0, 1fr) minmax(210px, .62fr); align-items: start; }
.settings-credential-summary { min-width: 0; }
.settings-credential-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px; min-width: 0; }
.settings-credential-replace { flex: 1 0 100%; min-width: 0; }
.settings-credential-replace > summary { width: fit-content; margin-left: auto; color: var(--accent-text); cursor: pointer; font-size: 10px; font-weight: 800; }
.settings-credential-form { display: grid; gap: 6px; margin-top: 6px; padding: 7px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--density-radius-control); }
.settings-credential-form label { min-width: 0; font-size: 10px; }
.settings-credential-form input { width: 100%; margin-top: 3px; }
.settings-credential-form small { color: var(--muted); font-size: 9px; line-height: 1.25; }
.settings-credential-form .button { justify-self: end; }
.credential-expiry-alert { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.settings-policy-grid { display: grid; grid-template-columns: repeat(4, minmax(145px, 1fr)); gap: 12px; }
.settings-policy-grid label { padding-top: 7px; border-top: 2px solid var(--line); }
.settings-policy-grid .policy-critical { border-top-color: var(--critical); }
.settings-policy-grid .policy-red { border-top-color: rgba(239,108,104,.58); }
.settings-policy-grid .policy-orange { border-top-color: var(--warning); }
.settings-policy-grid .policy-yellow { border-top-color: #e6cf53; }
.settings-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; }
.settings-form-footer small { color: var(--muted); font-size: 9px; }
.settings-rule-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.settings-rule-card { padding: 15px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 13px; }
.settings-rule-card > header, .settings-rule-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.settings-rule-card > header { margin-bottom: 12px; padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.settings-rule-card > header strong, .settings-rule-card > header small { display: block; }
.settings-rule-card > header small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.settings-rule-toggle { align-items: center; white-space: nowrap; }
.settings-rule-grid { display: grid; grid-template-columns: repeat(3, minmax(105px, 1fr)); gap: 9px; }
.settings-rule-grid label { font-size: 9px; }
.settings-rule-grid input { min-height: 38px; margin-top: 5px; padding: 8px 9px; }
.settings-rule-card > footer { margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--line); }
.settings-rule-card > footer small { max-width: 360px; color: var(--muted); font-size: 8px; line-height: 1.4; }

.login-body { display: grid; place-items: center; padding: 24px; background:
  radial-gradient(circle at 20% 10%, rgba(var(--accent-fill-rgb), .12), transparent 30rem),
  radial-gradient(circle at 90% 80%, rgba(84,200,195,.1), transparent 28rem),
  #0a1318; }
.login-shell { width: min(960px, 100%); display: grid; grid-template-columns: 1.1fr .9fr; overflow: hidden; background: rgba(16,29,36,.9); border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 40px 120px rgba(0,0,0,.42); }
.login-brand { position: relative; min-height: 570px; display: flex; flex-direction: column; justify-content: center; align-items: start; padding: 60px; overflow: hidden; background: linear-gradient(145deg, rgba(35,58,68,.92), rgba(17,32,39,.95)); }
.login-brand h1 { margin: 18px 0 8px; font-size: clamp(44px, 7vw, 74px); letter-spacing: -.07em; }
.login-lead { max-width: 420px; color: var(--muted); font-size: 17px; line-height: 1.5; }
.signal-lines { position: absolute; right: -55px; bottom: -35px; display: flex; align-items: end; gap: 12px; height: 270px; transform: rotate(-8deg); opacity: .27; }
.signal-lines span { width: 22px; border-radius: 99px 99px 0 0; background: linear-gradient(var(--cyan), transparent); }
.signal-lines span:nth-child(1) { height: 32%; }.signal-lines span:nth-child(2) { height: 55%; }.signal-lines span:nth-child(3) { height: 78%; }.signal-lines span:nth-child(4) { height: 100%; }
.login-card { display: flex; flex-direction: column; justify-content: center; padding: 52px; background: rgba(12,21,27,.75); }
.login-card h2 { margin: 8px 0 4px; font-size: 28px; }
.muted, .security-note { color: var(--muted); }
.security-note { margin: 18px 0 0; font-size: 10px; line-height: 1.5; }

html[data-theme="light"] body {
  background: linear-gradient(180deg, #f7f8f8 0, var(--bg) 320px);
}
html[data-theme="light"] .sidebar { background: rgba(248, 251, 252, .94); }
html[data-theme="light"] .nav-list a { color: #506975; }
html[data-theme="light"] .nav-list a:hover { color: var(--ink); background: var(--panel-3); }
html[data-theme="light"] .nav-list a.active { color: var(--accent-text); background: var(--accent-soft); }
html[data-theme="light"] .nav-section,
html[data-theme="light"] .event-row time,
html[data-theme="light"] .event-body small,
html[data-theme="light"] .coming-grid small,
html[data-theme="light"] .marketplace-tabs small { color: #708590; }
html[data-theme="light"] .topbar { background: rgba(248, 251, 252, .78); }
html[data-theme="light"] .command-banner { background: linear-gradient(125deg, #ffffff, #eaf5f5); }
html[data-theme="light"] .metric-card { background: linear-gradient(145deg, var(--panel), #f3f8f9); }
html[data-theme="light"] .metric-card small { color: #647b87; }
html[data-theme="light"] .mode-safe { color: #116f6b; }
html[data-theme="light"] .mode-live { color: #a92f2b; }
html[data-theme="light"] progress,
html[data-theme="light"] progress::-webkit-progress-bar,
html[data-theme="light"] .expense-track,
html[data-theme="light"] .market-trend-bars { background: #dfe9ec; }
html[data-theme="light"] .pill-ok { color: #116f49; }
html[data-theme="light"] .pill-muted { color: #5e737e; }
html[data-theme="light"] .pill-warning { color: var(--accent-text); }
html[data-theme="light"] .pill-critical { color: #aa302c; }
html[data-theme="light"] .pill-info { color: #116f6b; }
html[data-theme="light"] .coming-grid article { background: linear-gradient(140deg, rgba(255,255,255,.96), rgba(239,245,247,.92)); border-color: rgba(42,75,89,.2); }
html[data-theme="light"] label > span,
html[data-theme="light"] .filter-bar label,
html[data-theme="light"] .rating-picker legend,
html[data-theme="light"] .unit-refresh-form label { color: #526b77; }
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea { color: var(--ink); background: #ffffff; border-color: rgba(42,75,89,.2); }
html[data-theme="light"] .theme-control select { color: var(--muted); background: transparent; border: 0; }
html[data-theme="light"] .button-secondary { color: #29434f; }
html[data-theme="light"] .button-danger-soft { color: #a92f2b; }
html[data-theme="light"] .notice-error { color: #942824; }
html[data-theme="light"] .notice-success { color: #126f49; }
html[data-theme="light"] .notice-warning { color: var(--accent-text-strong); }
html[data-theme="light"] .notice-info { color: #116f6b; }
html[data-theme="light"] .review-text { color: #314c58; }
html[data-theme="light"] .expense-row > span,
html[data-theme="light"] .unit-columns-panel label,
html[data-theme="light"] .market-product-bar > span,
html[data-theme="light"] .expense-composition-legend strong { color: #47616d; }
html[data-theme="light"] .unit-table-note p strong { color: #176f6c; }
html[data-theme="light"] .unit-table-panel.unit-table-focus { background: #f4f8f9; box-shadow: 0 30px 100px rgba(38,65,76,.28); }
html[data-theme="light"] .tabulator { background: #f7fafb !important; }
html[data-theme="light"] .tabulator .tabulator-header,
html[data-theme="light"] .tabulator .tabulator-header .tabulator-col { background: #e8f0f3 !important; }
