:root{--bg:#f0f1f3;--card:#fff;--ink:#1a1d1f;--muted:#6f767e;--faint:#9aa0a6;--line:#eceef0;--green:#2db94d;--green-dark:#249c40;--green-soft:#eafae5;--green-faint:#c7ecd0;--amber:#b76e00;--amber-soft:#fff4e5;--red:#ff6a55;--red-soft:#ffe7e4;--violet:#7c3aed;--violet-soft:#f1eaff;color:var(--ink);background:var(--bg);font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}.shell{min-height:100vh;display:flex}.sidebar{background:var(--card);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:.7rem;width:236px;height:100vh;padding:1.1rem .85rem;display:flex;position:sticky;top:0;overflow-y:auto}.logo{align-items:center;gap:.55rem;padding:0 .3rem .3rem;display:flex}.logo-mark{background:var(--green);color:#fff;border-radius:8px;place-items:center;width:30px;height:30px;font-size:.95rem;font-weight:800;display:grid}.logo-text{letter-spacing:-.01em;font-size:1.02rem;font-weight:700}.search{border:1px solid var(--line);color:var(--faint);background:#fbfbfc;border-radius:10px;align-items:center;gap:.45rem;padding:.42rem .6rem;display:flex}.search input{background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.8rem}.search kbd{color:var(--faint);border:1px solid var(--line);background:#fff;border-radius:5px;padding:.1rem .3rem;font-family:inherit;font-size:.62rem}.nav-label{text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:.4rem .4rem 0;font-size:.62rem;font-weight:600}nav{flex-direction:column;gap:1px;display:flex}.nav-item{color:var(--muted);cursor:pointer;border-radius:9px;align-items:center;gap:.6rem;padding:.5rem .6rem;font-size:.82rem;font-weight:500;display:flex}.nav-item svg{flex-shrink:0}.nav-item:hover{color:var(--ink);background:#f6f7f8}.nav-item.active{background:var(--green-soft);color:var(--ink);box-shadow:inset 3px 0 0 var(--green);font-weight:600}.nav-item .chev{color:var(--faint);margin-left:auto}.nav-sub{color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;padding:.38rem .6rem .38rem 2.35rem;font-size:.79rem;display:flex}.nav-sub:hover{color:var(--ink);background:#f6f7f8}.nav-sub.active{background:var(--green-soft);color:var(--ink);font-weight:600}.badge{background:var(--ink);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;margin-left:auto;padding:0 4px;font-size:.6rem;font-weight:700;display:grid}.plan-card{border:1px solid var(--line);background:linear-gradient(160deg,#fff 0%,#d9f5e4 70%,#bdeccf 100%);border-radius:14px;flex-direction:column;gap:.3rem;margin-top:auto;padding:.85rem;font-size:.78rem;display:flex}.plan-ic{background:var(--green);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;margin-bottom:.2rem;display:grid}.plan-card small{color:var(--muted)}.plan-btn{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;margin-top:.4rem;padding:.42rem;font-size:.75rem;font-weight:600}.plan-btn:hover{background:#f6f7f8}.content{flex:1;min-width:0;max-width:1220px;padding:.9rem 1.4rem 2rem}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:.9rem;padding-bottom:.85rem;display:flex}.crumb{font-size:.92rem;font-weight:600}.topbar-right{align-items:center;gap:.5rem;display:flex}.pill{border:1px solid var(--line);color:var(--muted);background:var(--card);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.76rem;display:inline-flex}.pill.sm{padding:.28rem .65rem;font-size:.72rem}.icon-btn{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:var(--card);cursor:pointer;border-radius:999px;place-items:center;display:grid}.avatar{background:var(--ink);color:#fff;border-radius:999px;place-items:center;width:32px;height:32px;font-size:.68rem;font-weight:700;display:grid}button{cursor:pointer;border:none;font-family:inherit;font-weight:600}.cta{background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.48rem .9rem;font-size:.79rem;display:inline-flex}.cta:hover{background:#000}.cta.green{background:var(--green)}.cta.green:hover{background:var(--green-dark)}.cta.wide{border-radius:10px;justify-content:center;width:100%;padding:.6rem}.plus{font-weight:800}.btn-ok{background:var(--green);color:#fff;border-radius:8px;padding:.38rem .7rem;font-size:.75rem}.btn-ok:hover{background:var(--green-dark)}.btn-ghost{color:var(--red);border:1px solid var(--line);background:0 0;border-radius:8px;padding:.38rem .7rem;font-size:.75rem}.btn-ghost:hover{background:var(--red-soft);border-color:var(--red-soft)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem}.card-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.7rem;display:flex}.card-head h2{letter-spacing:-.01em;margin:0;font-size:.92rem}.muted{color:var(--muted);font-size:.72rem}.dots{color:var(--faint);cursor:pointer}.row-2{grid-template-columns:1fr 1fr;gap:.85rem;margin-top:.85rem;display:grid}.row-3{grid-template-columns:1.25fr 1fr 1fr;align-items:start;gap:.85rem;margin-top:.85rem;display:grid}@media (width<=1150px){.row-2,.row-3{grid-template-columns:1fr}}.ops-head{justify-content:space-between;align-items:baseline;margin-bottom:.8rem;display:flex}.ops-head h2{margin:0;font-size:.95rem}.ops-head small{color:var(--muted);font-size:.72rem}.ops-grid{grid-template-columns:repeat(4,1fr);display:grid}.ops-grid .stat{border-left:1px solid var(--line);flex-direction:column;gap:.35rem;padding:0 1.1rem;display:flex}.ops-grid .stat:first-child{border-left:none;padding-left:0}@media (width<=1150px){.ops-grid{grid-template-columns:1fr 1fr;row-gap:1rem}}.stat-label{color:var(--muted);align-items:center;gap:.4rem;font-size:.75rem;font-weight:500;display:inline-flex}.stat-row{align-items:center;gap:.5rem;display:flex}.stat-row strong{letter-spacing:-.02em;font-size:1.6rem;font-weight:700}.stat small{color:var(--faint);font-size:.68rem}.stat small em{float:right;font-style:normal}.delta{border-radius:999px;padding:.14rem .42rem;font-size:.66rem;font-weight:700}.delta.up{background:var(--green-soft);color:var(--green)}.delta.down{background:var(--red-soft);color:var(--red)}.seg{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:.7rem;display:grid;overflow:hidden}.seg-item{color:var(--muted);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.45rem;font-size:.76rem;display:flex}.seg-item.active{color:var(--ink);background:#fbfbfc;font-weight:600}.seg-item+.seg-item{border-left:1px solid var(--line)}.dot{border-radius:999px;width:7px;height:7px;display:inline-block}.dot.g{background:var(--green)}.dot.d{background:var(--ink)}.dot.o{background:#f5a623}.dot.k{background:#1a1d1f}.dot.r{background:var(--red)}.chart-wrap{position:relative}.chart{width:100%;height:auto}.gridline{stroke:#e7e9eb;stroke-dasharray:2 4}.axis{fill:var(--faint);font-size:9px}.line-a{fill:none;stroke:var(--green);stroke-width:2px}.line-b{fill:none;stroke:#3a3f44;stroke-width:2px;opacity:.55}.dot-a{fill:#fff;stroke:var(--green);stroke-width:2px}.dot-b{fill:#fff;stroke:#3a3f44;stroke-width:2px;opacity:.7}.cursor-line{stroke:var(--green);stroke-dasharray:3 3;opacity:.6}.chart-tip{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:.25rem;padding:.5rem .7rem;font-size:.7rem;display:flex;position:absolute;top:8%;left:46%;box-shadow:0 8px 20px #00000014}.chart-tip span{color:var(--muted);align-items:center;gap:.35rem;display:flex}.chart-tip b{color:var(--ink);margin-left:auto;padding-left:.8rem}.map{background:radial-gradient(60% 45% at 70% 20%,#cfe8f7 0%,#0000 65%),radial-gradient(45% 38% at 25% 85%,#d4ecf9 0%,#0000 60%),linear-gradient(145deg,#eef7ee 0%,#e2f2e4 50%,#e8f5ec 100%);border-radius:12px;height:258px;position:relative;overflow:hidden}.map:before,.map:after{content:"";background:#ffffffa6;border-radius:999px;position:absolute}.map:before{width:150%;height:5px;top:42%;left:-10%;transform:rotate(-9deg)}.map:after{width:5px;height:150%;top:-10%;left:56%;transform:rotate(14deg)}.hub{z-index:2;background:var(--ink);color:#fff;border-radius:999px;padding:.22rem .55rem;font-size:.64rem;font-weight:600;position:absolute}.trk{z-index:2;border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .55rem;font-size:.64rem;font-weight:600;display:inline-flex;position:absolute;box-shadow:0 3px 8px #00000014}.map-legend{z-index:2;border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:10px;justify-content:space-around;padding:.4rem;font-size:.68rem;display:flex;position:absolute;bottom:.55rem;left:.55rem;right:.55rem}.map-legend span{align-items:center;gap:.3rem;display:flex}.fleet-list{flex-direction:column;gap:.6rem;display:flex}.fleet-row{border:1px solid var(--line);border-radius:12px;padding:.65rem .75rem}.fleet-top{justify-content:space-between;align-items:center;margin-bottom:.55rem;display:flex}.fleet-id{font-size:.8rem;font-weight:700}.fleet-id small{color:var(--muted);font-weight:500}.fleet-mid{align-items:center;gap:.6rem;display:flex}.truck-ic{color:var(--muted);background:#f6f7f8;border-radius:8px;place-items:center;padding:.4rem;display:grid}.route{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.route-end{flex-direction:column;flex-shrink:0;width:72px;font-size:.7rem;display:flex}.route-end.right{text-align:right;align-items:flex-end}.route-end small{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;max-width:72px;overflow:hidden}.route-bar{background:#e7e9eb;border-radius:999px;flex:1;height:4px;position:relative}.route-bar i{background:var(--ink);border-radius:999px;display:block;position:absolute;top:0;bottom:0;left:0}.route-bar em{background:var(--ink);border:3px solid #fff;border-radius:999px;width:14px;height:14px;position:absolute;top:50%;right:-2px;transform:translateY(-50%);box-shadow:0 1px 4px #0003}.fleet-actions{gap:.4rem;margin-top:.55rem;display:flex}.reason{color:var(--red);margin-top:.35rem;font-size:.7rem;display:block}.load-grid{grid-template-columns:1fr 1fr;display:grid}.load-stat{border-left:1px solid var(--line);border-top:1px solid var(--line);flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.load-stat:first-child,.load-stat:nth-child(2){border-top:none}.load-stat:nth-child(odd){border-left:none;padding-left:0}.load-stat strong{letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.load-stat small{color:var(--muted);font-size:.7rem}.spark{align-items:flex-end;gap:3px;height:30px;margin-top:.4rem;display:flex}.spark i{background:var(--green-faint);border-radius:3px 3px 0 0;flex:1}.spark i:nth-child(2n){background:#daf3df}.donut{border-radius:999px;place-items:center;width:150px;height:150px;margin:.6rem auto;display:grid;position:relative}.donut-hole{background:var(--card);border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;width:104px;height:104px;display:flex}.donut-hole strong{font-size:1.45rem;font-weight:700}.donut-hole small{color:var(--muted);font-size:.66rem}.donut-legend{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.75rem;display:grid}.donut-legend>div{align-items:flex-start;gap:.45rem;display:flex}.donut-legend .dot{margin-top:4px}.donut-legend small{color:var(--muted);font-size:.68rem;display:block}.donut-legend strong{font-size:.78rem;font-weight:700}form,.attendant{flex-direction:column;gap:.5rem;display:flex}.row2{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}label{color:var(--muted);flex-direction:column;gap:.22rem;font-size:.72rem;font-weight:500;display:flex}input,select{border:1px solid var(--line);color:var(--ink);background:#fbfbfc;border-radius:10px;width:100%;padding:.48rem .6rem;font-family:inherit;font-size:.84rem}input:focus,select:focus{outline:2px solid var(--green-soft);border-color:var(--green)}table{border-collapse:collapse;width:100%;font-size:.8rem}th{text-align:left;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);padding:.4rem .35rem;font-size:.66rem;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:top;padding:.55rem .35rem}tr:last-child td{border-bottom:none}small{color:var(--muted)}.empty{color:var(--faint);text-align:center;padding:1rem 0;font-size:.78rem}.chip{text-transform:capitalize;white-space:nowrap;border-radius:999px;padding:.18rem .55rem;font-size:.66rem;font-weight:700}.chip-pending_approval{background:var(--amber-soft);color:var(--amber)}.chip-approved{color:#2563eb;background:#e8efff}.chip-authorized{background:var(--green-soft);color:var(--green)}.chip-fulfilled{color:var(--ink);background:#eef0f2}.chip-rejected{background:var(--red-soft);color:var(--red)}.chip-cancelled,.chip-expired{color:var(--muted);background:#eef0f2}.chip-online,.chip-resolved,.chip-paid,.chip-active,.chip-completed,.chip-delivered,.chip-sent,.chip-valid,.chip-ok,.chip-offloaded{background:var(--green-soft);color:var(--green-dark)}.chip-critical,.chip-offline,.chip-overdue,.chip-failed,.chip-confirmed,.chip-invalid,.chip-exceptions,.chip-declined{background:var(--red-soft);color:#d84c3e}.chip-high,.chip-open,.chip-partially_paid,.chip-in_transit,.chip-loading,.chip-pending,.chip-pending_customer_approval{background:var(--amber-soft);color:var(--amber)}.chip-medium,.chip-issued,.chip-planned,.chip-arrived,.chip-investigating,.chip-sent_simulated,.chip-in_app{color:#2563eb;background:#e8efff}.chip-low,.chip-dismissed,.chip-skipped,.chip-superseded,.chip-no_phone,.chip-draft{color:var(--muted);background:#eef0f2}.notice-ok{background:var(--green-soft);color:var(--green-dark);border:1px solid #bdeec6;border-radius:12px;margin-bottom:.7rem;padding:.55rem .8rem;font-size:.82rem}.empty.err{color:#d84c3e}.toast{z-index:1000;border:1px solid #bdeec6;border-left:5px solid var(--green-dark);background:#fff;border-radius:14px;align-items:center;gap:.7rem;min-width:260px;max-width:360px;padding:.75rem .9rem;animation:.25s ease-out toast-in;display:flex;position:fixed;top:1rem;right:1rem;box-shadow:0 10px 30px #0000002e}.toast-ic{color:var(--green-dark);display:flex}.toast-body{flex-direction:column;flex:1;font-size:.85rem;display:flex}.toast-body small{color:var(--muted)}.toast-close{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:1.2rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.mono{word-break:break-all;font-family:ui-monospace,Consolas,monospace;font-size:.7rem}.tbl-scroll{overflow-x:auto}.stack{flex-direction:column;gap:.85rem;margin-top:.85rem;display:flex}.form-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin-bottom:.7rem;display:flex}.form-row label{flex:130px}.timeline{border-left:2px solid var(--line);flex-direction:column;gap:.55rem;margin:0;padding:0 0 0 .9rem;list-style:none;display:flex}.timeline li{flex-direction:column;gap:.1rem;font-size:.8rem;display:flex;position:relative}.timeline li:before{content:"";background:var(--green);border:2px solid var(--card);border-radius:50%;width:9px;height:9px;position:absolute;top:.3rem;left:-1.28rem}.timeline small{color:var(--muted)}.sample-tag{color:var(--amber);background:var(--amber-soft);border-radius:999px;padding:.1rem .5rem;font-size:.65rem;font-weight:700}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#fbfbfc}tr.selected td{background:var(--green-soft)}.mini-btn{background:var(--ink);color:#fff;border-radius:8px;padding:.28rem .6rem;font-size:.72rem}.mini-btn.green{background:var(--green)}.mini-btn:disabled{opacity:.5;cursor:not-allowed}.error{background:var(--red-soft);color:#d84c3e;cursor:pointer;border:1px solid #ffc9c2;border-radius:12px;margin-bottom:.85rem;padding:.6rem .9rem;font-size:.82rem}.otp-box{background:var(--green-soft);border:1px solid #bdeec6;border-radius:12px;flex-direction:column;gap:.15rem;margin-bottom:.7rem;padding:.55rem .8rem;font-size:.84rem;display:flex}.validated{border:1px solid var(--line);background:#fbfbfc;border-radius:12px;flex-direction:column;gap:.5rem;margin-top:.65rem;padding:.7rem .85rem;font-size:.82rem;display:flex}.validated p{margin:0;line-height:1.45}.bulk-panel{flex-direction:column;gap:.7rem;margin-bottom:.9rem;display:flex}.bulk-steps{flex-direction:column;gap:.85rem;margin:0;padding-left:1.1rem;font-size:.84rem;display:flex}.bulk-steps li{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.bulk-steps li>span{color:var(--muted)}.bulk-file input{opacity:0;width:1px;height:1px;position:absolute}.bulk-file span{cursor:pointer;border:1px dashed var(--line);background:#fbfbfc;border-radius:12px;align-items:center;gap:.4rem;padding:.55rem .9rem;display:inline-flex}.bulk-file input:focus-visible+span{outline:2px solid var(--green)}.bulk-table{border-collapse:collapse;width:100%;font-size:.8rem}.bulk-table th,.bulk-table td{text-align:left;border-bottom:1px solid var(--line);padding:.3rem .5rem}.usage-bar{background:#e7e9eb;border-radius:999px;min-width:110px;height:6px;margin-top:5px;position:relative}.usage-bar i{background:var(--green);border-radius:999px;display:block;position:absolute;top:0;bottom:0;left:0}.usage-bar i.hot{background:var(--red)}.tank-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:.85rem;display:grid}.tank-card{--tg-ink:#2c1b5a;--tg-accent:#b3125f;background:radial-gradient(circle at 30% 0,#fff 0%,#f5f1fb 100%);flex-direction:column;gap:.7rem;display:flex}.tank-card.low{box-shadow:0 0 0 2px #ffd0c8}.tg-head{align-items:center;gap:.6rem;display:flex}.tg-pump{color:var(--tg-accent);display:inline-flex}.tg-title{flex:1;min-width:0}.tg-title h2{letter-spacing:-.01em;color:var(--tg-ink);margin:0;font-size:1.12rem}.tg-title small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.tg-pill{white-space:nowrap;color:#fff;background:linear-gradient(#2fbf52,#1b9a3a);border-radius:999px;align-items:center;gap:.4rem;padding:.28rem .8rem;font-size:.74rem;font-weight:700;display:inline-flex}.tg-low{color:#d84c3e;background:#fff;border-radius:999px;padding:.05rem .45rem;font-size:.66rem;font-style:normal}.tg-svg{width:100%;height:auto;display:block}.tg-scale{fill:#2c3138;font-size:11px;font-weight:600}.tg-marker{fill:#fff;font-size:12px;font-weight:700}.tg-wave{animation:3.2s linear infinite tg-wave}@keyframes tg-wave{to{transform:translate(-60px)}}@media (prefers-reduced-motion:reduce){.tg-wave{animation:none}}.tg-stats{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(3,1fr);display:grid}.tg-stats>div{text-align:center;flex-direction:column;gap:.15rem;padding:.6rem .5rem;display:flex}.tg-stats>div+div{border-left:1px solid var(--line)}.tg-stats small{color:var(--tg-ink);font-size:.72rem;font-weight:600}.tg-stats b{color:#1b1b2f;letter-spacing:-.01em;font-size:1.15rem}.tg-stats .tg-accent{color:var(--tg-accent)}.tg-two{grid-template-columns:1fr 1fr}.tg-icon{justify-content:center;align-items:center;gap:.7rem;text-align:left!important;flex-direction:row!important}.tg-icon>span{color:var(--tg-accent);display:inline-flex}.tg-icon>div{flex-direction:column;gap:.1rem;display:flex}.tg-foot{color:var(--muted);text-align:center;font-size:.7rem}.trend-controls{align-items:flex-end;margin-bottom:.5rem}.trend-controls label{flex:180px}.trend-grid{grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:.85rem;margin-top:.85rem;display:grid}.trend-grid.single{grid-template-columns:1fr}.trend-card{flex-direction:column;gap:.6rem;display:flex}.trend-card h2 small{margin-left:.3rem;font-weight:600}.trend-svg{width:100%;height:auto;display:block}.trend-grid-line{stroke:var(--line);stroke-width:1px}.trend-axis{fill:#6b7280;font-size:10.5px}.trend-reorder{fill:#d84c3e}.trend-legend{color:var(--muted);flex-wrap:wrap;gap:.3rem .9rem;font-size:.7rem;display:flex}.trend-legend span{align-items:center;gap:.35rem;display:inline-flex}.lg-line{background:var(--green);border-radius:2px;width:16px;height:3px;display:inline-block}.lg-dot{width:9px;height:9px;box-shadow:0 0 0 1px var(--line);background:#1f2937;border:1.5px solid #fff;border-radius:50%;display:inline-block}.lg-dot.in{background:#1b9a3a;width:11px;height:11px}.lg-dot.adj{background:#f59e0b}.lg-dash{border-top:2px dashed #2563eb;width:16px;display:inline-block}.trend-kpis{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.5rem;display:grid}.trend-kpis>div{border:1px solid var(--line);background:#fbfbfc;border-radius:10px;flex-direction:column;gap:.1rem;padding:.45rem .6rem;display:flex}.trend-kpis b{font-size:.92rem}.trend-kpis small{font-size:.64rem}.pos{color:var(--green-dark)}.neg{color:#d84c3e}.help-text{color:var(--muted);max-width:640px;font-size:.86rem;line-height:1.6}.page-head{align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.page-head h2{letter-spacing:-.01em;margin:0;font-size:1.15rem}.page-head small{color:var(--muted);font-size:.78rem}.page-ic{background:var(--green-soft);width:38px;height:38px;color:var(--green-dark);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.row-3.even{grid-template-columns:1fr 1fr 1fr}@media (width<=1150px){.row-3.even{grid-template-columns:1fr}}.row-3.even .card{flex-direction:column;gap:.45rem;display:flex}.big{letter-spacing:-.02em;font-size:1.7rem;font-weight:700}.big small{font-size:.8rem;font-weight:500}.total-row td{border-top:2px solid var(--line);background:#fbfbfc}.alert-list{flex-direction:column;gap:.5rem;display:flex}.alert-row{border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;display:flex}.alert-row>div{flex-direction:column;gap:.1rem;font-size:.82rem;display:flex}.alert-row small{color:var(--muted)}.alert-ic{border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.alert-row.warn .alert-ic{background:var(--amber-soft);color:var(--amber)}.alert-row.info .alert-ic{color:#2563eb;background:#e8efff}.alert-row.ok .alert-ic{background:var(--green-soft);color:var(--green-dark)}.report-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}@media (width<=1150px){.report-grid{grid-template-columns:1fr}}.report{align-items:center;gap:.8rem;display:flex}.report-body{flex-direction:column;flex:1;gap:.1rem;font-size:.86rem;display:flex}.report-body small{color:var(--muted);font-size:.74rem}.back{color:var(--muted);background:0 0;align-items:center;gap:.35rem;margin-bottom:.4rem;padding:.3rem .1rem;font-size:.8rem;display:inline-flex}.back:hover{color:var(--ink)}.form-page{max-width:620px;margin:0 auto}.form-page.wide{max-width:860px}.form-title{letter-spacing:-.02em;margin:0;font-size:1.5rem}.form-sub{color:var(--muted);margin:.2rem 0 1rem;font-size:.88rem}.order-form{flex-direction:column;gap:1.1rem;padding:1.3rem;display:flex}.form-head{align-items:baseline;gap:.9rem;margin-bottom:.6rem;display:flex}.form-head .back{align-self:center;margin:0}.form-head .form-title{font-size:1.3rem}.form-head .form-sub{margin:0}.form-page.fit{max-width:980px}.order-form.fit{grid-template-columns:1fr 1fr;align-items:start;gap:.9rem 1.6rem;padding:1rem 1.2rem;display:grid}.order-form.fit>.error,.order-form.fit>.cta{grid-column:1/-1;margin-bottom:0}.order-form.fit .form-section{gap:.4rem}.order-form.fit .form-section legend{margin-bottom:.15rem}.order-form.fit .vehicle-card{grid-template-columns:auto minmax(0,1fr) auto auto}@media (width<=860px){.order-form.fit{grid-template-columns:1fr}.form-head{flex-wrap:wrap}}.form-section{border:none;flex-direction:column;gap:.55rem;min-width:0;margin:0;padding:0;display:flex}.form-section legend{align-items:center;gap:.5rem;margin-bottom:.45rem;padding:0;font-size:.92rem;font-weight:700;display:flex}.sec-ic{background:var(--green-soft);width:24px;height:24px;color:var(--green-dark);border-radius:7px;place-items:center;display:grid}.hint{color:var(--muted);font-size:.74rem}.hint a{color:var(--green-dark);cursor:pointer;font-weight:600;text-decoration:underline}.opt{color:var(--faint);font-weight:400}.error.inline{cursor:default;margin:0}.success-card{text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:2rem;display:flex}.success-card h2{margin:0}.success-card p{color:var(--muted);max-width:420px;margin:0;font-size:.88rem;line-height:1.5}.success-ic{background:var(--green-soft);width:56px;height:56px;color:var(--green-dark);border-radius:999px;place-items:center;display:grid}.success-actions{gap:.5rem;margin-top:.5rem;display:flex}.alloc-rows{flex-direction:column;gap:.6rem;display:flex}.alloc-row{border:1px solid var(--line);background:#fbfbfc;border-radius:12px;grid-template-columns:1.4fr 1fr .7fr auto;align-items:end;gap:.5rem;padding:.6rem;display:grid}@media (width<=760px){.alloc-row{grid-template-columns:1fr 1fr}}.row-err{color:var(--red);grid-column:1/-1;font-size:.72rem}.alloc-foot{justify-content:space-between;align-items:center;display:flex}.total{color:var(--muted);font-size:.82rem}.total b{color:var(--ink)}.icon-del{color:var(--faint);background:0 0;border-radius:8px;place-items:center;padding:.4rem;display:grid}.icon-del:hover:not(:disabled){background:var(--red-soft);color:var(--red)}.icon-del:disabled{opacity:.35;cursor:not-allowed}.page-actions{gap:.5rem;margin-left:auto;display:flex}.head-tools{align-items:center;gap:.6rem;display:flex}.export-pop{z-index:60;background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:2px;min-width:176px;padding:.3rem;display:flex;position:fixed;box-shadow:0 10px 30px #11182724}.export-pop button{text-align:left;width:100%;color:var(--ink);background:0 0;border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .6rem;font-size:.8rem;display:flex}.export-pop button:hover:not(:disabled),.export-pop button:focus-visible{background:var(--green-soft);outline:none}.export-pop button:disabled{opacity:.6;cursor:wait}.export-err{color:#d84c3e;max-width:220px;margin:.2rem .3rem .1rem;font-size:.72rem}.inline-form{flex-direction:column;gap:.7rem;margin-bottom:.85rem;display:flex}.inline-grid{grid-template-columns:1fr 1.2fr .7fr .8fr;align-items:start;gap:.6rem;display:grid}.inline-grid>label{white-space:nowrap;justify-content:flex-start}.inline-grid input,.inline-grid select{box-sizing:border-box;height:2.1rem}.inline-grid.three{grid-template-columns:1fr 1fr 1fr}@media (width<=900px){.inline-grid,.inline-grid.three{grid-template-columns:1fr 1fr}}.inline-actions{gap:.5rem;display:flex}.filters{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;display:flex}.filter{color:var(--muted);text-transform:capitalize;background:#f6f7f8;border-radius:999px;padding:.35rem .8rem;font-size:.76rem}.filter b{color:var(--ink);margin-left:.25rem}.filter.active{background:var(--ink);color:#fff}.filter.active b{color:#fff}.quick-actions{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.quick-actions button{text-align:left;border:1px solid var(--line);background:#fbfbfc;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem;font-weight:500;display:flex}.quick-actions button:hover{border-color:var(--green);background:var(--green-soft)}.quick-actions b{margin-top:.35rem;font-size:.84rem}.quick-actions small{font-size:.7rem}.kv{grid-template-columns:auto 1fr;gap:.5rem 1.2rem;margin:0 0 .9rem;font-size:.84rem;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}.vehicle-card{background:var(--green-soft);border:1px solid #bdeec6;border-radius:12px;grid-template-columns:repeat(4,auto);gap:.4rem 1rem;margin:0;padding:.6rem .8rem;display:grid}@media (width<=700px){.vehicle-card{grid-template-columns:1fr 1fr}}.vehicle-card dt{color:var(--muted);font-size:.66rem}.vehicle-card dd{margin:0;font-size:.82rem;font-weight:700}.cell-select{min-width:120px;padding:.3rem .5rem;font-size:.78rem}.receipt{border:1px dashed var(--line);background:#fbfbfc;border-radius:12px;flex-direction:column;gap:.25rem;margin-top:.7rem;padding:.7rem .9rem;font-size:.82rem;display:flex}.user-chip{border:1px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:.5rem;padding:.2rem .25rem;display:flex}.user-meta{flex-direction:column;line-height:1.15;display:flex}.user-meta b{font-size:.74rem}.user-meta small{color:var(--faint);font-size:.64rem}.signout{color:var(--muted);background:#f6f7f8;border-radius:999px;padding:.35rem .7rem;font-size:.7rem}.signout:hover{background:var(--red-soft);color:var(--red)}.login-shell{background:var(--bg);grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}@media (width<=900px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}}.login-brand{color:#fff;background:linear-gradient(155deg,#0f2a1b 0%,#14532d 55%,#1f7a3f 100%);flex-direction:column;justify-content:space-between;padding:2.2rem 3rem;display:flex}.login-brand .logo-text{color:#fff}.login-brand small{color:#ffffff8c;font-size:.72rem}.login-pitch h1{letter-spacing:-.02em;max-width:460px;margin:0 0 1.4rem;font-size:2rem;line-height:1.2}.login-pitch ul{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.login-pitch li{color:#ffffffd9;align-items:center;gap:.6rem;font-size:.92rem;display:flex}.tick{color:#7ee494;background:#5ed07a40;border-radius:999px;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:.7rem;display:grid}.login-main{place-items:center;padding:2rem;display:grid}.login-card{background:var(--card);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:.85rem;width:100%;max-width:400px;padding:2rem;display:flex;box-shadow:0 12px 40px #0000000f}.login-card h2{letter-spacing:-.02em;margin:0;font-size:1.4rem}.login-sub{color:var(--muted);margin:-.4rem 0 .4rem;font-size:.85rem}.login-card .error{cursor:default;margin:0}.login-card label{font-size:.76rem}.login-card input{padding:.62rem .75rem;font-size:.9rem}.pw{position:relative}.pw input{padding-right:4rem}.pw-toggle{color:var(--muted);background:0 0;border-radius:6px;padding:.3rem .5rem;font-size:.72rem;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.pw-toggle:hover{background:#f1f3f4}.cta:disabled{opacity:.6;cursor:wait}.demo{border-top:1px solid var(--line);margin-top:.2rem;padding-top:.9rem}.demo-title{color:var(--faint);margin-bottom:.5rem;font-size:.7rem;display:block}.demo-title code{color:var(--ink);background:#f1f3f4;border-radius:5px;padding:.05rem .35rem}.demo-grid{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.demo-chip{border:1px solid var(--line);text-align:left;background:#fbfbfc;border-radius:10px;flex-direction:column;gap:.05rem;padding:.5rem .65rem;display:flex}.demo-chip b{font-size:.78rem}.demo-chip small{color:var(--muted);font-size:.66rem}.demo-chip:hover{border-color:var(--green);background:var(--green-soft)}.chip-revoked{background:var(--red-soft);color:#d84c3e}.chip-redeemed{color:var(--ink);background:#eef0f2}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.search-box{border:1px solid var(--line);min-width:220px;max-width:280px;color:var(--muted);background:#fbfbfc;border-radius:10px;flex-direction:row;align-items:center;gap:.4rem;margin-bottom:.8rem;padding:0 .6rem}.search-box input{background:0 0;border:none;outline:none;padding:.42rem 0}.search-box input:focus{outline:none}.head-tools .search-box{margin-bottom:0}.row-actions{flex-wrap:wrap;gap:.35rem}form.form-row.flat{flex-direction:row}.inline-reason{margin:.2rem 0 .4rem}.inline-reason label{flex:260px}.otp-secret{letter-spacing:.12em;font-size:1.15rem}.otp-dismiss{align-self:flex-start;margin-top:.3rem}.notice-info,.notice-warn{border-radius:12px;margin-bottom:.8rem;padding:.55rem .8rem;font-size:.82rem}.notice-info{color:#1d4fbf;background:#e8efff;border:1px solid #c9d8ff}.notice-warn{background:var(--amber-soft);color:var(--amber);border:1px solid #f3dca8;margin-bottom:.5rem}.select-box{cursor:pointer;width:1rem;height:1rem;accent-color:var(--green);vertical-align:middle;padding:0}.select-box:disabled{cursor:not-allowed}th.select-col,td.select-col{text-align:center;width:2rem}tr.picked td{background:var(--green-soft)}.select-bar{border:1px solid var(--line);background:#fbfbfc;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.8rem;padding:.5rem .8rem;font-size:.82rem;display:flex}.select-confirm{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.select-result{background:var(--green-soft);border:1px solid #bdeec6;border-radius:12px;flex-direction:column;gap:.35rem;margin-bottom:.8rem;padding:.55rem .8rem;font-size:.84rem;display:flex}.select-result.has-errors{background:var(--amber-soft);border-color:#f3dca8}.select-errors{color:#d84c3e;margin:0;padding-left:1.1rem;font-size:.8rem}.link{color:var(--green-dark);cursor:pointer;font-weight:600;text-decoration:underline}.sub-h{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:.4rem 0 .5rem;font-size:.78rem;font-weight:600}.phase2-intro{color:var(--muted);margin:0 0 .7rem;font-size:.84rem}.phase2 p{font-size:.84rem}.plain-list{margin:0 0 .8rem;padding-left:1.2rem;font-size:.84rem;line-height:1.6}.space-between{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.mini-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mini-list li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.7rem;padding:.5rem 0;font-size:.82rem;display:flex}.mini-list li:first-child{border-top:none}.mini-list li.clickable{cursor:pointer}.mini-list li.clickable:hover{background:#fbfbfc}.mini-list.alerts li span{flex:240px}tfoot td{border-top:2px solid var(--line);padding-top:.55rem}
