/* ============================================================
   SIKEU BUMDes v1.3 - Tema "Loh Jinawi" (aplikasi & login)
   Dimuat SETELAH style.css. Aturan cetak (@media print) tidak diubah.
   ============================================================ */
:root {
  --brand: #1b7a63; --brand-dark: #145a4a; --brand-darker: #0e3a34; --brand-soft: #e2efe9;
  --pd-950: #0a2a26; --pd-900: #0e3a34; --pd-100: #e2efe9;
  --gold: #e8a921; --gold-hi: #f4c04e; --gold-ink: #8a5a00;
  --bg: #f3f6f4; --line: #dde5e0; --ink: #15251f; --muted: #587068;
  --card-radius: 12px; --sidebar-w: 256px;
  --font-display: 'Bricolage Grotesque', 'Segoe UI', system-ui, sans-serif;
  --font-body: 'Plus Jakarta Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
}
body { font-family: var(--font-body); background: var(--bg); color: var(--ink); font-size: .92rem; }
h1, h2, h3, h4, .page-title, .stat-value { font-family: var(--font-display); letter-spacing: -.01em; }
a { color: var(--brand); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }

/* ---------- Sidebar ---------- */
/* Bootstrap memaksa background-color:transparent!important pada .offcanvas-lg (layar lebar),
   jadi warna sidebar dibuat lewat background-image agar tidak terhapus. */
