:root{--bg:#f6f7f3;--ink:#20362e;--muted:#718078;--line:#e1e7df;--green:#173e33;--lime:#d7ed98;--danger:#b44931;--radius:18px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,textarea{font:inherit}button,a,input,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #95b66b;outline-offset:3px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sprite{display:none}[hidden]{display:none!important}.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(5%,calc((100vw - 1320px)/2));background:#fbfcf9}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:28px;font-weight:750;letter-spacing:-1px}.brand-icon{background:var(--green);color:var(--lime);width:39px;height:42px;border-radius:10px;display:grid;place-items:center}.brand-icon svg{width:25px;height:25px}.brand-light{font-weight:450}.brand-dot{color:#71914d}.nav-label{font-size:10px;letter-spacing:2px;color:#7b887e;font-weight:650}.private-badge{display:flex;align-items:center;gap:7px;font-size:12px;color:#536c5e;border:1px solid #dbe4d7;background:#f1f5ec;border-radius:30px;padding:8px 13px}.private-badge svg{width:14px;height:14px}main{max-width:1320px;width:90%;margin:0 auto}.intro{padding:46px 0 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.eyebrow{display:flex;gap:8px;align-items:center;color:#67835b;font-size:10px;font-weight:700;letter-spacing:1.8px;margin:0 0 15px}.eyebrow span{width:6px;height:6px;background:#83a560;border-radius:50%}h1{font-size:38px;line-height:1.2;letter-spacing:-1.3px;font-weight:650;margin:0 0 12px}h1 span{color:#84937c}.subtitle{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.unit-note{display:flex;align-items:center;gap:10px;white-space:nowrap;color:#7f8b80;font-size:10px;padding-bottom:5px}.unit-divider{height:10px;width:1px;background:#d2dbce}.workspace{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(520px,1.22fr);gap:24px;align-items:start}.panel{border:1px solid var(--line);background:#fff;border-radius:var(--radius)}.input-panel{padding:26px 26px 22px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:27px}h2{font-size:17px;letter-spacing:-.35px;font-weight:650;margin:0}.text-button{padding:4px 0;background:none;border:0;color:#879183;display:flex;gap:5px;align-items:center;font-size:11px}.text-button:hover{color:var(--green)}.text-button svg{width:13px;height:13px}.field{min-width:0}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:10px;color:#475b4e}.input-wrap{display:flex;align-items:center;gap:11px;min-width:0;position:relative;border:1px solid #dce3d9;border-radius:10px;background:#fcfdfa;transition:box-shadow .15s,border-color .15s}.input-wrap:focus-within{border-color:#849d68;box-shadow:0 0 0 3px #a7be8325}.input-wrap>svg{margin-left:15px;color:#899780;width:19px;height:19px}.input-wrap input{min-width:0;width:100%;background:transparent;border:none;outline:none!important;color:var(--ink);padding:14px 0 14px 15px;font-size:23px;font-weight:550;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.input-wrap>svg+input{padding-left:0}.input-wrap .unit{padding-right:16px;font-size:11px;color:#89947e;white-space:nowrap}.distance-field{margin-bottom:21px}.distance-field input{font-size:27px;padding-top:15px;padding-bottom:15px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:23px}.field-pair>.field>label{min-height:21px;padding-top:3px}.label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;min-height:21px}.label-row label{margin:0}.segmented{display:flex;background:#f1f4ec;border-radius:5px;padding:2px;gap:1px}.segmented button{border:0;background:none;border-radius:3px;font-size:10px;padding:2px 6px;color:#7c8c71;min-height:19px}.segmented button.selected{background:white;color:var(--green);box-shadow:0 1px 3px #19321b15;font-weight:700}.small-hint{font-size:9px;color:#8c9686}.level-field{margin-bottom:23px}input[type=range]{appearance:none;width:100%;height:5px;margin:21px 0 10px;border-radius:20px;background:linear-gradient(to right,#60815a 0%,#60815a var(--progress,21%),#e8ede2 var(--progress,21%),#e8ede2 100%);cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:17px;height:17px;border:3px solid white;border-radius:50%;background:#5e7e57;box-shadow:0 1px 6px #28432f38}input[type=range]::-moz-range-thumb{width:12px;height:12px;border:3px solid white;border-radius:50%;background:#5e7e57;box-shadow:0 1px 6px #28432f38}.range-labels{display:flex;justify-content:space-between;color:#899581;font-size:9px}.reserve-block{background:#f3f6ee;border:1px solid #e7ecdf;border-radius:11px;padding:16px;display:grid;grid-template-columns:1fr 81px;gap:8px;align-items:center}.reserve-copy label{font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.reserve-dot{width:6px;height:6px;border-radius:50%;background:#a4bd70}.reserve-copy p{font-size:10px;color:#84917b;margin:6px 0 0;line-height:1.5}.reserve-block input{font-size:20px;padding:10px 0 10px 12px}.reserve-block .unit{padding-right:11px}.reserve-block .error{grid-column:1/-1}.auto-note{display:flex;justify-content:center;align-items:center;gap:6px;margin:21px 0 0;font-size:10px;color:#91a087}.auto-note span{width:5px;height:5px;border-radius:50%;background:#8fbc78}.error{color:var(--danger);font-size:11px;line-height:1.4;margin:6px 0 0}.error:empty{display:none}.input-wrap:has([aria-invalid=true]){border-color:#d38976;background:#fffaf7}.refuel-card{background:var(--green);color:white;border-radius:var(--radius);padding:23px 27px 0;overflow:hidden;position:relative}.refuel-card:before{content:"";position:absolute;right:-45px;top:55px;width:260px;height:260px;border:1px solid #ffffff06;border-radius:50%;pointer-events:none}.refuel-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-eyebrow{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.3px;font-weight:600;color:#b3c7ad}.card-eyebrow svg{width:16px;height:16px;color:#d5e39d}.status-badge{font-size:9px;background:#ffffff10;color:#d8e9bb;padding:6px 9px;border-radius:20px;border:1px solid #ffffff0d;text-align:center}.hero-value{margin-top:20px}.hero-value>span{font-size:12px;color:#b4c5b6}.hero-value>div{display:flex;align-items:baseline;gap:13px;margin-top:4px;flex-wrap:wrap}.hero-value strong{font-size:64px;line-height:1.08;font-weight:550;color:#d7ed98;letter-spacing:-2.5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hero-unit{font-size:22px;font-weight:350;color:#b6c6ac}.refuel-caption{margin:10px 0 23px;font-size:11px;color:#b4c5b5;line-height:1.5}.route-chart{display:flex;align-items:center;padding:0 3px;position:relative;height:17px}.route-start{border:3px solid #d2e892;background:var(--green);width:11px;height:11px;border-radius:50%;z-index:2}.route-line{height:3px;background:#63866b66;flex:1;position:relative}.route-line>div{height:3px;background:#c7e582;width:27.37%}.route-line>span{position:absolute;left:27.37%;top:50%;transform:translate(-50%,-50%);height:24px;width:24px;border-radius:7px;border:3px solid var(--green);background:#d7ed98;color:#244331;display:grid;place-items:center}.route-line svg{width:12px;height:12px;stroke-width:2}.route-end{width:9px;height:9px;border:2px solid #6e8c73;border-radius:50%;background:var(--green)}.route-labels{display:flex;justify-content:space-between;font-size:9px;color:#aabda7;margin-top:7px}.refuel-advice{font-size:11px;line-height:1.5;color:#c2d2b9;background:#ffffff05;border-top:1px solid #ffffff0e;padding:11px 27px;margin:19px -27px 0}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0}.metric{border-radius:13px;padding:16px 16px 15px}.metric>svg{color:#6f8865;width:17px;height:17px}.metric p{font-size:10px;color:#7e8d74;margin:10px 0 7px}.metric>div{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.metric strong{font-size:28px;letter-spacing:-1px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric div>span{font-size:10px;color:#84917b}.metric small{font-size:9px;color:#9aa58f;display:block;margin-top:6px;line-height:1.4}.topup-panel{padding:20px 22px;border-radius:14px}.topup-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.mini-eyebrow{font-size:8px;font-weight:700;letter-spacing:1.6px;color:#879b76}h3{font-size:16px;font-weight:600;margin:6px 0 0;letter-spacing:-.3px}.topup-number{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;justify-content:flex-end}.topup-number strong{font-size:34px;letter-spacing:-1px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.topup-number span{font-size:11px;color:#8a987e}.topup-panel>p{font-size:11px;line-height:1.6;color:#7c8a73;margin:11px 0 0}.topup-panel>p.extra-note{color:#976530;background:#fcf7ea;padding:10px 12px;border-radius:7px}.topup-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e9ede5;padding-top:14px;margin-top:16px}.topup-bottom>span{font-size:9px;line-height:1.6;color:#8b957f;max-width:220px}.primary-button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;padding:12px 13px;font-size:10px;font-weight:600;color:#244431;background:var(--lime);white-space:nowrap;transition:background .15s,transform .15s}.primary-button:hover{background:#cae284;transform:translateY(-1px)}.primary-button svg{height:14px;width:14px}.examples{padding:31px 0 20px}.examples-heading{display:flex;align-items:center;gap:14px;margin-bottom:14px}.examples h2{font-size:13px;font-weight:600}.examples-heading>span{color:#9aa28f;font-size:10px}.example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.example{border:1px solid #e1e6da;border-radius:12px;background:#fafbf7;color:var(--ink);display:flex;align-items:center;gap:12px;text-align:left;padding:17px 16px;transition:border-color .2s,background .2s}.example:hover{background:#f0f5e6;border-color:#a7bf8a}.example.active{border-color:#b6c99d;background:#f1f5e9}.example-icon{width:34px;height:34px;border-radius:9px;background:#e9eedf;display:grid;place-items:center;color:#6c815b;flex-shrink:0}.example-icon svg{width:17px;height:17px}.example strong{font-size:11px;font-weight:600;display:block}.example small{font-size:9px;color:#93a082;display:block;margin-top:7px;line-height:1.5}.example-arrow{width:14px;height:14px;margin-left:auto;color:#7c9068}.example-reserve{font-size:9px;color:#97a08d;margin:10px 0 0}footer{border-top:1px solid #e0e6d9;padding:18px 0 25px;color:#919b85}footer>p{display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.6;max-width:880px;margin:0}footer>p svg{width:14px;height:14px;margin-top:1px}details{font-size:10px;margin-top:12px}summary{cursor:pointer;color:#748668;width:max-content}details>div{max-width:850px;line-height:1.8;margin-top:10px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:9px;margin-top:27px;color:#9aa38f}.footer-slash{margin:0 7px;color:#c0c8b7}.validation-panel{padding:80px 35px;text-align:center;min-height:430px;display:flex;flex-direction:column;justify-content:center;align-items:center}.validation-panel>svg{width:34px;height:34px;color:#ac7955;margin-bottom:20px}.validation-panel p{font-size:14px;color:var(--muted);line-height:1.7;max-width:330px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:14px 23px;background:var(--green);color:var(--lime);font-size:13px;border-radius:10px;box-shadow:0 5px 30px #183d3344;z-index:10}dialog{border:1px solid var(--line);border-radius:18px;padding:25px;max-width:520px;width:90%;color:var(--ink)}dialog::backdrop{background:#132d2877}dialog p{font-size:13px;color:var(--muted)}dialog textarea{width:100%;min-height:240px;border:1px solid var(--line);border-radius:8px;padding:12px;line-height:1.6;font-size:12px;resize:vertical}dialog button{margin-top:12px;margin-left:auto}
@media(min-width:1450px){h1{font-size:43px}.workspace{grid-template-columns:.8fr 1.2fr}.input-panel{padding:30px}.field-pair{margin-bottom:27px}.level-field{margin-bottom:28px}.refuel-card{padding-top:26px}.hero-value{margin-top:22px}.metric{padding:18px}.small-hint{font-size:10px}.card-eyebrow{font-size:10px}}
@media(max-width:1100px){h1{font-size:32px}.workspace{grid-template-columns:minmax(290px,.83fr) minmax(420px,1.17fr);gap:18px}.input-panel{padding:22px 19px}.small-hint{display:none}.unit-note{display:none}.metric{padding:14px 12px}.metric strong{font-size:26px}.metric-grid{gap:9px}.example{padding:14px 12px;gap:9px}.example small{font-size:8px}.example-icon{width:29px;height:29px}.topup-bottom{gap:10px}.primary-button{font-size:9px;padding:12px 10px}.refuel-card{padding-left:23px;padding-right:23px}.refuel-advice{margin-left:-23px;margin-right:-23px;padding-left:23px;padding-right:23px}}
@media(max-width:820px){main{width:92%;max-width:610px}.topbar{height:73px;padding:0 4%}.brand{font-size:25px}.brand-icon{width:33px;height:35px}.nav-label{display:none}.private-badge{font-size:10px;padding:7px 10px}.intro{padding:30px 0 24px}h1{font-size:34px;line-height:1.18}h1 span{display:block}.subtitle{font-size:12px;max-width:320px}.eyebrow{font-size:9px;letter-spacing:1.4px}.workspace{grid-template-columns:1fr;gap:18px}.input-panel{padding:23px}.small-hint{display:block;font-size:9px}.panel-heading{margin-bottom:22px}.distance-field{margin-bottom:18px}.field-pair{margin-bottom:20px}.level-field{margin-bottom:20px}.auto-note{margin-top:17px}.example-grid{grid-template-columns:1fr;gap:9px}.example{padding:14px 16px}.example-icon{height:34px;width:34px}.example strong{font-size:12px}.example small{font-size:10px;margin-top:5px}.examples-heading{justify-content:space-between;gap:10px}.examples-heading>span{font-size:9px}.footer-bottom{flex-direction:column;gap:8px}.hero-value strong{font-size:61px}.metric strong{font-size:27px}.metric p{font-size:10px}.topup-bottom>span{font-size:10px}.primary-button{font-size:10px;padding:12px}.metric small{font-size:9px}}
@media(max-width:400px){main{width:92%}h1{font-size:30px}.small-hint{font-size:8px}.input-panel{padding:21px 17px}.field-pair{gap:12px}.input-wrap .unit{padding-right:11px}.metric-grid{gap:7px}.metric{padding:12px 9px}.metric p{font-size:9px;line-height:1.5;min-height:27px;margin:7px 0 4px}.metric strong{font-size:24px}.metric small{font-size:8px;line-height:1.5}.metric div>span{font-size:9px}.refuel-card{padding-left:19px;padding-right:19px}.refuel-advice{margin-left:-19px;margin-right:-19px;padding-left:19px;padding-right:19px}.card-eyebrow{font-size:8px;letter-spacing:.8px;gap:5px}.status-badge{font-size:8px;padding:5px 7px}.topup-panel{padding:18px}.topup-bottom{flex-direction:column;align-items:stretch;gap:12px}.topup-bottom>span{max-width:100%}.example strong{font-size:11px}.hero-value strong{font-size:54px}.hero-unit{font-size:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Extend the existing Fuel Desk palette and panels. */
body{font-size:16px}.nav-label,.eyebrow,.unit-note,.small-hint,.range-labels,.auto-note,.card-eyebrow,.status-badge,.route-labels,.mini-eyebrow,.metric small,.example small,.example-reserve,.footer-bottom{font-size:12px}.field label,.reserve-copy label,.text-button,.input-wrap .unit,.reserve-copy p,.error,.refuel-caption,.refuel-advice,.metric p,.metric div>span,.topup-panel>p,.topup-bottom>span,.primary-button,.example strong,footer>p,details,.examples-heading>span{font-size:14px}.subtitle{font-size:16px}.intro{padding:28px 0 24px}select{font:inherit;background:#fcfdfa;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px;max-width:100%}.planner-head{margin-top:32px}.planner-head h2{font-size:24px}.planner-head p{color:var(--muted)}.planner-grid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:24px}.planner-controls{padding:24px}.planner-controls h3{margin:0 0 20px}.location-row{margin-bottom:14px;display:flex;align-items:end;gap:8px}.location-row label{flex:1;min-width:0}#planner label{display:block;font-size:14px;color:#475b4e;font-weight:600}#planner input:not([type=checkbox]){width:100%;font:inherit;border:1px solid var(--line);background:#fcfdfa;border-radius:8px;padding:11px;margin-top:7px;color:var(--ink)}.row-actions{display:flex;gap:3px}.row-actions button,.secondary{border:1px solid var(--line);border-radius:7px;background:#f3f6ee;color:var(--green);font:inherit;font-size:14px;padding:10px;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.settings-grid,.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.settings-grid select,.strategy-label select{display:block;width:100%;margin-top:8px}.muted,.map-note{font-size:14px;line-height:1.65;color:#657466}.strategy-label{margin:20px 0}#build-route{width:100%;white-space:normal}.map-panel{overflow:hidden;align-self:start}.map-toolbar{padding:18px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.legend{font-size:12px;display:flex;gap:7px;align-items:center}.legend b,.stop-marker{border-radius:7px;padding:4px;color:white}.loves{background:#a55419}.ta{background:#275ab0}.petro{background:#ae3547}.stop-marker{text-align:center;font-size:14px;font-weight:700;line-height:24px;border:2px solid white;box-shadow:0 2px 5px #0005}#map{height:530px;background:#e7ece2;isolation:isolate}.map-note,#map-error{padding:0 18px}.below-panel{padding:24px;margin:24px 0}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}.summary-metric{border-bottom:1px solid var(--line);padding:0 0 16px}.summary-metric>span{display:block;font-size:14px;color:var(--muted);margin-bottom:9px}.summary-metric strong{font-size:23px;font-weight:600;overflow-wrap:anywhere}.summary-metric small{font-size:14px;font-weight:400}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:13px 10px;text-align:left;border-bottom:1px solid var(--line)}#station-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.station-card{border:1px solid var(--line);border-radius:12px;padding:18px;overflow-wrap:anywhere}.station-card p,.plan-stop p,.destination p{font-size:14px;line-height:1.6;margin:9px 0;color:#657466}.station-title{display:flex;gap:10px;justify-content:space-between;align-items:start;flex-wrap:wrap}.brand-tag,.plan-type{font-size:12px;border-radius:5px;padding:5px 7px;background:#edf2e6;color:var(--green)}.station-card .secondary{margin-top:14px}.station-card [aria-pressed=true]{background:var(--green);color:white}.price-grid{margin:12px 0}.plan-stop{display:flex;gap:18px;border-top:1px solid var(--line);padding:24px 0}.plan-stop>div{flex:1;min-width:0}.stop-number{width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--green);color:var(--lime);display:grid;place-items:center}.purchase{font-size:26px;color:var(--green);display:block;margin:14px 0}.plan-warning{padding:18px;border-radius:10px;background:#fff3e7;color:#8a431f;line-height:1.7}.current-position,.destination{padding:18px 0}.destination{border-top:1px solid var(--line)}.current-position p{font-size:14px}#planner input[aria-invalid=true]{border-color:var(--danger)}.leaflet-popup-content{min-width:240px}.leaflet-popup-content .station-card{border:0;padding:0}.topup-bottom{flex-wrap:wrap}.small-hint{display:none}.field-pair .label-row{flex-wrap:wrap}.segmented button{font-size:12px}.metric small{color:#6b7765}.unit-note{color:#687561}
@media(max-width:1100px){#station-list{grid-template-columns:1fr 1fr}.planner-grid{grid-template-columns:minmax(290px,.85fr) minmax(0,1.15fr)}}
@media(max-width:820px){.planner-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}#map{height:400px}#station-list{grid-template-columns:1fr}.topbar{gap:12px}.metric-grid{grid-template-columns:1fr}.metric{display:grid;grid-template-columns:auto 1fr;gap:5px 12px}.metric p{margin:0}.metric>div,.metric small{grid-column:2}.hero-value strong{font-size:54px}.field-pair{grid-template-columns:1fr 1fr}.examples-heading{flex-wrap:wrap}.planner-controls,.below-panel{padding:18px}.plan-stop{gap:10px}.summary-metric strong{font-size:20px}.refuel-top{flex-wrap:wrap}}
@media(max-width:400px){.field-pair{grid-template-columns:1fr}.price-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.brand{font-size:22px}.planner-head h2{font-size:22px}.card-eyebrow{font-size:12px}.topup-number strong{font-size:28px}}

/* Dashboard controls, bilingual heading rhythm, and complete theme coverage. */
:root{--surface:#fff;--surface-soft:#fcfdfa;--surface-muted:#f1f5ec;--header:#fbfcf9;--field:#fcfdfa;--shadow:0 12px 35px rgba(32,54,46,.06);--focus:#95b66b;--route:#173e33;--gold:#c59632;--danger-bg:#fff7f3;--warning-bg:#fff3e7;--map-bg:#e7ece2;--popup:#fff;--transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .14s ease}
[data-theme=dark]{--bg:#101714;--ink:#edf4ef;--muted:#9eada5;--line:#2b3933;--green:#153f32;--lime:#cde58e;--danger:#ff9d83;--surface:#18221e;--surface-soft:#141d19;--surface-muted:#202c27;--header:#121b17;--field:#131c18;--shadow:0 14px 38px rgba(0,0,0,.24);--focus:#b1cb7a;--route:#c8e28d;--gold:#d8aa4b;--danger-bg:#2a1c18;--warning-bg:#32271a;--map-bg:#17201c;--popup:#1b2621}
body,.topbar,.panel,.input-wrap,.reserve-block,.example,.secondary,select,#planner input:not([type=checkbox]),dialog,dialog textarea,.leaflet-popup-content-wrapper,.leaflet-popup-tip{transition:var(--transition)}
body{background:var(--bg);color:var(--ink)}.topbar{background:var(--header);border-color:var(--line)}.panel{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}.input-wrap,#planner input:not([type=checkbox]),select,dialog textarea{background:var(--field);border-color:var(--line);color:var(--ink)}.reserve-block,.segmented,.example-icon{background:var(--surface-muted);border-color:var(--line)}.example,.secondary{background:var(--surface-soft);border-color:var(--line);color:var(--ink)}.example:hover{background:var(--surface-muted)}.topup-bottom,footer,.summary-metric,th,td,.plan-stop,.destination{border-color:var(--line)}dialog{background:var(--surface);color:var(--ink)}.topup-panel>p.extra-note{background:var(--warning-bg)}.plan-warning{background:var(--warning-bg);color:var(--ink)}.input-wrap:has([aria-invalid=true]){background:var(--danger-bg)}
[data-theme=dark] .field label,[data-theme=dark] #planner label,[data-theme=dark] .reserve-copy label,[data-theme=dark] .metric strong,[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] .brand{color:var(--ink)}[data-theme=dark] .muted,[data-theme=dark] .map-note,[data-theme=dark] .station-card p,[data-theme=dark] .plan-stop p,[data-theme=dark] .destination p,[data-theme=dark] .subtitle{color:var(--muted)}
h1{display:flex;flex-wrap:wrap;column-gap:9px;row-gap:2px}.title-part{display:inline-block}.title-main{color:var(--ink)}.title-accent{color:#84937c}[data-theme=dark] .title-accent{color:#a9b8aa}
.header-controls{display:flex;align-items:center;gap:9px}.language-control{height:38px;display:flex;align-items:center;padding:3px 4px 3px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 5px 18px rgba(20,50,38,.06);color:var(--muted)}.language-control>svg{width:15px;height:15px;margin-right:5px;color:var(--gold)}.language-control>span{width:1px;height:14px;background:var(--line)}.language-control button{position:relative;min-width:37px;height:30px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.6px;transition:var(--transition)}.language-control button:hover{color:var(--ink);background:var(--surface-muted)}.language-control button.active{background:var(--green);color:var(--lime);box-shadow:0 3px 10px rgba(16,52,41,.2);animation:control-pop .18s ease}.language-control button:active,.theme-toggle:active,.primary-button:active,.secondary:active{transform:scale(.96)}.theme-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--surface-soft);color:var(--gold);box-shadow:0 5px 18px rgba(20,50,38,.06);transition:var(--transition)}.theme-toggle:hover{background:var(--surface-muted);transform:translateY(-1px)}.theme-toggle svg{width:18px;height:18px}@keyframes control-pop{50%{transform:scale(1.06)}}
[data-theme=dark] .segmented button.selected{background:#304138;color:var(--lime);box-shadow:none}[data-theme=dark] .refuel-card{background:#12352c;border:1px solid #315347}[data-theme=dark] .route-line>span{border-color:#12352c}[data-theme=dark] input[type=range]{background:linear-gradient(to right,#89a66e 0%,#89a66e var(--progress,21%),#314038 var(--progress,21%),#314038 100%)}[data-theme=dark] .primary-button{color:#183528}[data-theme=dark] .leaflet-control-zoom a{background:var(--surface);color:var(--ink);border-color:var(--line)}[data-theme=dark] .leaflet-popup-content-wrapper,[data-theme=dark] .leaflet-popup-tip{background:var(--popup);color:var(--ink)}[data-theme=dark] .leaflet-tile-pane{filter:brightness(.58) invert(1) contrast(.88) hue-rotate(180deg)}#map{background:var(--map-bg)}
.database-panel{padding:24px;margin:24px 0}.database-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.database-head p{margin:7px 0 0}.database-count{font-size:13px;color:var(--muted);white-space:nowrap}.database-toolbar{display:grid;grid-template-columns:minmax(230px,1fr) auto auto;gap:12px;align-items:end;margin-top:20px}.database-search label{display:block}.database-search input{margin-top:7px}.brand-filters{display:flex;flex-wrap:wrap;gap:7px}.filter-chip{position:relative}.filter-chip input{position:absolute;opacity:0;pointer-events:none}.filter-chip span{display:block;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:13px;transition:var(--transition);cursor:pointer}.filter-chip input:checked+span{background:var(--green);color:var(--lime);border-color:var(--green)}.filter-chip input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.database-actions{display:flex;gap:8px;flex-wrap:wrap}.database-results{margin-top:17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.database-result{border:1px solid var(--line);border-radius:11px;padding:14px;background:var(--surface-soft)}.database-result strong{font-size:14px}.database-result p{font-size:13px;color:var(--muted);line-height:1.5;margin:6px 0}.database-meta{display:flex;gap:7px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.import-box{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.import-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.file-button input{position:absolute;opacity:0;pointer-events:none}.file-button{position:relative}.import-report{margin-top:12px;display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.source-note{font-size:12px;color:var(--muted);line-height:1.6}.status-active{color:#6f9259}.status-inactive{color:var(--danger)}.edit-station{margin-top:9px}#station-editor{max-width:630px}#station-editor form{display:grid;gap:14px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.last-updated{font-size:12px;color:var(--muted)}
@media(max-width:900px){.database-toolbar{grid-template-columns:1fr}.database-results{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.header-controls{gap:6px}.language-control{height:36px}.language-control button{height:28px;min-width:34px}.theme-toggle{width:36px;height:36px}.title-accent{flex-basis:100%}.database-results{grid-template-columns:1fr}.database-panel{padding:18px}.database-head{flex-direction:column;gap:8px}.editor-grid{grid-template-columns:1fr}}
@media(max-width:400px){.topbar{padding-left:3%;padding-right:3%}.brand>span:last-child{display:none}.language-control{padding-left:7px}.nav-label{display:none}}
@media(prefers-reduced-motion:reduce){.language-control button.active{animation:none}}
