/* Chen Wealth SACCO: one uniform palette for the whole system, matching the public website.
   Loads after every other stylesheet, so it sets the colours for every screen.
   Deep green (brand) and gold (accent). All text pairs meet WCAG AA contrast. */
:root{
  --brand:#0B3D2E; --brand-2:#0F5C44; --brand-base:#0B3D2E; --brand-soft:#E6F0EB;
  --on-brand:#FFFFFF; --ring:0 0 0 4px rgba(11,61,46,.22);
  --gold:#C9A24B; --gold-2:#E3C677; --gold-soft:#F3E7C4; --on-gold:#062419;
  --gold-d:#C9A24B; --gold-2-d:#E3C677; --on-gold-d:#062419;
  --ok:#0B6B3E; --ok-soft:#E3F5EC; --warn:#8A5A00; --warn-soft:#FBF1DD;
  --bad:#B42323; --bad-soft:#FBE6E6; --up:#0B6B3E; --down:#B42323; --violet:#4A3A8A;
  --bg:#F7F5EF; --paper:#F7F5EF; --surface:#FFFFFF; --surface-2:#FAF8F3;
  --line:#E4E1D6; --line-2:#CFCABB;
  --ink:#14201B; --ink-2:#3D4B44; --mute:#5B6B63;
  --sh1:0 1px 2px rgba(11,61,46,.08); --sh2:0 14px 30px -18px rgba(11,61,46,.35);
}
:root[data-theme="dark"]{
  --brand:#17795A; --brand-2:#1E8A62; --brand-base:#0B3D2E; --brand-soft:#15302A;
  --on-brand:#FFFFFF; --ring:0 0 0 4px rgba(227,198,119,.25);
  --gold:#C9A24B; --gold-2:#E3C677; --gold-soft:#2A2616; --on-gold:#062419;
  --gold-d:#C9A24B; --gold-2-d:#E3C677; --on-gold-d:#062419;
  --ok:#5CD39A; --ok-soft:#133224; --warn:#F2C46B; --warn-soft:#2E2612;
  --bad:#FF8A8A; --bad-soft:#3A1717; --up:#5CD39A; --down:#FF8A8A; --violet:#B9AEF0;
  --bg:#07150F; --paper:#07150F; --surface:#0E1F18; --surface-2:#132820;
  --line:#22382F; --line-2:#2F4A3E;
  --ink:#F2F5F3; --ink-2:#C9D6CF; --mute:#9DB2A7;
  --sh1:0 1px 2px rgba(0,0,0,.4); --sh2:0 14px 30px -18px rgba(0,0,0,.7);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --brand:#17795A; --brand-2:#1E8A62; --brand-base:#0B3D2E; --brand-soft:#15302A;
    --on-brand:#FFFFFF; --ring:0 0 0 4px rgba(227,198,119,.25);
    --gold:#C9A24B; --gold-2:#E3C677; --gold-soft:#2A2616; --on-gold:#062419;
    --gold-d:#C9A24B; --gold-2-d:#E3C677; --on-gold-d:#062419;
    --ok:#5CD39A; --ok-soft:#133224; --warn:#F2C46B; --warn-soft:#2E2612;
    --bad:#FF8A8A; --bad-soft:#3A1717; --up:#5CD39A; --down:#FF8A8A; --violet:#B9AEF0;
    --bg:#07150F; --paper:#07150F; --surface:#0E1F18; --surface-2:#132820;
    --line:#22382F; --line-2:#2F4A3E;
    --ink:#F2F5F3; --ink-2:#C9D6CF; --mute:#9DB2A7;
    --sh1:0 1px 2px rgba(0,0,0,.4); --sh2:0 14px 30px -18px rgba(0,0,0,.7);
  }
}
/* Buttons: one clear style. Primary = solid green with white text, gold = solid gold with dark text,
   secondary = white with a green border and green text, danger = red with white text. */
.btn{background:var(--brand);color:var(--on-brand);border:1px solid var(--brand);font-weight:650;text-shadow:none}
.btn:hover{background:var(--brand-2);border-color:var(--brand-2);color:var(--on-brand)}
.btn.gold,.btn.btn-gold{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}
.btn.gold:hover,.btn.btn-gold:hover{background:var(--gold-2);border-color:var(--gold-2);color:var(--on-gold)}
.btn.secondary{background:var(--surface);color:var(--brand);border:1.5px solid var(--brand)}
.btn.secondary:hover{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}
.btn.ghost{background:transparent;color:var(--brand);border:1px solid transparent}
.btn.ghost:hover{background:var(--brand-soft);color:var(--brand)}
.btn.danger{background:#B42323;color:#FFFFFF;border:1px solid #B42323}
.btn.danger:hover{background:#9A1C1C;border-color:#9A1C1C;color:#FFFFFF}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.55}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.sidebar .newbtn{background:var(--gold);color:var(--on-gold);font-weight:700}
.sidebar .newbtn:hover{background:var(--gold-2);color:var(--on-gold)}
/* Text and links: always readable on the surfaces they sit on */
a{color:var(--brand)}
[data-theme="dark"] a{color:var(--gold-2)}
body,.card,.panel,.tile,.table-wrap{color:var(--ink)}
th{color:var(--ink-2)}
/* Forced palette for the surfaces that were still showing the old olive-gold look. */
.hero{background:radial-gradient(120% 140% at 0% 0%,#0F5C44 0%,#0B3D2E 46%,#062419 100%)!important}
.sidebar{background:linear-gradient(180deg,#0B3D2E,#062419)!important}
.sidebar .newbtn{background:#C9A24B!important;color:#062419!important}
.sidebar .navlink.on{background:rgba(201,162,75,.18)!important}
.tile .si{background:#E6F0EB!important;color:#0B3D2E!important}
/* Sign-in page and hero: deep green panels with a subtle gold glow, matching the website. */
.auth-panel{background:radial-gradient(130% 120% at 0% 0%,#0F5C44 0%,#0B3D2E 46%,#062419 100%)!important}
.auth-panel::before,.auth-panel::after,.hero::before,.hero::after{background:radial-gradient(circle,rgba(201,162,75,.16),transparent 70%)!important}
body.in-auth{background:#FAF8F3!important}
/* Primary buttons: solid brand green with white text. Other button styles keep their own look. */
.btn:not(.secondary):not(.ghost):not(.danger):not(.gold):not(.btn-gold):not(.google):not(.btn-glass):not(.small){background:#0B3D2E!important;color:#FFFFFF!important;border-color:#0B3D2E!important}
