:root{--green:#07533e;--green2:#0c7854;--deep:#073e32;--mint:#e9f5ed;--bg:#f5f7f3;--ink:#1c312c;--muted:#73837c;--border:#e2e9e3;--gold:#d6a859;--red:#bd4a4a;--card:#fff}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.55}h1,h2,h3,p{margin-top:0}h1{font-size:25px;letter-spacing:-.7px;margin-bottom:0}h2{font-size:22px;letter-spacing:-.5px;margin-bottom:0}h3{font-size:16px;letter-spacing:-.2px;margin-bottom:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input,select{width:100%;border:1px solid #d6e1da;background:#fff;border-radius:10px;padding:11px 12px;color:var(--ink);min-width:0}input:focus,select:focus{outline:2px solid #a7d5bd;border-color:#1f9965}label{font-weight:600;font-size:12px;color:#456158;display:flex;flex-direction:column;gap:7px}small{font-size:11px}.shell{display:flex;min-height:100vh}.sidebar{width:245px;background:linear-gradient(180deg,#084d3a,#063b31 90%);color:#fff;flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:13px;padding:34px 22px 37px}.brand strong{font-size:14px;letter-spacing:1px;line-height:1.4}.brand small{display:block;letter-spacing:1.7px;color:#a9cabe;margin-top:4px;font-size:9px}.brand-mark,.login-logo{background:linear-gradient(145deg,#e2ba6b,#b98632);border-radius:14px;display:grid;place-items:center;color:#fff;font-size:19px;font-weight:900;width:48px;height:48px;box-shadow:0 10px 22px #001e1433;flex-shrink:0}.side-label{color:#86b7a5;font-size:10px;font-weight:700;letter-spacing:1.6px;padding:0 26px 11px}.sidebar nav{display:flex;flex-direction:column;gap:5px;padding:0 14px}.navitem{border-radius:9px;padding:12px 14px;color:#bfd7cd;font-weight:600;transition:.15s}.navitem:hover,.navitem.current{background:#ffffff1c;color:white}.navitem.current{box-shadow:inset 3px 0 0 var(--gold)}.side-foot{margin-top:auto;color:#89b9a9;padding:28px;font-size:11px;border-top:1px solid #ffffff1a}.content{min-width:0;flex:1}.topbar{background:white;border-bottom:1px solid var(--border);padding:23px 35px;display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{color:var(--green2);font-size:10px;font-weight:800;letter-spacing:1.55px;margin-bottom:6px}.top-right,.actions,.user-actions{display:flex;gap:10px;align-items:center}.user-chip{font-weight:700;font-size:12px;text-align:right}.user-chip small{display:block;color:var(--muted);font-weight:400}main{padding:29px 35px 50px;max-width:1650px;margin:auto}.page-line{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px;flex-wrap:wrap}.unit-filter,.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.unit-filter label{font-size:12px}.unit-filter select{min-width:230px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:9px;padding:11px 18px;border:1px solid transparent;font-size:12px;font-weight:700;white-space:nowrap;transition:.15s}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--green);color:white}.btn.outline{background:white;color:var(--green);border-color:#d3e4d9}.btn.danger{background:#fff3f3;color:#a82c2c;border-color:#f1cece}.btn.mini{padding:8px 10px;font-size:11px}.btn.full{width:100%}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:20px}.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric,.panel{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 3px 15px #0b3d2710}.metric{padding:23px 20px}.metric-label{font-size:12px;font-weight:600;color:var(--muted)}.metric-value{font-size:clamp(18px,1.7vw,25px);font-weight:800;letter-spacing:-.6px;margin:12px 0}.green,.positive{color:#0a9061}.red,.negative{color:#c05b59}.metric-foot{color:#87958f;font-size:11px}.two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:21px;margin-bottom:18px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px;flex-wrap:wrap}.link{color:var(--green2);font-weight:700;font-size:12px}.chart-legend{display:flex;gap:16px;font-size:11px;color:#6e8279}.chart-legend span{display:flex;align-items:center;gap:6px}.dot-green,.dot-gold{display:inline-block;width:9px;height:9px;border-radius:9px;background:#0b8d63}.dot-gold{background:var(--gold)}.bar-chart{height:205px;margin:20px 3px 4px;display:flex;align-items:end;justify-content:space-around;gap:12px;border-bottom:1px solid #e4eee7}.bar-group{height:100%;width:14%;display:flex;align-items:center;justify-content:end;flex-direction:column;gap:10px}.bars{height:calc(100% - 28px);display:flex;align-items:flex-end;justify-content:center;gap:5px;width:100%}.bar{width:34%;min-width:6px;max-width:24px;border-radius:6px 6px 0 0;transition:.2s}.bar:hover{filter:brightness(.9)}.green-bar{background:#129268}.gold-bar{background:#d7b166}.bar-group small{font-size:10px;color:var(--muted);white-space:nowrap}.accounts-list{display:flex;flex-direction:column;gap:0;max-height:275px;overflow:auto}.account-item{border-bottom:1px solid #eff3ee;padding:11px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.account-item:last-child{border:0}.account-item strong{font-size:12px}.account-item small{display:block;color:var(--muted)}.account-item b{font-size:12px;white-space:nowrap}.table-wrap{overflow:auto;width:100%}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{text-transform:uppercase;letter-spacing:.6px;color:#72847a;font-weight:800;font-size:10px;text-align:left;background:#f8fbf8}th,td{padding:13px 12px;border-bottom:1px solid #eaf0ea;vertical-align:top}tbody tr:last-child td{border-bottom:0}.right{text-align:right}.muted,.hint{color:var(--muted);font-size:12px}.hint{margin:15px 0 0}.subtext{display:block;color:var(--muted);margin-top:2px}.pill{display:inline-block;border-radius:30px;padding:4px 9px;background:#eff4ef;font-size:10px;font-weight:700;color:#507568}.pill.pemasukan,.pill.green-pill{background:#e6f7ef;color:#0b8d62}.pill.pengeluaran,.pill.red-pill{background:#fdecec;color:#aa4b4b}.pill.neutral{background:#f1f4f0;color:#60776b}.total-row{background:#eaf5ec;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid .wide{grid-column:1/-1}.filters{margin-bottom:5px}.filters label{min-width:170px}.reason{min-width:160px;max-width:190px;font-size:11px;padding:7px 9px;margin:0 5px 5px 0}.notice{padding:13px 16px;margin-bottom:18px;border-radius:9px;font-size:12px;border:1px solid #d8e9e0}.notice.ok{background:#e7f8ed;color:#0a6444}.notice.err{background:#fff0f0;border-color:#f4d7d7;color:#9c3030}.notice.info{background:#f0f6f2;color:#3b6451}.user-actions{align-items:start;flex-wrap:wrap}.void-row{opacity:.55;text-decoration:line-through}.footer{padding:15px 35px;font-size:10px;color:#93a39a;border-top:1px solid var(--border)}.profile{display:grid;grid-template-columns:130px 1fr;gap:15px}.profile dt{color:var(--muted)}.profile dd{font-weight:700;margin:0}.stacked{display:flex;flex-direction:column;gap:17px}.login-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 75% 20%,#1c8260,#064b3a 70%)}.login-card{background:#fff;border-radius:19px;padding:40px 34px;width:min(100%,440px);box-shadow:0 24px 70px #0021165c;display:flex;flex-direction:column;gap:17px}.login-card h1{font-size:25px;margin:0}.login-card p{color:var(--muted);margin:-10px 0 2px}.login-logo{width:65px;height:65px;font-size:25px;border-radius:18px}.login-footer{text-align:center;font-size:10px;color:#80938a;letter-spacing:1.5px;margin-top:6px}.mobile-nav,.print-title{display:none}@media(max-width:1200px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:210px}.topbar,main{padding-left:23px;padding-right:23px}}@media(max-width:850px){.sidebar{display:none}.topbar{padding:21px 17px}.topbar h1{font-size:20px}.mobile-nav{display:flex;overflow:auto;gap:4px;padding:9px 12px;background:white;border-bottom:1px solid var(--border)}.mobile-nav a{white-space:nowrap;font-weight:700;font-size:11px;border-radius:8px;padding:8px 11px;color:#567465}.mobile-nav a.sel{background:#e7f5ec;color:#06553c}main{padding:20px 13px}.two-col{grid-template-columns:1fr}.panel{padding:16px}.metrics{gap:9px}.metric{padding:16px 12px}.metric-value{font-size:18px}}@media(max-width:520px){.metrics,.metrics.three{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.top-right .user-chip{display:none}.metric-value{font-size:16px}.page-line{align-items:start}.topbar h1{font-size:18px}.filters{align-items:stretch}.filters label,.filters button{width:100%}.unit-filter{width:100%}.unit-filter label,.unit-filter select{width:100%}}@media print{body{background:white;font-size:11px}.sidebar,.topbar,.mobile-nav,.footer,.page-line .actions,.filters,.unit-filter,.notice,.btn,.hint{display:none!important}main{padding:0}.content{width:100%}.panel,.metric{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.print-title{display:block;text-align:center;border-bottom:2px solid #333;margin-bottom:20px}.metrics.three{grid-template-columns:repeat(3,1fr)}table{white-space:normal;font-size:10px}th,td{padding:6px}.panel{padding:10px}}