.app-sidebar, .app-sidebar.offcanvas-lg {
  background-color: var(--pd-950);
  background-image: linear-gradient(180deg, #0a2a26 0%, #0c322d 100%);
  color: #dbe9e3;
}
.sidebar-brand { border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-badge { background: var(--gold); color: var(--pd-950); box-shadow: none; border-radius: 10px; }
.brand-badge-lg { background: var(--gold); color: var(--pd-950); box-shadow: none; border-radius: 16px; }
.text-sidebar-muted { color: #8fb0a4; }
.sidebar-heading { text-transform: none; letter-spacing: 0; font-size: .78rem; font-weight: 600; color: #7fa294; padding: 20px 22px 6px; }
.app-sidebar .nav-link { color: #c9ddd5; border-radius: 8px; margin: 1px 12px; padding: 8px 12px; position: relative; }
.app-sidebar .nav-link:hover { background: rgba(255,255,255,.06); color: #fff; }
.app-sidebar .nav-link.active { background: rgba(232,169,33,.14); color: #fff; box-shadow: none; font-weight: 600; }
.app-sidebar .nav-link.active::before {
  content: ''; position: absolute; left: -12px; top: 8px; bottom: 8px; width: 4px;
  border-radius: 0 4px 4px 0; background: var(--gold);
}
.app-sidebar .nav-link.active i { color: var(--gold-hi); }
.sidebar-foot { color: #7fa294; border-top: 1px solid rgba(255,255,255,.08); }

/* ---------- Topbar ---------- */
.app-topbar { background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); }
.page-title { font-size: 1.2rem; font-weight: 700; }
.page-sub { color: var(--muted); }
.avatar { background: var(--pd-900); color: var(--gold-hi); }
.user-chip { border-color: var(--line); }

/* ---------- Kartu ---------- */
.card { border: 1px solid var(--line); border-radius: var(--card-radius); box-shadow: 0 1px 2px rgba(10,42,38,.04); }
.card-header { border-bottom: 1px solid var(--line); font-family: var(--font-display); font-weight: 700; }

/* Kartu statistik dashboard: ikon tonal, bukan gradasi warna-warni */
.stat-card::after { display: none; }
.stat-card .stat-icon { width: 42px; height: 42px; border-radius: 10px; font-size: 20px; background: var(--pd-100) !important; color: var(--brand); }
.stat-card .stat-label { text-transform: none; letter-spacing: 0; font-size: .82rem; font-weight: 600; color: var(--muted); }
.stat-card .stat-value { font-weight: 700; font-variant-numeric: tabular-nums; }
.stat-card .stat-sub { color: var(--muted); }

/* Persamaan akuntansi */
.eq-strip { background: var(--pd-900); border-radius: var(--card-radius); color: #e6f1ec; }
.eq-strip .eq-item b { color: var(--gold-hi); font-family: var(--font-display); font-variant-numeric: tabular-nums; }
.eq-strip .eq-op { color: var(--gold); opacity: 1; }

/* ---------- Tabel ---------- */
.table { --bs-table-hover-bg: #f3f8f5; }
.table thead th { text-transform: none; letter-spacing: 0; font-size: .8rem; font-weight: 700; color: var(--muted); background: #f8faf9; }
.table-sticky thead th { background: #f8faf9; }
.row-total td { border-top: 2px solid var(--pd-900) !important; }

/* ---------- Form & tombol ---------- */
.form-control, .form-select { border-radius: 8px; border-color: #cfdad4; }
.form-control:focus, .form-select:focus { border-color: var(--brand); box-shadow: 0 0 0 .2rem rgba(27,122,99,.18); }
.btn { border-radius: 8px; font-weight: 600; }
.btn-success { background: var(--brand); border-color: var(--brand); }
.btn-success:hover, .btn-success:focus { background: var(--brand-dark); border-color: var(--brand-dark); }
.btn-outline-success { color: var(--brand); border-color: var(--brand); }
.btn-outline-success:hover { background: var(--brand); border-color: var(--brand); }
.form-label { color: #2b3f37; }
.total-bar { background: #f8faf9; border: 1px solid var(--line); border-radius: 10px; }
.total-bar .balanced { color: var(--brand); }
.unit-chip { background: #eef3f0; }
.setting-group-title { text-transform: none; letter-spacing: 0; font-size: .9rem; color: var(--ink); border-bottom: 1px solid var(--line); }
.app-footer { color: var(--muted); }
.empty-state { color: var(--muted); }

/* ---------- Login: sawah terasering ---------- */
.login-wrap { background: var(--pd-950) url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201440%20640'%20preserveAspectRatio='xMidYMax%20slice'%3E%3Cpath%20d='M-20%20120%20C64%2094%20136%20110%20220%20120%20C304%20146%20376%20130%20460%20120%20C544%2094%20616%20110%20700%20120%20C784%20146%20856%20130%20940%20120%20C1024%2094%201096%20110%201180%20120%20C1264%20146%201336%20130%201420%20120%20C1504%2094%201576%20110%201660%20120'%20fill='none'%20stroke='%23ffffff'%20stroke-opacity='0.14'%20stroke-width='1.2'/%3E%3Cpath%20d='M-20%20166%20C64%20137%20136%20154%20220%20166%20C304%20195%20376%20178%20460%20166%20C544%20137%20616%20154%20700%20166%20C784%20195%20856%20178%20940%20166%20C1024%20137%201096%20154%201180%20166%20C1264%20195%201336%20178%201420%20166%20C1504%20137%201576%20154%201660%20166'%20fill='none'%20stroke='%23ffffff'%20stroke-opacity='0.14'%20stroke-width='1.2'/%3E%3Cpath%20d='M-20%20212%20C64%20180%20136%20199%20220%20212%20C304%20244%20376%20225%20460%20212%20C544%20180%20616%20199%20700%20212%20C784%20244%20856%20225%20940%20212%20C1024%20180%201096%20199%201180%20212%20C1264%20244%201336%20225%201420%20212%20C1504%20180%201576%20199%201660%20212'%20fill='none'%20stroke='%23ffffff'%20stroke-opacity='0.14'%20stroke-width='1.2'/%3E%3Cpath%20d='M-20%20258%20C64%20223%20136%20244%20220%20258%20C304%20293%20376%20272%20460%20258%20C544%20223%20616%20244%20700%20258%20C784%20293%20856%20272%20940%20258%20C1024%20223%201096%20244%201180%20258%20C1264%20293%201336%20272%201420%20258%20C1504%20223%201576%20244%201660%20258'%20fill='none'%20stroke='%23ffffff'%20stroke-opacity='0.14'%20stroke-width='1.2'/%3E%3Cpath%20d='M-20%20304%20C64%20266%20136%20289%20220%20304%20C304%20342%20376%20319%20460%20304%20C544%20266%20616%20289%20700%20304%20C784%20342%20856%20319%20940%20304%20C1024%20266%201096%20289%201180%20304%20C1264%20342%201336%20319%201420%20304%20C1504%20266%201576%20289%201660%20304'%20fill='none'%20stroke='%23e8a921'%20stroke-opacity='0.38'%20stroke-width='1.6'/%3E%3Cpath%20d='M-20%20350%20C64%20309%20136%20334%20220%20350%20C304%20391%20376%20366%20460%20350%20C544%20309%20616%20334%20700%20350%20C784%20391%20856%20366%20940%20350%20C1024%20309%201096%20334%201180%20350%20C1264%20391%201336%20366%201420%20350%20C1504%20309%201576%20334%201660%20350'%20fill='none'%20stroke='%23ffffff'%20stroke-opacity='0.14'%20stroke-width='1.2'/%3E%3Cpath%20d='M-20%20396%20C64%20352%20136%20378%20220%20396%20C304%20440%20376%20414%20460%20396%20C544%20352%20616%20378%20700%20396%20C784%20440%20856%20414%20940%20396%20C1024%20352%201096%20378%201180%20396%20C1264%20440%201336%20414%201420%20396%20C1504%20352%201576%20378%201660%20396'%20fill='none'%20stroke='%23ffffff'%20stroke-opacity='0.14'%20stroke-width='1.2'/%3E%3Cpath%20d='M-20%20442%20C64%20395%20136%20423%20220%20442%20C304%20489%20376%20461%20460%20442%20C544%20395%20616%20423%20700%20442%20C784%20489%20856%20461%20940%20442%20C1024%20395%201096%20423%201180%20442%20C1264%20489%201336%20461%201420%20442%20C1504%20395%201576%20423%201660%20442'%20fill='none'%20stroke='%23ffffff'%20stroke-opacity='0.14'%20stroke-width='1.2'/%3E%3Cpath%20d='M-20%20488%20C64%20438%20136%20468%20220%20488%20C304%20538%20376%20508%20460%20488%20C544%20438%20616%20468%20700%20488%20C784%20538%20856%20508%20940%20488%20C1024%20438%201096%20468%201180%20488%20C1264%20538%201336%20508%201420%20488%20C1504%20438%201576%20468%201660%20488'%20fill='none'%20stroke='%23ffffff'%20stroke-opacity='0.14'%20stroke-width='1.2'/%3E%3Cpath%20d='M-20%20534%20C64%20481%20136%20513%20220%20534%20C304%20587%20376%20555%20460%20534%20C544%20481%20616%20513%20700%20534%20C784%20587%20856%20555%20940%20534%20C1024%20481%201096%20513%201180%20534%20C1264%20587%201336%20555%201420%20534%20C1504%20481%201576%20513%201660%20534'%20fill='none'%20stroke='%23ffffff'%20stroke-opacity='0.14'%20stroke-width='1.2'/%3E%3Cpath%20d='M-20%20580%20C64%20524%20136%20558%20220%20580%20C304%20636%20376%20602%20460%20580%20C544%20524%20616%20558%20700%20580%20C784%20636%20856%20602%20940%20580%20C1024%20524%201096%20558%201180%20580%20C1264%20636%201336%20602%201420%20580%20C1504%20524%201576%20558%201660%20580'%20fill='none'%20stroke='%23ffffff'%20stroke-opacity='0.14'%20stroke-width='1.2'/%3E%3C/svg%3E") center bottom / cover no-repeat; }
.login-wrap > .w-100 > .row { border-radius: 18px !important; box-shadow: 0 40px 80px -30px rgba(0,0,0,.6) !important; }
.login-wrap .col-md-5 { background: var(--pd-900) !important; backdrop-filter: none !important; border-right: 3px solid var(--gold); }
.login-wrap .btn-success { background: var(--gold); border-color: var(--gold); color: #231800; }
.login-wrap .btn-success:hover { background: var(--gold-hi); border-color: var(--gold-hi); color: #231800; }
.login-wrap .form-control:focus { border-color: var(--gold); box-shadow: 0 0 0 .2rem rgba(232,169,33,.25); }
.login-wrap .input-group-text { border-color: #cfdad4; }

@media (max-width: 575.98px) { .page-title { font-size: 1.05rem; } }
