@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#21372d;--muted:#78817c;--green:#32654b;--line:#e3e7e1;--bg:#f7f8f4}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px 'DM Sans',sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}aside{position:fixed;inset:0 auto 0 0;width:240px;background:#fff;border-right:1px solid var(--line);padding:35px 22px}.brand{display:flex;gap:10px;color:var(--green);text-decoration:none;font-size:30px;font-weight:800}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px}.section{font-size:10px;letter-spacing:1.6px;color:#929991;margin:50px 12px 18px}nav button{display:block;width:100%;border:0;background:none;text-align:left;padding:15px 14px;margin:4px 0;color:#707c73;border-radius:7px}nav button.active{background:#edf3e9;color:#315d43;font-weight:700}.aside-bottom{position:absolute;bottom:25px;display:flex;gap:10px;font-size:12px}.avatar{border-radius:50%;background:#e8ede4;padding:10px;font-weight:700}small{display:block;color:var(--muted);margin-top:5px}main{margin-left:240px}header{height:83px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:white;border-bottom:1px solid var(--line);font-size:12px}select{border:1px solid var(--line);background:white;border-radius:6px;padding:10px;color:var(--ink)}.notice{margin:18px 44px 0;background:#edf0e7;padding:10px 15px;font-size:11px;color:#64735c;border-radius:5px}#content{padding:30px 44px 20px}.eyebrow{color:var(--green);font-size:10px;letter-spacing:2px;font-weight:700}h1{font:800 31px 'Manrope',sans-serif;letter-spacing:-1px;margin:8px 0}h2{font:700 17px 'Manrope',sans-serif;margin:0}p{color:var(--muted);line-height:1.6}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.primary{background:var(--green);color:white;border:0;padding:12px 18px;border-radius:6px}.secondary{border:1px solid var(--line);background:white;padding:10px 14px;border-radius:6px;color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.stat,.panel{background:white;border:1px solid var(--line);border-radius:9px}.stat{padding:21px}.stat label{color:var(--muted);font-size:12px}.stat b{display:block;font:700 34px 'Manrope';margin:10px 0}.stat small{font-size:11px}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.panel{padding:24px;margin-bottom:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.badge{display:inline-block;padding:5px 9px;border-radius:5px;font-size:10px;font-weight:700;background:#edf3e9;color:#46704d}.badge.warn{background:#fbefda;color:#a27a2a}.badge.danger{background:#fae9e6;color:#b7685b}.empty{padding:36px 18px;text-align:center;border:1px dashed #d5dfd3;border-radius:7px;background:#fafbf8}.empty .symbol{font-size:32px;color:#9cad94}.empty p{max-width:440px;margin:10px auto 20px}.row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row p{margin:5px 0;font-size:12px}.steps{display:flex;gap:12px;margin-top:20px}.step{flex:1;background:#f5f7f1;padding:15px;border-radius:6px;font-size:12px}.step strong{display:block;margin-bottom:8px}.step p{margin:0;font-size:11px}.van-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.van{background:white;border:1px solid var(--line);border-radius:9px;padding:23px}.van-art{height:90px;display:flex;align-items:center;justify-content:center;background:#f0f3ed;border-radius:6px;margin:14px 0;color:#819778;font-size:55px}.van h2{margin:10px 0}.van .secondary{width:100%;margin-top:20px}footer{padding:20px 44px;display:flex;align-items:center;gap:16px;color:#929b91;font-size:11px}footer span{flex:1}footer button{border:0;background:none;color:#64755e;font-size:11px}dialog{border:1px solid var(--line);border-radius:12px;padding:28px;width:min(660px,94vw);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#14261d70}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}label.field{display:block;font-size:12px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #d9dfd5;border-radius:5px;margin-top:7px;padding:11px;background:white}.wide{grid-column:1/-1}.actions{display:flex;gap:10px;justify-content:flex-end}.checklist label{display:block;padding:12px;border-bottom:1px solid var(--line)}.checklist input{accent-color:var(--green);margin-right:12px}.tabs{display:flex;gap:10px;margin:20px 0}.tabs button{flex:1}.detail-summary{background:#f2f5ee;padding:16px;border-radius:6px}a{color:var(--green)}#toast{position:fixed;bottom:24px;right:25px;background:var(--ink);color:white;padding:14px 20px;border-radius:7px;display:none}.demo-strip{background:#f8edd6;padding:12px;margin-bottom:20px;border-radius:6px;display:flex;justify-content:space-between}.demo-strip button{border:0;background:none;color:#956b24}@media(max-width:1050px){aside{width:195px}main{margin-left:195px}#content{padding:28px}header{padding:0 28px}.notice{margin:18px 28px 0}.grid{grid-template-columns:1fr}.van-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){aside{position:static;width:100%;padding:18px}.brand{font-size:24px}.section,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:14px}nav button{white-space:nowrap;width:auto;padding:10px}main{margin:0}header{padding:12px 18px;height:auto;gap:12px;flex-wrap:wrap}.notice{margin:16px 18px 0}#content{padding:24px 18px}.title{align-items:flex-start;gap:12px}h1{font-size:26px}.stats{grid-template-columns:1fr 1fr;gap:10px}.van-grid{grid-template-columns:1fr}.steps{flex-direction:column}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}footer{padding:18px;flex-wrap:wrap}}

