:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17202a;background:#eef2f3;line-height:1.5}*{box-sizing:border-box}body{margin:0}.shell{max-width:1050px;margin:0 auto;padding:32px 18px}.shell.wide{max-width:1380px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px;padding:26px;border-radius:22px;background:#17202a;color:white}.hero h1{margin:.2rem 0;font-size:clamp(2rem,5vw,3.6rem);line-height:1}.hero p{margin:.6rem 0 0;color:#d7e0e3}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}.status{background:#fff1c7;color:#694d00;padding:8px 12px;border-radius:99px;font-weight:700}.card{background:white;border-radius:20px;padding:24px;box-shadow:0 8px 30px rgba(20,30,40,.08);margin-bottom:20px}.card h2{margin-top:0}.planner-layout{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:20px}.planner-panel{align-self:start}.map-card{padding:0;overflow:hidden}.map-note{margin:0;padding:12px 18px;font-size:.82rem;color:#59656b;border-top:1px solid #e5eaec}#map{height:680px;width:100%;background:#d9e0e3}.compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-weight:700;margin:15px 0}input{width:100%;padding:12px 13px;margin-top:6px;border:1px solid #bdc7cc;border-radius:10px;font:inherit}button,.button{display:inline-block;border:0;border-radius:11px;padding:13px 18px;background:#17202a;color:white;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.notice{padding:13px 16px;border-radius:12px;margin:16px 0;background:#e7f1f7;color:#17445e}.error{background:#fde8e7;color:#842029}.route-results{display:grid;gap:10px;margin-top:16px}.route-option{width:100%;display:grid;grid-template-columns:1fr auto;gap:3px 12px;text-align:left;background:#f4f7f8;color:#17202a;border:2px solid transparent}.route-option strong{grid-column:1/-1}.route-option small{grid-column:1/-1;color:#59656b}.route-option.selected{border-color:#17202a;background:#e8eef0}.roadmap{border-left:6px solid #17202a}footer{font-size:.85rem;color:#59656b;padding:10px 4px 30px}@media(max-width:900px){.planner-layout{grid-template-columns:1fr}.planner-panel{order:1}.map-card{order:2}#map{height:520px}}@media(max-width:600px){.shell{padding:14px 10px}.hero{align-items:flex-start;flex-direction:column;padding:20px}.status{align-self:flex-start}.card{border-radius:15px;padding:18px}.map-card{padding:0}.compact-grid{grid-template-columns:1fr}#map{height:430px}}
.header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.button.secondary{background:#fff;color:#17202a;padding:9px 12px}.profile-summary{display:grid;gap:4px;background:#f4f7f8;border-radius:12px;padding:14px;margin:14px 0}.profile-summary span{font-size:.9rem;color:#59656b}.subnav{display:flex;justify-content:space-between;margin-bottom:18px}.subnav a{color:#17202a;font-weight:800}.auth-shell{max-width:540px;padding-top:10vh}.auth-card h1{font-size:2.2rem;margin-bottom:.4rem}.eyebrow.dark{color:#59656b}.check{display:flex;gap:10px;align-items:center}.check input{width:auto;margin:0}select{width:100%;padding:12px 13px;margin-top:6px;border:1px solid #bdc7cc;border-radius:10px;font:inherit;background:white}@media(max-width:700px){.header-actions{justify-content:flex-start}.hero{align-items:flex-start}}
.leaflet-overlay-pane svg{pointer-events:auto}.leaflet-tooltip{font-weight:700}.route-option:focus-visible{outline:3px solid #1769aa;outline-offset:2px}

.notice.success{background:#e7f5eb;color:#145c2d}.notice.warning{background:#fff4d6;color:#6e5100}#map .leaflet-overlay-pane svg{overflow:visible}.leaflet-control-attribution{font-size:10px}

#map{position:relative}.leaflet-canvas-pane canvas{z-index:450!important}.leaflet-overlay-pane{z-index:450}.leaflet-marker-pane{z-index:600}.leaflet-container{font-family:inherit}.map-card{isolation:isolate}
.route-badge{grid-column:1/-1;justify-self:start;display:inline-block;padding:4px 8px;border-radius:99px;background:#dff3e5;color:#145c2d;font-size:.76rem;font-weight:800}.route-badge.secondary{background:#e7edf0;color:#435159}.route-option strong{font-size:1rem}.route-option.selected .route-badge{background:#17202a;color:#fff}
