/* Approved palette: gold #BE8F35, warm gray #675C5E.
   This layer changes presentation only, not application behavior or permissions. */
:root {
  --brand-gold: #be8f35;
  --brand-gray: #675c5e;
  --ink: #302b2c;
  --muted: #675c5e;
  --soft: #72686a;
  --ivory: #f5f1e9;
  --canvas: #f7f6f3;
  --paper: #fffefd;
  --white: #fff;
  --line: #ded8d0;
  --line-dark: #c7bcad;
  --gold: #be8f35;
  --gold-dark: #795619;
  --gold-pale: #f2e5c8;
  --gold-wash: #faf5e9;
  --success: #32684d;
  --success-bg: #edf4ee;
  --danger: #963e36;
  --danger-bg: #faefed;
  --info: #3e607d;
  --info-bg: #eff4f8;
  --shadow: 0 5px 22px rgba(48,43,44,.045);
  --focus: 0 0 0 3px rgba(190,143,53,.24);
}
body { color: var(--ink); background: var(--canvas); }
.sidebar { background: var(--paper); border-left-color: var(--line); }
.brand-copy strong, .mobile-brand { color: #514348; }
.brand-copy small, .nav-label { color: var(--muted); }
.nav-item { color: #584e50; }
.nav-item:hover { color: #634714; background: var(--gold-wash); }
.nav-item.is-active { color: #614514; background: var(--gold-pale); }
.nav-item.is-active:before { background: var(--brand-gold); }
.account-copy strong { color: var(--ink); }
.account-copy small { color: var(--gold-dark); }
.avatar, .mini-avatar { color: #604313; background: #f0e1bf; }
.demo-banner { background: #675c5e; color: #fff; }
.topbar { background: rgba(255,254,253,.96); border-bottom-color: var(--line); }
.topbar-date, .topbar-date small { color: var(--muted); }
.page-header h1, .section-heading h2, .detail-hero h2 { color: #302b2c; }
.eyebrow { color: var(--gold-dark); }
.page-intro { color: var(--muted); }
.surface, .stat-card { border-color: var(--line); background: var(--paper); }
.stat-label { color: #5b5053; }
.stat-note { color: var(--muted); }
.stat-value { color: #3c3232; }
.stat-card:after { background: #f3e7cf; }
.btn-primary {
  color: #281e0d;
  background: var(--brand-gold);
  border-color: #aa7c29;
  box-shadow: 0 2px 5px rgba(121,86,25,.08);
}
.btn-primary:hover { background: #d0a64f; border-color: #997024; color: #281e0d; }
.btn-secondary { background: #fffefd; color: #55494d; border-color: #b4a899; }
.btn-secondary:hover { color: #634714; background: var(--gold-wash); border-color: #9a752d; }
.btn-quiet, .table-link { color: var(--gold-dark); }
.btn-danger { background: var(--danger); border-color: var(--danger); color: #fff; }
.btn[disabled] { color: #716769; background: #edeae6; border-color: #d8d0c8; box-shadow: none; }
input[type=text], input[type=password], input[type=date], input[type=datetime-local], input[type=search], select, textarea {
  color: var(--ink);
  background: #fff;
  border: 1px solid #9b8b7b;
  border-radius: 7px;
}
input[type=search] { width: 100%; min-height: 40px; padding: 8px 10px; font-size: 13px; }
.input-wrap input[type=search] { padding-right: 36px; }
input::placeholder, textarea::placeholder { color: #766c6e; opacity: 1; }
input:hover, select:hover, textarea:hover { border-color: #8c7965; }
input:focus, select:focus, textarea:focus { border-color: #987025; box-shadow: var(--focus); }
input[type=checkbox], input[type=radio] { accent-color: #94691e; }
.form-group label, .field-label { color: #51464a; }
.form-hint, .check-option small, .choice-card small { color: var(--muted); }
.check-option, .employee-card, .profile-card { background: #fffefd; border-color: #d4cbbf; }
.check-option:hover, .profile-card:hover { background: var(--gold-wash); border-color: #ac873c; }
.check-option:has(input:checked), .profile-card[data-selected=true] { background: #faf4e5; border-color: #a97d29; }
.data-table th { background: #f0ece5; color: #55494d; font-size: 11px; border-bottom: 1px solid #c4b8a6; }
.data-table td { color: #423a3d; border-bottom-color: #e7e1d9; font-size: 12px; }
.data-table tbody tr:nth-child(even) { background: #fcfaf6; }
.data-table tbody tr:hover { background: #f6edd9; }
.table-primary { color: #302b2c; }
.table-muted, .date-stack span { color: var(--muted); }
.date-stack strong { color: #51464a; }
.table-sort-button { color: inherit; }
.table-sort-button::after { opacity: .8; color: #795619; }
th[aria-sort=ascending], th[aria-sort=descending] { background: #ead8b3; color: #4c3916; }
.badge { background: #f6eddb; border-color: #c9b17f; color: #704e16; }
.badge-muted, .badge-pending { background: #f0edeb; border-color: #c9bfba; color: #5e5357; }
.badge-success, .badge-complete, .badge-approved { background: #edf4ee; border-color: #a9c5af; color: #32684d; }
.badge-danger, .badge-overdue, .badge-rejected { background: #faefed; border-color: #d7aaa4; color: #963e36; }
.badge-info, .badge-progress { background: #eff4f8; border-color: #aabed0; color: #3e607d; }
.tab-list { border-bottom-color: #c9bead; }
.tab-link { color: var(--muted); }
.tab-link.active { color: #704e16; background: #faf4e7; }
.tab-link.active:after { background: #a87a25; }
.tab-link[aria-disabled=true] { color: #766c6e; }
.summary-cell { background: #fffefd; }
.summary-cell span, .detail-meta, .announcement-meta, .report-card-head span { color: var(--muted); }
.summary-cell strong { color: #41373b; }
.announcement { border-color: #d9d0c4; background: #fffefd; }
.announcement-copy h3 { color: #393033; }
.announcement-copy p, .report-card p, .work-description { color: #51474b; }
.attachment-frame { background: #faf6ec; border-color: #c8b28a; }
.attachment-frame .file-chip, .file-chip { color: #644818; }
.attachment-frame .attachment-download { background: #fffefd; border-color: #a68a56; color: #674813; }
.attachment-frame .attachment-download:hover { background: #efe2c3; }
.attachment-frame .attachment-delete { color: #923d35; border-color: #c69892; background: #fffefd; }
.attachment-frame .attachment-delete:hover { background: #faefed; }
.upload-field { background: #faf6ec; border-color: #a88b57; }
.upload-field input::file-selector-button { background: #f0e0bc; border-color: #b99a5e; color: #5b4012; }
.file-list { color: #61554f; }
.file-list.is-error { color: var(--danger); }
.scope-note, .section-note, .finance-notice, .preview-note { background: #f7f0df; color: #67501f; border-color: #c9b27f; }
.session-default-box, .choice-card, .review-panel, .report-result div { background: #f8f5ef; border-color: #cec1ac; color: #51474b; }
.form-fieldset, .permission-section { border-color: #cfc3b3; }
.memo-stage-strip span { color: #61544d; background: #f8f4eb; border-color: #c6b38e; }
.memo-stage-strip .is-current { background: #795619; color: #fff; border-color: #795619; }
.timeline-item, .case-timeline { border-inline-start-color: #be8f35; }
.case-timeline li::before { background: #be8f35; }
.timeline-meta, .case-timeline small { color: var(--muted); }
.timeline-body, .followup-action { color: #51464a; }
.entity-tag { background: #f0e8d9; color: #6c5020; }
.preview-page { background: var(--canvas); color: var(--ink); }
.preview-toolbar, .attachment-dialog-header { background: var(--paper); border-color: var(--line-dark); }
.preview-toolbar small { color: var(--muted); }
.preview-section { background: #fff; border-color: #cbc0b0; }
.preview-data tr:first-child { background: #f0ece5; color: #51464a; }
.login-page { background: linear-gradient(135deg,#f4efe4 0%,#fbfaf7 52%,#f0ece8 100%); }
.login-aside { background: #675c5e; color: #fff; }
.login-aside>p, .login-note { color: #fff5e4; }
.login-main h2 { color: #302b2c; }
.credential-note { background: #f8f0de; border-color: #cdb582; color: #674a18; }
.login-footer { color: var(--muted); }
button:focus-visible, a:focus-visible { outline: 2px solid #987025; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .btn, .sidebar, .main-content, .nav-item { transition: none; }
}
