/* Chen Wealth Sacco System: premium theme layer (loads after app.css) */
:root{
  --brand:#0f7a4a;--brand-2:#19a866;--brand-soft:#e2f4ea;--gold:#c8962b;--gold-2:#e8bd5a;--navy:#062e22;
  --bg:#f3f7f5;--surface:#fff;--surface-2:#f5faf7;--ink:#0f2a22;--ink-2:#33504a;--mute:#62807a;--line:#dfe9e4;--line-2:#c9dbd2;
  --ok:#0b8f60;--violet:#b9831c;--teal:#0e9f9a;--r:16px;--r-lg:22px;
  --sh1:0 1px 2px rgba(6,46,34,.06),0 1px 1px rgba(6,46,34,.04);--sh2:0 14px 34px -14px rgba(6,46,34,.28),0 2px 8px rgba(6,46,34,.06);
  --ring:0 0 0 4px rgba(15,122,74,.22);--side:272px;--rail:84px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#06130f;--surface:#0c1f19;--surface-2:#102a22;--ink:#e9f6f0;--ink-2:#bfd8cd;--mute:#85a59a;--line:#183a2f;--line-2:#245144;
  --brand:#34d399;--brand-2:#6ee7b7;--brand-soft:#0f3a2c;--on-brand:#04281c;--ring:0 0 0 4px rgba(52,211,153,.28)}}
:root[data-theme="dark"]{
  --bg:#06130f;--surface:#0c1f19;--surface-2:#102a22;--ink:#e9f6f0;--ink-2:#bfd8cd;--mute:#85a59a;--line:#183a2f;--line-2:#245144;
  --brand:#34d399;--brand-2:#6ee7b7;--brand-soft:#0f3a2c;--on-brand:#04281c;--ring:0 0 0 4px rgba(52,211,153,.28)}
body{background:radial-gradient(1200px 500px at 85% -10%,color-mix(in srgb,var(--brand) 9%,transparent),transparent 60%),var(--bg)}

/* ---- Buttons, cards, tables */
.btn:not(.secondary){background:linear-gradient(135deg,var(--brand-2),var(--brand));color:var(--on-brand,#fff);box-shadow:0 8px 18px -8px color-mix(in srgb,var(--brand) 70%,transparent)}
.btn:not(.secondary):hover{filter:brightness(1.06);transform:translateY(-1px)}
.card{border-radius:var(--r);border-color:var(--line)}
.stat{border-radius:var(--r)}.stat::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gold) 20%,transparent),transparent 70%);pointer-events:none}
.stat .si{background:linear-gradient(135deg,var(--brand-soft),color-mix(in srgb,var(--brand-soft) 40%,var(--surface)))}
.hero{background:radial-gradient(120% 140% at 0% 0%,#14a566 0%,#0b6b44 45%,#052d21 100%)}
.hero::after{background:radial-gradient(circle,rgba(232,189,90,.55),transparent 70%)}
.pagehead h1{letter-spacing:-.02em}.pagehead-icon{background:linear-gradient(135deg,var(--brand-soft),var(--surface));color:var(--brand);border:1px solid var(--line)}
table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);font-weight:700;background:var(--surface-2);position:sticky;top:0}
table tbody tr{transition:background .12s}table tbody tr:hover{background:color-mix(in srgb,var(--brand-soft) 55%,transparent)}
.pill.ok{background:var(--ok-soft);color:var(--ok)}

