:root{color-scheme:light;--bg:#f4f6f3;--panel:#ffffff;--ink:#17211b;--muted:#657067;--line:#dfe5dc;--green:#178f5b;--green-dark:#0e6041;--amber:#d7a400;--rust:#c2410c;--blue:#0b6bcb;--shadow:0 18px 40px rgba(23,33,27,0.12)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{display:grid;grid-template-columns:minmax(390px,460px) minmax(0,1fr);min-height:100vh}.control-panel{display:flex;flex-direction:column;gap:16px;max-height:100vh;overflow:auto;padding:22px;background:var(--panel);border-right:1px solid var(--line)}.app-header{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;place-items:center;width:52px;height:52px;color:white;background:var(--green);border-radius:8px}.eyebrow{margin:0 0 2px;color:var(--green-dark);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:32px;line-height:1.05}.source-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:#eef7f1;border:1px solid #cfe8d8;border-radius:8px}.source-card div{display:flex;flex-direction:column;gap:3px}.results-header,.source-card span,.station-card p,.station-meta,.stats-grid span{color:var(--muted)}.route-link,.source-card a{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:800;text-decoration:none}.action-row{display:grid;grid-template-columns:1fr 160px;grid-gap:10px;gap:10px}.highlights button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:8px;font-weight:850}.primary-button{color:white;background:var(--green)}input,select{width:100%;min-height:44px;padding:0 12px;color:var(--ink);background:white;border:1px solid var(--line);border-radius:8px}.empty-state,.notice{padding:12px;color:#8a4b04;background:#fff7dc;border:1px solid #f0d885;border-radius:8px}.empty-state,.notice,.search-box{display:flex;align-items:center;gap:10px}.search-box{padding:0 12px;background:white;border:1px solid var(--line);border-radius:8px}.search-box input{padding:0;border:0;outline:0}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.filters label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:750}.toggle{justify-content:end;min-height:68px}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:var(--muted);background:white;border:1px solid var(--line);border-radius:8px}.toggle input:checked+span{color:white;background:var(--green-dark);border-color:var(--green-dark)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.stats-grid div{display:flex;flex-direction:column;gap:4px;padding:12px;background:#f8faf7;border:1px solid var(--line);border-radius:8px}.stats-grid strong{font-size:16px}.highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.highlights button{justify-content:flex-start;padding:10px 12px;color:var(--ink);background:#f8faf7;border:1px solid var(--line)}.highlights span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:850}.results-header span{display:inline-flex;align-items:center;gap:6px}.results-list{gap:10px;padding-bottom:18px}.results-list,.station-card{display:flex;flex-direction:column}.station-card{gap:11px;padding:14px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px rgba(23,33,27,.05)}.station-card.selected{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,143,91,.14)}.station-main{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px}.station-main h2{margin-bottom:4px;font-size:17px;line-height:1.2}.station-main p{font-size:13px;line-height:1.35}.price-pill{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-width:78px;padding:8px 10px;color:var(--green-dark);background:#eef7f1;border-radius:8px}.price-pill strong{font-size:21px;line-height:1}.price-pill span{font-size:12px;font-weight:800}.station-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.station-meta span{display:inline-flex;align-items:center;gap:4px}.route-link{justify-content:center;min-height:38px;border:1px solid #cfe0ef;border-radius:8px}.map-panel{position:-webkit-sticky;position:sticky;top:0;min-height:100vh;background:#dfe6db}.map,.map-placeholder{width:100%;height:100vh}.map-placeholder{display:grid;place-items:center;color:var(--muted);font-weight:800}.adblue-marker,.user-marker{display:grid;place-items:center;background:transparent;border:0}.adblue-marker span,.user-marker span{display:block;border-radius:999px}.user-marker span{width:22px;height:22px;background:var(--blue);border:4px solid white;box-shadow:0 0 0 8px rgba(11,107,203,.16)}.empty-state{justify-content:center;min-height:90px;color:var(--muted);background:#f8faf7;border-color:var(--line);text-align:center}.empty-state.error{color:#8a1f11;background:#fff0ec;border-color:#f1b6a8}@media (max-width:960px){.app-shell{display:flex;flex-direction:column-reverse}.control-panel{max-height:none;overflow:visible;border-right:0}.map-panel{position:relative;min-height:42vh}.map,.map-placeholder{height:42vh}}@media (max-width:560px){.control-panel{padding:16px}h1{font-size:28px}.action-row,.filters,.highlights,.station-main,.stats-grid{grid-template-columns:1fr}.price-pill{align-items:flex-start}}