:root{--bg:#071019;--panel:#0d1a26;--panel2:#132433;--text:#f4f7f6;--muted:#91a1ae;--brand:#21c7ad;--brand2:#087e70;--gold:#e9aa36;--danger:#ef626f;--line:#213545;--shadow:0 18px 45px #00000045}
body{background:radial-gradient(circle at 50% -180px,#123b3b 0,#071019 430px);letter-spacing:-.01em}body.light{--bg:#f2f6f4;--panel:#fff;--panel2:#eaf1ee;--text:#142129;--muted:#687782;--brand:#0da88f;--brand2:#08796d;--gold:#c98921;--danger:#cf4655;--line:#d5e0dc;--shadow:0 14px 35px #183c3420;background:linear-gradient(180deg,#eef6f3,#f7f9f8 420px)}
header{background:#071019e8}body.light header{background:#f2f6f4e8}.ticker{background:#0a242c;border-color:#1c4e52}.ticker div{color:#a3f2df}body.light .ticker{background:#dcefeb}body.light .ticker div{color:#176b62}
.dashboard-banner{position:relative;isolation:isolate;min-height:180px;border:1px solid #3fe0c633;background-color:#123548;background-size:cover;background-position:center;box-shadow:0 20px 45px #05251f35}.dashboard-banner:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:transparent}.dashboard-banner b,.dashboard-banner small{color:#fff!important;text-shadow:0 2px 14px #000b}.dashboard-banner b{max-width:520px;font-weight:800;letter-spacing:-.035em}
.hero{background:linear-gradient(135deg,#075f57,#12394b);border:1px solid #52e5ce33;box-shadow:0 20px 45px #062f2935;color:#fff}.hero small,.hero h2,.hero b{color:#fff}.hero-grid span{background:#ffffff10;border:1px solid #ffffff12}.period-tabs{gap:7px}.period-tabs button{border-radius:13px;font-weight:650}.period-tabs button.active{background:#087e70;color:#fff;box-shadow:inset 0 0 0 1px #59e6cf55}
.module-grid{gap:12px}.module-grid button{min-height:142px;padding:20px!important;background:linear-gradient(145deg,var(--panel),var(--panel2))!important;border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 28px #00000012}.module-grid button:before{display:none}.module-grid svg{width:31px;height:31px;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:var(--brand)!important;filter:none!important;stroke-width:1.75}.module-grid button:nth-child(n) svg{color:var(--brand)!important;background:none!important;filter:none!important}.module-grid b{font-size:17px;margin-top:20px}.module-grid small{font-size:12px;margin-top:5px}.module-grid button:after{content:"";position:absolute;right:18px;top:19px;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 14%,transparent)}
.record-card{background:var(--panel);border-radius:18px;box-shadow:0 10px 25px #0000000c}.empty-pro{background:var(--panel);border:1px dashed color-mix(in srgb,var(--brand) 45%,var(--line));min-height:190px;color:var(--muted)}.empty-pro svg{display:none}.empty-pro b{font-size:18px}.status-chip{background:#159f8a18;color:var(--brand2)}.status-chip.paid{background:#118d7418;color:#0b8a72}.status-chip.partial{background:#c9892118;color:#b37617}.status-chip.overdue{background:#cf465518;color:#c33b49}
.section-title button,.finance-actions button:first-child,#savePersonalize{background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 9px 22px #0a8d7925}.settings-list button{position:relative;padding:17px 18px;background:var(--panel);border-radius:17px}.settings-list button:after{content:"›";position:absolute;right:18px;color:var(--muted);font-size:22px;top:50%;transform:translateY(-52%)}.settings-list .danger-zone{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line));margin-top:12px}.settings-list .danger-zone:before{content:"Backup R2 wajib • PIN reset khusus";display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.settings-list .danger{border-color:transparent}
#fab{display:none!important}.section-title button[data-open="transaction"]{font-weight:800}.privacy-on .amount,.privacy-on .money,.privacy-on #balance,.privacy-on #income,.privacy-on #expense,.privacy-on .hero h2,.privacy-on .account-pill b,.privacy-on .hero-grid b{color:transparent!important;text-shadow:0 0 12px color-mix(in srgb,var(--text) 70%,transparent);user-select:none}
.activity-card{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start}.activity-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#18af9417;color:var(--brand);font-weight:900}.activity-copy b,.activity-copy small{display:block}.activity-copy small{margin-top:5px;color:var(--muted)}.activity-copy time{display:block;color:var(--muted);font-size:10px;margin-top:8px}.reset-warning{border:1px solid #ef626f55;background:#ef626f0d;border-radius:16px;padding:14px;margin:14px 0}.reset-warning b,.reset-warning small{display:block}.reset-warning small{color:var(--muted);margin-top:6px;line-height:1.45}
nav{background:#08141ff2}body.light nav{background:#fffffff2}nav button.active{color:var(--brand)}@media(max-width:380px){.module-grid button{min-height:128px;padding:16px!important}.module-grid b{margin-top:15px}.dashboard-banner{min-height:155px}}
.setup-balance{background:var(--panel)!important;box-shadow:none}.module-action{display:flex;justify-content:flex-end;margin:16px 0 10px}.module-action button{border:0;border-radius:13px;padding:11px 15px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:800;box-shadow:0 9px 22px #0a8d7925}.module-action button:active{transform:scale(.98)}
