:root{color-scheme:light;--bg:#f1f5f7;--surface:#fff;--soft:#f7f9fb;--line:#e1e8ed;--text:#162e3d;--muted:#627682;--accent:#087f79;--accent-light:#e2f6f0;--nav:#112b3a;--nav-line:#284350;--danger:#b73c46;--danger-bg:#fff0f1;--warning:#a86612;--warning-bg:#fff5e4;--good:#187454;--info:#386d9a;--shadow:0 8px 32px #1234450b;font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.5}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
a{color:var(--accent)}
button{cursor:pointer}
button:disabled{opacity:.52;cursor:wait}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #48b6b1;outline-offset:3px}
button{touch-action:manipulation}
h1,h2,h3,p{margin-top:0}
h1{font-size:2rem;line-height:1.2;letter-spacing:-.04em;margin-bottom:.55rem}
h2{font-size:1.1rem;line-height:1.4;margin-bottom:1rem}
h3{font-size:1rem;margin-bottom:.4rem}
p{color:var(--muted)}
small{font-size:.8rem;color:var(--muted)}
.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.skip{position:fixed;top:-70px;left:1rem;z-index:2000;padding:.8rem;background:var(--surface)}
.skip:focus{top:1rem}
.loading{max-width:600px;margin:15vh auto;text-align:center;padding:2rem}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:#4cddc1;color:#122f3a;font-size:1.8rem;font-weight:800;letter-spacing:-.1em;padding-right:3px;flex-shrink:0}
.app-shell{min-height:100vh;padding-left:234px}
.sidebar{position:fixed;inset:0 auto 0 0;width:234px;background:var(--nav);color:#f0f6f8;display:flex;flex-direction:column;z-index:100;padding:27px 18px 18px}
.brand{display:flex;gap:12px;align-items:center;margin:0 10px 42px}
.brand strong{font-size:.9rem;display:block;letter-spacing:.075em}
.brand small{display:block;font-size:.68rem;letter-spacing:.17em;color:#a1bbc8}
.nav-label{font-size:.7rem;font-weight:700;letter-spacing:.13em;color:#839faa;margin:0 14px 12px}
.nav{display:flex;flex-direction:column;gap:6px}
.nav a{display:flex;align-items:center;gap:13px;color:#b3c8d2;text-decoration:none;padding:12px 14px;border-radius:9px;font-size:.92rem;min-height:47px}
.nav a:hover{background:#ffffff09;color:white}
.nav a.active{color:#7af0d8;background:#244653}
.nav a.active:before{content:"";position:absolute;left:0;width:3px;height:28px;background:#4cddc1;border-radius:0 3px 3px 0}
.nav a span{flex:1}
.nav .count{font-size:.75rem;color:#c3ece4;background:#ffffff0b;border:1px solid #ffffff0c;border-radius:5px;padding:0 6px}
.nav-divider{height:1px;background:var(--nav-line);margin:24px 12px}
.sidebar-bottom{margin-top:auto;padding-top:24px}
.company-mini{display:flex;gap:10px;padding:15px 10px;border-top:1px solid var(--nav-line);align-items:center}
.company-mini .avatar{height:34px;width:34px;display:grid;place-items:center;background:#294957;color:#7ee7d4;border-radius:9px;font-size:.8rem;font-weight:700}
.company-mini strong{display:block;font-size:.83rem;line-height:1.2;max-width:135px;overflow-wrap:anywhere}
.company-mini small{font-size:.72rem;color:#8ba9b8}
.sidebar-tools{display:flex;justify-content:space-between;padding:5px 10px;color:#8ba9b8}
.sidebar-tools button{color:inherit}
.topbar{height:74px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--surface);gap:20px}
.breadcrumb{font-size:.85rem;color:var(--muted)}
.breadcrumb strong{font-weight:600;color:var(--text)}
.world-clock{display:flex;align-items:center;gap:17px;font-size:.8rem;color:var(--muted);white-space:nowrap}
.world-clock b{font-size:.9rem;color:var(--text);font-variant-numeric:tabular-nums}
.sync-tag{border:1px solid var(--line);padding:4px 9px;border-radius:6px;font-size:.7rem;color:var(--good)}
.main{padding:30px 38px 36px;max-width:1820px;margin:auto}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}
.page-head p{font-size:.9rem;margin:0}
.eyebrow{font-size:.66rem;letter-spacing:.12em;font-weight:700;color:var(--muted);margin-bottom:9px}
.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-decoration:none;border-radius:8px;padding:10px 15px;font-size:.88rem;font-weight:600;min-height:42px;line-height:1.4}
.btn:hover{background:var(--soft)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{filter:brightness(1.07)}
.btn.danger{color:var(--danger);border-color:#e9bdc1;background:var(--danger-bg)}
.btn.small{font-size:.79rem;padding:7px 11px;min-height:34px}
.btn.ghost{background:transparent}
.icon-btn{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:7px;color:var(--muted)}
.icon-btn:hover{background:#8499a31c}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:21px 23px;position:relative;min-width:0}
.kpi>span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:12px}
.kpi strong{display:block;font-size:1.9rem;line-height:1.2;letter-spacing:-.035em;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.kpi small{display:block;margin-top:10px;font-size:.76rem}
.kpi.featured{background:var(--nav);color:#fff;border-color:var(--nav)}
.kpi.featured>span{color:#a9c2cc}
.kpi.featured small{color:#75dac6}
.kpi.good strong{color:var(--good)}
.grid{display:grid;gap:22px}
.grid.two{grid-template-columns:1fr 1fr}
.grid.cockpit{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0;box-shadow:var(--shadow)}
.panel.pad{padding:22px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 22px;border-bottom:1px solid var(--line)}
.panel-head h2{margin:0;font-size:1rem}
.panel-head small{display:block;margin-top:3px}
.panel-body{padding:22px}
.panel-footer{padding:13px 22px;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px;font-size:.77rem;color:var(--muted);flex-wrap:wrap}
.spaced{margin-top:22px}
.map{height:355px;position:relative;background:#e5edf1;overflow:hidden}
.map.large{height:520px}
.map .map-note{position:absolute;bottom:10px;left:12px;z-index:500;background:var(--surface);color:var(--muted);padding:5px 8px;border-radius:6px;font-size:.7rem;max-width:80%;pointer-events:none}
.map svg.scheme{width:100%;height:100%;display:block}
.map svg text{font-family:inherit;font-size:12px;fill:#506975}
.map svg .city-title{fill:#193f50;font-weight:650;font-size:13px}
.map .leaflet-container{height:100%;font-family:inherit}
.vehicle-marker{background:#073e4a;color:#8ef3d9;padding:4px 8px;border:2px solid white;border-radius:7px;min-width:48px;width:max-content;text-align:center;box-shadow:0 2px 10px #0c38494a;font-size:11px;font-weight:700}
.city-marker{background:#12796e;border:2px solid #fff;width:11px;height:11px;border-radius:100%}
.recommendation{padding:17px 21px;display:flex;gap:13px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}
.recommendation:last-child{border-bottom:0}
.recommendation:hover{background:var(--soft)}
.rec-symbol{height:31px;width:31px;display:grid;place-items:center;border-radius:8px;color:var(--warning);background:var(--warning-bg);flex-shrink:0}
.rec-symbol.severity3{color:var(--danger);background:var(--danger-bg)}
.rec-symbol.severity1{color:var(--accent);background:var(--accent-light)}
.rec-main{flex:1;min-width:0}
.rec-main h3{font-size:.88rem;margin:0 0 5px}
.rec-main p{font-size:.8rem;line-height:1.5;margin:0}
.rec-link{margin-top:7px;display:block;color:var(--accent);font-size:.77rem;font-weight:600}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}
.section-heading h2{margin:0}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:.73rem;font-weight:600;border-radius:5px;padding:3px 8px;white-space:nowrap;background:var(--soft);color:var(--muted)}
.badge.good{background:var(--accent-light);color:var(--good)}
.badge.danger{background:var(--danger-bg);color:var(--danger)}
.badge.warning{background:var(--warning-bg);color:var(--warning)}
.badge.info{background:#eaf2fc;color:var(--info)}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:left;font-size:.86rem}
th{font-size:.7rem;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:12px 18px;background:var(--soft);border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:13px 18px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--soft)}
td strong{font-size:.85rem}
td small{display:block;font-size:.75rem;margin-top:2px}
td.money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.positive{color:var(--good)}
.negative{color:var(--danger)}
.line-code{display:inline-flex;min-width:39px;align-items:center;justify-content:center;padding:3px 6px;background:var(--accent-light);color:var(--accent);font-size:.78rem;font-weight:700;border:1px solid #1d8b7d20;border-radius:5px}
.meter{height:5px;width:100%;min-width:50px;background:var(--line);border-radius:6px;overflow:hidden;margin-top:7px}
.meter span{display:block;height:100%;background:var(--accent);border-radius:6px}
.meter.warning span{background:#d99a30}
.meter.danger span{background:#c55763}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:23px;overflow-x:auto}
.tabs button{background:transparent;border:0;color:var(--muted);border-bottom:2px solid transparent;font-size:.87rem;font-weight:600;padding:12px 17px;white-space:nowrap}
.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}
.filters{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}
.search-input{position:relative;flex:1;min-width:200px}
.search-input input{padding-left:40px;width:100%}
.search-input .icon{position:absolute;left:12px;top:12px;color:var(--muted)}
input,select,textarea{background:var(--surface);color:var(--text);border:1px solid #c7d4dc;border-radius:7px;padding:10px 12px;min-height:43px;max-width:100%;font-size:.9rem}
textarea{min-height:110px;resize:vertical}
input[type=checkbox]{min-height:18px;width:18px;accent-color:var(--accent);vertical-align:middle;margin-right:10px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-size:.85rem;font-weight:600}
.field small{font-weight:400;line-height:1.4}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.form-error{color:var(--danger);font-size:.86rem;min-height:1em;margin:.5rem 0}
.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;align-items:center}
.hint{padding:13px 16px;background:var(--soft);border:1px solid var(--line);border-radius:8px;font-size:.83rem;color:var(--muted);line-height:1.6}
.hint.warning{background:var(--warning-bg);border-color:#dfb97155;color:var(--warning)}
.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.vehicle-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}
.vehicle-card .photo{height:170px;background:#eef1f2;overflow:hidden}
.vehicle-card img{width:100%;height:100%;object-fit:cover}
.vehicle-card .card-body{padding:20px}
.vehicle-card h3{font-size:1.1rem;margin:3px 0 12px}
.vehicle-card .specs{display:flex;gap:14px;font-size:.77rem;color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.vehicle-card .card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:10px}
.price{font-size:1.18rem;font-weight:650;letter-spacing:-.02em}
.fleet-thumb{width:76px;height:44px;object-fit:cover;border-radius:6px}
.vehicle-cell{display:flex;align-items:center;gap:12px}
.empty{text-align:center;padding:48px 24px;max-width:560px;margin:auto}
.empty h3{font-size:1.14rem}
.empty p{font-size:.9rem}
.empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--accent-light);color:var(--accent);margin:0 auto 16px}
.empty .icon{width:26px;height:26px}
.finance-total{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.finance-total:last-child{border-bottom:0}
.finance-total.grand{font-size:1.15rem;font-weight:700;color:var(--accent);margin-top:6px}
.chart{height:180px;display:flex;align-items:flex-end;gap:14px;padding:10px 0 26px}
.chart-group{flex:1;height:100%;position:relative;display:flex;gap:4px;align-items:flex-end;justify-content:center}
.chart-bar{width:27%;border-radius:4px 4px 0 0;background:#168f82;min-height:2px}
.chart-bar.cost{background:#c8d6df}
.chart-day{position:absolute;bottom:-23px;left:0;right:0;text-align:center;font-size:.7rem;color:var(--muted)}
.legend{display:flex;gap:20px;font-size:.75rem;color:var(--muted)}
.legend span:before{content:"";display:inline-block;width:8px;height:8px;background:#168f82;border-radius:2px;margin-right:6px}
.legend span.cost:before{background:#c8d6df}
.offline{display:flex;gap:15px;align-items:center;padding:15px 20px;border:1px solid #acd9cd;background:#e7f6ef;border-radius:10px;margin-bottom:23px}
.offline div{flex:1}
.offline strong{font-size:.88rem;color:#1f6357}
.offline p{font-size:.82rem;margin:4px 0 0;color:#416b63}
.route-path{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.9rem;margin:13px 0 20px}
.route-path strong{color:var(--text)}
.route-path .icon{width:16px}
.line-card{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.line-card .stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;border-top:1px solid var(--line);padding-top:16px}
.stats-row span{font-size:.75rem;color:var(--muted);display:block}
.stats-row strong{font-size:1rem;margin-top:3px;display:block}
.line-card .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.depot-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}
.depot-spec{display:flex;justify-content:space-between;gap:20px;font-size:.86rem;padding:11px 0;border-bottom:1px solid var(--line)}
.depot-spec:last-child{border:0}
.mode-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}
.mode-row h3{margin:0;font-size:.9rem}
.mode-row p{font-size:.78rem;margin:4px 0 0}
.mode-row select{font-size:.83rem;min-width:135px}
.incident-card{border:1px solid #e7c2c5;border-left:3px solid var(--danger);border-radius:9px;padding:20px;background:var(--surface);margin-bottom:17px}
.incident-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}
.incident-options button{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px;text-align:left;font-size:.84rem;line-height:1.5;color:var(--text)}
.incident-options button:hover{border-color:var(--accent);background:var(--soft)}
.incident-options small{display:block;margin-top:5px}
.row-action{cursor:pointer}
.row-action:hover{background:var(--accent-light)}
dialog{padding:0;border:1px solid var(--line);border-radius:15px;box-shadow:0 25px 100px #08202b44;background:var(--surface);color:var(--text);max-width:min(620px,calc(100vw - 28px));width:620px;max-height:calc(100dvh - 40px);overflow:auto}
dialog.wide{width:1020px;max-width:calc(100vw - 30px)}
dialog::backdrop{background:#0c253783;backdrop-filter:blur(4px)}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 25px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:3}
.modal-head h2{margin:0;font-size:1.16rem}
.modal-body{padding:25px}
.modal-body .kpi-grid{gap:10px}
.modal-body .kpi{padding:14px}
.modal-body .kpi strong{font-size:1.4rem}
.wizard-steps{display:flex;gap:8px;margin:0 0 26px;list-style:none;padding:0}
.wizard-steps li{flex:1;border-bottom:3px solid var(--line);padding:0 0 12px;font-size:.78rem;color:var(--muted);line-height:1.5}
.wizard-steps li.active{color:var(--accent);border-color:var(--accent);font-weight:700}
.wizard-steps b{display:block;font-size:.68rem;font-weight:600;opacity:.65}
.stop-row{display:flex;gap:8px;align-items:center}
.stop-row select{flex:1;min-width:0}
.check-card{display:flex;align-items:center;padding:12px;border:1px solid var(--line);border-radius:7px;margin-bottom:8px;gap:10px;font-size:.86rem}
.check-card:has(input:checked){border-color:var(--accent);background:var(--accent-light)}
.check-card input{flex-shrink:0}
.check-card div{flex:1}
.check-card small{display:block}
.auth-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.auth-story{background:var(--nav);padding:8vh 7vw;color:#f1f6f8;display:flex;flex-direction:column;justify-content:center}
.auth-story .brand{margin:0 0 70px}
.auth-story h1{font-size:3.5rem;line-height:1.05;max-width:500px;font-weight:650}
.auth-story h1 span{color:#67e2ca}
.auth-story p{font-size:1rem;max-width:400px;color:#a3bac5;line-height:1.7}
.auth-story .brand small{max-width:none;margin:0}
.auth-route{margin-top:35px;border-left:1px solid #446471;padding-left:22px}
.auth-route div{font-size:.82rem;color:#b8cdd5;padding:12px 0;position:relative}
.auth-route div:before{content:"";position:absolute;width:7px;height:7px;background:#4cddc1;border-radius:50%;left:-26px;top:20px}
.auth-form{display:flex;align-items:center;justify-content:center;padding:45px;background:var(--surface)}
.auth-box{width:100%;max-width:380px}
.auth-box h2{font-size:1.7rem;letter-spacing:-.035em}
.auth-box>p{font-size:.9rem}
.auth-box .btn.primary{width:100%}
.auth-box .tabs{margin:26px 0}
.auth-foot{font-size:.75rem;margin:25px 0 0}
.onboarding{max-width:700px;margin:40px auto}
.onboarding .panel{padding:32px}
.onboarding p{font-size:.95rem}
.toast{background:var(--nav);color:#fff;border:1px solid #537787;border-radius:10px;padding:13px 18px;box-shadow:0 7px 25px #08202b33;font-size:.86rem;max-width:450px}
.toast.error{background:#842e39;border-color:#a94956}
#toasts{position:fixed;right:24px;bottom:24px;z-index:4000;display:flex;flex-direction:column;gap:10px}
.mobile-menu{display:none}
.admin-grid{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px}
.admin-nav{display:flex;flex-direction:column;gap:5px;align-self:start}
.admin-nav button{border:0;background:transparent;text-align:left;padding:11px 13px;border-radius:7px;color:var(--muted);font-size:.82rem}
.admin-nav button.active{background:var(--accent-light);color:var(--accent);font-weight:600}
.admin-scroll{max-height:65vh;overflow:auto}
.admin-scroll th{position:sticky;top:0}
.record-preview{white-space:pre-wrap;font: .8rem ui-monospace,monospace;overflow:auto;max-height:450px;background:var(--soft);padding:18px;border-radius:8px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.detail-grid>div{padding-bottom:10px;border-bottom:1px solid var(--line)}
.detail-grid span{font-size:.75rem;display:block;color:var(--muted)}
.detail-grid strong{font-size:.9rem;font-weight:600}
.footer-note{font-size:.72rem;color:var(--muted);margin-top:25px;text-align:right}
.pagination{display:flex;justify-content:center;padding:20px}
.dialog-photo{width:100%;max-height:250px;object-fit:cover;border-radius:9px;margin-bottom:20px}
.error-surface{padding:30px;max-width:640px;margin:15vh auto;border:1px solid var(--line);background:var(--surface);border-radius:12px}
.error-surface p{font-size:.9rem}
.link-button{border:0;background:transparent;padding:0;color:var(--accent);font-size:inherit;font-weight:600;text-align:left}

html[data-theme=dark]{color-scheme:dark;--bg:#101e28;--surface:#192b36;--soft:#213640;--line:#304551;--text:#e2edf2;--muted:#9eb4c1;--accent:#25a795;--accent-light:#183e3a;--nav:#0b1c28;--danger:#ef919b;--danger-bg:#452e38;--warning:#e1b877;--warning-bg:#3a352c;--good:#6bdbb9;--info:#8fbbe4;--shadow:0 8px 32px #00000009}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{border-color:#405461}
html[data-theme=dark] .map{background:#1b333f}
html[data-theme=dark] .map svg text{fill:#9fbdc9}
html[data-theme=dark] .map svg .city-title{fill:#e4f3f8}
html[data-theme=dark] .offline{background:#183c35;border-color:#396153}
html[data-theme=dark] .offline strong,html[data-theme=dark] .offline p{color:#a8d8c5}

@media(min-width:1500px){
    .map{height:400px}
    .main{padding:36px 44px}
    .kpi strong{font-size:2.15rem}
}

@media(max-width:1200px){
    .app-shell{padding-left:205px}
    .sidebar{width:205px;padding-left:12px;padding-right:12px}
    .main{padding:26px}
    .topbar{padding:0 26px}
    .kpi{padding:18px}
    .kpi strong{font-size:1.55rem}
    .grid.cockpit{grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr)}
    .market-grid{grid-template-columns:repeat(2,1fr)}
    .sync-tag{display:none}
    .auth-story h1{font-size:2.8rem}
    .page-head{align-items:center}
    .admin-grid{grid-template-columns:170px minmax(0,1fr)}
}

@media(max-width:960px){
    .grid.cockpit,.grid.two{grid-template-columns:1fr}
    .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .topbar{height:65px}
    .main{padding:23px}
    .world-clock{gap:10px;font-size:.7rem}
    .breadcrumb{font-size:.75rem}
    .page-head h1{font-size:1.65rem}
    .head-actions .btn{font-size:.8rem}
    .admin-grid{grid-template-columns:1fr}
    .admin-nav{flex-direction:row;overflow-x:auto}
    .admin-nav button{white-space:nowrap}
    .auth-shell{grid-template-columns:42% 58%}
    .auth-story{padding:40px}
    .auth-story h1{font-size:2.4rem}
    .auth-route{display:none}
    .auth-form{padding:35px}
    .detail-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:720px){
    .app-shell{padding-left:0}
    .sidebar{transform:translateX(-100%);transition:transform .18s;width:234px;box-shadow:10px 0 30px #0003}
    .sidebar.open{transform:none}
    .mobile-menu{display:inline-flex}
    .topbar{padding:0 16px;gap:8px}
    .breadcrumb{display:none}
    .world-clock{flex:1;justify-content:flex-end;font-size:.72rem}
    .world-clock b{font-size:.78rem}
    .main{padding:22px 16px}
    .page-head{align-items:flex-start;gap:13px;flex-direction:column;margin-bottom:20px}
    .eyebrow{font-size:.6rem}
    .page-head p{font-size:.8rem}
    .head-actions{width:100%}
    .kpi-grid{gap:10px;margin-bottom:17px}
    .kpi{padding:15px}
    .kpi>span{font-size:.73rem;margin-bottom:8px}
    .kpi strong{font-size:1.45rem}
    .kpi small{font-size:.67rem;line-height:1.4;margin-top:8px}
    .map{height:320px}
    .map.large{height:380px}
    .panel-head{padding:16px}
    .panel-body,.panel.pad{padding:17px}
    .grid{gap:17px}
    .recommendation{padding:15px 16px}
    .tabs button{padding:12px 10px;font-size:.78rem}
    .market-grid{grid-template-columns:1fr 1fr;gap:12px}
    .vehicle-card .photo{height:115px}
    .vehicle-card .card-body{padding:13px}
    .vehicle-card .specs{font-size:.7rem;gap:5px 10px}
    .vehicle-card h3{font-size:.95rem}
    .vehicle-card .card-bottom{flex-direction:column;align-items:flex-start}
    .price{font-size:1.05rem}
    .line-card{padding:17px}
    .line-card .stats-row{grid-template-columns:repeat(2,1fr)}
    .form-grid.three{grid-template-columns:1fr}
    .modal-body{padding:19px}
    .modal-head{padding:16px 19px}
    .wizard-steps{gap:6px;margin-bottom:20px}
    .wizard-steps li{font-size:.64rem}
    .wizard-steps b{font-size:.62rem}
    .form-grid{grid-template-columns:1fr}
    .auth-shell{display:block}
    .auth-story{padding:24px}
    .auth-story .brand{margin:0}
    .auth-story h1,.auth-story>p{display:none}
    .auth-form{padding:32px 24px;min-height:calc(100vh - 88px)}
    .auth-box{max-width:420px}
    .incident-options{grid-template-columns:1fr}
    .offline{align-items:flex-start;font-size:.8rem}
    .offline>svg{display:none}
    .onboarding{margin:0}
    .onboarding .panel{padding:22px}
    .finance-total{font-size:.84rem}
    .footer-note{text-align:left;font-size:.67rem}
    #toasts{left:16px;right:16px;bottom:16px}
    .toast{max-width:none}
    .stats-row strong{font-size:.9rem}
    .form-actions{flex-wrap:wrap}
    .modal-body .kpi strong{font-size:1.25rem}
    dialog{max-height:calc(100dvh - 24px)}
    .admin-scroll{max-height:60vh}
}

@media(prefers-reduced-motion:reduce){
    *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

.rec-main p{font-size:.875rem}
.rec-main h3{font-size:.93rem}
.kpi>span{font-size:.875rem}

/* Logo und Header: in die Oberfläche integriert */
.sidebar{
    background:linear-gradient(180deg,#001a30 0%,#082333 48%,#112b3a 100%);
    overflow-y:auto;
    overscroll-behavior-y:contain;
}
.sidebar>.brand,
.sidebar>.nav-label,
.sidebar>.nav,
.sidebar>.sidebar-bottom{
    flex-shrink:0;
}
.fmo-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    max-width:100%;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.fmo-brand-logo{
    display:block;
    width:132px;
    height:132px;
    max-width:100%;
    object-fit:contain;
}
.fmo-brand [hidden],
.fmo-header[hidden]{
    display:none!important;
}
.sidebar .fmo-brand{
    margin:0 0 24px;
    padding:0 0 20px;
    border-bottom:1px solid #ffffff16;
}
.sidebar .fmo-brand-logo{
    width:132px;
    height:132px;
}
.fmo-brand-fallback{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
}
.fmo-brand-fallback strong{
    color:#edf7fb;
    font-size:.8rem;
}
.fmo-brand-fallback small{
    color:#9ebcc9;
    font-size:.6rem;
    letter-spacing:.12em;
}
.fmo-header{
    display:block;
    width:min(100%,400px);
    aspect-ratio:16/9;
    height:auto;
    margin:0 0 24px;
    padding:0;
    overflow:hidden;
    border:0;
    border-radius:10px;
    background:#001b30;
    box-shadow:none;
}
.fmo-header img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.page-head.fmo-cockpit-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) clamp(240px,34%,400px);
    align-items:center;
    gap:30px;
    min-height:220px;
    margin:0 0 24px;
    padding:24px 30px;
    overflow:hidden;
    border:1px solid #244655;
    border-radius:16px;
    background:linear-gradient(115deg,#11394a 0%,#08283d 48%,#001b30 100%);
    color:#f4fbff;
    box-shadow:0 12px 30px #102d4012;
}
.fmo-cockpit-intro{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:22px;
    min-width:0;
}
.fmo-cockpit-intro>div{
    max-width:100%;
}
.fmo-cockpit-head .eyebrow{
    margin-bottom:12px;
    color:#91d6d3;
    font-size:.66rem;
    letter-spacing:.14em;
}
.fmo-cockpit-head h1{
    margin:0 0 10px;
    color:#f4fbff;
    font-size:clamp(1.65rem,2.1vw,2.05rem);
    line-height:1.2;
    letter-spacing:-.035em;
    overflow-wrap:break-word;
}
.fmo-cockpit-head p{
    margin:0;
    color:#b5cdd7;
    font-size:.9rem;
}
.fmo-cockpit-head .head-actions{
    justify-content:flex-start;
}
.fmo-cockpit-head .btn{
    color:#edf8fc;
    border-color:#5c7c8b;
    background:#ffffff0a;
}
.fmo-cockpit-head .btn:hover{
    background:#ffffff18;
}
.fmo-cockpit-head .btn.primary{
    color:#062a39;
    border-color:#64dfca;
    background:#64dfca;
    font-weight:700;
}
.fmo-cockpit-head>.fmo-header--cockpit{
    width:100%;
    height:auto;
    margin:0;
    align-self:center;
}
.page-head.fmo-cockpit-head.fmo-cockpit-head--text{
    grid-template-columns:minmax(0,1fr);
    min-height:190px;
}
.auth-story{
    padding:clamp(28px,6vh,64px) clamp(28px,5vw,80px);
    background:radial-gradient(ellipse at 0% 100%,#174858 0%,#08283c 44%,#001b30 100%);
}
.auth-story .fmo-brand{
    align-self:flex-start;
    width:112px;
    margin:0 0 28px;
}
.auth-story .fmo-brand-logo{
    width:112px;
    height:112px;
}
.auth-story h1{
    font-size:clamp(2rem,3.1vw,3.25rem);
}
.auth-story .fmo-header--auth{
    flex-shrink:0;
    width:min(100%,440px);
    height:auto;
    margin:22px 0 0;
}
.auth-story .auth-route{
    display:none;
}
.error-surface .fmo-brand{
    justify-content:flex-start;
    width:132px;
    margin:0 0 22px;
    background:#001b30;
    border-radius:10px;
    overflow:hidden;
}
.error-surface .fmo-brand-fallback{
    padding:14px;
    flex-wrap:wrap;
}
#app .loading .loading-brand-logo{
    display:block;
    width:160px;
    height:160px;
    max-width:70vw;
    max-height:none;
    margin:0 auto 22px;
    object-fit:contain;
    background:#001b30;
    border-radius:12px;
}
@media(max-width:1200px){
    .page-head.fmo-cockpit-head{
        grid-template-columns:minmax(0,1fr) clamp(220px,34%,340px);
        gap:24px;
        padding:24px;
    }
    .sidebar .fmo-brand-logo{
        width:120px;
        height:120px;
    }
}
@media(max-width:960px){
    .page-head.fmo-cockpit-head{
        gap:20px;
        padding:22px;
    }
    .fmo-cockpit-head h1{
        font-size:1.65rem;
    }
}
@media(max-width:720px){
    .page-head.fmo-cockpit-head{
        grid-template-columns:minmax(0,1fr);
        gap:20px;
        min-height:0;
        margin-bottom:20px;
        padding:22px 20px;
        border-radius:13px;
    }
    .fmo-cockpit-intro{
        gap:18px;
    }
    .fmo-cockpit-head h1{
        font-size:1.55rem;
    }
    .fmo-cockpit-head p{
        font-size:.84rem;
    }
    .fmo-cockpit-head>.fmo-header--cockpit{
        width:min(100%,320px);
        justify-self:center;
    }
    .sidebar .fmo-brand-logo{
        width:112px;
        height:112px;
    }
    .sidebar .fmo-brand{
        margin-bottom:20px;
        padding-bottom:16px;
    }
    .auth-story{
        padding:18px 24px;
    }
    .auth-story .fmo-brand{
        align-self:center;
        width:88px;
        margin:0 auto;
    }
    .auth-story .fmo-brand-logo{
        width:88px;
        height:88px;
    }
    .auth-story .fmo-header--auth{
        display:none;
    }
    .auth-form{
        min-height:calc(100vh - 124px);
        min-height:calc(100dvh - 124px);
    }
}