:root{--green:#0f7a3b;--green2:#10a354;--red:#d71920;--ink:#14213d;--muted:#6b7280;--bg:#f5f7fb;--panel:#fff;--line:#e5e7eb}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink)}.app-shell{display:flex;min-height:100vh}.sidebar{width:280px;background:linear-gradient(180deg,#0b5c2d,#073f21);color:#fff;padding:22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;max-height:100vh;overflow:hidden}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark,.login-logo{width:48px;height:48px;border-radius:18px;background:#fff;color:var(--green);display:grid;place-items:center;font-weight:900}.brand small{display:block;opacity:.75}.sidebar nav{display:grid;gap:8px;overflow-y:auto;overflow-x:hidden;padding-right:6px;margin-right:-6px;scrollbar-width:thin;flex:1;min-height:0}.sidebar a{color:#e8fff2;text-decoration:none;padding:12px 14px;border-radius:16px;display:flex;gap:10px;align-items:center}.sidebar a:hover{background:rgba(255,255,255,.12)}.sidebar-footer{position:static;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.16);font-size:13px;opacity:.8}.main{margin-left:280px;width:calc(100% - 280px)}.topbar{height:96px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 32px}.topbar h1{font-size:26px;margin:0;font-weight:800}.topbar p{margin:4px 0 0;color:var(--muted)}.userbox{display:flex;gap:10px;align-items:center;background:#f8fafc;border:1px solid var(--line);padding:10px 14px;border-radius:18px}.userbox a{color:var(--red);text-decoration:none;font-weight:700}.content{padding:28px 32px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 12px 30px rgba(15,23,42,.05)}.panel-title{font-weight:800;font-size:18px;margin-bottom:16px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;min-height:128px;box-shadow:0 12px 30px rgba(15,23,42,.05);overflow:hidden}.stat-card:after{content:"";position:absolute;right:-24px;bottom:-24px;width:96px;height:96px;background:linear-gradient(135deg,var(--green2),var(--red));border-radius:50%;opacity:.12}.stat-card span{color:var(--muted);font-weight:700}.stat-card b{display:block;font-size:34px;margin-top:10px}.stat-card i{position:absolute;right:20px;top:22px;font-size:26px;color:var(--green)}.modern-table{vertical-align:middle}.modern-table thead th{font-size:12px;text-transform:uppercase;color:#64748b;letter-spacing:.04em;border-bottom:1px solid var(--line)}.modern-table td{padding:14px 10px}.modern-table small,.mini-card span,.plan-card span{color:var(--muted)}.badge-soft{background:#e8f8ef;color:#0b6b34;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px}.mini-card{border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:10px;display:grid;gap:3px;background:#fbfdff}.page-actions{display:flex;justify-content:flex-end;margin-bottom:18px}.btn-primary{background:linear-gradient(135deg,var(--green),var(--green2));border:0;border-radius:14px;font-weight:800}.btn-dark,.btn-outline-dark{border-radius:14px;font-weight:800}.form-control,.form-select{border-radius:14px;border:1px solid var(--line);padding:11px 13px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#dff7e9,transparent 35%),linear-gradient(135deg,#f8fafc,#eef6f1)}.login-card{width:min(440px,92vw);background:#fff;border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:0 24px 70px rgba(15,23,42,.12)}.login-card h2{font-weight:900;margin:18px 0 6px}.login-card p{color:var(--muted)}.login-card label{font-weight:800;margin-top:12px}.captcha-box{margin:6px 0 8px;padding:12px 14px;border:1px dashed #b6dbc3;border-radius:14px;background:#f0fff6;color:var(--green);font-weight:900;text-align:center;letter-spacing:.04em}.invoice-list{display:grid;gap:10px;max-height:420px;overflow:auto}.invoice-item{padding:14px;border:1px solid var(--line);border-radius:18px;background:#fbfdff;cursor:pointer}.invoice-item:hover{border-color:var(--green);background:#f0fff6}.map-card{height:260px;border-radius:22px;background:linear-gradient(135deg,#eaf8f0,#fff);border:1px dashed #b6dbc3;display:grid;place-items:center}.map-placeholder{text-align:center;display:grid;gap:8px;color:#316447}.map-placeholder i{font-size:44px;color:var(--green)}.toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.plan-card{display:flex;justify-content:space-between;padding:16px;border-radius:18px;background:linear-gradient(135deg,#f0fff6,#fff);border:1px solid var(--line);margin:14px 0}.empty-state{text-align:center;background:#fff;border-radius:24px;padding:40px;border:1px solid var(--line)}@media(max-width:960px){.sidebar{position:relative;width:100%;height:auto}.app-shell{display:block}.main{margin-left:0;width:100%}.stat-grid{grid-template-columns:repeat(2,1fr)}}
.real-map{height:340px;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 12px 30px rgba(15,23,42,.06)}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}.summary-card span{color:var(--muted);font-weight:700}.summary-card b{display:block;font-size:24px;margin-top:6px}.filter-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filter-row>*{min-width:160px}.report-tabs a{border:1px solid var(--line);padding:10px 14px;border-radius:14px;text-decoration:none;color:var(--ink);font-weight:800}.report-tabs a.active{background:var(--green);color:#fff}.money{font-weight:900;color:var(--green)}@media(max-width:960px){.summary-grid{grid-template-columns:1fr}}

.menu-tile{display:block;height:100%;background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;text-decoration:none;color:var(--ink);box-shadow:0 12px 30px rgba(15,23,42,.05);transition:.15s ease}.menu-tile:hover{transform:translateY(-2px);border-color:var(--green);color:var(--ink)}.menu-tile i{font-size:42px;color:var(--green);display:block;margin-bottom:16px}.menu-tile b{display:block;font-size:22px;margin-bottom:8px}.menu-tile span{color:var(--muted)}
.invoice-item.selected{border-color:var(--green);background:#f0fff6;box-shadow:0 8px 20px rgba(15,122,59,.08)}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:14px}.permission-grid .form-check{margin:0;font-weight:700}.expense-row{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:10px}.plan-card .text-end span{display:block}.leaflet-container{font-family:Inter,Segoe UI,Arial,sans-serif}

.sidebar nav::-webkit-scrollbar{width:7px}.sidebar nav::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:999px}.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:999px}.sidebar nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.55)}
.table-scroll{max-height:62vh;overflow:auto;border-radius:18px}.table-scroll table{margin-bottom:0}.table-scroll thead th{position:sticky;top:0;background:#fff;z-index:2}

.etoll-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#0f7a3b,#10a354);color:#fff;border-radius:30px;padding:28px;box-shadow:0 18px 40px rgba(15,122,59,.18)}
.etoll-hero h2{font-weight:900;margin:4px 0 6px;font-size:32px}.etoll-hero p{margin:0;opacity:.86}.eyebrow{display:inline-flex;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.etoll-stat-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;min-height:118px;box-shadow:0 12px 30px rgba(15,23,42,.05);overflow:hidden}.etoll-stat-card span{color:var(--muted);font-weight:800}.etoll-stat-card b{display:block;font-size:28px;margin-top:8px}.etoll-stat-card i{position:absolute;right:20px;top:20px;font-size:32px;color:var(--green);opacity:.22}.selected-balance{background:#f0fff6;border:1px solid #ccebd7;border-radius:20px;padding:14px 18px;min-width:220px}.selected-balance span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.selected-balance b{display:block;font-size:22px;color:var(--green)}.dropdown-menu .dropdown-item{border-radius:12px;margin:2px 6px;width:calc(100% - 12px)}@media(max-width:960px){.etoll-hero{display:block}.etoll-hero .btn{margin-top:18px;width:100%}.selected-balance{width:100%}}
.driver-mobile{max-width:520px}.mobile-card{background:#fff;border:1px solid #e9ecef;border-radius:22px;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.08)}.stop-card{border-left:5px solid #0d6efd}@media(max-width:768px){.app-shell{display:block}.sidebar{display:none}.main{margin:0}.topbar{padding:14px 16px}.content{padding:14px}.topbar h1{font-size:20px}.driver-mobile .btn-lg,.driver-mobile .form-control-lg,.driver-mobile .form-select-lg{font-size:16px;padding:.75rem}}

.driver-plan-button{border:1px solid #e9ecef;background:#fff;cursor:pointer}.driver-plan-button:hover{border-color:#0d6efd;box-shadow:0 12px 30px rgba(13,110,253,.12)}.driver-plan-button .plan-number{font-size:18px;font-weight:900;letter-spacing:.2px}.driver-plan-modal .modal-body{background:#f8fafc}.driver-plan-modal .mobile-card{box-shadow:none}

/* Professional workflow polish */
.wizard-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#0f7a3b,#10a354);color:#fff;border-radius:30px;padding:26px 28px;box-shadow:0 18px 42px rgba(15,122,59,.18)}
.wizard-hero h2{font-weight:900;margin:6px 0 4px}.wizard-hero p{opacity:.9}.wizard-hero .eyebrow{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25)}
.professional-list{max-height:620px}.selected-doc-list{max-height:520px}.selected-doc-panel{position:sticky;top:112px}.selection-summary{border:1px solid #d8eadf;background:linear-gradient(135deg,#f0fff6,#fff);border-radius:20px;padding:14px 16px;color:#173b2a}.professional-modal-header{background:linear-gradient(135deg,#0b5c2d,#10a354);color:#fff;border-radius:24px 24px 0 0}.sticky-modal-side{position:sticky;top:16px}.warehouse-filter{min-width:min(640px,100%)}.request-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.05);transition:.15s ease}.request-card:hover{transform:translateY(-2px);border-color:var(--green);box-shadow:0 18px 44px rgba(15,23,42,.08)}.load-chip-row{display:flex;gap:6px;flex-wrap:wrap}.load-chip-row span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;color:#475569}.packing-info-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px}.driver-hero{background:linear-gradient(135deg,#0f7a3b,#10a354);color:#fff;border-radius:26px;padding:20px;box-shadow:0 12px 30px rgba(15,122,59,.18)}.driver-hero .eyebrow{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.25)}.driver-hero small{opacity:.85}.route-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:16px}.route-flow{display:grid;grid-template-columns:1fr;gap:8px}.route-flow div{border:1px solid #e2e8f0;background:#f8fafc;border-radius:16px;padding:10px 12px}.route-flow span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:900}.route-flow b{display:block;font-size:14px;color:#14213d;margin-top:2px}
@media(max-width:960px){.wizard-hero{display:block}.wizard-hero .btn{width:100%;margin-top:16px}.selected-doc-panel{position:static}.sticky-modal-side{position:static}.warehouse-filter{min-width:100%}}

/* Professional status & driver log revision */
.professional-status-select{font-weight:800;background:#fff}.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 11px;font-weight:900;font-size:12px;border:1px solid transparent;white-space:nowrap}.status-pill:before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor}.status-waiting{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.status-process{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.status-ready{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.status-pending{background:#fefce8;color:#a16207;border-color:#fde68a}.status-assigned{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.status-delivered{background:#ecfdf5;color:#047857;border-color:#86efac}.status-cancelled{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.status-neutral{background:#f8fafc;color:#475569;border-color:#e2e8f0}.driver-filter-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.driver-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.driver-info-grid>div{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:12px}.driver-info-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:900}.driver-info-grid b{display:block;margin-top:4px}.driver-info-grid small{display:block;color:#64748b}.expense-detail-list{display:grid;gap:8px}.expense-edit-row{display:grid;grid-template-columns:1.1fr 1fr 1.2fr auto;gap:6px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:8px}.dispatch-expense-row{grid-template-columns:minmax(130px,1fr) 120px minmax(160px,1.3fr) auto}@media(max-width:768px){.expense-edit-row,.dispatch-expense-row{grid-template-columns:1fr}.driver-info-grid{grid-template-columns:1fr}}

/* Compact desktop refinement: lebih pas di zoom browser 100% */
@media(min-width:961px){
  body{font-size:14px}.sidebar{width:248px;padding:18px}.main{margin-left:248px;width:calc(100% - 248px)}.topbar{height:72px;padding:0 22px}.topbar h1{font-size:22px}.content{padding:20px 22px}.panel{padding:18px;border-radius:20px}.panel-title{font-size:17px;margin-bottom:12px}.sidebar a{padding:10px 12px;border-radius:14px}.form-control,.form-select{padding:9px 11px;border-radius:12px}.btn{border-radius:12px}.modern-table td{padding:10px 8px}.wizard-hero{padding:20px 22px;border-radius:24px}.wizard-hero h2{font-size:24px}.stat-card{padding:18px;min-height:112px}.stat-card b{font-size:28px}
}
.compact-table-wrap{max-height:70vh;overflow:auto;border:1px solid var(--line);border-radius:18px}.compact-table-wrap thead th{position:sticky;top:0;background:#fff;z-index:2}.dispatch-summary-table{font-size:13.5px}.dispatch-summary-row:hover{background:#f8fafc}.dispatch-detail-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:14px}.dispatch-stop-status-form{display:grid;grid-template-columns:130px minmax(110px,1fr) minmax(120px,1fr) minmax(150px,1.2fr) auto;gap:6px;align-items:center}.compact-filter .form-label{font-weight:800;color:#64748b}.selected-doc-panel-horizontal{position:static;background:linear-gradient(135deg,#ffffff,#f8fafc)}.selected-doc-panel-horizontal .alert{display:none}.selected-doc-list-horizontal{max-height:230px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));overflow:auto}.sales-document-workspace .professional-list{max-height:520px}.sales-document-workspace .invoice-item table{font-size:12px}.sales-document-workspace .selected-doc-panel .panel-title{font-size:18px}@media(max-width:900px){.dispatch-stop-status-form{grid-template-columns:1fr}.compact-table-wrap{max-height:none}.selected-doc-list-horizontal{grid-template-columns:1fr}}
