/* site-readable.css — readability overrides only (no theme color changes) */
:root {
  --rail: 88px !important;
  --top: 72px !important;
  --tabs: 84px !important;
}

html, body {
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* Headings / brand / tabs */
.brandline b,
.scheme-tab b,
.panel-head b,
.panel-head h2,
.panel-head h3,
.hero-meta b,
.workspace-card b,
.doc-card b,
.deal-card b,
.signal-row b {
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.scheme-tab,
.scheme-tab span,
.brandline small,
.top-actions button,
.btn,
.search-trigger,
.railbtn {
  font-size: 12px !important;
}

.railbtn {
  width: 58px !important;
  height: 58px !important;
  gap: 4px !important;
}

.logo {
  width: 50px !important;
  height: 50px !important;
  font-size: 26px !important;
}

/* Body / labels / tags / metrics */
.metric b,
.deal-metric b,
.os-kpi b {
  font-size: 20px !important;
}

.metric span,
.deal-metric span,
.os-kpi span,
.tag,
.badge,
.meta,
.muted,
.owner-dot,
.signal-row,
.doc-card,
.deal-card,
.lead-row,
.kanban-card,
.timeline-item,
.table,
table,
th,
td,
.dl,
.inspector,
.viewer-toolbar,
.viewer-title {
  font-size: 13px !important;
}

.tag,
.badge {
  font-size: 12px !important;
  padding: 3px 8px !important;
}

/* Spacing: loosen dense workbench layout */
.scheme-inner {
  padding: 16px 18px !important;
  gap: 14px !important;
}

.metrics,
.os-kpis,
.deal-top {
  gap: 12px !important;
}

.metric,
.deal-metric,
.os-kpi {
  padding: 14px 16px !important;
}

.signal-row,
.doc-card,
.deal-card,
.lead-row,
.kanban-card {
  padding: 12px 14px !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}

.panel-head {
  padding: 12px 14px !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}

.dashboard-grid {
  gap: 14px !important;
}

.topbar {
  padding: 0 22px !important;
}

.top-actions {
  gap: 10px !important;
}

.schemebar {
  padding: 10px 16px !important;
  gap: 10px !important;
}

.scheme-tab {
  min-width: 150px !important;
  padding: 10px 12px !important;
}

.main {
  padding: 12px 16px !important;
}

/* Compact density: do not squeeze below default readable spacing */
.density-compact .signal-row,
.density-compact .doc-card,
.density-compact .lead-row,
.density-compact .deal-card,
.density-compact .kanban-card {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Comfort / default: slightly more open */
.density-comfortable .signal-row,
.density-comfortable .doc-card,
.density-comfortable .lead-row,
.density-comfortable .deal-card,
body:not(.density-compact) .signal-row,
body:not(.density-compact) .doc-card {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

/* Mobile: override prototype 8px crush at 430px */
@media (max-width: 430px) {
  :root {
    --top: 64px !important;
    --tabs: 76px !important;
  }
  html, body {
    font-size: 13px !important;
  }
  .top-actions .primary,
  .scheme-tab b,
  .brandline b,
  .railbtn,
  .tag,
  .badge {
    font-size: 12px !important;
  }
  .scheme-tab {
    min-width: 132px !important;
    padding: 9px 10px !important;
  }
  .metric,
  .deal-metric,
  .os-kpi {
    padding: 12px !important;
  }
  .metric b,
  .deal-metric b,
  .os-kpi b {
    font-size: 18px !important;
  }
  .signal-row,
  .doc-card,
  .deal-card {
    padding: 12px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 860px) {
  :root {
    --rail: 0px !important;
  }
  .brandline b {
    font-size: 14px !important;
  }
}
