:root {
  color-scheme: dark;
  --ink:#f4f5f9; --muted:#b1b7ca; --line:#343747; --soft:#13151e; --paper:#1e202c;
  --rail:#191b27; --rail-light:#2c2f40; --action:#b82f55; --accent:#ff819c;
  --green:#78d6a5; --red:#ff9baa; --blue:#9ecaff;
  font:16px/1.5 "Inter","Segoe UI",Arial,sans-serif;
  color:var(--ink); background:var(--soft); font-synthesis:none;
}
*{box-sizing:border-box}
body{margin:0;min-width:320px}
button,input,select{font:inherit}
button,a,input,select{ -webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:not-allowed}
a{color:inherit}
a,button,input,select{outline-offset:4px}
:focus-visible{outline:3px solid #ff91aa}
h1,h2,h3,p{margin:0}
h1,h2,h3,.brand{font-family:"Barlow","Segoe UI",Arial,sans-serif}
h1,h2,h3{line-height:1.14}
.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.skip{position:fixed;left:12px;top:-70px;padding:8px 16px;z-index:30;background:var(--paper)}
.skip:focus{top:12px}
.loading{padding:64px}
.brand{display:inline-flex;align-items:center;gap:12px;font-size:22px;font-weight:730;letter-spacing:-.9px;white-space:nowrap}
.brand-mark{display:inline-flex;gap:3px;align-items:center;height:30px;transform:skewX(-18deg)}
.brand-mark i{display:block;width:7px;height:24px;background:var(--accent)}
.brand-mark i:nth-child(1){height:13px;align-self:flex-end;margin-bottom:3px}
.brand-mark i:nth-child(2){height:19px;align-self:flex-end;margin-bottom:3px}
.btn,.icon-btn,.text-btn,.mobile-toggle,.exit,.option,.company-switch{border:0;background:none;color:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:6px;min-height:42px;font-size:14px;font-weight:650;line-height:1.2;text-decoration:none;white-space:normal;transition:background-color .12s}
.btn.primary{background:var(--action);color:white;border:1px solid var(--action)}
.btn.primary:hover:not(:disabled){background:#9e2548}
.btn.secondary,.btn.small-btn{border:1px solid #4c5063;background:var(--paper)}
.btn.secondary:hover,.btn.small-btn:hover{background:#2b2e3d}
.btn.small-btn{padding:6px 11px;min-height:32px;font-size:13px}
.btn.quiet,.btn.ghost{background:none;border-color:transparent}
.btn.danger{background:#9c294b;color:white}
.btn.text-danger{color:#ff98ab;font-size:13px;min-height:32px;padding:3px 0}
.text-btn,.more{color:var(--accent);font-weight:650}
.text-btn{padding:0;font-size:inherit}
.text-btn:hover,.more:hover{text-decoration:underline}
.more{display:inline-flex;align-items:center;gap:6px;font-size:13px;text-decoration:none}
.more .icon{width:15px;height:15px}
.muted,.help{color:var(--muted)}
.small,.help{font-size:13px}
.help{margin:0 0 14px;line-height:1.5}
.actions,.row-actions,.dialog-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.entry{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(330px,1fr) minmax(380px,.93fr);background:var(--paper)}
.entry-scene{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(30px,4vw,68px);color:white;background-color:#191b27;background-image:linear-gradient(180deg,rgba(9,26,39,.56),rgba(9,26,39,0) 33%,rgba(9,26,39,.08) 55%,rgba(9,26,39,.95)),url('/assets/spedition.jpg');background-position:center;background-size:cover}
.entry-scene .brand{font-size:clamp(21px,2vw,30px);text-shadow:0 1px 3px #18283280}
.scene-line{height:4px;width:50px;background:var(--accent);margin-bottom:20px}
.scene-copy h1{font-size:clamp(36px,4.1vw,66px);max-width:660px;line-height:1.02;font-weight:650;letter-spacing:-.05em}
.scene-copy p{font-size:13px;font-weight:550;letter-spacing:.012em;margin-top:20px;color:#f0ebee}
.entry-panel{display:grid;place-items:center;padding:42px clamp(35px,5vw,86px)}
.auth-form{width:100%;max-width:375px}
.form-emblem{width:48px;height:48px;display:inline-grid;place-items:center;background:#362437;color:#ffa4bb;border:1px solid #5c344a;border-radius:10px}
.form-emblem .icon{width:24px;height:24px}
.auth-form h2,.welcome h1{margin:25px 0 8px;font-size:clamp(33px,3.4vw,50px);letter-spacing:-.05em;font-weight:670}
.intro{margin-bottom:30px;font-size:15px}
.field{display:block;margin-bottom:15px;font-size:14px}
.field>span{display:block;font-weight:650;margin-bottom:6px}
.field input,.field select{height:43px;padding:9px 12px;width:100%;border:1px solid #4f5467;border-radius:5px;background:var(--paper);color:var(--ink)}
.auth-form .field input{height:46px}
.field input::placeholder{color:#9a9eae}
.field input:focus,.field select:focus{border-color:#ff8eab}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
dialog:has(.company-fields){width:min(650px,calc(100% - 28px))}
.company-fields input[readonly]{color:var(--muted)}
.wide{width:100%;justify-content:space-between;padding-inline:18px}
.auth-form .wide{margin-top:8px;min-height:46px}
.auth-switch{border-top:1px solid var(--line);padding-top:22px;margin-top:27px;font-size:14px;color:var(--muted)}
.welcome{min-height:100dvh;background:linear-gradient(145deg,#151722,#1f2130);padding:26px clamp(20px,5vw,90px)}
.welcome header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.welcome .brand{color:var(--ink)}
.welcome .brand-mark i{background:var(--action)}
.welcome section{max-width:640px;margin:clamp(54px,12vh,135px) auto;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--action);padding:clamp(24px,4vw,54px);border-radius:7px;box-shadow:0 14px 40px #1732420d}
.welcome section>p{margin:12px 0 24px}
.shell{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:100dvh}
.sidebar{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--rail);color:#f5f4f9;z-index:10}
.sidebar-brand{padding:26px 19px 22px;border-bottom:1px solid #343544}
.sidebar-brand .brand{font-size:20px;gap:10px}
.company-switch{display:flex;gap:10px;align-items:center;text-align:left;border:1px solid #444457;color:#f6f4f7;background:#252531;margin:21px 13px 6px;border-radius:6px;padding:10px}
.company-switch:hover{background:#323141}
.company-icon,.option-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:5px;background:#383241;color:#ffb1c5}
.company-info,.account-name{flex:1;min-width:0}
.company-info strong,.account-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.company-info strong,.account-name strong{font-size:14px}
.company-info small,.account-name small{display:block;font-size:11px;color:#bec0cf;line-height:1.4}
.company-switch>.icon{width:15px;height:15px}
.sidebar nav{overflow-y:auto;padding:4px 12px 22px;flex:1}
.sidebar nav>p{font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.12em;margin:21px 12px 7px;color:#a6a5b6}
.nav-item{display:flex;gap:12px;align-items:center;text-decoration:none;color:#d6d6e1;border-radius:5px;padding:9px 13px;font-size:14px;line-height:1.45;border-left:3px solid transparent}
.nav-item .icon{width:18px;height:18px}
.nav-item:hover{background:#272835;color:white}
.nav-item.selected{background:#392834;color:white;border-left-color:var(--accent);font-weight:650}
.nav-item.selected .icon{color:#ff9bb5}
.account{display:flex;align-items:center;gap:10px;border-top:1px solid #343544;padding:17px 15px}
.avatar{display:inline-grid;flex-shrink:0;place-items:center;width:34px;height:34px;border-radius:9px;background:#333544;color:#e9e5ec;font-size:12px;font-weight:730}
.account .avatar{background:#543247;color:#fff}
.exit,.icon-btn,.mobile-toggle{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:5px}
.exit:hover{background:#323141}
.workspace{min-width:0}
.toolbar{min-height:67px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px clamp(19px,3.1vw,54px)}
.breadcrumb{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);min-width:0;overflow-wrap:anywhere}
.breadcrumb strong{color:var(--ink);font-weight:600}
.breadcrumb .icon{width:16px;height:16px}
.breadcrumb i{font-style:normal;color:#7d8290}
.sync{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px;color:var(--muted)}
.sync b,.online{display:inline-block;height:7px;width:7px;border-radius:50%;background:#64d1a0;flex-shrink:0}
.sync.stale b{background:#c68029}
.surface{padding:clamp(25px,3vw,44px) clamp(18px,3.1vw,54px) 55px;max-width:1760px;margin:0 auto}
.page-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:27px}
.page-title h1{font-weight:680;font-size:clamp(32px,3.35vw,49px);letter-spacing:-.052em}
.page-title p{margin-top:6px;color:var(--muted);font-size:14px}
.panel,.metric,.product,.balance,.market-balance{border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}
.metric{display:block;padding:16px 18px;text-decoration:none;transition:box-shadow .15s,border-color .15s}
.metric:hover{border-color:#6b6375;box-shadow:0 4px 12px #142c3c0d}
.metric-line{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:13px;font-weight:600}
.metric-line .icon{width:18px;height:18px;color:#c39bad}
.metric strong{display:block;margin-top:15px;line-height:1.05;font-size:clamp(21px,2vw,33px);font-weight:670;letter-spacing:-.04em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.metric:last-child{background:#2b2330;color:#fff;border-color:#4b3341}
.metric:last-child .metric-line,.metric:last-child .icon{color:#d6c3ce}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}
.panel{margin-bottom:19px;overflow:hidden}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--line)}
.panel-heading h2,.product h2{font-size:19px;letter-spacing:-.035em;font-weight:670}
.empty{display:flex;align-items:flex-start;gap:13px;padding:clamp(24px,3vw,44px) 20px;min-height:116px}
.empty strong{font-size:14px;line-height:1.5}
.empty p{font-size:13px;color:var(--muted);margin-top:4px}
.empty-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:8px;background:#2b2e3d;color:#b6b8ca}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}
th{font-size:11px;letter-spacing:.025em;color:var(--muted);font-weight:650;background:#232531;white-space:nowrap}
th,td{padding:13px 16px;border-bottom:1px solid #313440;vertical-align:middle}
th:first-child,td:first-child{padding-left:20px}
tbody tr:last-child td{border-bottom:0}
td{overflow-wrap:anywhere;max-width:420px}
td strong{font-weight:620}
.route,.person-cell,.product-type,.market-balance,.balance>span{display:flex;align-items:center;gap:8px}
.route{gap:6px;flex-wrap:wrap;min-width:120px}
.route .icon{width:14px;height:14px;color:#999fb1}
.cell-sub{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:3px}
.pill{display:inline-block;padding:3px 7px;border-radius:5px;background:#313541;color:#dde2ec;font-weight:600;line-height:1.5;font-size:11px;margin:1px 0}
.pill.green{background:#203b31;color:#8de3b4}
.pill.blue{background:#243347;color:#a3ccf4}
.pill.amber{background:#413324;color:#f5c17e}
.driver-list{list-style:none;padding:0;margin:0}
.driver-list li{display:flex;align-items:center;gap:11px;padding:14px 20px;border-bottom:1px solid var(--line)}
.driver-list li:last-child{border:0}
.driver-list strong,.driver-list small{display:block}
.driver-list strong{font-size:14px}
.driver-list small{font-size:12px;color:var(--muted)}
.driver-list .online,.driver-list .pill{margin-left:auto}
.balance{background:var(--rail);color:white;padding:24px;margin-bottom:19px;border-color:var(--rail)}
.balance>span{font-size:14px;color:#ddd3de}
.balance strong{font-size:clamp(28px,4vw,43px);letter-spacing:-.04em}
.number{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}
.credit{color:var(--green)}
.debit{color:var(--red)}
.market-balance{font-size:14px;padding:15px 18px;margin-bottom:16px}
.market-balance strong{margin-left:auto}
.catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.product{padding:20px;display:flex;flex-direction:column;gap:15px}
.product-type{color:var(--muted);font-size:12px}
.product-type .icon{width:28px;height:28px;color:var(--accent)}
.product-bottom{border-top:1px solid var(--line);padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:auto}
.connect{padding:22px;display:flex;align-items:flex-start;gap:16px;max-width:760px}
.connect .form-emblem{flex:0 0 48px}
.connect h3{margin:0 0 9px;font-size:19px}
.connect p{color:var(--muted);font-size:14px}
.download{display:inline-flex;align-items:center;margin-top:12px;color:var(--accent);font-size:14px;font-weight:650;text-underline-offset:3px}
.connect dl{margin:15px 0}
.connect dt{font-size:12px;color:var(--muted)}
.connect dd{margin:3px 0;word-break:break-all}
code,.code{font-family:"IBM Plex Mono",Consolas,monospace}
.option{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px;margin-bottom:9px;text-align:left}
.option-icon{background:#302c3a;color:var(--ink)}
.option>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
.option strong,.option small{display:block}
.option small{font-size:12px;color:var(--muted)}
.option:hover{background:#2d2e3e}
.option+.actions{margin-top:20px}
dialog{background:var(--paper);border:1px solid #4b485a;border-radius:10px;padding:0;color:var(--ink);width:min(500px,calc(100% - 28px));max-height:90dvh;box-shadow:0 18px 80px #0a202c40;overflow:auto}
dialog::backdrop{background:#1326319c}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line)}
.dialog-head h2{font-size:21px;letter-spacing:-.035em}
.icon-btn:hover{background:var(--soft)}
.dialog-body{padding:20px}
.dialog-body p{margin-bottom:17px}
.dialog-actions{justify-content:flex-end;margin-top:20px;border-top:1px solid var(--line);padding-top:14px}
.subform-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0 7px}
.subform-heading h3{font-size:16px}
dialog:has([data-form="dispatch-new"]){width:min(650px,calc(100% - 28px))}
.catalog-field{min-width:0;margin:0 0 13px;padding:0;border:0}
.catalog-field legend{padding:0;margin-bottom:5px;font-size:14px;font-weight:650}
.catalog-field input,.catalog-field select{display:block;width:100%;min-width:0;min-height:38px;padding:6px 10px;border:1px solid #4f5467;color:var(--ink)}
.catalog-field input{border-radius:5px 5px 0 0;background:#232531;font-size:13px}
.catalog-field select{border-top:0;border-radius:0 0 5px 5px;background:var(--paper);font-size:14px}
.catalog-field :disabled{background:#282a36;color:var(--muted)}
.receipt{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px;background:var(--soft);border-radius:5px;font-size:14px}
.receipt dd{margin:0;font-weight:650}
.fleet-vehicle{min-height:40px;text-align:left}
.workshop-group{margin-bottom:24px}
.workshop-group h2{font-size:1.1rem;margin-bottom:10px}
.workshop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:12px}
.service-card{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:16px}
.service-card header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.service-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;color:var(--ink);font-size:.9rem}
.service-card dt,.service-history p{color:var(--muted)}
.service-card dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.service-history{border-top:1px solid var(--line);padding-top:14px}
.service-history h3{font-size:1rem;margin-bottom:8px}
.service-history ul{list-style:none;padding:0;margin:0}
.service-history li{padding:6px 0}
.my-rig{padding:16px 20px}
.my-rig+.my-rig{border-top:1px solid var(--line)}
.my-rig header{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}
.my-rig h3{font-size:1rem;overflow-wrap:anywhere}
.my-rig dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:10px;margin:12px 0 0}
.my-rig dt,.my-rig p{color:var(--muted);font-size:.85rem}
.my-rig dd{margin:2px 0 0;overflow-wrap:anywhere}
.my-rig p{margin-top:10px}
.my-rig dd .btn{display:block;margin:6px 0}
.my-rig h4{margin:16px 0 0}
.damage-list{margin:0;padding:0;list-style:none}
.damage-list li{display:grid;gap:5px;padding:14px 18px;overflow-wrap:anywhere}
.damage-list li+li{border-top:1px solid var(--line)}
.damage-list header{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.damage-list small{color:var(--muted)}
.damage-list .btn{justify-self:start;margin-top:4px}
.damage-description{white-space:pre-wrap;overflow-wrap:anywhere}
.my-rig .damage-list li{padding:10px 0}
.my-rig .damage-description{color:var(--ink);margin:0}
.fleet-vehicle small,.fleet-history small{font-weight:400;color:var(--muted)}
dialog:has(.fleet-history){width:min(640px,calc(100% - 28px))}
.fleet-history{display:grid;gap:20px}
.fleet-total,.fleet-driver header,.fleet-driver li{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.fleet-total{flex-wrap:wrap;background:var(--soft);padding:12px 15px;border-radius:6px}
.fleet-total strong{font-size:1.25rem}
.fleet-driver header{border-bottom:1px solid var(--line);padding-bottom:8px}
.fleet-driver h3{font-size:1rem;overflow-wrap:anywhere}
.fleet-driver h3 small{display:block;font-size:.75rem}
.fleet-driver ul{list-style:none;margin:0;padding:0}
.fleet-driver li{padding:12px 0;align-items:start;overflow-wrap:anywhere}
.fleet-driver li+li{border-top:1px solid var(--line)}
.fleet-driver li .route{margin-top:4px}
.fleet-driver li .cell-sub{margin-bottom:3px}
.fleet-result{display:grid;justify-items:end;gap:5px;text-align:right}
.fleet-total strong,.fleet-driver strong{font-variant-numeric:tabular-nums}
.fleet-driver header>strong,.fleet-result strong{white-space:nowrap}
.error-box{background:#422733;border-left:3px solid var(--action);border-radius:3px;color:#ffc6d2;padding:10px 12px;font-size:14px;margin:6px 0 15px}
.status-error{margin-bottom:20px}
#notice{position:fixed;right:22px;bottom:22px;background:#353242;color:white;padding:12px 18px;border-radius:7px;box-shadow:0 5px 22px #10273825;z-index:20;max-width:min(400px,calc(100vw - 34px));font-size:14px}
.mobile-toggle,.shade{display:none}
@media(max-width:1120px){
  .shell{grid-template-columns:215px minmax(0,1fr)}
  .sidebar-brand{padding-inline:14px}.sidebar-brand .brand{font-size:18px}
  .metric{padding:13px}.metric-line .icon{display:none}
  .overview-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
}
@media(max-width:850px){
  .shell{display:block}.sidebar{position:fixed;top:0;bottom:0;left:0;width:245px;transform:translateX(-102%);visibility:hidden}
  .nav-open .sidebar{transform:translateX(0);visibility:visible}
  .nav-open .shade{display:block;position:fixed;inset:0;background:#132b3990;border:0;z-index:9}
  .mobile-toggle{display:inline-grid;background:var(--soft);flex-shrink:0}.toolbar{justify-content:flex-start;min-height:56px}
  .toolbar .sync{margin-left:auto}.entry{grid-template-columns:minmax(240px,.8fr) 1fr}
  .entry-panel{padding:30px}.entry-scene{padding:25px}.scene-copy h1{font-size:39px}
}
@media(max-width:620px){
  .entry{display:flex;flex-direction:column;justify-content:flex-start;min-height:100dvh}
  .entry-scene{min-height:175px;background-position:center 52%;padding:20px 23px}
  .entry-scene .brand{font-size:19px}.entry-scene .brand-mark{height:24px}
  .scene-copy h1{font-size:27px;letter-spacing:-.045em;max-width:350px}.scene-copy h1 br{display:none}.scene-copy p{font-size:10px;margin-top:5px}.scene-line{display:none}
  .entry-panel{padding:27px 23px 35px}.auth-form{max-width:420px}.auth-form .form-emblem{display:none}
  .auth-form h2{margin-top:0;font-size:32px}.intro{margin-bottom:20px}.auth-switch{margin-top:19px;padding-top:15px}
  .surface{padding:21px 13px 35px}.toolbar{padding:9px 13px;gap:7px}
  .breadcrumb{font-size:12px;gap:5px}.breadcrumb>.icon{display:none}.sync{font-size:10px}
  .page-title{align-items:flex-start;flex-direction:column;gap:11px;margin-bottom:17px}
  .page-title h1{font-size:32px}.page-title p{font-size:13px}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
  .metric-line .icon{display:block}.metric strong{font-size:23px;margin-top:9px}
  .overview-grid{display:block}.panel{margin-bottom:12px}.panel-heading{padding:14px}
  th,td{padding:10px 12px}.empty{padding:22px 14px;min-height:96px}
  .field-grid{grid-template-columns:1fr}.dialog-body{padding:15px}.dialog-head{padding:12px 15px}
  .subform-heading{align-items:flex-start;flex-direction:column}
  .welcome{padding:16px}.welcome .brand{font-size:18px}.welcome section{margin-top:55px}
  .connect{padding:15px;gap:10px}.connect .form-emblem{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