.badge.tax{background:#e5eef7;color:#436585}.badge.neutral{background:#f1f2ed;color:#7b8277}.fleet-note{font-size:12px;color:#64745d;margin:-8px 0 24px}

.van-art{height:auto;aspect-ratio:3/2;overflow:hidden}.van-art img{display:block;width:100%;height:100%;object-fit:contain}.van-art span{font-size:55px}

[hidden]{display:none!important}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(480px,100%);padding:40px}.login-panel .brand{margin-bottom:30px}.login-panel h1{font-size:27px}

.responsible-person{display:flex;align-items:center;gap:11px;margin:16px 0}.person-photo,.person-initials{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:none;background:#edf1e9}.person-initials{display:grid;place-items:center;color:#5a7254;font-size:13px;font-weight:700}.responsible-person small{font-size:10px;margin:0 0 4px}.responsible-person strong{font-size:13px}

:root[data-theme=dark]{--ink:#e5eee6;--muted:#aab9ad;--green:#4f8f69;--line:#3c4d40;--bg:#17211b;color-scheme:dark}:root[data-theme=dark] aside,:root[data-theme=dark] header,:root[data-theme=dark] .panel,:root[data-theme=dark] .van,:root[data-theme=dark] .stat,:root[data-theme=dark] dialog,:root[data-theme=dark] .secondary,:root[data-theme=dark] select,:root[data-theme=dark] .field input,:root[data-theme=dark] .field textarea{background:#243129;color:var(--ink)}:root[data-theme=dark] .notice,:root[data-theme=dark] .empty,:root[data-theme=dark] .step,:root[data-theme=dark] .detail-summary{background:#2b392e;color:#bed0bd}:root[data-theme=dark] nav button.active{background:#364d3a;color:#e1eee0}:root[data-density=compact] .panel,:root[data-density=compact] .van,:root[data-density=compact] .stat{padding:16px}:root[data-density=compact] .row{padding:10px 0}

.vehicle-search-bar{margin-bottom:24px}.vehicle-search-bar label{display:block;font-size:12px;font-weight:700;margin-bottom:9px}.vehicle-search-controls{display:flex;gap:10px}.vehicle-search-controls input{flex:1;min-width:0;background:white;border:1px solid var(--line);border-radius:6px;padding:12px 15px;color:var(--ink);font:inherit}.vehicle-search-controls input:focus{outline:2px solid var(--green);outline-offset:2px}.vehicle-search-bar small{margin-top:10px}:root[data-theme=dark] .vehicle-search-controls input{background:#243129}@media(max-width:700px){.vehicle-search-controls{flex-direction:column}.vehicle-search-controls button{align-self:flex-end}}
