/* Colors and typography follow the saved Google Web reports, not Fincenter. */
:root {
  color-scheme: dark;
  --bg-main: #08080a;
  --bg-card: #111116;
  --bg-card-soft: #181820;
  --bg-input: #1d1d27;
  --ink: #fff;
  --muted: #a6a6b3;
  --line: #292930;
  --red: #b91624;
  --green: #86efac;
  color: var(--ink);
  background: var(--bg-main);
}
body, .workspace { background: var(--bg-main); color: var(--ink); }
.sidebar { background: #101014; border-right: 1px solid var(--line); }
.brand strong { color: #fff; }
.nav button.active { background: #32151c; box-shadow: inset 3px 0 #ef233c; }
.nav button.active svg { color: #ef6477; }
.nav button:hover { background: #24242d !important; }
.topbar { background: var(--bg-card); border-color: var(--line); }
.profile select, .point-picker, input, select, textarea {
  color: #fff; background: var(--bg-input); border-color: #35353e;
}
input:disabled { background: #15151c; color: #737380; }
input::placeholder, textarea::placeholder { color: #777784; }
input:focus, select:focus, textarea:focus {
  background: #22222d; border-color: #ef233c; outline-color: #7f2636;
}
button { color: #e7e7ed; background: #252532; border-color: #3c3c48; }
button:hover:not(:disabled) { background: #30303e; }
button.primary {
  color: #fff; background: linear-gradient(135deg, #ef233c, #b91624 60%, #6f0d16);
  border-color: #b91624;
}
button.primary:hover:not(:disabled) { background: #c41a30; }
.quiet { background: transparent; border-color: transparent; }
.avatar { background: #30303b; color: #dedee6; }
.demo-bar { background: #17191c; color: #aeb9b4; border-color: var(--line); }
.demo-bar .storage { color: #a0aaa5; }
.report-body, .settings-section, .table-band { background: var(--bg-card); }
.report-body { border-top-color: #b91624; }
.section, .expense-table td, .expense-table th, .data-table td,
.data-table th, .previous, .company-head { border-color: var(--line); }
.field label, .field > span, .company-head { color: #d5d5dd; }
.employee { border-color: #41414c; }
.previous, .previous b, .previous .total { color: #d5d5dd; }
.segmented { background: #09090d; }
.segmented button.selected { background: #342029; color: #fff; }
.segmented button.selected svg { color: #ef6477; }
.summary { background: var(--bg-card-soft); border-top-color: #b91624; }
.sum-line, .sum-main label { color: #a6a6b3; }
.sum-line strong, .sum-main strong { color: #fff; }
.sum-rule, .summary .save-state { border-color: #34343f; }
.summary .save-state, .summary .save-state strong { color: #b5b5c2; }
.status { background: #272733; color: #d5d5dd; }
.status.good, .notice.success { background: #132b21; color: #86efac; }
.status.warn, .notice { background: #302616; color: #fde68a; }
.notice.error { background: #321a20; color: #fca5a5; }
.sum-diff.negative, .danger { color: #fda4af; }
.manual-card { background: var(--bg-card); border-color: var(--line); }
.manual-cover { background: #22222c; color: #ef6477; }
.manual-content p, .reading-meta { color: #a6a6b3; }
.reading { background: var(--bg-card); color: #e7e7ed; }
.reading h1, .reading h2 { color: #fff; }
.reading p { color: #d5d5dd; }
.personal-gate, dialog { background: var(--bg-card); color: #fff; border-color: #43434d; }
dialog::backdrop { background: #000b; }
.error-message { color: #fca5a5; }
.connection-note { color: #a6a6b3; }
.settings-controls input { width: 100%; min-width: 0; }
.settings-controls label { overflow-wrap: anywhere; }
.correction-field { margin-top: 16px; }
@media (max-width: 700px) {
  .nav { background: var(--bg-card); border-color: var(--line); }
  .nav button.active { background: #32151c; color: #fff; }
}
