/* Preserve the established layout while keeping controls usable on phones. */
:focus-visible { outline: 3px solid #38bdf8; outline-offset: 3px; }
button, a, input, select, textarea, summary { touch-action: manipulation; }
.card, .panel, .wrap, .container, .section, .section-head { min-width: 0; }
.card { overflow-wrap: anywhere; }
pre { max-width: 100%; overflow-x: auto; }
@media (max-width: 640px) {
  .header { padding: 12px !important; }
  .header > div, .controls, .controls .control-group, .top { flex-wrap: wrap; min-width: 0; max-width: 100%; }
  .controls .control-group { gap: 6px; }
  .ctrl, .controls select { max-width: 100%; }
  .container { padding: 12px !important; }
  .panel { overflow-x: auto; }
  .row > strong { min-width: 0; overflow-wrap: anywhere; }
  .wrap, .card { max-width: 100%; }
  button, summary, select { min-height: 40px; }
}

/* Accessible contrast, consistent with the existing dark palette. */
.topnav a.active, .tabs .tab.on, .btn-p, .client-chip.on, .doc-nav a.on { background:#1d4ed8 !important; color:#fff !important; }
#logout-link, .nav-links a { color:#93c5fd !important; }
#opp-badge { color:#ddd6fe !important; }
.funnel-bar { color:#0f172a !important; }
.hint, .footer-note { color:#94a3b8 !important; }
.tablewrap th { color:#b8b2c5 !important; }
button[data-win].active, button[data-win].on { background:#6d28d9 !important; color:#fff !important; }
@media(max-width:500px) {
  #kpi-grid, #mrr-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .kpi-value { font-size:1.25rem !important; overflow-wrap:anywhere; }
}

.chip.on, .side a.on, button[data-win][aria-pressed="true"] { background:#1d4ed8 !important; color:white !important; }
button[onclick="loadVideoPriority()"] { color:#0f172a !important; }
@media(max-width:640px) {
  .kpi-row, .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; padding:12px !important; }
  .kpi-row .kpi, .stat-grid .stat { min-width:0; padding:12px; overflow-wrap:anywhere; }
}
.login-box button[type="submit"] { background:#1d4ed8; }
:root[data-theme="light"] { --green:#15803d; --yellow:#946200; --good:#0c6e58; --warn:#925200; }
[data-theme="light"] #logout-link, [data-theme="light"] .nav-links a { color:#1d4ed8 !important; }
[data-theme="light"] .tablewrap th, [data-theme="light"] .hint, [data-theme="light"] .footer-note,
[data-theme="light"] #reportHistory span, [data-theme="light"] #reportPreview p { color:#565064 !important; }
[data-theme="light"] .range-btn { color:#475569 !important; }
[data-theme="light"] .range-btn.active { color:#075985 !important; }
[data-theme="light"] #export-btn { color:#166534 !important; }
[data-theme="light"] [style*="color:#f59e0b"], [data-theme="light"] [style*="color: #f59e0b"] { color:#946200 !important; }
[data-theme="light"] [style*="color:#2ecc71"], [data-theme="light"] [style*="color: #2ecc71"] { color:#166534 !important; }
[data-theme="light"] button[onclick="loadVideoPriority()"], [data-theme="light"] #generateReportBtn { color:#fff !important; background:#1d4ed8 !important; }

[data-theme="light"] #mrr-stripe-warning { color:#946200 !important; }
