
:root{--brand:#087f5b;--brand-dark:#075b46;--ink:#1f2937;--muted:#64748b;--line:#e5eaf0;--surface:#fff;--bg:#f3f7f6}
*{box-sizing:border-box}
body{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif!important;background:radial-gradient(circle at top left,#e3f5ee 0,transparent 34%),var(--bg)!important;color:var(--ink);font-size:15px;line-height:1.55}
.navbar{background:linear-gradient(115deg,#087f5b,#0b6654 62%,#174e63)!important;padding:15px 0;box-shadow:0 8px 24px rgba(5,70,54,.16);margin-bottom:30px!important}
.navbar .container{gap:16px}
.navbar-brand{font-size:1.22rem;letter-spacing:-.3px;color:#fff!important}
.navbar-brand i{background:rgba(255,255,255,.16);padding:10px;border-radius:12px}
.navbar-nav{align-items:center;gap:5px}
.navbar .nav-link{color:rgba(255,255,255,.82)!important;padding:9px 13px!important;border-radius:10px;transition:.2s;font-size:.92rem}
.navbar .nav-link:hover,.navbar .nav-link.active{background:rgba(255,255,255,.16);color:#fff!important}
.navbar .btn-outline-light{border-color:rgba(255,255,255,.55);border-radius:10px;padding:8px 14px;font-weight:600}
.container{max-width:1180px}
.card{border:1px solid rgba(226,232,240,.85)!important;border-radius:18px!important;background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(15,46,40,.055)!important}
.card.p-4{padding:clamp(18px,3vw,28px)!important}
h4,h5{letter-spacing:-.35px;color:#172b2a}
h5{font-size:1.12rem}
.form-label{font-weight:650;color:#344b48;font-size:.9rem;margin-bottom:7px}
.form-control,.form-select{min-height:44px;border:1px solid #dbe5e2;border-radius:11px;padding:10px 13px;background-color:#fff;transition:border-color .2s,box-shadow .2s}
.form-control:focus,.form-select:focus{border-color:#39a987;box-shadow:0 0 0 .22rem rgba(8,127,91,.12)}
textarea.form-control{min-height:100px}
.btn{border-radius:10px;font-weight:650;padding:9px 15px;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(15,23,42,.09)}
.btn-primary,.btn-success{background:linear-gradient(120deg,#07845e,#0b6c59)!important;border-color:#08765a!important}
.btn-danger{border-color:#dc5260}
.btn-warning{color:#493600}
.table{--bs-table-bg:transparent;margin-bottom:0;vertical-align:middle}
.table thead th{background:#edf6f2;color:#31564c;border-bottom:1px solid #dcebe5;font-size:.82rem;text-transform:uppercase;letter-spacing:.35px;white-space:nowrap;padding:13px 12px}
.table tbody td{padding:12px;border-color:#edf1f0}
.table tbody tr:hover>*{background:#f7fbf9}
.table-responsive{border:1px solid #e7eeeb;border-radius:13px}
.alert{border:0;border-radius:12px}
.badge{border-radius:8px;padding:6px 9px}
hr{border-color:#e5eeea;opacity:1}
body > .container{padding-bottom:38px}
body.bg-light.d-flex{background:linear-gradient(135deg,#e3f5ee 0%,#f5f8fb 48%,#dcefeb 100%)!important}
body.bg-light.d-flex .container{max-width:100%}
body.bg-light.d-flex .row{min-height:100vh;align-items:center}
body.bg-light.d-flex .col-md-4{width:min(100%,440px)}
body.bg-light.d-flex .card{padding:34px!important;border-radius:24px!important;box-shadow:0 22px 65px rgba(9,75,59,.13)!important}
body.bg-light.d-flex h4{font-size:1.65rem;margin-bottom:8px!important}
body.bg-light.d-flex h4:before{content:"";display:block;width:58px;height:58px;margin:0 auto 18px;border-radius:18px;background:linear-gradient(135deg,#07845e,#174e63);box-shadow:0 8px 18px rgba(8,127,91,.22)}
body.bg-light.d-flex h4:after{content:"";display:block;width:28px;height:28px;position:absolute;top:calc(50% - 192px);left:calc(50% - 14px);background:transparent}
@media(max-width:767px){.navbar{padding:12px 0}.navbar .container{align-items:flex-start;flex-direction:column}.navbar-nav{align-items:flex-start;flex-wrap:wrap}.navbar .nav-link{padding:7px 10px!important}.container{padding-left:14px;padding-right:14px}.card{border-radius:14px!important}.table thead th,.table tbody td{padding:10px 9px}.btn{padding:8px 12px}}

/* Ringkasan saldo */
.summary-card{border:0;border-radius:18px;padding:1.35rem;color:#fff;box-shadow:0 10px 28px rgba(15,23,42,.09);overflow:hidden;position:relative}
.summary-income{background:linear-gradient(135deg,#059669,#10b981)}.summary-expense{background:linear-gradient(135deg,#dc2626,#f87171)}.summary-balance{background:linear-gradient(135deg,#1d4ed8,#38bdf8)}
.summary-label{font-size:.9rem;font-weight:600;opacity:.9;margin-bottom:.35rem}.summary-value{font-size:clamp(1.25rem,2vw,1.8rem);font-weight:800;letter-spacing:-.03em;line-height:1.3}.summary-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.2);font-size:1.45rem;margin-left:12px}

/* Paksa warna kartu ringkasan agar tidak ditimpa aturan .card Bootstrap */
.card.summary-card{color:#fff!important;border:0!important;background-clip:padding-box!important;box-shadow:0 12px 30px rgba(15,23,42,.16)!important}
.card.summary-card.summary-income{background:linear-gradient(135deg,#047857 0%,#10b981 100%)!important}
.card.summary-card.summary-expense{background:linear-gradient(135deg,#b91c1c 0%,#ef4444 100%)!important}
.card.summary-card.summary-balance{background:linear-gradient(135deg,#1d4ed8 0%,#38bdf8 100%)!important}
.card.summary-card .summary-label,.card.summary-card .summary-value,.card.summary-card small,.card.summary-card .summary-icon{color:#fff!important}
.card.summary-card .summary-icon{background:rgba(255,255,255,.22)!important;border:1px solid rgba(255,255,255,.18)}
