:root {
  --nia-green: #163b2d;
  --nia-cream: #f7f3eb;
  --nia-gold: #b58a42;
  --nia-earth: #a34f2d;
  --nia-ink: #20362a;
  --nia-line: #e2d9c8;
}
body { background: var(--nia-cream); color: var(--nia-ink); }
header { background: var(--nia-green); }
header small { color: #e7c891; letter-spacing: 2px; }
.card { border-color: var(--nia-line); }
input, textarea, select { border-color: #beb6a6; color: var(--nia-ink); }
button, .button-link { background: var(--nia-green); }
button:focus-visible, input:focus-visible, a:focus-visible { outline-color: #8d682c; }
.secondary { background: #f0e8da; color: var(--nia-ink); }
.muted, .step-label { color: #687064; }
.bottom { border-color: var(--nia-line); }
.bottom button { color: #667064; }
.bottom button.active { background: #f0e8da; color: var(--nia-green); }
.welcome { background: linear-gradient(120deg, #163b2d, #315842); }
.welcome button { color: var(--nia-green); }
.welcome .secondary { background: #efe0c2; }
.install-help { background: #f2eadc; }
#notice, #profile-notice { color: var(--nia-green); }
.palette-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 14px 0; }
.palette-option { display: flex; align-items: center; gap: 10px; background: white; color: var(--nia-ink); border: 1px solid #c9c0b0; margin: 0; min-height: 50px; text-align: left; }
.palette-option.selected { border: 2px solid var(--nia-green); background: #f5f0e7; }
.palette-swatches { display: inline-flex; flex-shrink: 0; gap: 3px; }
.palette-swatches span { width: 16px; height: 22px; border-radius: 4px; border: 1px solid #0002; }
.palette-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.palette-fields input[type="color"] { width: 100%; min-height: 44px; padding: 4px; background: white; cursor: pointer; }
.palette-preview { padding: 16px 18px; margin: 12px 0; border-radius: 9px; border-bottom: 5px solid; display: grid; gap: 6px; }
.palette-preview strong { font-size: 20px; }
.palette-preview span { font-size: 13px; }
#paper { color: #20362a; }
#paper .logo-head { padding: 16px; border-radius: 10px; border-bottom: 5px solid var(--budget-accent, #b58a42); background: var(--budget-header-bg, #f5f0e7); }
#paper .logo-head h2 { color: var(--budget-header-ink, #163b2d); margin: 0; overflow-wrap: anywhere; }
#paper h2, #paper h3, #paper .total { color: var(--budget-primary, #163b2d); }
#paper th { color: var(--budget-primary, #163b2d); background: #f7f7f5; border-bottom: 2px solid var(--budget-accent, #b58a42); }
@media (max-width: 380px) {
  .palette-options { grid-template-columns: 1fr; }
  .palette-fields { grid-template-columns: 1fr; }
}
@media print {
  body { background: white; }
  #paper .logo-head, #paper th { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
