:root{--ink:#213b31;--muted:#6b786f;--paper:#f7f7f3;--line:#e4e9df;--lime:#b9f267;--red:#a64037}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:var(--ink)}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}header,main,footer{max-width:1200px;margin:auto;padding:22px 32px}header{display:flex;align-items:center;gap:20px}.brand{display:flex;gap:10px;align-items:center;font-size:20px;font-weight:800;text-decoration:none;letter-spacing:-.6px}.logo{display:grid;place-items:center;background:var(--lime);width:40px;height:40px;border-radius:13px;font-size:27px}.district{margin-left:auto;font-size:12px;background:#fff;border:1px solid var(--line);padding:8px 13px;border-radius:25px}.hero{margin:22px 0 28px}.eyebrow{letter-spacing:2px;font-weight:750;font-size:10px;color:var(--muted)}h1{font-size:42px;letter-spacing:-1.7px;line-height:1.08;margin:12px 0}h2{font-size:19px;letter-spacing:-.4px;margin:0 0 16px}h3{font-size:15px;margin:0 0 8px}p{margin:8px 0}.hero>p:last-child{color:var(--muted);font-size:13px}.layout{display:grid;grid-template-columns:minmax(330px,440px) minmax(0,1fr);gap:20px;align-items:start}.stack{display:grid;gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:23px;box-shadow:0 12px 40px #233c3106}.banner,.hint{padding:12px 15px;border-radius:12px;background:#edf4e4;color:#526647;font-size:12px}.banner{display:flex;gap:12px;align-items:center;justify-content:space-between}.banner button{font-size:11px}.hint.warn{background:#fff4dd;color:#855c15}.hint.error,.connection{background:#fbe9e5;color:#8b3328}.connection{text-align:center;padding:10px;font-size:13px}.hidden{display:none!important}.primary,.secondary,.danger,.quiet{border:0;border-radius:11px;padding:12px 16px;font-weight:700;font-size:13px}.primary{background:var(--ink);color:white}.primary:hover{background:#305641}.secondary{background:#edf2e6;color:var(--ink)}.danger{background:#fbe9e5;color:var(--red)}.quiet{background:transparent;padding:7px 10px;color:var(--muted)}.full{width:100%}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.actions>*{flex:1}.tabs{display:flex;gap:5px;background:#e9ede3;padding:5px;border-radius:12px;margin-bottom:18px}.tabs button{flex:1;background:transparent;border:0;border-radius:9px;padding:9px;font-size:12px;color:var(--muted);font-weight:750}.tabs button.active{background:#fff;color:var(--ink)}label{display:block;font-size:12px;font-weight:650;margin:12px 0 6px;color:#546459}input,select,textarea{width:100%;border:1px solid var(--line);background:#fafbf8;color:var(--ink);border-radius:10px;padding:12px;font-size:14px;outline:none}input:focus,textarea:focus,select:focus{border-color:#6c9950;box-shadow:0 0 0 3px #b9f26735}input[type=checkbox]{width:auto;margin-right:8px}textarea{resize:vertical;min-height:80px}.coords{display:grid;grid-template-columns:1fr 1fr;gap:10px}.coords input{padding:9px;font-size:12px}.muted{color:var(--muted);font-size:12px}.tiny{font-size:11px;color:var(--muted)}.row{display:flex;gap:10px;align-items:center;justify-content:space-between}.badge{display:inline-block;font-size:10px;font-weight:750;border-radius:20px;background:#edf4e4;padding:5px 9px;white-space:nowrap}.price{font-size:28px;font-weight:800;letter-spacing:-1px}.quote{margin-top:15px;border-top:1px solid var(--line);padding-top:15px}.map{height:350px;background:#e8eddf;border-radius:13px;overflow:hidden}.map iframe{width:100%;height:100%;border:0}.map-card{padding:18px}.map-card .muted{margin-top:8px}.map-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.map-tools button{font-size:11px;padding:8px}.map-tools .selected{background:var(--ink);color:#fff}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric{background:#eff5e7;padding:15px;border-radius:12px}.metric strong{display:block;font-size:24px;letter-spacing:-.7px}.trip{border:1px solid var(--line);border-radius:13px;padding:15px;margin-top:12px}.trip p{font-size:13px}.route-line{padding-left:17px;position:relative}.route-line:before{content:'';position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:#87b965}.route-line.destination:before{background:var(--ink)}.contact{background:#f1f5eb;border-radius:12px;padding:14px;margin-top:15px}.contact a{display:inline-block;background:var(--ink);color:white;border-radius:9px;padding:8px 12px;text-decoration:none;font-size:12px;margin-top:8px}.steps{display:flex;justify-content:space-between;gap:5px;margin:18px 0}.step{font-size:9px;color:#8a958a;flex:1;padding-top:8px;border-top:3px solid #e7ebdf}.step.done{border-color:#88b762;color:#365331}.empty{text-align:center;padding:25px 10px;color:var(--muted);font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:650;white-space:nowrap}td button{padding:6px 8px!important;font-size:11px!important}.admin-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.admin-tabs .active{background:var(--ink);color:#fff}.form-error{color:var(--red);font-size:12px;margin:10px 0}.demo-options{display:grid;gap:8px;margin-top:12px}.auth{max-width:500px;margin:auto}.auth-intro{margin-bottom:18px}.code{font-size:24px;letter-spacing:5px;font-weight:750}footer{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:11px}footer #supportPhone{margin-left:auto}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#213b31;color:white;border-radius:12px;padding:13px 20px;max-width:90vw;z-index:100;transition:.2s;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:20px;padding:26px;max-width:460px;width:90vw;color:var(--ink)}dialog::backdrop{background:#13281f80}.close{float:right;border:0;background:transparent;font-size:24px;color:var(--muted)}.history{max-height:460px;overflow:auto}.loading{opacity:.55}.error-box{background:#fbe9e5;padding:18px;border-radius:12px;color:#8b3328}details summary{cursor:pointer;font-size:12px;color:var(--muted);margin-top:12px}details .coords{margin-top:5px}.support-list p{white-space:pre-wrap;overflow-wrap:anywhere}.demo-tag{font-size:10px;color:#936824}
@media(max-width:820px){header,main,footer{padding:17px}.layout,.admin-grid{grid-template-columns:1fr}.hero{margin:18px 0 22px}h1{font-size:34px}.card{padding:19px}.map{height:290px}.map-card{padding:14px}.brand{font-size:17px}header{gap:8px}.district{font-size:10px;padding:7px}header .quiet{font-size:11px;padding:5px}.banner{align-items:flex-start;flex-direction:column;font-size:11px}.banner .actions{margin:0}.layout .map-stack{order:2}.admin-tabs button{flex:1}.steps{gap:3px}.step{font-size:8px}.metric strong{font-size:22px}footer{flex-wrap:wrap}.coords{gap:8px}}
dialog.map-dialog{max-width:600px} #pointMap .leaflet-control-attribution{font-size:10px} @media(max-width:480px){dialog.map-dialog{padding:18px;width:96vw} #pointMap{height:300px!important}}
.nav-btn{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:12px;background:#1a73e8;color:#fff!important;font-weight:800;font-size:16px;text-decoration:none;padding:12px 16px;text-align:center}.nav-btn:active{background:#1557b0}
.mini-map{height:220px;border-radius:13px;overflow:hidden;background:#e8eddf;position:relative;margin:12px 0}
.mini-wrap{position:relative}.mini-wrap h3{margin:12px 0 0}.map-tap{position:absolute;inset:0;z-index:500;display:flex;align-items:flex-end;justify-content:center;padding:10px;text-decoration:none}.map-tap span{background:#213b31;color:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px}
.pin span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);color:#fff;font-size:15px;box-shadow:0 2px 6px #0005}.pin span>*{transform:rotate(45deg)}
.eta{font-size:20px;font-weight:800;margin:6px 0}
#offerOverlay{position:fixed;inset:0;z-index:9999;background:#102119;color:#fff;display:flex;flex-direction:column;padding:18px;gap:10px;overflow:auto}
#offerOverlay.hidden{display:none}#offerOverlay .count{font-size:88px;line-height:1;font-weight:900;text-align:center;font-variant-numeric:tabular-nums}#offerOverlay .count.low{color:#ffb347}
#offerOverlay .fare{font-size:34px;font-weight:800;text-align:center}#offerOverlay .route-line{color:#fff;font-size:18px}#offerOverlay .mini-map{height:200px;flex:none}
#offerOverlay .big{font-size:22px;padding:20px;border-radius:16px;width:100%}#offerOverlay .ov-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:auto}
#offerOverlay .primary{background:#2fa35a}#offerOverlay .secondary{background:#ffffff22;color:#fff}
.src-badge{background:#fff1d6;color:#7a4b00}
.call-form .pick{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:6px 0}.call-form .pick span{flex:1}