/* ---- Sidebar: deep green, gold accent */
.sidebar{background:linear-gradient(185deg,#08402f 0%,#052b20 70%,#04231a 100%);border-right:0;color:#fff;width:var(--side);box-shadow:6px 0 30px -18px rgba(0,0,0,.5)}
.sidebar .brand{color:#fff;padding:8px 8px 20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:4px;font-size:1.12rem}
.sidebar .brand strong{color:var(--gold-2)}.sidebar .brand small{color:rgba(255,255,255,.55)}
.sidebar .navlabel{color:rgba(255,255,255,.42)}
.sidebar .navlink{color:rgba(255,255,255,.75);border-radius:12px}
.sidebar .navlink svg{opacity:.85}
.sidebar .navlink:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(2px)}
.sidebar .navlink.on{background:linear-gradient(90deg,rgba(232,189,90,.2),rgba(255,255,255,.06));color:#fff}
.sidebar .navlink.on svg{color:var(--gold-2);opacity:1}.sidebar .navlink.on::before{background:var(--gold-2);left:-14px}
.sidebar .sidecard{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);color:#fff}.sidebar .sidecard>div>span{color:rgba(255,255,255,.6)}
.sidebar .installbtn{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}
.collapse-btn{display:none;align-items:center;justify-content:center;gap:8px;margin:14px 0 10px;min-height:40px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:transparent;color:rgba(255,255,255,.75);font:inherit;font-size:.82rem;cursor:pointer}
.collapse-btn:hover{background:rgba(255,255,255,.09);color:#fff}.collapse-btn svg{transition:transform .25s}

/* ---- Top bar */
.topbar{box-shadow:0 1px 0 var(--line),0 10px 24px -22px rgba(6,46,34,.5)}
.searchbar{display:none;align-items:center;gap:10px;min-width:320px;max-width:460px;flex:1;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--mute);font:inherit;font-size:.9rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.searchbar:hover{border-color:var(--brand);box-shadow:var(--ring)}.searchbar kbd{margin-left:auto;padding:1px 8px;border:1px solid var(--line-2);border-radius:6px;font:inherit;font-size:.75rem;background:var(--surface)}
.me{border:1px solid var(--line);background:var(--surface-2);padding-right:12px}

/* ---- Desktop and large screens */
@media (min-width:980px){
  .sidebar{width:var(--side)}
  .topbar{margin-left:var(--side);min-height:68px;padding-left:32px;padding-right:32px;transition:margin .25s var(--ease)}
  .content{margin-left:var(--side);padding:32px 40px 56px;transition:margin .25s var(--ease)}
  .searchbar{display:flex}.topbar [data-search-open].iconbtn{display:none}
  .collapse-btn{display:flex}
  .topbar .brandline{display:none}
  .stats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
}
@media (min-width:1280px){.content>*{max-width:1400px}.content{padding:34px 48px 64px}.split{grid-template-columns:1.5fr 1fr}.stats{gap:18px}}
@media (min-width:1700px){.content>*{max-width:1640px}.card{padding:24px}}
@media (min-width:2200px){.content>*{max-width:1900px}html{font-size:17px}}

/* ---- Collapsed rail (desktop) */
@media (min-width:980px){
  html.nav-collapsed .sidebar{width:var(--rail);padding-left:12px;padding-right:12px;overflow-x:hidden}
  html.nav-collapsed .topbar,html.nav-collapsed .content{margin-left:var(--rail)}
  html.nav-collapsed .sidebar .brand>span,html.nav-collapsed .sidebar .navlink span,html.nav-collapsed .sidebar .sidecard>div,html.nav-collapsed .sidebar .installbtn,html.nav-collapsed .collapse-btn span{display:none}
  html.nav-collapsed .sidebar .brand{justify-content:center;padding-left:0;padding-right:0}
  html.nav-collapsed .sidebar .navlink{justify-content:center;padding:9px 0}
  html.nav-collapsed .sidebar .navlabel{font-size:0;height:1px;margin:10px 8px;background:rgba(255,255,255,.12);padding:0}
  html.nav-collapsed .sidebar .sidecard{justify-content:center;padding:8px}
  html.nav-collapsed .collapse-btn svg{transform:rotate(180deg)}
}

/* ---- Sign-in screen */
.auth-panel{background:radial-gradient(130% 120% at 0% 0%,#17a867 0%,#0a5f3e 42%,#04261c 100%)}
.auth-panel .onbrand,.auth-panel strong{color:var(--gold-2)}
.auth-card{border-radius:var(--r-lg);box-shadow:var(--sh2)}
