/* Ubunifu Sacco System: premium theme layer (loads after app.css) */
:root{
  --brand-2:#D92D20;--brand-soft:#FEF3F2;--gold:#E9C46A;--gold-2:#F4E3A1;--navy:#101828;
  --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::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 */

/* ---- 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){
  .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}
  .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){
}

/* ---- 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)}

/* amount columns on reports */
.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.dash{color:var(--mute)}
.tb-table td:first-child,.tb-table th:first-child{width:1%;white-space:nowrap}
.export-row{margin:0 0 10px;display:flex;gap:8px;flex-wrap:wrap}

/* ---- Phones and tablets: keep the logo and SACCO name readable in the top bar */
@media (max-width:979px){
  .topbar{gap:2px;padding-left:8px;padding-right:8px}
  .topbar .iconbtn{min-width:40px;width:40px;min-height:40px;height:40px}
  .topbar .brandline{flex:1 1 auto;gap:8px;min-width:0;margin-left:2px}
  .topbar .brandline .brandlogo{flex:none;max-height:38px;max-width:46px;width:auto;object-fit:contain;background:#fff;border-radius:10px;padding:2px;box-shadow:0 0 0 1px var(--line)}
  .topbar .org{min-width:0;font-size:.98rem;letter-spacing:-.01em}
  .topbar .org small{display:none}
  .topbar .spacer{flex:0 0 0}
}
