@font-face{font-family:Pelak;src:url('../Fonts/PelakFA-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Pelak;src:url('../Fonts/PelakFA-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Pelak;src:url('../Fonts/PelakFA-Black.ttf') format('truetype');font-weight:900;font-display:swap}

:root{--bg:#f7f8f7;--surface:#fff;--ink:#111412;--muted:#66706a;--line:#dfe4df;--gold:#b9914d;--green:#12a66a;--danger:#c93d3d;--shadow:0 24px 70px rgba(17,20,18,.16)}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Pelak,Tahoma,sans-serif;font-size:15px;line-height:1.8;overflow:hidden}
button,a,input,select,textarea{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
a{text-decoration:none}
button{cursor:pointer}
.map-shell{height:100svh;min-height:620px;display:grid;grid-template-rows:74px 1fr;background:#eef2ee}
.map-topbar{z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 22px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:7px;font-weight:900}.brand img{width:64px;height:50px;object-fit:contain}.brand span{padding:1px 6px;border:1px solid var(--gold);border-radius:4px;color:var(--gold);font-size:9px}
.map-title{display:grid;text-align:center}.map-title strong{font-size:16px}.map-title small{color:var(--muted);font-size:10px}.support-link{font-size:12px;font-weight:700;color:var(--gold)}
.map-workspace{min-height:0;display:grid;grid-template-columns:390px 1fr;direction:ltr}
.route-panel{direction:rtl;z-index:5;margin:18px;padding:24px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.72);border-radius:8px;box-shadow:var(--shadow);overflow:auto}
.panel-head h1{margin:13px 0 8px;font-size:30px;line-height:1.35}.panel-head p{margin:0;color:var(--muted);font-size:13px}
.live-badge{width:max-content;padding:6px 9px;background:#e7f7ee;border-radius:4px;display:flex;align-items:center;gap:6px;color:#25805a;font-size:11px;font-weight:700}.live-badge i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(18,166,106,.13)}
.search-box{position:relative;display:grid;gap:6px;margin-top:18px}.search-box span{font-size:11px;color:var(--muted)}.search-box input{width:100%;height:46px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 12px;outline:0}.search-box input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,145,77,.12)}.search-results{margin-top:8px;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}.search-message{padding:10px 12px;color:var(--muted);font-size:11px}.search-results button{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:10px 12px;text-align:right;display:grid;gap:2px}.search-results button:last-child{border-bottom:0}.search-results button:hover{background:#fff8eb}.search-results strong{font-size:13px}.search-results span{font-size:10px;color:var(--muted)}
.ride-context{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.ride-context div{padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fafbfa;display:grid}.ride-context span{font-size:10px;color:var(--muted)}.ride-context strong{font-size:12px}
.route-card{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.route-point{min-height:74px;border:0;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:18px 52px 1fr;align-items:center;gap:8px;text-align:right;padding:13px 14px}.route-point:last-child{border-bottom:0}.route-point.active{background:#fff8eb;box-shadow:inset 3px 0 0 var(--gold)}.route-point span{font-size:11px;color:var(--muted)}.route-point strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.origin-dot,.destination-dot{width:12px;height:12px;border-radius:50%;position:relative;animation:pointBlink 1.25s ease-in-out infinite}.origin-dot{border:3px solid var(--green);box-shadow:0 0 0 0 rgba(18,166,106,.45)}.destination-dot{border:2px solid var(--gold);box-shadow:0 0 0 0 rgba(185,145,77,.45)}
.quick-points{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.quick-points button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:7px 10px;font-size:11px;font-weight:700}.quick-points button.saved-address-point{border-color:#d9c294;background:#fff8eb;color:#6d5224}.quick-points button:hover{border-color:var(--gold);color:var(--gold)}.search-results button.saved-search-result{background:#fff8eb}.search-results button.saved-search-result:hover{background:#fff1d7}
.trip-summary{margin:14px 0 10px;padding:13px 14px;border:1px dashed #d9c294;border-radius:6px;background:#fffaf0;display:flex;align-items:center;justify-content:space-between;gap:15px}.eta-summary{margin-top:0;margin-bottom:16px;background:#f6faf7;border-color:#bdd9c9}.trip-summary span{font-size:11px;color:var(--muted)}.trip-summary strong{font-size:14px}
.btn-primary{width:100%;min-height:50px;border:0;border-radius:6px;background:var(--gold);color:#111412;font-weight:900}.btn-primary:disabled{background:#d7d9d6;color:#7d837e;cursor:not-allowed}.back-link{display:block;text-align:center;margin-top:13px;font-size:12px;color:var(--muted)}
.map-stage{position:relative;min-width:0;direction:rtl;padding:18px 18px 18px 0}
.tehran-map{position:relative;width:100%;height:100%;min-height:520px;overflow:hidden;border-radius:8px;background:linear-gradient(145deg,#dfe7e1,#f8faf8);box-shadow:inset 0 0 0 1px rgba(17,20,18,.08);isolation:isolate}.map-canvas,.map-fallback{position:absolute;inset:0}.map-canvas{z-index:1}.map-fallback{z-index:2;background:linear-gradient(145deg,#dfe7e1,#f8faf8)}.map-fallback:before{content:"";position:absolute;inset:-80px;background:linear-gradient(90deg,rgba(255,255,255,.38) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:58px 58px;transform:rotate(-8deg);opacity:.78}.map-fallback:after{content:"";position:absolute;inset:9% 11% 12% 13%;border:2px solid rgba(185,145,77,.3);border-radius:48% 44% 52% 47%;background:rgba(255,255,255,.16)}
.map-zone{position:absolute;z-index:2;padding:5px 10px;border-radius:4px;background:rgba(255,255,255,.82);color:#526058;font-size:10px;font-weight:700}.north{top:26px;left:50%;transform:translateX(-50%)}.west{top:48%;left:24px}.east{top:48%;right:24px}.south{bottom:25px;left:50%;transform:translateX(-50%)}
.road{position:absolute;z-index:1;height:18px;background:rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(210,217,211,.9);border-radius:999px}.road-1{width:72%;top:43%;left:14%;transform:rotate(-7deg)}.road-2{width:58%;top:57%;left:21%;transform:rotate(18deg)}.road-3{width:70%;top:31%;left:12%;transform:rotate(10deg)}.road-4{width:62%;top:48%;left:19%;transform:rotate(80deg)}.road-5{width:45%;top:25%;left:29%;transform:rotate(118deg)}
.pin{position:absolute;z-index:4;display:grid;justify-items:center;gap:6px;transform:translate(-50%,-100%);pointer-events:none}.pin b{width:24px;height:24px;border-radius:50%;box-shadow:0 10px 25px rgba(0,0,0,.2);border:5px solid #fff;position:relative;animation:markerBlink 1.15s ease-in-out infinite}.pin:before{content:"";position:absolute;top:0;width:44px;height:44px;border-radius:50%;transform:translateY(-10px);animation:markerPulse 1.6s ease-out infinite}.pin small{padding:3px 7px;border-radius:4px;background:#111412;color:#fff;font-size:9px;white-space:nowrap}.origin-pin b{background:var(--green)}.destination-pin b{background:var(--gold)}.origin-pin:before{background:rgba(18,166,106,.24);border:1px solid rgba(18,166,106,.38)}.destination-pin:before{background:rgba(185,145,77,.26);border:1px solid rgba(185,145,77,.42)}
.neshan-route-marker{display:grid!important;justify-items:center;gap:3px;pointer-events:none}.neshan-route-marker span{width:24px;height:24px;border-radius:50%;border:5px solid #fff;box-shadow:0 10px 24px rgba(0,0,0,.25);position:relative;animation:markerBlink 1.15s ease-in-out infinite}.neshan-route-marker span:before{content:"";position:absolute;inset:-15px;border-radius:50%;animation:markerPulse 1.6s ease-out infinite;z-index:-1}.neshan-route-marker small{padding:2px 7px;border-radius:4px;background:#111412;color:#fff;font:9px Pelak,Tahoma,sans-serif;white-space:nowrap}.origin-marker span{background:var(--green)}.destination-marker span{background:var(--gold)}.origin-marker span:before{background:rgba(18,166,106,.24);border:1px solid rgba(18,166,106,.38)}.destination-marker span:before{background:rgba(185,145,77,.26);border:1px solid rgba(185,145,77,.42)}
.neshan-driver-marker{display:grid!important;justify-items:center;gap:2px;pointer-events:auto}.neshan-driver-marker span{width:30px;height:30px;border-radius:10px 10px 12px 12px;background:#111412;border:3px solid #fff;box-shadow:0 12px 26px rgba(17,20,18,.28);display:grid;place-items:center;position:relative}.neshan-driver-marker span:before,.neshan-driver-marker span:after{content:"";position:absolute;bottom:-5px;width:7px;height:7px;border-radius:50%;background:#111412;border:2px solid #fff}.neshan-driver-marker span:before{left:3px}.neshan-driver-marker span:after{right:3px}.neshan-driver-marker b{color:var(--gold);font:900 13px Pelak,Tahoma,sans-serif}.neshan-driver-marker small{max-width:84px;padding:2px 6px;border-radius:4px;background:rgba(255,255,255,.94);color:#111412;font:9px Pelak,Tahoma,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 20px rgba(17,20,18,.14)}.driver-layer-status{position:absolute;z-index:6;left:18px;bottom:28px;max-width:260px;padding:8px 11px;border-radius:6px;background:rgba(255,255,255,.92);border:1px solid rgba(223,228,223,.9);color:#526058;font-size:10px;font-weight:900;backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(17,20,18,.12)}
.route-line{position:absolute;z-index:3;height:3px;background:linear-gradient(90deg,var(--green),var(--gold));transform-origin:0 50%;border-radius:8px;box-shadow:0 8px 18px rgba(17,20,18,.2)}
.locate-tehran{position:absolute;z-index:5;left:18px;top:18px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:8px 12px;font-weight:700;font-size:11px}
.map-hint{position:absolute;z-index:6;right:28px;bottom:28px;max-width:420px;padding:10px 12px;background:rgba(17,20,18,.82);color:#fff;border-radius:6px;font-size:11px;backdrop-filter:blur(10px)}
.verify-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(17,20,18,.62);backdrop-filter:blur(12px)}.verify-modal[hidden]{display:none}.verify-box{width:min(520px,100%);max-height:calc(100svh - 40px);overflow:auto;padding:24px;border-radius:8px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.35)}.verify-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.verify-brand img{width:72px;height:56px;object-fit:contain}.verify-brand span{padding:4px 9px;border-radius:4px;background:#fff4dd;color:#6d5224;font-size:11px;font-weight:900}.verify-step h2{font-size:26px;line-height:1.45;margin:0 0 8px}.verify-step p{margin:0 0 16px;color:var(--muted);font-size:13px}.verify-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.verify-grid label,.otp-field{display:grid;gap:5px}.verify-grid span,.otp-field span{font-size:10px;color:var(--muted)}.verify-grid input,.otp-field input{width:100%;height:44px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 12px;outline:0}.verify-grid input:focus,.otp-field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,145,77,.12)}.gender-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.gender-choice label{height:44px;border:1px solid var(--line);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700}.gender-choice input{accent-color:var(--gold)}.verify-primary,.verify-secondary{width:100%;min-height:48px;border-radius:6px;font-weight:900}.verify-primary{border:0;background:var(--gold);color:#111412}.verify-secondary{margin-top:8px;border:1px solid var(--line);background:#fff}.verify-note{display:block;margin-top:10px;text-align:center;color:var(--muted);font-size:11px}.verify-error{display:block;margin-top:10px;color:var(--danger);font-size:11px;font-weight:700}.otp-field{margin:10px 0 12px}
.verify-modal.is-checking .verify-step{display:none!important}.verify-loading{display:grid;justify-items:center;gap:8px;padding:26px 10px 18px;text-align:center}.verify-loading[hidden]{display:none}.verify-loading i{width:38px;height:38px;border-radius:50%;border:4px solid #eee4d1;border-top-color:var(--gold);animation:verifySpin .8s linear infinite}.verify-loading strong{font-size:17px}.verify-loading small{color:var(--muted);font-size:11px}
@media(max-width:860px){body{overflow:auto}.map-shell{height:auto;min-height:100svh;grid-template-rows:auto 1fr}.map-topbar{position:sticky;top:0}.map-title{display:none}.support-link{font-size:10px}.map-workspace{display:flex;flex-direction:column-reverse}.route-panel{margin:0;border-radius:18px 18px 0 0;max-height:none}.map-stage{height:56svh;min-height:420px;padding:10px}.tehran-map{min-height:400px}.panel-head h1{font-size:24px}.map-hint{right:18px;left:18px;bottom:18px;max-width:none}.driver-layer-status{left:18px;right:18px;bottom:64px;max-width:none;text-align:center}.ride-context{grid-template-columns:1fr}.brand img{width:54px;height:42px}}
@media(max-width:560px){.verify-box{padding:18px}.verify-grid,.gender-choice{grid-template-columns:1fr}.verify-step h2{font-size:22px}}
@keyframes markerBlink{0%,100%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.22);transform:scale(1.12)}}@keyframes markerPulse{0%{opacity:.75;transform:scale(.65)}70%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.55)}}@keyframes pointBlink{0%,100%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.25);transform:scale(1.18)}}@keyframes verifySpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.origin-dot,.destination-dot,.pin b,.pin:before,.neshan-route-marker span,.neshan-route-marker span:before,.verify-loading i{animation:none!important}}
