:root{--bg:#06100b;--panel:#0d1812;--panel2:#101c16;--line:#203229;--text:#eef5f0;--muted:#98aaa0;--accent:#d9ae42;--accent2:#f0cc67;--green:#73d6a0;--danger:#efaaa2;--shadow:0 20px 55px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 0%,rgba(217,174,66,.07),transparent 30%),linear-gradient(180deg,#07110d,#06100b 55%,#07100b);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 36px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(6,16,11,.85);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-badge{width:40px;height:40px;border:1px solid rgba(217,174,66,.5);display:grid;place-items:center;border-radius:12px;color:var(--accent2);font-weight:800}.brand strong{display:block;letter-spacing:.08em;font-size:14px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.14em;margin-top:3px}.main-nav{display:flex;gap:22px;color:#c7d2cc;font-size:13px}.main-nav a:hover{color:var(--accent2)}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:24px}
.hero{padding:42px 0 18px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:12px;align-items:center;min-height:580px}.hero-copy{padding:30px 0}.eyebrow{font-size:11px;letter-spacing:.18em;color:#a7b9af;font-weight:800}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.02;margin:15px 0 18px;letter-spacing:-.045em}.hero h1 span{display:block;color:var(--accent2)}.lead{max-width:650px;color:#b6c4bd;line-height:1.8;font-size:16px}.balance-panel{margin-top:30px;padding:22px 24px;border:1px solid #293b31;background:linear-gradient(135deg,rgba(20,35,27,.96),rgba(8,18,13,.92));border-radius:20px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:20px}.balance-label{font-size:12px;color:#9ab0a4;letter-spacing:.18em;font-weight:900}.balance-value{font-size:clamp(36px,5vw,58px);font-weight:900;letter-spacing:-.04em;color:#f4dc8b;margin:7px 0}.balance-caption{color:#82968c;font-size:12px}.balance-chip{align-self:flex-start;padding:8px 11px;border:1px solid rgba(217,174,66,.45);border-radius:999px;color:var(--accent2);font-size:10px;font-weight:900;letter-spacing:.14em}.hero-actions{display:flex;gap:12px;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:12px 16px;font-weight:800;font-size:13px;cursor:pointer;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,#d6a93c,#f0cf76);color:#151208}.btn-outline{background:transparent;border-color:#33453a;color:#dbe4df}.btn-small{padding:10px 13px;background:#102018;color:#dce7e0;border-color:#2c3c33}.hero-art{position:relative;height:580px;display:flex;justify-content:center;align-items:flex-end}.hero-art img{position:relative;z-index:2;max-height:590px;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 30px 60px rgba(0,0,0,.35))}.hero-glow{position:absolute;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(217,174,66,.18),transparent 65%);top:100px;left:50%;transform:translateX(-50%)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:10px auto 30px}.stat-card{padding:18px;background:linear-gradient(180deg,#0d1913,#0b1510);border:1px solid var(--line);border-radius:18px}.stat-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#15231b;color:var(--accent2);font-weight:900;margin-bottom:14px}.stat-label{font-size:12px;color:#96aaa0;letter-spacing:.08em}.stat-value{font-size:25px;font-weight:900;margin:7px 0}.stat-foot{font-size:11px;color:#70847a}
.section{padding:40px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.section-head h2{font-size:32px;margin:6px 0}.section-head p{margin:0;color:var(--muted);max-width:680px;line-height:1.6}.controls{display:flex;gap:8px;flex-wrap:wrap}.controls input{background:#0b1711;border:1px solid #2a3a31;color:#edf4ef;border-radius:11px;padding:11px 13px;min-width:240px;outline:none}.session{border:1px solid #283a30;border-radius:20px;background:linear-gradient(180deg,#0d1712,#0a1410);box-shadow:0 16px 40px rgba(0,0,0,.14);overflow:hidden}.session-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid #203229}.session-date{font-size:11px;color:var(--accent2);letter-spacing:.17em;font-weight:900}.session-head h3{margin:6px 0 0;font-size:22px}.session-balance{text-align:right}.session-balance span{display:block;font-size:11px;color:#8da195}.session-balance strong{display:block;color:#f3d982;font-size:22px;margin-top:4px}.session-body{padding:22px}.section-mini+.section-mini{margin-top:22px}.mini-title{font-size:11px;letter-spacing:.16em;color:#9fb2a8;font-weight:900;margin-bottom:9px;display:flex;justify-content:space-between}.mini-title span{color:#5d7468;letter-spacing:0}.table-scroll{width:100%;overflow-x:auto}.detail-table,.table-card table{width:100%;border-collapse:collapse}.detail-table th,.detail-table td,.table-card th,.table-card td{padding:11px 12px;border-bottom:1px solid #1e2d25;text-align:left}.detail-table th,.table-card th{font-size:11px;letter-spacing:.08em;color:#7f9388;text-transform:uppercase}.detail-table td,.table-card td{font-size:13px}.detail-table .amount,.table-card td:nth-child(n+2),.table-card th:nth-child(n+2){text-align:right;white-space:nowrap}.detail-table tbody tr:hover{background:rgba(255,255,255,.018)}.detail-table tfoot td{border-top:1px solid #304239;border-bottom:0;padding-top:14px}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.summary-item{padding:15px;border:1px solid #23342b;border-radius:14px;background:#0b1711;display:flex;justify-content:space-between;gap:12px}.summary-item span{color:#95a99e}.summary-item strong{color:#dfe9e3}.final-balance{margin-top:18px;padding:17px 18px;border-radius:16px;border:1px solid rgba(217,174,66,.32);background:linear-gradient(135deg,rgba(217,174,66,.08),rgba(255,255,255,.01));display:flex;justify-content:space-between;align-items:center}.final-balance span{font-weight:900}.final-balance strong{font-size:28px;color:#f4dc8b}.inventory-inline{margin-top:18px;padding-top:18px;border-top:1px solid #203229}.inventory-inline ul{margin:0;padding-left:22px}.inventory-inline li{margin:6px 0;font-weight:700}.inventory-card{display:flex;align-items:center;gap:15px;padding:20px;border-radius:18px;border:1px solid #2a3a31;background:#0d1913}.inventory-icon{width:48px;height:48px;border-radius:14px;background:#16271e;display:grid;place-items:center;font-size:24px}.inventory-card strong{display:block;font-size:17px}.inventory-card span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.inventory-badge{margin-left:auto;padding:8px 10px;border-radius:999px;border:1px solid #2f4939;color:#92bda3;font-size:10px;font-weight:900;letter-spacing:.13em}.table-card{border:1px solid #26372e;background:#0d1913;border-radius:18px;overflow:hidden}.strong{font-weight:900}.note-section{padding:4px 0 54px}.notice{padding:14px 16px;border-left:3px solid var(--accent);background:#0c1811;color:#9badA3;border-radius:12px;line-height:1.65;font-size:12px}.site-footer{border-top:1px solid #1d2b24;padding:22px 0 30px;color:#7f9288}.footer-inner{display:flex;justify-content:space-between;gap:16px;font-size:11px}.footer-inner strong{display:block;color:#cad5cf;letter-spacing:.12em}.footer-inner span{display:block;margin-top:5px}.empty{padding:25px;color:#9baca1;background:#0d1913;border:1px solid #24352b;border-radius:16px;text-align:center}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-art{height:470px;order:-1}.hero-copy{padding-top:0}.hero-art img{max-height:470px}.stats-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:flex-start;flex-direction:column}.controls{width:100%}.controls input{min-width:0;flex:1}.main-nav{display:none;position:absolute;left:18px;right:18px;top:66px;padding:12px;flex-direction:column;background:#0b1711;border:1px solid #24372d;border-radius:14px}.main-nav.open{display:flex}.menu-toggle{display:block}}
@media(max-width:620px){.container{width:min(100% - 22px,1180px)}.header-inner{height:68px}.brand strong{font-size:12px}.brand small{font-size:8px}.hero{padding-top:26px}.hero-art{height:360px}.hero-art img{max-height:360px}.hero h1{font-size:42px}.lead{font-size:14px}.balance-panel{padding:18px;align-items:flex-start;flex-direction:column}.balance-chip{align-self:auto}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:14px}.stat-value{font-size:18px}.section{padding:28px 0}.section-head h2{font-size:26px}.session-head{padding:16px;align-items:flex-start}.session-balance strong{font-size:18px}.session-body{padding:15px}.detail-table th,.detail-table td{padding:10px 8px;font-size:12px}.detail-table th:first-child,.detail-table td:first-child{width:42px}.summary-grid{grid-template-columns:1fr}.final-balance strong{font-size:22px}.inventory-card{align-items:flex-start}.inventory-badge{display:none}.footer-inner{flex-direction:column}.notice{font-size:11px}}
@media print{body{background:#fff;color:#111}.site-header,.hero-actions,.controls,.site-footer{display:none!important}.hero{padding:0}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-art{display:none}.hero h1 span{color:#111}.lead,.balance-caption,.section-head p,.stat-foot,.brand small,.mini-title,.detail-table th,.table-card th,.summary-item span,.inventory-card span{color:#444}.balance-panel,.stat-card,.session,.table-card,.inventory-card,.notice{background:#fff;border:1px solid #bbb;box-shadow:none}.balance-value,.session-balance strong,.final-balance strong{color:#111}.container{width:100%}.section{padding:16px 0}.session-body{padding:12px}}

/* Interaksi riwayat: kartu transaksi dapat dibuka/tutup. */
summary.session-head{list-style:none;cursor:pointer;gap:12px}
summary.session-head::-webkit-details-marker{display:none}
summary.session-head::after{content:"+";font-size:22px;font-weight:600;color:var(--accent2);margin-left:4px;flex:0 0 auto}
details.session[open] > summary.session-head::after{content:"−"}
details.session:not([open]) > .session-body{display:none}
.session-date{line-height:1.5}
.date-range-note{display:block;color:#748a7e;font-size:11px;letter-spacing:0;margin-top:4px;font-weight:500}
.income-source-card{margin-top:15px;padding:15px;border:1px solid #263a2e;border-radius:14px;background:#0a1710}
.income-source-card .source-title{font-size:11px;letter-spacing:.13em;color:#9fb2a8;font-weight:900;margin-bottom:10px}
.filter-note{font-size:11px;color:#7f9589;margin-top:8px}
.session-list{display:grid;gap:14px}
.recap-total{font-size:12px;color:#9db0a5;line-height:1.7;margin-top:12px}
.stat-value{overflow-wrap:anywhere}
@media(max-width:620px){summary.session-head{gap:7px}.session-head h3{font-size:18px}.session-date{letter-spacing:.08em}.date-range-note{font-size:10px}.session-balance{min-width:116px}}
@media print{
  @page{size:auto;margin:12mm}
  body{background:#fff!important;color:#111!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .site-header,.hero-actions,.controls,.site-footer,.menu-toggle,.session-head::after{display:none!important}
  .hero{padding:0!important}.hero-grid{grid-template-columns:1fr!important;min-height:0!important}.hero-art{display:none!important}
  .hero h1,.hero h1 span{color:#111!important}.lead,.balance-caption,.section-head p,.stat-foot,.brand small,.mini-title,.detail-table th,.table-card th,.summary-item span,.inventory-card span,.filter-note{color:#444!important}
  .balance-panel,.stat-card,.session,.table-card,.inventory-card,.notice,.summary-item,.income-source-card{background:#fff!important;border:1px solid #bbb!important;box-shadow:none!important;color:#111!important}
  .balance-value,.session-balance strong,.final-balance strong,.stat-value{color:#111!important}
  .container{width:100%!important;max-width:none!important}.section{padding:12px 0!important}
  details.session,details.session:not([open]) > .session-body{display:block!important}
  details.session > .session-body{display:block!important}
  .session{break-inside:avoid-page;page-break-inside:avoid}
  .session-head{padding:12px!important}.session-body{padding:12px!important}
  .detail-table th,.detail-table td,.table-card th,.table-card td{padding:6px 7px!important;color:#111!important;border-color:#ddd!important}
  .summary-item strong,.final-balance span,.detail-table td,.table-card td{color:#111!important}
  .hero h1{font-size:30px!important}.balance-value{font-size:30px!important}
  a{color:#111!important}
}
