/* Shared interface refinements. Keep report export styling independent. */
:root { --bg-app: #f5f6f8; --r: 14px; }
.main { min-width: 0; }
.sidebar { width: 224px; min-width: 224px; }
.sidebar-logo { padding: 28px 22px; }
.sidebar-section { padding: 20px 12px 0; }
.sidebar-section-title { color: #64748b; letter-spacing: 1px; }
.nav-item { width: 100%; border: 0; font-family: inherit; background: transparent; text-align: left; min-height: 44px; line-height: 1.5; }
.nav-item.active { box-shadow: inset 3px 0 var(--gold); }
.topbar { min-height: 72px; padding: 16px 32px; }
.topbar-title { font-size: 18px; flex-shrink: 1; }
.live-pill { margin-left: auto; white-space: nowrap; }
.content { padding: 28px 32px; max-width: 1800px; margin: 0 auto; }
.domo-banner { background: #163b3e; border-radius: 16px; padding: 28px; box-shadow: none; gap: 24px; }
.domo-banner-title { font-size: 25px; letter-spacing: -.6px; text-transform: none; flex-wrap: wrap; }
.domo-banner-sub { font-size: 13px; margin-top: 7px; color: #d6e7e5; }
.domo-banner-logo { width: 52px; height: 52px; }
.btn-domo-glass, .domo-goal-pill { min-height: 40px; }
#domoSyncBtn { background: #fef3c7; color: #78350f; border-color: #fef3c7; }
.domo-filter-bar { position: relative; top: auto; padding: 18px; gap: 16px; box-shadow: none; align-items: flex-end; }
.domo-filter-item { flex-direction: column; align-items: stretch; gap: 6px; flex: 1 1 170px; min-width: 0; }
.domo-filter-lbl { font-size: 12px; text-transform: none; letter-spacing: 0; color: #475569; }
.domo-filter-item .s-dropdown, .domo-filter-item .s-dropdown-btn { width: 100%; }
.domo-filter-item .search-box { max-width: none !important; min-height: 42px; }
.domo-filter-item .form-select { width: 100% !important; }
.s-dropdown-btn, .form-input, .form-select, .filter-select { min-height: 42px; }
.s-dropdown-menu { max-width: min(360px, calc(100vw - 48px)); }
.domo-kpi-grid { gap: 16px; }
.domo-kpi-card { border-radius: 14px; padding: 22px; box-shadow: 0 2px 6px #0f172a04; }
.domo-kpi-card:hover { transform: none; }
.domo-kpi-num { font-size: 34px; font-variant-numeric: tabular-nums; letter-spacing: -1px; }
.domo-kpi-card.prev-period { background: #f8fafc; box-shadow: none; }
.domo-kpi-card.prev-period .domo-kpi-num { font-size: 25px; color: #475569; }
.domo-kpi-tag { line-height: 1.6; }
.domo-kpi-bottom { flex-wrap: wrap; gap: 8px; }
.data-table td { padding-top: 14px; padding-bottom: 14px; }
.data-table th { letter-spacing: .4px; }
button, input, select, textarea { font-family: inherit; }
button:focus-visible, a:focus-visible, [tabindex]:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #b45309; outline-offset: 3px; }
.skip-link { position: fixed; top: -80px; left: 16px; z-index: 3000; padding: 12px 18px; background: white; color: #78350f; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.menu-toggle { display: none; background: white; border: 1px solid var(--border); border-radius: 8px; min-height: 44px; padding: 0 12px; color: var(--text); cursor: pointer; }
@media (max-width: 1100px) {
  .content { padding: 22px; }
  .domo-banner { padding: 22px; }
}
@media (max-width: 760px) {
  #appShell.show { display: block; }
  .menu-toggle { display: inline-flex; align-items: center; }
  .sidebar { display: none; position: relative; width: 100%; min-width: 0; height: auto; max-height: 65vh; border-bottom: 1px solid var(--border); }
  .sidebar.mobile-open { display: flex; }
  .sidebar-logo { padding: 16px 22px; }
  .sidebar-section { padding-top: 12px; }
  .sync-status { margin-top: 16px; }
  .topbar { padding: 12px 16px; gap: 10px; }
  .topbar-title { font-size: 15px; }
  .live-pill { font-size: 10px; padding: 5px 8px; }
  .content { padding: 16px; }
  .domo-banner-title { font-size: 21px; }
  .domo-banner-brand { min-width: 0; }
  .domo-banner-logo { display: none; }
  .domo-banner-actions { gap: 8px; }
  .domo-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .domo-kpi-card { padding: 16px; min-width: 0; }
  .domo-kpi-num { font-size: 28px; }
  .domo-kpi-top { flex-wrap: wrap; gap: 6px; }
  .domo-filter-item { flex-basis: 100%; }
  .domo-filter-bar { padding: 14px; }
  .table-card { overflow-x: auto; }
  .modal { max-width: calc(100vw - 24px); }
  input, select, textarea { font-size: 16px !important; }
}
@media (max-width: 400px) {
  .domo-kpi-grid { grid-template-columns: 1fr; }
  .live-timer { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
.domo-kpi-card.prev-period { opacity: 1; border: 1px solid var(--border); }
.prev-period .domo-kpi-tag, .prev-period .domo-kpi-sub { color: #475569; }
.prev-period .domo-kpi-period-badge { color: #475569; background: #e2e8f0; }
