:root{
  --navy:#07156b; --navy2:#112b58; --teal:#128a88; --orange:#ff6a00;
  --ink:#1f2937; --muted:#667085; --line:#d7dfeb; --bg:#f4f7fb; --white:#fff;
  --input:#fff2c7; --linked:#e8f8ef; --danger:#b42318; --dangerbg:#feeceb;
  --warning:#a15c00; --warningbg:#fff3d6; --success:#067647; --successbg:#e7f6ed;
}
*{box-sizing:border-box} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select{font:inherit}.app{min-height:100vh;display:grid;grid-template-columns:285px 1fr}
.sidebar{background:linear-gradient(180deg,var(--navy),#071044);color:white;padding:22px 18px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{font-weight:800;font-size:18px;line-height:1.25;margin-bottom:5px}.subbrand{font-size:12px;opacity:.72;margin-bottom:22px}
.mode{display:flex;gap:8px;margin-bottom:18px}.mode button{flex:1;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:9px;padding:8px;cursor:pointer;font-size:12px}.mode button.active{background:var(--orange);border-color:var(--orange)}
.navlabel{font-size:10px;text-transform:uppercase;letter-spacing:.14em;opacity:.55;margin:14px 8px 8px}.navitem{width:100%;display:flex;gap:10px;align-items:center;color:#eaf0ff;background:transparent;border:0;border-radius:10px;padding:10px 9px;text-align:left;cursor:pointer;margin:2px 0}.navitem:hover{background:rgba(255,255,255,.08)}.navitem.active{background:#fff;color:var(--navy);font-weight:700}.n{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.13);font-size:12px;font-weight:700}.navitem.active .n{background:var(--orange);color:#fff}.navtext small{display:block;font-size:10px;opacity:.7;margin-top:2px}
.main{min-width:0}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:4}.progress{font-size:12px;color:var(--muted)}.progress strong{color:var(--navy)}.topactions{display:flex;gap:8px}.btn{border:0;border-radius:9px;padding:9px 13px;cursor:pointer;font-weight:700}.btn.secondary{background:#eef2f8;color:var(--navy)}.btn.primary{background:var(--orange);color:white}.content{padding:28px;max-width:1300px;margin:0 auto}.screen{display:none}.screen.active{display:block}
.eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--teal)}h1{font-size:32px;color:var(--navy2);margin:6px 0 8px}h2{color:var(--navy2);font-size:20px;margin:0 0 12px}p.lead{font-size:16px;line-height:1.55;color:#475467;max-width:900px;margin-top:0}.hero{background:white;border:1px solid var(--line);border-radius:18px;padding:26px;margin-bottom:18px;box-shadow:0 8px 24px rgba(16,24,40,.05)}
.question-grid,.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.q{border:1px solid var(--line);border-top:5px solid var(--orange);background:#fff;border-radius:12px;padding:16px}.q b{color:var(--navy2)}.q .answer{margin-top:12px;padding:9px 10px;border-radius:8px;background:#f7f8fb;color:#667085;font-size:13px}
.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:18px}.flow div{position:relative;border-radius:10px;background:#f8fafc;border:1px solid var(--line);padding:12px 10px;text-align:center;font-size:12px;font-weight:700;color:var(--navy2)}.flow div:not(:last-child):after{content:'›';position:absolute;right:-8px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--orange);z-index:2}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}.card.orange{border-top:5px solid var(--orange)}.card.teal{border-top:5px solid var(--teal)}.card.navy{border-top:5px solid var(--navy)}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field label{display:block;font-size:12px;font-weight:700;color:#475467;margin-bottom:5px}.field input,.field select{width:100%;border:1px solid #cad3df;border-radius:9px;padding:10px 11px;background:var(--input);outline:none}.field input:focus,.field select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,106,0,.12)}.linked{background:var(--linked)!important}.muted{color:var(--muted);font-size:12px}.note{background:var(--warningbg);border-left:4px solid var(--orange);padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.45}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}.kpi .label{font-size:11px;color:var(--muted);min-height:28px}.kpi .value{font-size:25px;font-weight:800;color:var(--navy2);margin-top:6px}.kpi .sub{font-size:11px;color:var(--muted);margin-top:5px}.status{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.green{color:var(--success);background:var(--successbg)}.yellow{color:var(--warning);background:var(--warningbg)}.red{color:var(--danger);background:var(--dangerbg)}
table{width:100%;border-collapse:collapse;font-size:13px}th{background:var(--navy2);color:white;text-align:left;padding:10px}td{padding:9px 10px;border-bottom:1px solid #e8edf3}tr:last-child td{border-bottom:0}td input,td select{width:100%;padding:7px 8px;border:1px solid #ccd5e0;border-radius:7px;background:var(--input)}
.cashbar{height:12px;border-radius:999px;background:#e9edf3;overflow:hidden;margin:8px 0}.cashbar>span{display:block;height:100%;background:var(--teal)}.decision{font-size:26px;font-weight:900;color:var(--navy2)}.decisionbox{border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px}.actionrow{display:grid;grid-template-columns:160px 140px 140px 1fr 130px;gap:8px;align-items:center;margin-bottom:8px}.actionrow input{width:100%;border:1px solid #ccd5e0;border-radius:8px;padding:8px;background:var(--input)}
.footerbuttons{display:flex;justify-content:space-between;margin-top:20px}.mini{font-size:11px;color:#667085}.hide{display:none!important}.barset{display:flex;align-items:flex-end;gap:14px;height:180px;padding:10px 4px 0}.barwrap{flex:1;text-align:center;font-size:11px;color:#667085}.bar{width:100%;min-height:4px;border-radius:6px 6px 0 0;background:var(--teal);position:relative}.bufferline{border-top:2px dashed var(--orange);margin-top:-95px;position:relative;z-index:2}.bufferline span{background:white;color:var(--orange);font-size:10px;position:relative;top:-8px;padding:0 5px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;border-radius:999px;padding:5px 9px;background:#eef2f8;color:var(--navy2);font-weight:700}.taginput{background:var(--input);border:1px solid #efce65}.taglink{background:var(--linked);border:1px solid #b7dfc8}.legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
@media(max-width:980px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.navitem{display:none}.navitem.active{display:flex}.topbar{position:relative}.two,.three,.question-grid,.grid3,.kpis{grid-template-columns:1fr 1fr}.flow{grid-template-columns:repeat(3,1fr)}.actionrow{grid-template-columns:1fr 1fr}.content{padding:18px}}
@media(max-width:620px){.two,.three,.question-grid,.grid3,.kpis,.formgrid{grid-template-columns:1fr}.flow{grid-template-columns:1fr}.actionrow{grid-template-columns:1fr}h1{font-size:26px}.topbar{padding:12px 16px}}

button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:focus-visible,.btn:focus-visible,.navitem:focus-visible{outline:3px solid rgba(255,106,0,.32);outline-offset:2px}
.btn:active,.navitem:active,.mode button:active{transform:translateY(1px)}
.btn[disabled],button[disabled]{opacity:.55;cursor:not-allowed;transform:none!important}
.toast{position:fixed;right:22px;bottom:22px;z-index:9999;max-width:360px;padding:11px 14px;border-radius:10px;background:#101828;color:#fff;font-size:12px;font-weight:700;box-shadow:0 12px 30px rgba(16,24,40,.25);opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s ease}
.toast.show{opacity:1;transform:translateY(0)}
.toast.error{background:#b42318}
.control-status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;color:#067647;background:#e7f6ed;border-radius:999px;padding:5px 8px;margin-left:6px;white-space:nowrap}
@media(max-width:620px){.control-status{display:none}.topactions{gap:5px}.topactions .btn{padding:8px 9px;font-size:11px}}


/* Langkah 6 — practical cash planner */
.cash-forecast-table th,.cash-forecast-table td{vertical-align:middle}.cash-forecast-table .money-input{text-align:right;min-width:108px}.cash-forecast-table .calc-cell{font-weight:800;color:var(--navy2);white-space:nowrap}.cash-forecast-table .muted-cell{color:#98a2b3;font-style:italic}.cash-forecast-table tr.stoprow td{background:#fff7f6}.cash-forecast-table tr.waitrow td{background:#fafbfc;color:#98a2b3}
.cash-diagnosis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.diagnostic{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}.diagnostic .dlabel{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.diagnostic .dvalue{font-size:21px;color:var(--navy2);font-weight:900;margin-top:5px}.alertbox{border-radius:11px;padding:13px 14px;margin-top:12px;font-size:13px;line-height:1.45}.alertbox.redalert{background:var(--dangerbg);border-left:5px solid var(--danger);color:#7a271a}.alertbox.yellowalert{background:var(--warningbg);border-left:5px solid var(--orange);color:#7a4b00}.alertbox.greenalert{background:var(--successbg);border-left:5px solid var(--success);color:#05603a}
.action-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}.action-list{display:grid;gap:9px}.cash-action-row{display:grid;grid-template-columns:1.35fr .7fr .7fr .7fr 1.35fr auto;gap:8px;align-items:end;border:1px solid #e3e8ef;border-radius:11px;padding:10px;background:#fff}.cash-action-row label{display:block;font-size:10px;font-weight:800;color:#667085;margin-bottom:4px}.cash-action-row input,.cash-action-row select{width:100%;border:1px solid #ccd5e0;border-radius:8px;padding:8px;background:var(--input)}.cash-action-row.invalid{border-color:#f7b4ae;background:#fff8f7}.action-error{grid-column:1/-1;color:var(--danger);font-size:11px;font-weight:700}.iconbtn{border:0;background:#f2f4f7;color:#475467;border-radius:8px;width:34px;height:34px;cursor:pointer;font-weight:900}.iconbtn:hover{background:#feeceb;color:var(--danger)}
.revised-highlight{background:#f4fbf7!important}.cash-explainer{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 0}.cash-explainer>div{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:11px;line-height:1.4}.cash-explainer b{display:block;color:var(--navy2);margin-bottom:3px}.section-number{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy2);color:white;font-size:12px;margin-right:6px}.btn.small{padding:7px 10px;font-size:11px}.plan-callout{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.plan-callout strong{color:var(--navy2)}
@media(max-width:980px){.cash-action-row{grid-template-columns:1fr 1fr 1fr}.cash-action-row .wide{grid-column:span 2}.cash-diagnosis,.cash-explainer{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cash-action-row,.cash-diagnosis,.cash-explainer{grid-template-columns:1fr}.cash-action-row .wide{grid-column:auto}.cash-forecast-table{font-size:11px}.cash-forecast-table th,.cash-forecast-table td{padding:7px 5px}.cash-forecast-table .money-input{min-width:90px}}