@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap";.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;font-size:13px;font-weight:500;box-shadow:0 8px 24px #00000026;pointer-events:all;animation:toastIn .3s ease;min-width:260px;max-width:360px}@keyframes toastIn{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-success{background:var(--forest);color:#fff;border:1px solid var(--forest-mid)}.toast-success i{color:var(--amber);font-size:18px}.toast-error{background:var(--red);color:#fff;border:1px solid #A0301F}.toast-error i{color:#ffb3b3;font-size:18px}.toast-info{background:#fff;color:var(--forest);border:1px solid var(--cream-border)}.toast-info i{color:var(--amber-dark);font-size:18px}.toast span{flex:1}.toast-close{background:none;border:none;color:#ffffff80;font-size:14px;cursor:pointer;display:flex;align-items:center;padding:2px;border-radius:4px;transition:color .15s}.toast-close:hover{color:#fff}.toast-info .toast-close{color:var(--text-muted)}.toast-info .toast-close:hover{color:var(--forest)}@media (max-width: 768px){.toast-wrap{bottom:16px;right:16px;left:16px}.toast{min-width:unset;max-width:unset;width:100%}}.app-layout{display:flex;min-height:100vh}.sidebar{width:240px;min-width:240px;background:var(--forest);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;transition:transform .25s ease}.sidebar-logo{padding:20px 18px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.logo-mark{display:flex;align-items:center;gap:10px}.logo-icon{width:38px;height:38px;background:var(--amber);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-text{color:#fff;font-family:var(--font-display);font-size:14px;font-weight:600;line-height:1.2}.logo-sub{color:#ffffff59;font-size:10px;margin-top:1px}.sidebar-nav{flex:1;padding:12px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);color:#ffffff8c;font-size:13px;font-weight:500;transition:all .15s;border-left:3px solid transparent}.nav-item:hover{background:#ffffff12;color:#ffffffe6}.nav-item-active{background:#f5a6231f;color:var(--amber);border-left-color:var(--amber)}.nav-item i{font-size:18px}.lang-toggle-wrap{padding:8px 14px;border-top:1px solid rgba(255,255,255,.07)}.lang-toggle{display:flex;align-items:center;gap:6px;background:#ffffff0f;border:.5px solid rgba(255,255,255,.12);border-radius:20px;padding:5px 14px;cursor:pointer;width:100%;justify-content:center;transition:background .15s}.lang-toggle:hover{background:#ffffff1a}.lang-toggle span{font-size:11px;font-weight:600;color:#ffffff59;letter-spacing:.05em;transition:color .15s}.lang-active{color:var(--amber)!important}.lang-divider{color:#ffffff26!important;font-weight:300!important}.sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:8px}.user-info{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.user-avatar{width:34px;height:34px;border-radius:50%;background:var(--amber);color:var(--forest);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-details{min-width:0}.user-name{color:#fff;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{color:#ffffff59;font-size:10px}.logout-btn{background:none;border:none;color:#ffffff4d;font-size:18px;padding:6px;border-radius:var(--radius-sm);transition:all .15s;display:flex}.logout-btn:hover{color:#fff;background:#ffffff14}.main-area{flex:1;margin-left:240px;display:flex;flex-direction:column;min-height:100vh;min-width:0}.topbar{height:var(--topbar-h);background:#fff;border-bottom:.5px solid var(--cream-border);display:flex;align-items:center;padding:0 24px;gap:12px;position:sticky;top:0;z-index:40}.hamburger{display:none;background:none;border:none;color:var(--text-secondary);font-size:22px;padding:4px;border-radius:var(--radius-sm)}.topbar-brand{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary);display:none}.topbar-right{margin-left:auto}.topbar-user{display:flex;align-items:center;gap:9px}.topbar-avatar{width:32px;height:32px;border-radius:50%;background:var(--amber-light);border:1.5px solid var(--amber);color:var(--amber-dark);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.topbar-name{font-size:13px;font-weight:500;color:var(--text-primary)}.page-content{flex:1;padding:24px;overflow-y:auto}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:49;background:#0006}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-overlay{display:block}.main-area{margin-left:0}.hamburger{display:flex}.topbar-brand{display:block}.topbar-name{display:none}.page-content{padding:16px}}.loading-full{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-page{min-height:100vh;background:var(--forest);display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.login-bg-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(-45deg,rgba(245,166,35,.04) 0px,rgba(245,166,35,.04) 1px,transparent 1px,transparent 40px);pointer-events:none}.login-lang-toggle{position:absolute;top:20px;right:24px;display:flex;align-items:center;gap:6px;background:#ffffff14;border:.5px solid rgba(255,255,255,.15);border-radius:20px;padding:5px 14px;cursor:pointer;transition:background .15s}.login-lang-toggle:hover{background:#ffffff24}.login-lang-toggle span{font-size:11px;font-weight:600;color:#ffffff59;letter-spacing:.05em}.login-lang-active{color:var(--amber)!important}.login-lang-div{color:#ffffff26!important;font-weight:300!important}.login-card{background:var(--cream);border-radius:var(--radius-xl);padding:36px;width:100%;max-width:400px;box-shadow:0 24px 64px #0000004d}.login-logo{display:flex;align-items:center;gap:14px;margin-bottom:24px}.login-logo-icon{width:52px;height:52px;background:var(--amber);border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.login-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--forest);margin-bottom:2px}.login-subtitle{font-size:12px;color:var(--text-muted)}.login-divider{height:.5px;background:var(--cream-border);margin-bottom:24px}.login-form{display:flex;flex-direction:column;gap:16px}.login-heading{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--forest);margin-bottom:4px}.login-btn{width:100%;padding:12px;font-size:14px;font-weight:600;margin-top:4px}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;font-size:11px;color:var(--text-muted);margin-top:20px}.dashboard{max-width:1100px}.dash-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:12px;flex-wrap:wrap}.dash-title{font-size:22px;font-weight:700;color:var(--forest);margin-bottom:3px}.dash-date{font-size:13px;color:var(--text-muted)}.dash-header-actions{display:flex;gap:8px;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat-card{background:#fff;border:.5px solid var(--cream-border);border-radius:var(--radius-lg);padding:16px;display:flex;align-items:center;gap:14px;transition:box-shadow .15s}.stat-card:hover{box-shadow:var(--shadow-sm)}.stat-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.stat-card-green .stat-icon{background:var(--green-light);color:var(--green)}.stat-card-forest .stat-icon{background:#1a3a2a14;color:var(--forest)}.stat-card-red .stat-icon{background:var(--red-light);color:var(--red)}.stat-card-amber .stat-icon{background:var(--amber-light);color:var(--amber-dark)}.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.stat-value{font-family:var(--font-display);font-size:26px;font-weight:700;line-height:1;color:var(--forest)}.stat-sub{font-size:11px;color:var(--text-muted);margin-top:3px}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.dash-chart-card{grid-column:1}.dash-alerts-card{grid-column:2}.boundary-bar-wrap{display:flex;align-items:center;gap:10px;margin-bottom:10px}.boundary-pct{font-size:13px;font-weight:600;color:var(--green);width:36px;text-align:right}.boundary-stats{display:flex;gap:16px}.boundary-stat{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.finance-rows{display:flex;flex-direction:column;gap:0}.finance-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:.5px solid #F5EFE4}.finance-row:last-child{border-bottom:none}.finance-label{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-secondary)}.finance-income{font-size:14px;font-weight:600;color:var(--green)}.finance-expense{font-size:14px;font-weight:600;color:var(--red)}.net-box{display:flex;justify-content:space-between;align-items:center;background:var(--forest);border-radius:var(--radius-md);padding:12px 16px;margin-top:12px}.net-label{font-size:13px;color:#fff9;font-weight:500}.net-value{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--amber)}.week-total{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:.5px solid #F5EFE4;margin-top:4px;font-size:12px;color:var(--text-muted)}.week-total strong{font-size:15px;color:var(--green);font-family:var(--font-display)}.alerts-list{display:flex;flex-direction:column;gap:8px}.alert-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);font-size:13px}.alert-warn{background:var(--amber-light);border:.5px solid rgba(245,166,35,.3);color:var(--amber-dark)}.alert-danger{background:var(--red-light);border:.5px solid rgba(192,57,43,.2);color:var(--red)}.alert-item i{font-size:18px;flex-shrink:0}.alert-body{flex:1;min-width:0}.alert-subject{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-days{font-size:11px;opacity:.7;margin-top:1px}.quick-links{display:flex;gap:10px;flex-wrap:wrap}.quick-link{display:flex;align-items:center;gap:8px;background:#fff;border:.5px solid var(--cream-border);border-radius:var(--radius-lg);padding:12px 18px;font-size:13px;font-weight:500;color:var(--text-primary);transition:all .15s}.quick-link:hover{background:var(--cream);border-color:var(--amber);color:var(--forest)}.quick-link i{font-size:18px;color:var(--amber)}@media (max-width: 900px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}.dash-chart-card,.dash-alerts-card{grid-column:1}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:22px}.quick-links{gap:8px}.quick-link{padding:10px 14px;font-size:12px}}.dispatch-page{max-width:1000px}.dispatch-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.dispatch-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.dstat{background:#fff;border:.5px solid var(--cream-border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.dstat-val{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--forest);line-height:1}.dstat-val.green{color:var(--green)}.dstat-val.red{color:var(--red)}.dstat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.dispatch-tabs{display:flex;gap:4px;margin-bottom:14px;background:#fff;border:.5px solid var(--cream-border);border-radius:var(--radius-lg);padding:4px}.dispatch-tab{flex:1;padding:9px 16px;font-size:13px;font-weight:500;background:none;border:none;border-radius:var(--radius-md);color:var(--text-muted);transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}.dispatch-tab:hover{color:var(--forest)}.dispatch-tab-active{background:var(--forest);color:#fff}.tab-count{background:var(--amber);color:var(--forest);font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.dispatch-list{display:flex;flex-direction:column}.dispatch-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:.5px solid #F5EFE4;flex-wrap:wrap}.dispatch-row:last-child{border-bottom:none}.dispatch-row-warn{background:#f5a6230d;border-radius:var(--radius-md);padding:12px 8px}.dispatch-avatar{width:38px;height:38px;border-radius:50%;background:var(--forest);color:var(--amber);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dispatch-info{flex:1;min-width:120px}.dispatch-name{font-size:13px;font-weight:500;color:var(--forest)}.dispatch-meta{font-size:11px;color:var(--text-muted);margin-top:1px}.dispatch-route-badge{font-size:11px;font-weight:500;background:var(--amber-light);color:var(--amber-dark);padding:4px 10px;border-radius:20px;white-space:nowrap;flex-shrink:0}.dispatch-time{font-size:12px;font-weight:500;color:var(--text-muted);white-space:nowrap;flex-shrink:0;min-width:40px;text-align:right}.dispatch-time-warn{color:var(--amber-dark);font-weight:700}.dispatch-returned-time{font-size:12px;color:var(--green);font-weight:500;white-space:nowrap;flex-shrink:0}.dispatch-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.dispatch-cancel-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border:.5px solid var(--cream-border);border-radius:var(--radius-md);background:none}.dispatch-cancel-btn:hover{background:var(--red-light);color:var(--red);border-color:var(--red)}.cancel-confirm-info{background:var(--cream);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.cancel-confirm-info>div{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--forest)}.cancel-confirm-info i{font-size:15px;color:var(--amber-dark);width:18px;flex-shrink:0}.cancel-warning{display:flex;align-items:flex-start;gap:8px;background:var(--red-light);color:var(--red);font-size:12px;padding:10px 14px;border-radius:var(--radius-md);border:.5px solid rgba(192,57,43,.2);line-height:1.5}.cancel-warning i{font-size:16px;flex-shrink:0;margin-top:1px}@media (max-width: 768px){.dispatch-stats{grid-template-columns:repeat(2,1fr)}.dispatch-row{gap:8px}.dispatch-route-badge{display:none}}@media (max-width: 480px){.dispatch-stats{grid-template-columns:repeat(2,1fr)}}.drivers-page{max-width:1100px}.drivers-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.drivers-filters{display:flex;gap:10px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.search-wrap{position:relative;flex:1;min-width:200px;max-width:320px}.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:16px;pointer-events:none}.search-input{padding-left:36px}.filter-tabs{display:flex;gap:4px;flex-wrap:wrap}.filter-tab{padding:7px 14px;font-size:12px;font-weight:500;background:none;border:.5px solid var(--cream-border);border-radius:var(--radius-md);color:var(--text-muted);transition:all .15s;white-space:nowrap}.filter-tab:hover{background:var(--cream);color:var(--forest)}.filter-tab-active{background:var(--forest);color:#fff;border-color:var(--forest)}.view-toggle{display:flex;gap:2px;margin-left:auto;background:var(--cream);border:.5px solid var(--cream-border);border-radius:var(--radius-md);padding:3px}.view-btn{width:32px;height:32px;border:none;background:none;border-radius:var(--radius-sm);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:17px;transition:all .15s;cursor:pointer}.view-btn:hover{color:var(--forest)}.view-btn-active{background:#fff;color:var(--forest);box-shadow:var(--shadow-sm)}.drivers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.driver-card{background:#fff;border:1px solid var(--cream-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .15s,transform .15s}.driver-card:hover{box-shadow:0 4px 16px #1a3a2a1a;transform:translateY(-2px)}.driver-card-top{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--cream-border);background:var(--cream)}.driver-card-avatar{width:46px;height:46px;border-radius:50%;background:var(--forest);color:var(--amber);font-family:var(--font-display);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--amber)}.driver-card-info{flex:1;min-width:0}.driver-card-name{font-size:14px;font-weight:600;color:var(--forest);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-card-nick{font-size:11px;color:var(--text-muted);margin-top:2px}.driver-card-details{display:flex;flex-direction:column;padding:0 18px}.driver-card-detail{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary);padding:8px 0;border-bottom:.5px solid #F5EFE4}.driver-card-detail:last-child{border-bottom:none}.driver-card-detail i{font-size:15px;color:var(--amber-dark);flex-shrink:0;width:16px}.driver-card-address{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.driver-card-emergency{background:#c0392b0a;margin:0 -18px;padding:8px 18px!important;border-top:.5px solid rgba(192,57,43,.1)!important}.driver-card-emergency i{color:var(--red)!important}.driver-card-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-top:1px solid var(--cream-border);background:#fafaf8}.driver-card-type{font-size:11px;color:var(--text-muted);background:var(--cream);padding:3px 10px;border-radius:20px;border:.5px solid var(--cream-border)}.driver-cell{display:flex;align-items:center;gap:10px}.driver-cell-avatar{width:34px;height:34px;border-radius:50%;background:var(--forest);color:var(--amber);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.driver-cell-name{font-size:13px;font-weight:500;color:var(--forest)}.driver-cell-nick{font-size:11px;color:var(--text-muted)}.text-muted{color:var(--text-muted);font-size:12px}.modal-section-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;padding-bottom:6px;border-bottom:.5px solid var(--cream-border);display:flex;align-items:center}.emergency-contact-note{font-size:12px;color:var(--text-muted);margin-top:-10px;margin-bottom:4px;font-style:italic}@media (max-width: 768px){.drivers-modal-overlay{align-items:flex-end;padding:0}.drivers-modal{max-height:92vh;border-radius:20px 20px 0 0;margin-right:0}.drivers-modal-grid{grid-template-columns:1fr}.drivers-modal-body{max-height:calc(92vh - 130px)}}@media (max-width: 600px){.drivers-grid{grid-template-columns:1fr}.view-toggle,.filter-tabs{display:none}}.jeep-card-avatar{width:54px;height:54px;border-radius:12px;background:var(--forest);color:var(--amber);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0;border:2px solid var(--amber)}.jeep-card-avatar i{font-size:18px}.jeep-card-avatar span{font-size:9px;font-weight:700;font-family:var(--font-display);letter-spacing:.03em}.finance-page{max-width:900px}.finance-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.finance-header-actions{display:flex;gap:8px}.finance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.fsummary-card{background:#fff;border:.5px solid var(--cream-border);border-radius:var(--radius-lg);padding:16px;display:flex;align-items:center;gap:14px}.fsummary-card i{font-size:24px;flex-shrink:0}.fsummary-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.fsummary-value{font-family:var(--font-display);font-size:22px;font-weight:700}.fsummary-income i,.fsummary-income .fsummary-value{color:var(--green)}.fsummary-expense i,.fsummary-expense .fsummary-value{color:var(--red)}.fsummary-net{background:var(--forest)}.fsummary-net i{color:var(--amber)}.fsummary-net .fsummary-label{color:#ffffff80}.fsummary-net .fsummary-value{color:var(--amber)}.fsummary-boundary i,.fsummary-boundary .fsummary-value{color:var(--forest)}.finance-list{display:flex;flex-direction:column}.finance-entry{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:.5px solid #F5EFE4}.finance-entry:last-child{border-bottom:none}.fentry-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.fentry-icon-income{background:var(--green-light);color:var(--green)}.fentry-icon-expense{background:var(--red-light);color:var(--red)}.fentry-info{flex:1;min-width:0}.fentry-label{font-size:13px;font-weight:500;color:var(--forest)}.fentry-meta{font-size:11px;color:var(--text-muted);margin-top:1px}.fentry-amount{font-size:14px;font-weight:600;flex-shrink:0}.fentry-income{color:var(--green)}.fentry-expense{color:var(--red)}.finance-total{display:flex;justify-content:space-between;align-items:center;padding:12px 0 0;margin-top:4px;border-top:.5px solid var(--cream-border);font-size:13px;color:var(--text-muted)}.finance-total strong{font-size:16px;color:var(--green);font-family:var(--font-display)}.boundary-list{display:flex;flex-direction:column;gap:0}.boundary-date-row{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:12px;border-bottom:.5px solid var(--cream-border);flex-wrap:wrap}.boundary-date-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--forest);white-space:nowrap}.boundary-date-label i{color:var(--amber-dark)}.boundary-date-hint{font-size:11px;color:var(--amber-dark);font-style:italic}.boundary-section-header{display:flex;align-items:center;justify-content:space-between;padding:6px 0 8px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:.5px solid var(--cream-border);margin-bottom:4px}.boundary-section-count{font-size:11px;color:var(--green);font-weight:600}.boundary-progress-row{display:flex;align-items:center;gap:10px;padding:8px 0 10px}.boundary-bar{flex:1;height:8px;background:var(--cream-border);border-radius:4px;overflow:hidden}.boundary-bar-fill{height:100%;background:var(--green);border-radius:4px;transition:width .5s ease}.boundary-pct{font-size:12px;font-weight:600;color:var(--green);width:36px;text-align:right}.boundary-entry{display:flex;align-items:center;gap:12px;padding:10px 8px;border-bottom:.5px solid #F5EFE4;border-radius:var(--radius-md);transition:background .15s}.boundary-entry:last-child{border-bottom:none}.boundary-entry-unpaid{cursor:pointer}.boundary-entry-unpaid:hover{background:#c0392b0a}.boundary-entry-notrip{opacity:.6}.bentry-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.bentry-info{flex:1;min-width:0}.bentry-name{font-size:13px;font-weight:500;color:var(--forest)}.bentry-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.bentry-sep{margin:0 4px}.bentry-paid-time{color:var(--green)}.boundary-tap-badge{cursor:pointer;transition:all .15s}.boundary-tap-badge:hover{background:var(--red);color:#fff}.boundary-pay-info{background:var(--cream);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.boundary-pay-row{display:flex;align-items:center;gap:12px}.boundary-pay-row i{font-size:16px;color:var(--amber-dark);flex-shrink:0;width:18px}.boundary-pay-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.boundary-pay-value{font-size:13px;font-weight:500;color:var(--forest);margin-top:1px}@media (max-width: 700px){.finance-summary{grid-template-columns:1fr 1fr}}@media (max-width: 420px){.finance-summary{grid-template-columns:1fr}.boundary-date-row{flex-direction:column;align-items:flex-start}}.reports-page{max-width:1000px}.reports-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.reports-controls{display:flex;gap:8px;align-items:center}.reports-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.rsummary-card{background:#fff;border:.5px solid var(--cream-border);border-radius:var(--radius-lg);padding:16px 14px}.rsummary-net{background:var(--forest)}.rsummary-net .rsummary-label{color:#ffffff80}.rsummary-km{background:var(--green-light);border-color:var(--green-mid)}.rsummary-km .rsummary-label{color:var(--green)}.rsummary-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.rsummary-value{font-family:var(--font-display);font-size:22px;font-weight:700}.reports-chart-card{margin-bottom:14px}.chart-legend{display:flex;gap:16px;margin-top:10px;padding-top:10px;border-top:.5px solid #F5EFE4}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.legend-item span{width:12px;height:3px;border-radius:2px;display:inline-block}.km-route-list{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.km-route-item{display:flex;align-items:center;gap:14px}.km-route-info{min-width:200px;flex-shrink:0}.km-route-name{font-size:13px;font-weight:500;color:var(--forest)}.km-route-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.km-route-bar-wrap{flex:1;display:flex;align-items:center;gap:10px}.km-route-bar{flex:1;height:10px;background:var(--cream-border);border-radius:5px;overflow:hidden}.km-route-bar-fill{height:100%;background:var(--forest);border-radius:5px;transition:width .5s ease}.km-route-total{font-size:12px;font-weight:600;color:var(--forest);width:80px;text-align:right;flex-shrink:0}.km-route-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:.5px solid var(--cream-border);font-size:13px;color:var(--text-muted)}.km-route-total-row strong{font-size:16px;font-weight:700;color:var(--forest);font-family:var(--font-display)}@media (max-width: 800px){.reports-summary{grid-template-columns:repeat(2,1fr)}.km-route-info{min-width:140px}}@media (max-width: 500px){.reports-summary{grid-template-columns:1fr 1fr}.km-route-item{flex-direction:column;align-items:flex-start;gap:6px}.km-route-bar-wrap{width:100%}}.routes-page{max-width:900px}.routes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.route-card{background:#fff;border:1px solid var(--cream-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .15s,transform .15s}.route-card:hover{box-shadow:0 4px 16px #1a3a2a1a;transform:translateY(-2px)}.route-card-main{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.route-endpoints{display:flex;flex-direction:column;gap:6px;flex:1}.route-point{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--forest)}.route-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.route-dot-start{background:var(--amber);border:2px solid var(--amber-dark)}.route-dot-end{background:var(--green);border:2px solid var(--forest)}.route-line{width:2px;height:16px;background:var(--cream-border);margin-left:4px;border-radius:2px}.route-km{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--text-muted);background:var(--cream);padding:6px 12px;border-radius:20px;border:.5px solid var(--cream-border);white-space:nowrap;flex-shrink:0}.route-km i{font-size:13px;color:var(--amber-dark)}.route-card-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-top:1px solid var(--cream-border);background:#fafaf8}@media (max-width: 600px){.routes-grid{grid-template-columns:1fr}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--forest: #1A3A2A;--forest-dark: #0F2418;--forest-mid: #2A5A3A;--amber: #F5A623;--amber-light: #FEF3E2;--amber-dark: #D4760A;--cream: #FFF8EE;--cream-border: #E8DCC8;--cream-hover: #F5EDD8;--green: #2A7A4A;--green-light: #EAF3DE;--green-mid: #C8E0A8;--red: #C0392B;--red-light: #FCEBEB;--orange: #D4760A;--orange-light: #FEF3E2;--text-primary: #1A3A2A;--text-secondary: #666;--text-muted: #999;--font-body: "Plus Jakarta Sans", sans-serif;--font-display: "Space Grotesk", sans-serif;--sidebar-w: 240px;--topbar-h: 56px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 1px 3px rgba(26,58,42,.08);--shadow-md: 0 4px 12px rgba(26,58,42,.1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background:var(--cream);color:var(--text-primary);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:600;color:var(--text-primary)}a{text-decoration:none;color:inherit}button{font-family:var(--font-body);cursor:pointer}input,select,textarea{font-family:var(--font-body)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--cream-border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#d0c4a8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-up{animation:fadeInUp .3s ease both}.animate-fade{animation:fadeIn .25s ease both}.card{background:#fff;border:.5px solid var(--cream-border);border-radius:var(--radius-lg);padding:20px}.card-sm{padding:14px 16px}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:500;padding:3px 9px;border-radius:20px;white-space:nowrap}.badge-green{background:var(--green-light);color:var(--green)}.badge-red{background:var(--red-light);color:var(--red)}.badge-amber{background:var(--amber-light);color:var(--amber-dark)}.badge-gray{background:#f0ede8;color:#666}.badge-forest{background:#1a3a2a14;color:var(--forest)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:500;padding:8px 16px;border-radius:var(--radius-md);border:none;transition:all .15s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--forest);color:#fff}.btn-primary:hover{background:var(--forest-mid)}.btn-amber{background:var(--amber);color:var(--forest);font-weight:600}.btn-amber:hover{background:#efa010}.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:#1e6038}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#a0301f}.btn-ghost{background:transparent;color:var(--text-secondary);border:.5px solid var(--cream-border)}.btn-ghost:hover{background:var(--cream)}.btn-sm{font-size:11px;padding:5px 11px;border-radius:var(--radius-sm)}.btn-icon{padding:8px;width:36px;height:36px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.form-input{padding:10px 13px;font-size:14px;border:1.5px solid var(--cream-border);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);transition:border-color .15s,box-shadow .15s;outline:none;width:100%;line-height:1.4}.form-input:focus{border-color:var(--amber);box-shadow:0 0 0 3px #f5a6231f}.form-input::-moz-placeholder{color:#c0b8a8;font-size:13px}.form-input::placeholder{color:#c0b8a8;font-size:13px}.form-select{padding:10px 36px 10px 13px;font-size:14px;border:1.5px solid var(--cream-border);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);outline:none;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;transition:border-color .15s,box-shadow .15s;cursor:pointer}.form-select:focus{border-color:var(--amber);box-shadow:0 0 0 3px #f5a6231f;outline:none}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.dot-green{background:var(--green)}.dot-amber{background:var(--amber);animation:pulse-dot 2s ease-in-out infinite}.dot-red{background:var(--red)}.dot-gray{background:#ccc}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase;border-bottom:.5px solid var(--cream-border);background:var(--cream);white-space:nowrap}tbody td{padding:11px 14px;border-bottom:.5px solid #F5EFE4;vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fffbf4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#0a140e8c;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.modal{background:#fff;border-radius:var(--radius-xl);padding:28px;width:100%;max-width:480px;box-shadow:var(--shadow-md);animation:fadeInUp .25s ease}.modal-title{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--text-primary);margin-bottom:20px;display:flex;align-items:center;gap:8px}.modal-fields{display:flex;flex-direction:column;gap:14px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.drivers-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:999;background:#0a140e99;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drivers-modal{background:#fff;border-radius:20px;width:100%;max-width:520px;max-height:90vh;box-shadow:0 24px 64px #00000040;animation:fadeInUp .25s ease;display:flex;flex-direction:column;overflow:hidden}.drivers-modal-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--cream-border);background:var(--cream)}.drivers-modal-title{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--forest)}.drivers-modal-title i{font-size:20px;color:var(--amber-dark)}.drivers-modal-close{width:32px;height:32px;border-radius:50%;background:none;border:none;color:var(--text-muted);font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.drivers-modal-close:hover{background:var(--cream-border);color:var(--forest)}.drivers-modal-body{padding:24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1;min-height:0;max-height:calc(90vh - 130px)}.drivers-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.drivers-modal-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--cream-border);background:var(--cream)}@media (min-width: 769px){.drivers-modal{margin-right:120px}}@media (max-width: 768px){.drivers-modal-overlay{align-items:flex-end;padding:0}.drivers-modal{max-height:92vh;border-radius:20px 20px 0 0;margin-right:0}.drivers-modal-body{max-height:calc(92vh - 130px)}.drivers-modal-grid{grid-template-columns:1fr}}.spinner{width:20px;height:20px;border:2px solid var(--cream-border);border-top-color:var(--forest);border-radius:50%;animation:spin .6s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:10px;color:var(--text-muted);text-align:center}.empty-state i{font-size:40px;opacity:.3}.empty-state p{font-size:14px}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:12px;color:var(--text-muted);font-size:13px}.page-heading{font-size:20px;font-weight:700;color:var(--forest);margin-bottom:3px}.page-sub{font-size:12px;color:var(--text-muted)}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--forest)}.card-title i{color:var(--amber);font-size:16px}.login-error{display:flex;align-items:center;gap:8px;background:var(--red-light);color:var(--red);font-size:13px;padding:10px 14px;border-radius:var(--radius-md);border:.5px solid rgba(192,57,43,.2)}.login-error i{font-size:16px;flex-shrink:0}@media (max-width: 768px){.card{padding:14px}}
