@import url('./tokens.css');

/* RC31 presentation only. Keep measurements, states, scrolling and logo timing intact. */
body {
  color: var(--k-ink);
  background-color: var(--k-bg);
  background-image: var(--k-grain);
  font-family: var(--k-font);
}

button, input, select, textarea {
  font-family: var(--k-font);
}

h1, h2, h3 {
  font-family: var(--k-heading);
  font-weight: 600;
}

main > header #title, .q-heading h2 {
  font-size: 28.8px;
}

aside, .sidebar-brand, .sidebar-identity {
  background-color: var(--k-side);
  background-image: var(--k-grain);
  border-color: var(--k-line);
}

.sidebar-brand h1 {
  font-size: 18.75px;
  letter-spacing: 0;
}

.project-label, .address, .eyebrow, #subtitle, footer,
.source, .q-heading p, .q-footnote {
  color: var(--k-muted);
}

.control-topbar {
  border-color: var(--k-gold);
}

/* Secondary navigation stays distinct from the two graphite section headings. */
.sidebar-brand #openCashflow,
.sidebar-brand #openDocuments,
.sidebar-brand #openQuality,
#actsMenu > summary.cash-nav {
  color: var(--k-ink);
  background-color: var(--k-orange-light);
  background-image: var(--k-pencil);
  border-color: #e8c99e;
}

.sidebar-brand #openCashflow:hover,
.sidebar-brand #openDocuments:hover,
.sidebar-brand #openQuality:hover,
#actsMenu > summary.cash-nav:hover {
  background-color: #f3d4a5;
  border-color: var(--k-orange);
}

.cashflow-mode .sidebar-brand #openCashflow,
.sidebar-brand #openQuality[aria-current],
#actsMenu[open] > summary.cash-nav {
  color: #6e390c;
  background-color: #f0c98f;
  border-color: var(--k-orange-dark);
}

#tabs > button[data-view="budget"],
#tabs > button[data-view="budget"].active,
#tabs > .divider {
  color: var(--k-paper);
  background-color: var(--k-graphite);
  background-image: var(--k-pencil);
  border-color: var(--k-graphite);
  border-left-color: var(--k-orange);
}

#tabs > button[data-view="budget"]:hover,
#tabs > button[data-view="budget"].active:hover {
  color: var(--k-paper);
  background-color: #45453f;
  border-color: #45453f;
  border-left-color: var(--k-orange);
}

#tabs > button.active:not([data-view="budget"]) {
  background-color: #fae9cf;
  color: #87460d;
  border-left-color: var(--k-orange);
}

.acts-menu-body, .more-options-list,
.metric:not(.accent), .cash-chart, .k-budget,
.q-stat:not(.q-warm):not(.q-cool), .q-test, .q-lot {
  background-color: var(--k-paper);
  border-color: var(--k-line);
}

.acts-menu-body section + section {
  border-color: var(--k-line);
}

.dark, .metric.accent, .k-budget .k-budget-total td {
  background-color: var(--k-graphite);
  background-image: var(--k-pencil);
  border-color: var(--k-graphite);
  color: var(--k-paper);
}

/* Equivalent export and budget tools use paper; active/disabled states stay owned by the app. */
main > header .actions [data-export],
main > header .actions #blindBudgetButton:not([aria-pressed="true"]),
main > header .actions .more-options > summary,
.share-actions button:not(.dark):not(:disabled),
.cashflow-tools button:not(.dark):not([aria-pressed="true"]) {
  color: var(--k-ink);
  background-color: var(--k-paper);
  background-image: none;
  border-color: var(--k-line);
}

main > header .actions [data-export]:hover:not(:disabled),
main > header .actions #blindBudgetButton:hover:not(:disabled),
.share-actions button:not(.dark):hover:not(:disabled),
.cashflow-tools button:not(.dark):hover:not(:disabled) {
  border-color: var(--k-orange);
}

/* Warm surfaces without changing column sizes, row density or measurement inputs. */
.table-context, .table-context.is-pinned::before {
  background-color: var(--k-bg);
  background-image: var(--k-grain);
}

.table-context > .hierarchy-tools,
.table-context > .hierarchy-toolbar,
.content, .search {
  background-color: var(--k-paper);
  border-color: var(--k-line);
}

#content .hierarchy-group,
.k-budget > header, .q-feature,
.q-pdf-details > summary {
  background-color: var(--k-olive-light);
  background-image: var(--k-pencil);
  border-color: #c4c9a6;
}

#content .hierarchy-group.level-3, .q-test-detail {
  background-color: #f3f4e9;
  border-color: var(--k-line);
}

.q-feature p, .q-feature .q-kicker {
  color: #5c6246;
}

.total-row, .contract-subtotal {
  background-color: #f0eee2;
  background-image: var(--k-pencil);
}

.total-row td {
  border-top-color: var(--k-gold);
}

table, .metric strong, .gauge-main, .gauge-legend {
  font-variant-numeric: tabular-nums;
}

.cash-chart svg text, .cash-gauge svg text {
  font-family: var(--k-font);
}

/* No overrides for q-good/q-pending/q-bad, progress colours or inherited/removed rows. */
@media (max-width: 1000px) {
  .sidebar-brand h1 { font-size: 16.25px; }
}

@media (max-width: 760px) {
  main > header #title, .q-heading h2 { font-size: 20.64px; }
}

@media print {
  :root { --k-grain: none; --k-pencil: none; }
}
