:root{
  --navy:#10274d;--navy-2:#183b70;--orange:#ef4b23;--orange-2:#ff7849;
  --ink:#182235;--muted:#667085;--line:#dfe5ee;--surface:#fff;--soft:#f5f7fb;
  --positive:#157f4c;--warning:#ad6800;--danger:#c7352c;--radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#eef2f7}
body{font-family:'Gantari',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;color:var(--ink)!important;background:linear-gradient(180deg,#eef3f9 0,#f7f9fc 440px)!important}
button,input,select{font:inherit}
button{min-height:44px}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(239,75,35,.28)!important;outline-offset:2px}
#appHeader{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(16px);border-bottom:1px solid rgba(16,39,77,.08);box-shadow:0 8px 28px rgba(16,39,77,.08)!important;padding:12px clamp(16px,3vw,40px)!important;margin:0 0 22px!important;min-height:74px}
#appHeader h1{font-size:clamp(1rem,2vw,1.35rem)!important;letter-spacing:-.02em}
.app-brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}
.app-brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--navy),var(--navy-2));display:grid;place-items:center;color:#fff;font-family:'Sora',sans-serif;font-weight:800;box-shadow:0 8px 18px rgba(16,39,77,.24)}
.app-brand-copy{min-width:0}.app-brand-copy small{display:block;color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.app-version{background:#edf2f8!important;color:var(--navy)!important;border:1px solid #d7e0ec;box-shadow:none!important}
.header-actions{display:flex;align-items:center;gap:8px}.header-privacy{font-size:.76rem;color:var(--muted);font-weight:650;display:flex;align-items:center;gap:6px}
#appMain{max-width:1480px!important;padding:0 clamp(12px,2vw,28px) 64px!important}
#loadingStatus{border:1px solid #c9daee!important;border-left:4px solid var(--navy)!important;background:#f3f8fe!important;box-shadow:none!important;border-radius:14px!important}
.app-intro{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:8px 2px 2px}.app-intro h2{font-family:'Sora',sans-serif;font-size:clamp(1.5rem,2.6vw,2.45rem);color:var(--navy);line-height:1.13;letter-spacing:-.04em;margin:0}.app-intro p{max-width:720px;color:var(--muted);margin:8px 0 0;line-height:1.55}.progress-strip{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.progress-chip{font-size:.72rem;font-weight:750;color:#526176;background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:999px}.progress-chip strong{color:var(--orange);margin-right:4px}
.workspace-shell{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(330px,.78fr);gap:22px;align-items:start;margin-top:18px}.workspace-form{min-width:0;display:flex;flex-direction:column;gap:16px}.workspace-summary{min-width:0;position:sticky;top:92px;display:flex;flex-direction:column;gap:14px}
.workspace-form>section,#hasil-container,.summary-card,.scenario-card{background:#fff!important;border:1px solid rgba(16,39,77,.09)!important;border-top:none!important;border-radius:var(--radius)!important;box-shadow:0 12px 34px rgba(25,45,78,.075)!important;overflow:hidden!important;padding:clamp(16px,2vw,24px)!important}.workspace-form>section{position:relative}.workspace-form>section:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--navy),var(--orange))}.workspace-form h2{font-family:'Sora',sans-serif;font-size:1rem!important;margin-bottom:17px!important}.workspace-form h2>span{width:29px!important;height:29px!important;border-radius:9px!important;font-size:.75rem!important;box-shadow:0 4px 10px rgba(16,39,77,.16)}
.workspace-form label{color:#344054!important}.workspace-form input:not([type=radio]):not([type=checkbox]),.workspace-form select,.ts-control{min-height:44px;border-radius:11px!important;border-color:#d0d8e4!important;background:#fff}.workspace-form input[readonly]{background:#f1f4f8!important}.workspace-form input:invalid{box-shadow:none}.field-error{border-color:var(--danger)!important;background:#fff7f6!important}.field-error-text{display:block;color:var(--danger);font-size:.72rem;font-weight:700;margin-top:5px}
#mainPaketTable,#tableHasil{border-collapse:separate;border-spacing:0}#mainPaketTable thead th,#tableHasil thead th{position:sticky;top:0;z-index:2;background:#e9eef5!important;color:#2f3c52!important;border-bottom:1px solid #d7dfeb}#mainPaketTable tbody tr:nth-child(even),#tableHasil tbody tr:nth-child(even){background:#fafbfd}.table-scroll{scrollbar-color:#a9b6c8 transparent;scrollbar-width:thin}
#ruteContainer .rute-baris{border-radius:14px!important;border-color:#dbe2ec!important;background:#f8fafc!important;box-shadow:none!important}
.primary-action-bar{display:flex!important;gap:10px;align-items:center;justify-content:space-between!important;margin:0!important;padding:12px 14px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px rgba(16,39,77,.1);position:sticky;bottom:10px;z-index:30}.primary-action-bar p{font-size:.78rem;color:var(--muted);margin:0}.primary-action-bar #btnHitung{border-radius:12px!important;box-shadow:0 8px 18px rgba(239,75,35,.24)!important;padding:12px 20px!important;font-size:.92rem!important;white-space:nowrap}
.summary-card{padding:18px!important}.summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.summary-heading h2{font-family:'Sora',sans-serif;color:var(--navy);font-size:1rem;margin:0}.summary-heading p{font-size:.76rem;color:var(--muted);margin:4px 0 0}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}.status-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.status-empty{color:#667085;background:#f0f2f5}.status-good{color:var(--positive);background:#eaf7f0}.status-warn{color:var(--warning);background:#fff5db}.status-bad{color:var(--danger);background:#fff0ee}
.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.kpi{border:1px solid #e2e7ef;border-radius:14px;padding:12px;background:linear-gradient(160deg,#fff,#f8fafc);min-width:0}.kpi.featured{grid-column:1/-1;background:linear-gradient(135deg,var(--navy),#214d89);color:#fff;border:0;padding:15px}.kpi-label{font-size:.67rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:#778397}.kpi.featured .kpi-label{color:#cfdbed}.kpi-value{font-family:'Sora',sans-serif;font-size:clamp(.98rem,1.5vw,1.22rem);font-weight:750;color:var(--navy);margin-top:5px;overflow-wrap:anywhere}.kpi.featured .kpi-value{font-size:1.55rem;color:#fff}.kpi-help{font-size:.67rem;color:#8a94a5;margin-top:3px}.kpi.featured .kpi-help{color:#ccd8e9}
.insight-list{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.insight-list li{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;background:#f7f9fc;border-radius:11px;color:#48556a;font-size:.78rem;line-height:1.4}.insight-list li:before{content:"•";font-weight:900;color:var(--orange)}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.action-grid button,.scenario-actions button{border:1px solid #d9e0ea;background:#fff;color:#26364f;border-radius:10px;padding:8px 10px;font-size:.76rem;font-weight:750;transition:.16s}.action-grid button:hover,.scenario-actions button:hover{background:#f3f6fa;border-color:#b9c6d8}.action-grid .action-primary{background:var(--navy);color:#fff;border-color:var(--navy)}.action-grid .action-danger{color:var(--danger)}
.scenario-card{padding:17px!important}.scenario-card h3,.breakdown-card h3,.comparison-card h3{font-family:'Sora',sans-serif;color:var(--navy);font-size:.9rem;margin:0 0 10px}.scenario-row{display:grid;grid-template-columns:1fr;gap:8px}.scenario-row input,.scenario-row select{width:100%;min-height:40px;border:1px solid #d7dfea;border-radius:10px;padding:8px 10px;font-size:.78rem}.scenario-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.storage-note{font-size:.68rem;color:#7d8796;margin:9px 0 0;line-height:1.4}
#hasil-container{margin-top:22px!important;margin-bottom:20px!important;padding:0!important}.results-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center}.results-head h2{font-family:'Sora',sans-serif;color:var(--navy);font-size:1.15rem;margin:0}.results-head p{font-size:.77rem;color:var(--muted);margin:4px 0 0}.results-actions{display:flex;gap:8px;flex-wrap:wrap}.results-actions button{min-height:40px;border-radius:10px;padding:8px 12px;border:1px solid #d7dfeb;background:#fff;color:#25354e;font-size:.76rem;font-weight:800}.results-actions .excel{background:#117a4b;color:#fff;border-color:#117a4b}.results-body{padding:20px 22px}.breakdown-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-bottom:18px}.breakdown-card,.comparison-card{border:1px solid #e0e6ef;border-radius:15px;padding:15px;background:#fafbfd}.breakdown-list{display:grid;gap:7px}.breakdown-line{display:flex;justify-content:space-between;gap:12px;font-size:.78rem;padding-bottom:7px;border-bottom:1px dashed #dfe5ed}.breakdown-line:last-child{border-bottom:0}.breakdown-line span{color:#697589}.breakdown-line strong{color:#243650;text-align:right}.formula-note{font-size:.69rem;line-height:1.45;color:#758092;background:#f0f4f9;padding:9px 10px;border-radius:9px;margin-top:10px}.comparison-output{font-size:.76rem;color:#536178;line-height:1.55}.comparison-output strong{color:var(--navy)}
.dashboard-footer{height:auto!important;min-height:54px!important;background:#0c1c35!important;border-top:0!important;box-shadow:none!important;padding:12px clamp(16px,3vw,38px)!important}.dashboard-footer a{color:#fff;text-decoration:none}.footer-desc{white-space:normal!important}.footer-creator-badge{padding:5px 10px!important}
#toastRegion{position:fixed;right:18px;bottom:18px;z-index:10000;display:grid;gap:8px;pointer-events:none}.toast{max-width:360px;background:#152640;color:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 14px 38px rgba(0,0,0,.22);font-size:.8rem;line-height:1.4;animation:toast-in .18s ease}.toast.error{background:#8f2722}.toast.success{background:#126641}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#loginOverlay{background:radial-gradient(circle at 20% 10%,#274f89 0,transparent 34%),linear-gradient(145deg,#0b1c37,#173665)!important;padding:18px}.login-card{max-width:430px!important;border-radius:22px!important;padding:32px!important;box-shadow:0 28px 70px rgba(0,0,0,.38)!important}.login-card img{max-width:190px;height:auto!important;max-height:48px;object-fit:contain}.login-card h2{font-size:1.35rem!important}.login-card .input-group input{border-radius:11px!important;min-height:46px}.btn-login,.btn-google{border-radius:11px!important;min-height:46px}
.hidden-file-input{display:none!important}.print-meta{display:none}
@media(max-width:1080px){.workspace-shell{grid-template-columns:1fr}.workspace-summary{position:static;display:grid;grid-template-columns:1fr 1fr}.scenario-card{grid-column:1/-1}.app-intro{align-items:flex-start;flex-direction:column}.progress-strip{justify-content:flex-start}}
@media(max-width:720px){#appHeader{min-height:62px;flex-direction:row!important;gap:8px!important}.app-brand-mark{width:36px;height:36px}.app-brand-copy small,.header-privacy{display:none}#appHeader h1{font-size:.9rem!important;text-align:left!important}.header-actions button{padding:8px 10px!important;font-size:.72rem!important}.workspace-summary{display:flex}.kpi-grid{grid-template-columns:1fr 1fr}.workspace-form>section{padding:15px!important}.primary-action-bar{bottom:6px;flex-direction:column;align-items:stretch}.primary-action-bar p{display:none}.primary-action-bar #btnHitung{width:100%!important}.breakdown-grid{grid-template-columns:1fr}.results-head{align-items:flex-start;flex-direction:column;padding:17px}.results-body{padding:15px}.results-actions{width:100%}.results-actions button{flex:1}.app-intro h2{font-size:1.65rem}.progress-strip{display:none}.dashboard-footer{flex-direction:column;align-items:flex-start!important;gap:6px!important}.footer-desc{display:block!important;margin:0!important;text-align:left!important}.footer-creator-badge{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media print{
 @page{size:A4 portrait;margin:12mm}
 html,body{background:#fff!important;color:#111!important}#loginOverlay,#appHeader,#loadingStatus,.workspace-form,.scenario-card,.action-grid,.results-actions,.dashboard-footer{display:none!important}#appMain{display:block!important;max-width:none!important;padding:0!important}.app-intro{display:block!important;margin-bottom:10mm}.app-intro .progress-strip{display:none}.workspace-shell{display:block!important;margin:0}.workspace-summary{display:block!important;position:static}.summary-card{box-shadow:none!important;border:1px solid #cfd6df!important;break-inside:avoid}.kpi-grid{grid-template-columns:repeat(3,1fr)}.kpi.featured{grid-column:auto;background:#eef2f6!important;color:#111!important;border:1px solid #cfd6df}.kpi.featured *{color:#111!important}#hasil-container{display:block!important;box-shadow:none!important;border:0!important;margin-top:8mm!important}.results-head{padding:0 0 5mm}.results-body{padding:0}.breakdown-grid{grid-template-columns:1fr 1fr;break-inside:avoid}.comparison-card{display:none}.table-scroll{overflow:visible!important}#tableHasil{font-size:7px!important;width:100%!important}#tableHasil th,#tableHasil td{padding:3px!important;white-space:normal!important}.print-meta{display:block;font-size:9px;color:#555;margin-top:4px}.insight-list{break-inside:avoid}.toast{display:none!important}
}
.print-input-card{display:none}
@media print{
  .table-scroll{display:none!important}
  .print-input-card{display:block!important;border:1px solid #dfe5ed;border-radius:15px;padding:15px;background:#fafbfd;break-inside:avoid;margin-top:5mm}
  .print-input-card h3{font-family:'Sora',sans-serif;color:#10274d;font-size:.9rem;margin:0 0 10px}
}

/* Footer parity with lacak.posnew.com */
.dashboard-footer{
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  margin-top:auto!important;
  padding:0 22px!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-direction:row!important;
  gap:1rem!important;
  overflow:hidden!important;
  border-top:2px solid #EF4123!important;
  background:#0f172a!important;
  box-shadow:none!important;
  font-size:.72rem!important;
}
.footer-brand{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:.4rem!important;
  color:#f8fafc!important;
  font-family:'Sora',sans-serif!important;
  font-size:inherit!important;
  font-weight:700!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
.footer-brand a{color:inherit!important;text-decoration:none!important}
.footer-brand svg{
  width:15px!important;
  height:15px!important;
  color:#EF4123!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.footer-desc{
  flex:1!important;
  margin:0!important;
  overflow:hidden!important;
  color:#94a3b8!important;
  font-size:inherit!important;
  text-align:center!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.footer-creator-badge{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:.35rem!important;
  padding:.22rem .62rem!important;
  border:1px solid rgba(239,65,35,.25)!important;
  border-radius:999px!important;
  color:#e2e8f0!important;
  background:rgba(239,65,35,.08)!important;
  font-size:inherit!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease!important;
}
.footer-creator-badge svg{
  width:13px!important;
  height:13px!important;
  color:#EF4123!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transition:transform .35s ease!important;
}
.footer-creator-badge strong{color:#EF4123!important}
.footer-creator-badge:hover{
  transform:translateY(-1px)!important;
  color:#fff!important;
  border-color:rgba(239,65,35,.7)!important;
  background:rgba(239,65,35,.22)!important;
}
.footer-creator-badge:hover svg{transform:rotate(12deg) scale(1.13)!important}
.footer-creator-badge:hover strong{color:#ff8a72!important}
@media(max-width:700px){
  .footer-desc{display:none!important}
  .dashboard-footer{height:36px!important;min-height:36px!important;padding:0 10px!important;font-size:.65rem!important}
  .footer-creator-badge{display:inline-flex!important;padding-inline:.45rem!important}
}
@media(max-width:430px){
  .footer-brand svg{display:none!important}
  .footer-creator-badge{max-width:64%!important;overflow:hidden!important;text-overflow:ellipsis!important}
}
@media print{.dashboard-footer{display:none!important}}
