:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{border:0;border-radius:10px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none}.primary{background:#155eef;color:#fff}.app-shell{min-height:100vh;display:flex}aside{width:240px;background:#0b1220;color:#cbd5e1;padding:20px 12px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:10px;align-items:center;padding:8px 10px 24px;color:#fff}.brand b{display:block;font-size:18px}.brand small{color:#94a3b8}.logo{width:36px;height:36px;border-radius:10px;background:#155eef;color:#fff;display:grid;place-items:center;font-weight:800}.logo.big{width:56px;height:56px;font-size:24px;margin:auto}nav{display:grid;gap:5px}nav a{color:#aab5c7;text-decoration:none;padding:11px 12px;border-radius:9px;display:flex;gap:10px;align-items:center}nav a:hover,nav a.active{background:#18243a;color:#fff}.logout{margin-top:auto;background:transparent;color:#aab5c7;justify-content:flex-start}.logout:hover{background:#18243a}main{margin-left:240px;width:calc(100% - 240px)}header{height:68px;background:#fff;border-bottom:1px solid #e7eaf0;padding:0 28px;display:flex;justify-content:space-between;align-items:center}.muted{color:#7b8798;display:block;font-size:13px}.pill{font-size:12px;color:#087443;background:#ecfdf3;border:1px solid #b7ebcb;padding:7px 10px;border-radius:99px}.content{padding:28px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.page-head h1{margin:0 0 5px;font-size:28px}.page-head p{margin:0;color:#7b8798}.actions{display:flex;gap:8px}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid #e8ebf0;border-radius:14px;padding:17px;display:flex;gap:12px;align-items:center}.stat-icon{width:40px;height:40px;border-radius:10px;background:#eef4ff;color:#155eef;display:grid;place-items:center}.stat span{font-size:12px;color:#7b8798;display:block}.stat strong{font-size:23px;display:block;margin-top:3px}.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.card,.driver-card{background:#fff;border:1px solid #e8ebf0;border-radius:14px;padding:20px;overflow:auto}.card h2{font-size:16px;margin:0 0 16px}.toolbar{margin-bottom:12px}.search{background:#fff;border:1px solid #dfe4ec;border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 11px;max-width:400px}.search input{border:0;outline:0;padding:11px;width:100%}table{width:100%;border-collapse:collapse;min-width:650px}th{text-align:left;font-size:12px;color:#7b8798;padding:11px;border-bottom:1px solid #e8ebf0}td{padding:13px 11px;border-bottom:1px solid #eef1f5;font-size:14px}td small{display:block;color:#8994a5;margin-top:2px}.badge{display:inline-flex;padding:5px 8px;border-radius:99px;background:#eef2f7;color:#536173;font-size:12px}.available,.active,.delivered,.completed{background:#ecfdf3;color:#087443}.on-route,.assigned,.arrived{background:#eff6ff;color:#155eef}.maintenance,.pending,.planned,.rescheduled{background:#fff7ed;color:#b45309}.out-of-service,.failed,.cancelled,.returned,.inactive{background:#fef2f2;color:#b42318}.row-actions{white-space:nowrap}.row-actions button{padding:6px;background:transparent;color:#64748b}.empty{min-height:160px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:#8994a5}.progress{display:grid;grid-template-columns:1fr auto;gap:7px;margin:18px 0}.progress span{font-size:13px}.progress div{grid-column:1/-1;height:8px;background:#edf0f5;border-radius:99px;overflow:hidden}.progress i,.report-row i{display:block;height:100%;background:#155eef;border-radius:99px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0008;display:grid;place-items:center;padding:20px;z-index:20}.modal{width:min(520px,100%);background:#fff;border-radius:16px;padding:22px;display:grid;gap:11px;box-shadow:0 20px 60px #0003}.modal h2{margin:0 0 5px}.modal input,.modal select,.auth-card input{border:1px solid #d9dfe8;border-radius:9px;padding:11px;outline:none;width:100%;background:#fff}.modal input:focus,.modal select:focus,.auth-card input:focus{border-color:#155eef}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.modal-actions button:not(.primary){background:#eef1f5}.route-banner{display:flex;gap:12px;background:#f7f9fc;padding:14px;border-radius:11px;margin-bottom:18px}.route-banner svg{color:#155eef}.route-banner span{display:block;color:#718096;font-size:13px;margin-top:3px}.driver-card{max-width:700px;margin:auto}.driver-top{display:flex;justify-content:space-between;align-items:center}.driver-top h2{margin:2px 0}.next-stop{margin:24px 0;padding:20px;border-radius:14px;background:#f7f9fc;display:flex;gap:15px}.stop-icon{width:44px;height:44px;background:#e8f0ff;color:#155eef;border-radius:12px;display:grid;place-items:center}.next-stop h2{margin:3px 0}.next-stop p{margin:5px 0;color:#68758a}.driver-actions{display:flex;gap:8px;flex-wrap:wrap}.driver-actions .button{background:#eef1f5;color:#243247}.report-row{display:grid;grid-template-columns:120px 35px 1fr;align-items:center;gap:10px;padding:10px 0}.report-row>div{height:8px;background:#edf0f5;border-radius:99px;overflow:hidden}.auth{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0b1220,#16233d);padding:20px}.auth-card{width:min(410px,100%);background:#fff;border-radius:18px;padding:30px;display:grid;gap:12px;text-align:left}.auth-card h1{text-align:center;margin:0}.auth-card p{text-align:center;color:#718096;margin:0 0 10px}.auth-card a{text-align:center;color:#155eef;text-decoration:none;font-size:13px}.auth-card label{font-size:13px;color:#536173;display:grid;gap:6px}.auth-card .primary{margin-top:5px}.button.primary{color:#fff}.auth-card .logo{margin:auto}.auth-card input{padding:12px}@media(max-width:1100px){.stats{grid-template-columns:repeat(3,1fr)}.grid2{grid-template-columns:1fr}}@media(max-width:760px){aside{width:70px;padding:12px 8px}.brand div:last-child,nav a:not(.active):after,nav a{font-size:0}.brand{padding:8px 8px 20px}nav a{justify-content:center}nav a svg{font-size:18px}.logout{justify-content:center;font-size:0}main{margin-left:70px;width:calc(100% - 70px)}header{padding:0 16px}.content{padding:18px}.stats{grid-template-columns:repeat(2,1fr)}.page-head{gap:10px;flex-direction:column}.grid2{grid-template-columns:1fr}.stat strong{font-size:20px}}.route-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:18px;align-items:start}.route-layout>.card h2{margin-top:0}.route-selected{background:#f3f7ff}.route-selected td:first-child{box-shadow:inset 3px 0 #155eef}.route-layout tbody tr{cursor:pointer}.route-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.route-detail-head h2{margin:5px 0}.route-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.route-actions button,.route-actions a{display:inline-flex;align-items:center;gap:7px}.route-actions button:disabled,.stop-controls button:disabled{opacity:.45;cursor:not-allowed}.stop-list{list-style:none;margin:0;padding:0}.stop-list li{display:flex;gap:10px;align-items:center;padding:13px 0;border-top:1px solid #eef1f5}.stop-number{flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eef4ff;color:#155eef;font-weight:700}.stop-info{flex:1;min-width:0}.stop-info b,.stop-info span,.stop-info small{display:block}.stop-info span{color:#64748b;font-size:13px;margin-top:3px;overflow-wrap:anywhere}.stop-info small{color:#8994a5;margin-top:3px}.stop-controls{display:flex;gap:3px}.stop-controls button,.stop-controls a{color:#64748b;background:transparent;padding:6px;display:grid;place-items:center}.stop-controls a:hover,.stop-controls button:hover{color:#155eef;background:#eef4ff}.route-modal{max-height:90vh;overflow:auto}.route-modal>label,.route-form-row label{display:grid;gap:6px;font-size:13px;color:#536173}.route-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.delivery-picker{border:1px solid #e2e7ef;border-radius:10px;max-height:260px;overflow:auto;padding:10px}.delivery-picker legend{padding:0 5px;font-size:13px;color:#536173}.delivery-option{display:flex;align-items:flex-start;gap:9px;padding:9px 2px;border-bottom:1px solid #eef1f5;cursor:pointer}.delivery-option:last-child{border-bottom:0}.delivery-option input{width:auto;margin-top:3px}.delivery-option span{display:grid;gap:3px}.delivery-option small{color:#718096;font-size:12px}@media(max-width:1050px){.route-layout{grid-template-columns:1fr}.route-detail{min-width:0}}@media(max-width:760px){.route-layout{display:grid}.route-detail-head,.stop-list li{flex-wrap:wrap}.stop-info{flex-basis:calc(100% - 50px)}.route-detail .badge{margin-left:38px}.stop-controls{margin-left:auto}.route-form-row{grid-template-columns:1fr}}.driver-select{display:grid;gap:6px;margin-bottom:22px;color:#536173;font-size:13px}.driver-select select{border:1px solid #d9dfe8;border-radius:9px;padding:11px;background:#fff}.driver-stops{margin-top:26px}.driver-stops h3{font-size:15px}.driver-stop{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:11px 0;border-top:1px solid #eef1f5}.driver-stop span{grid-column:1;color:#718096;font-size:13px;overflow-wrap:anywhere}.driver-stop .badge{grid-column:2;grid-row:1/3}.driver-stop a{grid-column:3;grid-row:1/3;color:#155eef}@media(max-width:480px){.driver-stop{grid-template-columns:1fr auto}.driver-stop .badge{grid-column:1;grid-row:3;justify-self:start}.driver-stop a{grid-column:2;grid-row:1/3}}.wide-modal{width:min(820px,100%);max-height:90vh;overflow:auto}.wide-modal h2{display:flex;align-items:center;gap:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.form-grid label{display:grid;gap:6px;color:#536173;font-size:13px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #d9dfe8;border-radius:9px;padding:10px;background:#fff;color:#243247;font:inherit}.form-grid textarea{resize:vertical}.form-span{grid-column:1/-1}.form-hint{background:#f4f7fb;border-radius:9px;padding:10px;color:#64748b;font-size:12px;line-height:1.5}.maintenance-alert{color:#b45309!important;font-weight:600}.delivery-modal>label{display:block}@media(max-width:560px){.form-grid{grid-template-columns:1fr}.form-span{grid-column:auto}.wide-modal{padding:17px}}.proof-modal{z-index:30}.proof-modal .muted{margin:-6px 0 3px}.proof-gps{display:grid;gap:5px;align-content:start}.proof-gps button,.signature-head button{display:inline-flex;align-items:center;gap:6px}.proof-gps small{color:#087443;font-size:11px}.proof-preview{max-height:220px;max-width:100%;object-fit:contain;border-radius:10px;background:#f1f5f9}.signature-head{display:flex;justify-content:space-between;align-items:center;color:#536173;font-size:13px}.signature-head span{display:flex;gap:6px;align-items:center}.signature-canvas{width:100%;height:180px;border:1px dashed #94a3b8;border-radius:10px;background:#fff;touch-action:none;cursor:crosshair}.form-error{color:#b42318;font-size:13px;margin:0}.driver-metrics{display:flex;gap:18px;flex-wrap:wrap;padding:13px 0;border-bottom:1px solid #eef1f5;color:#718096;font-size:12px}.driver-metrics b{display:block;color:#243247;font-size:16px}.tracking-control{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}.tracking-control button{display:inline-flex;align-items:center;gap:6px}.tracking-control span{font-size:12px;color:#718096}.tracking-control small{flex-basis:100%}@media(max-width:560px){.driver-metrics{gap:11px}.signature-canvas{height:145px}}.unavailable,.not-available{background:#fef2f2;color:#b42318}.maintenance-alert-box{display:flex;gap:10px;align-items:flex-start;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:11px;padding:13px 15px;margin-bottom:14px}.maintenance-alert-box div{display:grid;gap:4px}.maintenance-alert-box span{font-size:12px;line-height:1.5}.metric-line{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #eef1f5;font-size:13px}.metric-line b{color:#17243a}.text-button{background:transparent!important;color:#155eef!important;padding:0!important;font-size:12px;text-align:left}.stats-compact{grid-template-columns:repeat(2,minmax(190px,260px));margin-bottom:16px}.closeout-card{max-width:720px;margin:0 auto}.closeout-card h2{margin:5px 0}.closeout-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.closeout-values span{background:#f7f9fc;border-radius:10px;padding:12px;color:#718096;font-size:12px}.closeout-values b{display:block;color:#17243a;font-size:18px;margin-top:5px}.closeout-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.closeout-form label{display:grid;gap:6px;flex:1;min-width:210px;font-size:13px}.closeout-form input{border:1px solid #d9dfe8;border-radius:9px;padding:11px}.closeout-form button{display:flex;align-items:center;justify-content:center}@media(max-width:500px){.closeout-values{grid-template-columns:1fr}.closeout-form{display:grid}}.report-filters{display:flex;gap:12px;align-items:flex-end;margin-bottom:16px}.report-filters label{display:grid;gap:5px;font-size:12px;color:#536173}.report-filters input{border:1px solid #d9dfe8;border-radius:9px;padding:9px}.report-costs{margin-top:16px}@media(max-width:560px){.report-filters{flex-wrap:wrap}}.branch-switch{display:grid;gap:6px;padding:0 10px 18px;color:#94a3b8;font-size:11px}.branch-switch select{border:1px solid #334155;border-radius:8px;background:#111c2d;color:#e2e8f0;padding:9px 7px;font-size:12px;min-width:0}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-card{display:grid;gap:12px;align-content:start}.settings-card h2{display:flex;gap:8px;align-items:center;margin:0}.settings-card>label{display:grid;gap:6px;font-size:13px;color:#536173}.settings-card>label input,.settings-card>label select,.branch-add input{border:1px solid #d9dfe8;border-radius:9px;padding:10px;background:#fff}.settings-card>button{justify-self:start}.branch-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.branch-list li{display:flex;gap:8px;align-items:center;border-bottom:1px solid #eef1f5;padding:8px 0}.branch-list li span{flex:1}.branch-list small{border-radius:99px;padding:4px 7px;background:#ecfdf3;color:#087443}.branch-add{display:flex;gap:8px}.branch-add input{flex:1;min-width:0}.branch-add button{display:flex;align-items:center;gap:6px}.app-shell aside{overflow-y:auto}@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}@media(max-width:760px){.branch-switch{padding-left:2px;padding-right:2px}.branch-switch select{font-size:0;width:52px}.branch-switch select option{font-size:13px}}@media(max-width:760px){.branch-switch select{font-size:10px;width:54px;padding:5px 2px}}:root{--jovi-blue:#245bdb;--jovi-blue-dark:#1746b0;--jovi-sky:#eaf1ff;--jovi-ink:#111d33;--jovi-muted:#71809a;--jovi-line:#e5eaf3;--jovi-amber:#ffb83e;--jovi-mint:#15b889;--jovi-shadow:0 12px 32px rgba(27,54,104,.08);scroll-behavior:smooth}body{color:var(--jovi-ink);background:radial-gradient(ellipse at 85% 4%,rgba(95,143,255,.1),transparent 30%),#f4f7fc}button,.button,nav a,.stat,.card,.driver-card,.badge,.logo,.pill{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .25s ease,transform .25s ease,opacity .2s ease}button:not(:disabled):hover,.button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #2552b324}button:active,.button:active{transform:translateY(0) scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(63,124,255,.35);outline-offset:2px}.primary,.button.primary{background:linear-gradient(135deg,#3576f6,#245bdb 60%,#1746b0);box-shadow:0 5px 13px #245bdb38}.app-shell aside{background:radial-gradient(ellipse at 15% 0%,rgba(47,100,220,.24),transparent 34%),linear-gradient(180deg,#101c34,#0b1426);border-right:1px solid rgba(163,190,248,.13);box-shadow:10px 0 34px #182b5112}.brand{gap:12px;padding:12px 10px 25px}.brand b{font-size:19px;letter-spacing:-.04em}.brand small{display:block;margin-top:3px;color:#9eafd0;font-size:11px;letter-spacing:.04em}.logo{position:relative;isolation:isolate;width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#5790ff,#245bdb 62%,#1746b0);box-shadow:0 7px 18px #1746b055;font-size:17px;font-weight:900;letter-spacing:-.1em}.logo:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:1px solid #7aa8ff55;border-radius:16px;z-index:-1}.logo span{color:#ffc354;font-size:13px;vertical-align:top;margin-left:1px}nav{gap:6px}nav a{position:relative;overflow:hidden;color:#b4c0d7;padding:11px 12px;border:1px solid transparent;font-size:13px}nav a svg{flex:none;transition:transform .25s ease}nav a:hover{color:#fff;background:#ffffff10;transform:translate(3px)}nav a:hover svg{transform:scale(1.12)}nav a.active{color:#fff;background:linear-gradient(100deg,#2c63d8,#224ca7);border-color:#78a2ff44;box-shadow:0 7px 18px #06112755}nav a.active:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:0 4px 4px 0;background:var(--jovi-amber)}.branch-switch{padding-bottom:22px;color:#aab9d5}.branch-switch select{border-color:#405273;background:#111f38}.sidebar-foot{margin-top:auto;display:grid;grid-template-columns:10px 1fr;align-items:center;gap:7px;padding:15px 10px 4px;border-top:1px solid #ffffff12;color:#d3dcf0;font-size:11px}.sidebar-foot small{grid-column:2;color:#8191af;font-size:10px}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#35d59a;box-shadow:0 0 0 4px #35d59a22;animation:jovi-pulse 2.2s infinite}main{min-width:0}header{position:sticky;top:0;z-index:10;height:76px;background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #e4eaf4;padding:0 30px}.header-title{display:grid;gap:1px}.header-kicker{color:#7283a0;font-size:9px;font-weight:800;letter-spacing:.16em}.header-title strong{color:#172642;font-size:15px}.header-title .muted{font-size:11px}.pill{display:flex;align-items:center;gap:9px;padding:9px 12px;color:#206049;background:#effbf5;border-color:#c8f1dc;box-shadow:0 3px 10px #1bb77c0b}.content{padding:30px}.page-head{align-items:center;margin-bottom:24px}.page-head h1{font-size:clamp(24px,2vw,31px);letter-spacing:-.045em;color:#152644}.page-head p{margin-top:4px;color:var(--jovi-muted);font-size:13px}.actions{flex-wrap:wrap}.actions button{border:1px solid var(--jovi-line);background:#fff;color:#465774}.stats{gap:14px}.stat,.card,.driver-card{border:1px solid var(--jovi-line);box-shadow:0 4px 15px #1f386109}.stat{position:relative;overflow:hidden;animation:jovi-rise .48s cubic-bezier(.2,.8,.2,1) both}.stat:nth-child(2){animation-delay:.04s}.stat:nth-child(3){animation-delay:.08s}.stat:nth-child(4){animation-delay:.12s}.stat:nth-child(5){animation-delay:.16s}.stat:nth-child(6){animation-delay:.2s}.stat:after{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#3779f5,#68adff,#ffc454);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.stat:hover,.card:hover,.driver-card:hover{transform:translateY(-3px);border-color:#d4e1f7;box-shadow:var(--jovi-shadow)}.stat:hover:after{transform:scaleX(1)}.stat-icon{background:linear-gradient(145deg,#edf3ff,#dce8ff);color:var(--jovi-blue);box-shadow:inset 0 0 0 1px #d5e3ff}.stat strong{letter-spacing:-.04em;color:#16294b}.card h2{color:#1a2b49;letter-spacing:-.02em}.card{animation:jovi-rise .45s ease both}.grid2>.card:nth-child(2){animation-delay:.07s}.grid2>.card:nth-child(3){animation-delay:.12s}.grid2>.card:nth-child(4){animation-delay:.17s}table{border-collapse:separate;border-spacing:0}th{color:#657592;background:#f7f9fd;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}th:first-child{border-radius:9px 0 0}th:last-child{border-radius:0 9px 0 0}td{transition:background .18s ease}tbody tr:hover td{background:#f7faff}tbody tr:hover td:first-child{box-shadow:inset 3px 0 #3b78ef}td small{color:#8794a9}.badge{font-weight:700;border:1px solid transparent}.badge:hover{transform:scale(1.035)}.available,.active,.delivered,.completed{background:#e8faf2;color:#087c56;border-color:#c8f0dc}.on-route,.assigned,.arrived{background:#eaf1ff;color:#245bdb;border-color:#d5e3ff}.maintenance,.pending,.planned,.rescheduled{background:#fff5e4;color:#a96005;border-color:#ffe1ac}.out-of-service,.failed,.cancelled,.returned,.inactive{background:#fff0ef;color:#b42318;border-color:#ffd7d3}.progress div,.report-row>div{background:#edf1f8}.progress i,.report-row i{background:linear-gradient(90deg,#245bdb,#5298ff);box-shadow:0 0 10px #3d79e944;transition:width .7s cubic-bezier(.2,.8,.2,1)}.modal-bg{background:#0913278a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:jovi-fade .2s ease}.modal{border:1px solid #ffffffb3;box-shadow:0 28px 90px #07142a4a;animation:jovi-modal .28s cubic-bezier(.2,.8,.2,1)}.modal h2{color:#192b49}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:#4c82ee;box-shadow:0 0 0 3px #3576f61a}.route-selected{background:#eef4ff}.route-selected td:first-child{box-shadow:inset 3px 0 #ffb83e}.stop-number{background:linear-gradient(135deg,#eaf1ff,#d5e4ff);color:#245bdb;box-shadow:inset 0 0 0 1px #d4e2ff}.stop-list li:hover .stop-number{animation:jovi-pop .3s ease}.route-banner,.next-stop{background:linear-gradient(120deg,#eff5ff,#f8fbff);border:1px solid #dfeaff}.stop-icon{background:linear-gradient(145deg,#dceaff,#bcd4ff);box-shadow:0 6px 15px #245bdb20}.driver-card{animation:jovi-rise .45s ease both}.driver-top .badge{animation:jovi-fade .35s ease}.tracking-control button{background:#eef4ff;color:#245bdb}.tracking-control button:hover{background:#dfeaff}.closeout-values span{background:linear-gradient(140deg,#f5f8ff,#eef3fb);border:1px solid #e5ebf5}.maintenance-alert-box{background:linear-gradient(110deg,#fff7e7,#fffaf0);border-color:#ffe1ae}.form-hint{background:#f4f7fc;border:1px solid #e8edf5}.settings-card,.report-costs{animation:jovi-rise .42s ease both}.auth{background:radial-gradient(circle at 20% 15%,#3b70dc77,transparent 29%),radial-gradient(circle at 90% 85%,#ffbd4b44,transparent 25%),linear-gradient(135deg,#0b1426,#15294d)}.auth-card{box-shadow:0 28px 90px #06112766;animation:jovi-rise .5s cubic-bezier(.2,.8,.2,1) both}.auth-card h1{letter-spacing:-.04em}.empty{animation:jovi-fade .4s ease both}@keyframes jovi-in{0%{opacity:0}to{opacity:1}}@keyframes jovi-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes jovi-fade{0%{opacity:0}to{opacity:1}}@keyframes jovi-modal{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes jovi-pulse{0%,to{box-shadow:0 0 0 3px #35d59a20}50%{box-shadow:0 0 0 6px #35d59a12}}@keyframes jovi-pop{50%{transform:scale(1.12)}}@media(max-width:760px){header{height:68px;padding:0 14px}.content{padding:18px 14px}.header-title .muted{display:none}.header-title strong{font-size:13px}.header-kicker{font-size:8px}.pill{font-size:0;padding:8px}.pill .live-dot{margin:0}.brand .logo{width:42px;height:42px}.sidebar-foot{display:none}nav a{min-height:44px}nav a span{display:none}nav a.active{box-shadow:0 5px 13px #06112755}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-chart-grid{display:grid;grid-template-columns:1fr 1.3fr 1.15fr;gap:16px;margin:2px 0 18px}.chart-card{position:relative;min-width:0;overflow:hidden;padding:19px;border:1px solid #e3eaf5;border-radius:16px;background:linear-gradient(145deg,#fff,#fbfcff);box-shadow:0 6px 20px #1c386408;animation:jovi-rise .48s ease both}.chart-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#316fed,#62abff,#ffc453);opacity:.85}.chart-heading,.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.chart-heading h3,.section-title h2{margin:4px 0 0;color:#1a2c4b;font-size:15px;letter-spacing:-.025em}.chart-eyebrow{color:#8492aa;font-size:9px;font-weight:850;letter-spacing:.14em}.chart-total,.map-count,.soft-count{border-radius:999px;background:#edf4ff;color:#245bdb;padding:5px 9px;font-size:11px;font-weight:750}.chart-unit{color:#8a98ad;font-size:10px}.donut-body{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:10px}.donut-body svg{width:min(44%,155px);flex:none;overflow:visible}.chart-segment{stroke-linecap:round;animation:chart-draw .8s ease both}.donut-number{font-size:18px;font-weight:850;fill:#1a2c4b}.donut-caption{font-size:8px;fill:#8492aa}.chart-legend{display:grid;gap:8px;min-width:0;flex:1}.chart-legend>div{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:10px;color:#6d7c95}.chart-legend i{width:8px;height:8px;border-radius:3px}.chart-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend b{color:#344764;font-size:10px}.chart-empty{min-height:125px;display:grid;place-items:center;text-align:center;color:#9aa7ba;font-size:12px}.bar-list{display:grid;gap:13px;margin-top:19px}.bar-row{display:grid;gap:6px}.bar-label{display:flex;justify-content:space-between;gap:9px;font-size:11px;color:#66758f}.bar-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-label b{color:#334966}.bar-track{height:7px;border-radius:99px;background:#eef2f8;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:99px;animation:bar-grow .7s cubic-bezier(.2,.8,.2,1) both}.trend-svg{width:100%;height:146px;margin-top:14px;overflow:visible}.trend-gridline{stroke:#eaf0f8;stroke-width:.7;vector-effect:non-scaling-stroke}.trend-line{stroke-dasharray:120;stroke-dashoffset:120;animation:line-draw 1.1s ease forwards}.trend-point{fill:#fff;stroke:#2868e6;stroke-width:1.4;vector-effect:non-scaling-stroke}.trend-labels{display:flex;justify-content:space-between;gap:4px;color:#8998ae;font-size:9px}.trend-labels span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-map{grid-column:auto}.map-canvas{margin-top:13px;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 20% 18%,#f4f8ff,#edf3fc 75%);border:1px solid #e6edf7}.map-canvas svg{display:block;width:100%;height:160px}.map-river{fill:none;stroke:#c5e8f3;stroke-width:11;opacity:.72}.map-road{fill:none;stroke:#fff;stroke-width:8;stroke-linecap:round}.secondary-road{stroke-width:5;stroke:#fff;opacity:.9}.map-route-line{fill:none;stroke:#3575ed;stroke-width:2.2;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.map-marker-halo{fill:#3273ed;opacity:.16}.map-marker{fill:#2464df;stroke:#fff;stroke-width:2.4;vector-effect:non-scaling-stroke}.map-marker-label{font-size:7px;font-weight:800;fill:#27456f;paint-order:stroke;stroke:#f5f8fe;stroke-width:2px;stroke-linejoin:round}.map-caption{padding:6px 9px;color:#8a98ac;background:#f9fbfe;font-size:9px}.map-legend{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.map-legend span{display:flex;align-items:center;gap:4px;color:#6e7d95;font-size:9px}.map-legend i{width:6px;height:6px;background:#2868e6;border-radius:50%}.map-empty{min-height:165px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#8493aa}.map-empty-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eaf1ff;color:#2868e6;font-size:24px}.map-empty b{color:#435671;font-size:12px}.map-empty>span:last-child{max-width:240px;font-size:10px;line-height:1.5}.dashboard-lower-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:16px}.recent-card{min-width:0}.recent-card .section-title{margin-bottom:14px}.recent-card h2{margin-bottom:0}.dashboard-side{display:grid;gap:16px;align-content:start}.operation-card .section-title{margin-bottom:20px}.operation-percent{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:conic-gradient(#2868e6 0,#2868e6 70%,#e9eff9 70%);color:#245bdb;font-weight:850;font-size:11px;box-shadow:inset 0 0 0 5px #fff}.progress-warn i{background:linear-gradient(90deg,#ffb83e,#f39b25)}.reports-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reports-charts .chart-card{min-height:210px}.reports-charts .trend-chart{grid-column:1/-1}.report-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px;margin-bottom:16px;border:1px solid #e3eaf5;border-radius:14px;background:linear-gradient(110deg,#fff,#f6f9ff)}.filter-title{display:grid;gap:4px;margin-right:auto}.filter-title b{color:#304665;font-size:12px}.report-filters label{display:grid;gap:5px;color:#687893;font-size:10px;font-weight:700}.report-filters input{border:1px solid #dbe4f1;border-radius:9px;padding:9px;background:#fff;color:#304665}.report-filters button{display:flex;align-items:center;gap:6px;background:#edf3ff;color:#245bdb;padding:9px 12px}.report-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.report-detail{margin-top:16px}.report-detail .section-title{margin-bottom:15px}.report-detail h2{margin:4px 0}.report-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.report-highlight{display:grid;gap:7px;padding:13px;border-radius:12px;border:1px solid #e6ebf4}.report-highlight span{font-size:10px;color:#75839a}.report-highlight b{font-size:18px;letter-spacing:-.03em;color:#263d60}.report-highlight small{font-size:9px;color:#8d9ab0;line-height:1.4}.fuel-highlight{background:#fff8e9;border-color:#ffebc1}.maintenance-highlight{background:#fff0ed;border-color:#ffdcd4}.route-highlight{background:#edf4ff;border-color:#dce8ff}.delivery-highlight{background:#eafaf4;border-color:#d1f1e3}.report-detail>.form-hint{margin:14px 0 0}.dashboard-side .chart-card{min-height:185px}@keyframes bar-grow{0%{width:0!important}}@keyframes chart-draw{0%{stroke-dasharray:0 400;opacity:.4}to{opacity:1}}@keyframes line-draw{to{stroke-dashoffset:0}}@media(max-width:1250px){.dashboard-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-map{grid-column:1/-1}.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-side,.report-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-chart-grid,.dashboard-side,.reports-charts{grid-template-columns:1fr}.fleet-map,.reports-charts .trend-chart{grid-column:auto}.donut-body{justify-content:flex-start}.donut-body svg{width:42%}.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filters{align-items:stretch}.filter-title{flex-basis:100%}.report-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-card{padding:16px}.recent-card{overflow:auto}}@media(max-width:430px){.dashboard-stats{gap:9px}.stat{padding:12px;gap:8px}.stat-icon{width:34px;height:34px}.stat strong{font-size:17px}.report-stats,.report-detail-grid{grid-template-columns:1fr 1fr}.report-filters label{flex:1;min-width:125px}.report-filters button{justify-content:center}}.activity-card{padding:17px}.activity-card .section-title{margin-bottom:10px}.activity-item{display:grid;grid-template-columns:8px 1fr;gap:10px;padding:10px 0;border-top:1px solid #edf1f7}.activity-item>i{width:7px;height:7px;margin-top:5px;border-radius:50%;background:#3574e9;box-shadow:0 0 0 3px #3574e91a}.activity-item.activity-success>i{background:#19ad7c;box-shadow:0 0 0 3px #19ad7c1b}.activity-item.activity-warning>i{background:#eea52d;box-shadow:0 0 0 3px #eea52d22}.activity-item.activity-danger>i{background:#e85f56;box-shadow:0 0 0 3px #e85f5620}.activity-item>div{display:grid;gap:4px}.activity-item b{color:#344866;font-size:11px}.activity-item span,.activity-item small{color:#8391a7;font-size:10px;line-height:1.4}.activity-empty{padding:17px 0;color:#8a98ad;font-size:10px;line-height:1.5}.notification-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.notification-list{display:grid;gap:10px}.notification-item{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:16px 18px;border:1px solid #e5ebf4;border-radius:14px;background:#fff;box-shadow:0 4px 13px #1c386407;animation:jovi-rise .35s ease both}.notification-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eaf1ff;color:#2868e6}.notification-warning .notification-icon{background:#fff3dc;color:#b87409}.notification-danger .notification-icon{background:#fff0ee;color:#c0473d}.notification-success .notification-icon{background:#e8faf2;color:#09845d}.notification-copy{min-width:0}.notification-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.notification-title b{color:#273d5d;font-size:13px}.notification-title span{padding:4px 8px;border-radius:99px;background:#f0f4fa;color:#75839b;font-size:9px;font-weight:700;white-space:nowrap}.notification-copy p{margin:5px 0;color:#657590;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.notification-copy small{color:#8c9ab0;font-size:9px}.notification-item.is-alert{border-left:3px solid #eeb34a}.notification-item.notification-danger{border-left-color:#e36b5f}.notification-item.is-unread .notification-title span{background:#eaf1ff;color:#2868e6}.notification-note{margin-top:15px}.danger-button{background:#fff0ef!important;color:#b42318!important}.activity-card .activity-item{animation:jovi-fade .3s ease both}.bar-track i{transform:scaleX(0);transform-origin:left;animation:bar-grow .7s cubic-bezier(.2,.8,.2,1) forwards}@keyframes bar-grow{to{transform:scaleX(1)}}@media(max-width:600px){.notification-stats{grid-template-columns:1fr 1fr}.notification-item{padding:13px;grid-template-columns:34px 1fr;gap:9px}.notification-icon{width:32px;height:32px}.notification-title{align-items:flex-start;flex-direction:column;gap:5px}.dashboard-side{grid-template-columns:1fr}}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 12% 15%,#3576f099,transparent 30%),radial-gradient(circle at 90% 80%,#f0ae3b55,transparent 27%),linear-gradient(135deg,#091326,#172d50)}.auth-screen .auth-card{width:min(440px,100%);display:grid;gap:13px}.auth-screen .auth-card form{display:grid;gap:10px}.auth-screen .auth-card form button{width:100%}.auth-message{padding:10px 12px;border-radius:9px;background:#fff1ed;color:#a53d30;font-size:13px;overflow-wrap:anywhere}.auth-switch{background:transparent;color:#155eef}.auth-divider{text-align:center;color:#8a96a8;font-size:12px}.auth-card>p{line-height:1.5}.users-layout{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(400px,1.4fr);gap:18px}.invite-form{display:grid;align-content:start;gap:13px}.invite-form h2,.members-card h2{display:flex;align-items:center;gap:9px}.invite-form label{display:grid;gap:6px;font-size:12px;color:#63718a}.invite-form input,.invite-form select,.auth-card select{width:100%;padding:11px;border-radius:9px;border:1px solid #d9dfe8;background:#fff}.invite-token{display:grid;gap:8px;background:#edf7f1;padding:12px;border-radius:10px;color:#176344}.invite-token code{word-break:break-all;font-size:12px}.invite-token button{justify-self:start;background:#fff;color:#176344}.invite-token small{line-height:1.5}.member-list{display:grid}.member-row{display:grid;grid-template-columns:38px 1fr auto auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf0f5}.member-row>div:nth-child(2){display:grid;gap:3px;min-width:0}.member-row small{color:#8290a5;font-size:11px;overflow-wrap:anywhere}.member-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eaf1ff;color:#155eef;font-weight:700}.sidebar-foot{overflow:hidden}.sidebar-foot small{overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.users-layout{grid-template-columns:1fr}}@media(max-width:600px){.member-row{grid-template-columns:36px 1fr auto}.member-row>small{grid-column:2/-1}.auth-screen .auth-card{padding:22px}}.member-row select{max-width:150px;padding:7px;border:1px solid #d9dfe8;border-radius:8px;background:#fff}.member-controls{display:grid;justify-items:end;gap:5px}.member-controls button{padding:6px 8px;font-size:11px}.member-disable{background:#fff0ef;color:#b42318}.member-enable{background:#eafaf2;color:#087443}.logo-image{display:block;width:40px;height:40px;object-fit:contain;border-radius:13px;flex:none;filter:drop-shadow(0 7px 10px #1746b044)}.brand .logo-image{width:46px;height:46px;transition:transform .25s ease,filter .25s ease}.brand:hover .logo-image{transform:translateY(-2px) rotate(-2deg);filter:drop-shadow(0 10px 14px #1746b066)}.auth-card .logo-image.big{width:56px;height:56px;margin:auto}.row-actions{min-width:150px}.row-actions button{background:#f3f6fb;color:#334155;padding:7px 9px;border:1px solid #e1e7f0}.row-actions button:hover{background:#e8efff;color:#155eef}.row-actions button:last-child:hover,.danger-button{color:#b42318}.branch-list li{display:flex;align-items:center;gap:8px}.branch-list li>span{flex:1}.branch-list li button{padding:6px 8px;background:#f3f6fb;color:#334155;font-size:12px}.branch-list li button:hover{background:#e8efff;color:#155eef}
