/* ==========================================================================
   SIMOTAKSI STYLESHEET (UTF-8)
   ========================================================================== */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}

:root{
  --bg:#0A0E1A;
  --bg2:#111628;
  --glass:rgba(10,14,26,0.94);
  --glass2:rgba(17,22,40,0.96);
  --border:rgba(255,255,255,0.07);
  --border2:rgba(255,255,255,0.12);
  --purple:#7C6FE0;
  --purple2:#6C5CE7;
  --cyan:#00D2FF;
  --cyan2:#00B8D9;
  --green:#00CF8F;
  --red:#FF5E7A;
  --gold:#FFD166;
  --txt:#FFFFFF;
  --txt2:rgba(255,255,255,0.5);
  --txt3:rgba(255,255,255,0.25);
  --radius:20px;
  --shadow:0 20px 60px rgba(0,0,0,.5);
}

html,body{height:100%;overflow:hidden;font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--txt)}

/* ═══ MAP ═══ */
#map{position:absolute;inset:0;z-index:1}
.leaflet-control-attribution,.leaflet-control-zoom{display:none!important}
.leaflet-container{background:#0d1117}

/* Cinematic vignette */
#map::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:2;
  background:
    radial-gradient(ellipse 80% 60% at 50% 50%,transparent 30%,rgba(10,14,26,.4) 100%),
    linear-gradient(to bottom,rgba(10,14,26,.75) 0%,transparent 15%,transparent 78%,rgba(10,14,26,.9) 100%);
}

/* ═══ SIDEBAR ═══ */
.side-overlay{
  position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.5);
  backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .3s;
}
.side-overlay.open{opacity:1;pointer-events:all}

.sidebar{
  position:fixed;left:0;top:0;bottom:0;z-index:201;
  width:min(320px,85vw);
  background:var(--glass2);
  border-right:1px solid var(--border2);
  backdrop-filter:blur(30px);
  display:flex;flex-direction:column;
  transform:translateX(-100%);transition:transform .35s cubic-bezier(.16,1,.3,1);
  overflow-y:auto;
  will-change: transform;
}
.sidebar.open{transform:translateX(0)}

.sb-header{
  display:flex;align-items:center;gap:12px;
  padding:max(20px,env(safe-area-inset-top)) 20px 20px;
  border-bottom:1px solid var(--border);
}
.sb-avatar{
  width:52px;height:52px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:20px;
}
.sb-user-info{flex:1}
.sb-name{font-weight:700;font-size:16px;margin-bottom:2px}
.sb-email{font-size:12px;color:var(--txt2)}
.sb-close{background:none;border:none;color:var(--txt2);font-size:20px;cursor:pointer;padding:4px;line-height:1}

.sb-balance{
  margin:16px;padding:16px;
  background:linear-gradient(135deg,rgba(124,111,224,.15),rgba(0,210,255,.1));
  border:1px solid rgba(124,111,224,.3);border-radius:16px;
}
.sb-bal-label{font-size:11px;color:var(--txt2);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.sb-bal-amount{font-size:28px;font-weight:800;background:linear-gradient(90deg,var(--purple),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.sb-bal-sub{font-size:11px;color:var(--txt2);margin-top:4px}
.sb-bal-btn{margin-top:10px;width:100%;padding:8px;border-radius:10px;border:1px solid rgba(124,111,224,.4);background:rgba(124,111,224,.1);color:#7C6FE0;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;}

.sb-nav{padding:8px 8px;flex:1}
.sb-item{
  display:flex;align-items:center;gap:12px;
  padding:13px 14px;border-radius:12px;text-decoration:none;
  color:var(--txt2);font-size:14px;font-weight:500;
  transition:all .15s;margin-bottom:2px;
}
.sb-item:hover,.sb-item.active{background:rgba(124,111,224,.12);color:var(--txt)}
.sb-item.active{color:var(--purple)}
.sb-icon{width:24px;text-align:center;font-size:17px}
.sb-badge{background:#7C6FE0;color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:auto}

.sb-footer{padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom));border-top:1px solid var(--border)}
.sb-tagline{font-size:12px;font-weight:600;color:var(--txt2);margin-bottom:4px}
.sb-ver{font-size:11px;color:var(--txt3)}

/* ═══ HEADER ═══ */
#topBar{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;
  padding-top:max(14px,env(safe-area-inset-top));
  background:linear-gradient(180deg,rgba(10,14,26,.9) 0%,rgba(10,14,26,0) 100%);
}
.hdr-btn{
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid var(--border2);
  color:var(--txt);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(10px);
  transition:all .2s;
}
.hdr-btn:active{transform:scale(.9);background:rgba(124,111,224,.2)}
.hdr-gps{background:linear-gradient(135deg,rgba(124,111,224,.2),rgba(0,210,255,.1))}
.hdr-logo{font-weight:800;font-size:18px;letter-spacing:-.3px;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.hdr-logo span{color:var(--purple)}
.hdr-right{display:flex;align-items:center;gap:8px}

.weather-widget{font-size:12px;font-weight:600;color:rgba(255,255,255,.7);padding:6px 10px;background:rgba(255,255,255,.06);border-radius:20px;border:1px solid rgba(255,255,255,.08)}

/* ═══ LIVE STATS (harita üstü) ═══ */
.live-stats{
  position:fixed;top:75px;left:50%;transform:translateX(-50%);z-index:50;
  display:flex;align-items:center;gap:0;
  background:var(--glass);border:1px solid var(--border2);
  border-radius:30px;padding:8px 18px;backdrop-filter:blur(12px);
  transition:all .4s;
}
.live-stats.hidden{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(-20px)}
.ls-item{display:flex;flex-direction:column;align-items:center;gap:1px}
.ls-item span{font-size:18px;font-weight:800;color:var(--cyan)}
.ls-item small{font-size:10px;color:var(--txt2);text-transform:uppercase;letter-spacing:.3px}
.ls-sep{width:1px;height:30px;background:var(--border);margin:0 16px}
.surgeWrap{display:flex}
.surge-text{color:#FFA500!important;font-weight:800}

/* ═══ PANELS ═══ */
.panel{
  position:fixed;bottom:0;left:0;right:0;z-index:50;
  background:var(--glass);
  backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);
  border-top:1px solid var(--border2);
  border-radius:24px 24px 0 0;
  padding:16px 20px;
  padding-bottom:max(24px,env(safe-area-inset-bottom));
  transform:translateY(115%);
  transition:transform .4s cubic-bezier(.16,1,.3,1);
  max-height:88vh;overflow-y:auto;
  box-shadow:0 -20px 60px rgba(0,0,0,.4);
  will-change: transform;
}
.panel.show{transform:translateY(0)}
.panel::-webkit-scrollbar{width:2px}
.panel::-webkit-scrollbar-thumb{background:var(--border)}

.grip{width:36px;height:4px;background:rgba(255,255,255,.12);border-radius:2px;margin:0 auto 18px;flex-shrink:0}

h2{font-size:22px;font-weight:700;margin-bottom:4px}
h3{font-size:17px;font-weight:600;margin-bottom:14px}
.muted{color:var(--txt2);font-size:13px;margin-bottom:16px}
.c{text-align:center}
.mt8{margin-top:8px}
.mt16{margin-top:16px}

/* ═══ SEARCH ═══ */
.field-group{
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:18px;padding:4px 16px;margin-bottom:14px;
}
.field{display:flex;align-items:center;gap:10px;padding:12px 0}
.field input{
  flex:1;background:none;border:none;color:var(--txt);
  font-size:15px;outline:none;font-family:inherit;
  min-width:0;
}
.field input::placeholder{color:var(--txt2)}
.dot-wrap{width:16px;display:flex;justify-content:center;flex-shrink:0}
.dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.dot.green{background:var(--green);box-shadow:0 0 10px var(--green)}
.dot.red{background:var(--red);box-shadow:0 0 10px var(--red)}
@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 0 rgba(0,207,143,.4)}50%{box-shadow:0 0 0 5px rgba(0,207,143,0)}}
.pulse-dot{animation:pulse-dot 2s infinite}
.sep{padding:0 16px 0 26px}
.sep-line{height:1px;background:var(--border)}
.loc-refresh,.field-clear{background:none;border:none;color:var(--txt2);font-size:15px;cursor:pointer;padding:4px;flex-shrink:0}

/* SUGGESTIONS */
.suggestions{margin-bottom:8px;border-radius:14px;overflow:hidden}
.sug-item{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;font-size:14px;cursor:pointer;
  border-bottom:1px solid var(--border);
  color:var(--txt);transition:background .15s;
}
.sug-item:last-child{border-bottom:none}
.sug-item:active{background:rgba(124,111,224,.15)}
.sug-icon{font-size:16px;flex-shrink:0}
.sug-text{flex:1;min-width:0}
.sug-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sug-addr{font-size:11px;color:var(--txt2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.chip-label{font-size:11px;font-weight:600;color:var(--txt2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips button{
  padding:9px 14px;border-radius:20px;
  background:rgba(255,255,255,.05);border:1px solid var(--border);
  color:var(--txt);font-size:13px;font-weight:500;cursor:pointer;
  white-space:nowrap;font-family:inherit;transition:all .2s;
}
.chips button:active{background:rgba(124,111,224,.2);border-color:var(--purple);transform:scale(.96)}

.map-select-btn{display:flex;align-items:center;gap:6px;color:rgba(124,111,224,.9);font-size:13px;font-weight:600;cursor:pointer;padding:8px 0;margin-bottom:12px}
.map-select-btn svg{color:#7C6FE0}
.map-tip{position:fixed;top:75px;left:50%;transform:translateX(-50%);z-index:60;background:rgba(10,14,26,.9);border:1px solid rgba(124,111,224,.4);border-radius:30px;padding:10px 18px;font-size:13px;font-weight:600;color:#fff;backdrop-filter:blur(12px);transition:all .3s}
.map-tip.hidden{opacity:0;pointer-events:none}

/* ═══ VEHICLE PANEL ═══ */
.route-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.route-badge{
  display:flex;align-items:center;gap:6px;
  background:rgba(0,210,255,.1);color:var(--cyan);
  padding:7px 14px;border-radius:20px;font-size:13px;font-weight:600;
  border:1px solid rgba(0,210,255,.2);
}
.btn-back{background:none;border:none;color:var(--purple);font-weight:600;font-size:14px;cursor:pointer;font-family:inherit}

.surge-alert{background:rgba(255,166,0,.1);border:1px solid rgba(255,166,0,.3);border-radius:12px;padding:10px 14px;font-size:13px;color:#FFA500;margin-bottom:12px}

.v-card{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;
  background:rgba(255,255,255,.03);border:1.5px solid var(--border);
  border-radius:16px;margin-bottom:10px;cursor:pointer;transition:all .2s;
}
.v-card:active{transform:scale(.98)}
.v-card.active{background:rgba(124,111,224,.1);border-color:var(--purple);box-shadow:0 0 24px rgba(124,111,224,.18)}
.v-left{display:flex;align-items:center;gap:14px}
.v-emoji{font-size:30px;line-height:1}
.v-name{font-weight:700;font-size:15px;margin-bottom:3px}
.v-meta{font-size:12px;color:var(--txt2)}
.v-eta{font-size:11px;color:var(--cyan);margin-top:2px;font-weight:600}
.v-right{text-align:right}
.v-price{font-weight:800;font-size:17px}
.v-discount{font-size:11px;color:var(--green);margin-top:2px}

.breakdown{background:rgba(0,0,0,.25);border-radius:14px;padding:14px 16px;margin-bottom:14px}
.breakdown.compact{margin:16px 0}
.bd-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;color:var(--txt2)}
.bd-val{font-weight:600;color:var(--txt)}
.bd-total{color:var(--txt);font-weight:700;font-size:15px;border-top:1px solid var(--border);margin-top:6px;padding-top:10px}
.bd-trust{text-align:center;font-size:12px;color:var(--green);margin-top:10px;font-weight:500}
.green-val{color:#00CF8F!important}

.pay-select{display:flex;gap:8px;margin-bottom:14px}
.pay-btn{
  flex:1;padding:10px 0;border-radius:12px;border:1.5px solid var(--border);
  background:rgba(255,255,255,.04);color:var(--txt2);font-size:13px;font-weight:600;
  cursor:pointer;font-family:inherit;transition:all .2s;
}
.pay-btn.active{background:rgba(124,111,224,.15);border-color:var(--purple);color:var(--txt)}

/* ═══ CTA BUTTON ═══ */
.cta{
  width:100%;padding:16px;border:none;border-radius:16px;
  background:linear-gradient(135deg,var(--purple2) 0%,var(--cyan2) 100%);
  color:#fff;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;
  letter-spacing:-.2px;box-shadow:0 8px 24px rgba(108,92,231,.35);
  transition:all .15s;
}
.cta:active{transform:scale(.98);box-shadow:0 4px 12px rgba(108,92,231,.2)}
.cta.ghost{
  background:transparent;
  border:1.5px solid var(--border2);
  box-shadow:none;color:var(--txt2);
}

/* ═══ MATCHING ═══ */
.match-wrap{position:relative;height:120px;display:flex;align-items:center;justify-content:center;margin:8px 0 16px}
.match-rings{position:absolute}
.mring{
  position:absolute;border-radius:50%;border:2px solid var(--purple);
  top:50%;left:50%;transform:translate(-50%,-50%);
  animation:mring 2.4s ease-out infinite;
}
.r1{width:48px;height:48px;animation-delay:0s}
.r2{width:48px;height:48px;animation-delay:.6s}
.r3{width:48px;height:48px;animation-delay:1.2s}
@keyframes mring{0%{width:48px;height:48px;opacity:.8}100%{width:140px;height:140px;opacity:0}}
.match-car{font-size:40px;z-index:2;animation:float 1.5s ease-in-out infinite;will-change:transform}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.match-dots{display:flex;justify-content:center;gap:6px;margin:12px 0}
.match-dots span{width:7px;height:7px;border-radius:50%;background:var(--purple);animation:mdot 1.2s ease-in-out infinite}
.match-dots span:nth-child(2){animation-delay:.2s}
.match-dots span:nth-child(3){animation-delay:.4s}
@keyframes mdot{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}

.match-stats{display:flex;gap:24px;justify-content:center;margin:12px 0}
.mstat{text-align:center}
.mstat span{font-size:22px;font-weight:800;color:#00D2FF;display:block}
.mstat small{font-size:11px;color:rgba(255,255,255,.4)}

/* ═══ DRIVER FOUND ═══ */
.found-banner{
  display:flex;align-items:center;gap:8px;
  font-weight:700;font-size:14px;color:var(--green);
  background:rgba(0,207,143,.1);border:1px solid rgba(0,207,143,.2);
  padding:8px 16px;border-radius:30px;margin-bottom:16px;
  width:fit-content;
}
.found-dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse-dot 1s infinite}

.driver-card{
  display:flex;align-items:center;gap:14px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:18px;padding:14px;margin-bottom:14px;
}
.driver-photo{width:56px;height:56px;border-radius:50%;border:2.5px solid var(--purple);object-fit:cover}
.driver-info{flex:1;min-width:0}
.driver-name{font-weight:700;font-size:15px;margin-bottom:3px}
.driver-sub{font-size:12px;color:var(--txt2);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.driver-plate{display:inline-block;background:rgba(255,255,255,.08);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;letter-spacing:.5px}
.driver-right{text-align:right;flex-shrink:0}
.driver-stars{font-weight:700;font-size:13px;margin-bottom:4px}
.driver-trips{font-size:11px;color:var(--txt2)}

.driver-actions{display:flex;gap:8px;margin-bottom:14px}
.da-btn{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:12px 8px;border-radius:12px;background:rgba(255,255,255,.05);
  border:1px solid var(--border);color:var(--txt2);font-size:12px;font-weight:600;
  cursor:pointer;font-family:inherit;transition:all .2s;
}
.da-btn:active{background:rgba(124,111,224,.15);color:var(--txt)}
.da-btn svg{color:var(--txt2)}

.eta-section{margin-bottom:14px}
.eta-bar-wrap{margin-bottom:8px}
.eta-bar-bg{height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden}
.eta-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--purple),var(--cyan));border-radius:3px;transition:width .5s linear}
.eta-label{font-size:13px;color:var(--txt2);text-align:center; margin-top:8px;}
.eta-label strong{color:var(--txt)}

/* ═══ TRIP ACTIVE ═══ */
.trip-live-badge{
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;font-size:14px;margin-bottom:20px;
}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse-dot 1s infinite}
.trip-stats{display:flex;align-items:center;background:rgba(255,255,255,.04);border-radius:16px;padding:16px;margin-bottom:16px}
.ts{flex:1;text-align:center}
.ts-val{font-size:22px;font-weight:800;margin-bottom:4px;color:var(--cyan)}
.ts-lbl{font-size:11px;color:var(--txt2);text-transform:uppercase;letter-spacing:.3px}
.ts-sep{width:1px;height:40px;background:var(--border)}
.trip-timer-wrap{text-align:center;margin-bottom:14px}
.trip-timer-label{font-size:11px;color:var(--txt2);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.trip-timer{font-size:40px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--purple);letter-spacing:-1px}
.trip-route-mini{display:flex;align-items:center;gap:0;justify-content:center;margin-top:8px}
.trm-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.trm-dot.green{background:var(--green)}
.trm-dot.red{background:var(--red)}
.trm-line{flex:1;height:2px;max-width:80px;background:linear-gradient(90deg,var(--green),var(--red));margin:0 8px;border-radius:1px}

.trip-driver-mini{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:12px;margin-top:12px}
.tdm-photo{width:40px;height:40px;border-radius:50%;border:2px solid #7C6FE0}
.tdm-info{flex:1}
.tdm-name{font-size:14px;font-weight:700}
.tdm-plate{font-size:12px;color:rgba(255,255,255,.4)}
.tdm-call{flex-shrink:0;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}

/* ═══ DONE ═══ */
.done-check{
  width:70px;height:70px;border-radius:50%;
  background:linear-gradient(135deg,var(--cyan),var(--purple2));
  display:flex;align-items:center;justify-content:center;
  font-size:34px;font-weight:900;color:#fff;
  margin:0 auto 16px;
  box-shadow:0 12px 40px rgba(108,92,231,.4);
  animation:popIn .5s cubic-bezier(.17,.67,.26,1.4) both;
}
@keyframes popIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.done-price{
  text-align:center;font-size:46px;font-weight:900;
  background:linear-gradient(90deg,var(--cyan),var(--purple));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  margin:8px 0 4px;
}
.rate-box{text-align:center;margin:16px 0}
.rate-box p{font-size:14px;color:var(--txt2);margin-bottom:10px}
.stars-row{display:flex;justify-content:center;gap:6px}
.star{font-size:34px;color:rgba(255,255,255,.12);cursor:pointer;transition:all .15s;display:inline-block}
.star.on{color:var(--gold);text-shadow:0 2px 10px rgba(255,209,102,.5)}
.star:active{transform:scale(1.3)}

/* ═══ RESPONSIVE ═══ */
@media(min-width:600px){
  .panel{max-width:430px;left:50%;transform:translateX(-50%) translateY(115%);border-radius:24px 24px 0 0}
  .panel.show{transform:translateX(-50%) translateY(0)}
  .live-stats{top:80px}
}
@media(min-width:1024px){
  #topBar{max-width:420px;border-radius:0 0 20px 20px;background:var(--glass);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
  .panel{left:24px;max-width:400px;bottom:24px;border-radius:24px;border:1px solid var(--border2);transform:translateX(0) translateY(115%);max-height:calc(100vh - 120px)}
  .panel.show{transform:translateX(0) translateY(0)}
}

/* ═══ SPLASH, TOAST & MODALS ═══ */
.splash{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,#0A0E1A 0%,#111628 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s;}
.splash.hide{opacity:0;pointer-events:none}
.splash-icon{font-size:64px;margin-bottom:12px;animation:float 2s ease-in-out infinite}
.splash-brand{font-size:36px;font-weight:900;color:#fff}
.splash-brand span{color:#7C6FE0}
.splash-tagline{font-size:14px;color:rgba(255,255,255,.4);margin-top:8px;margin-bottom:32px}
.splash-loader{width:180px;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.splash-bar{height:100%;background:linear-gradient(90deg,#7C6FE0,#00D2FF);border-radius:2px;animation:loadbar 2s ease-in-out forwards}
@keyframes loadbar{0%{width:0%}100%{width:100%}}

.toast-container{position:fixed;top:80px;right:16px;z-index:8000;display:flex;flex-direction:column;gap:8px}
.toast{background:rgba(17,22,40,.96);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 16px;font-size:13px;font-weight:500;color:#fff;backdrop-filter:blur(20px);box-shadow:0 8px 24px rgba(0,0,0,.4);animation:toastIn .3s ease;display:flex;align-items:center;gap:8px;min-width:200px;max-width:300px}
.toast.success{border-color:rgba(0,207,143,.3)}
.toast.error{border-color:rgba(255,94,122,.3)}
.toast.info{border-color:rgba(124,111,224,.3)}
@keyframes toastIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}

.modal-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;padding:20px; transition: opacity 0.3s ease;}
.modal-overlay.hidden{opacity:0; pointer-events:none;}
.modal-box{background:#111628;border:1px solid rgba(255,255,255,.1);border-radius:24px 24px 20px 20px;padding:24px;width:100%;max-width:440px; transform:translateY(0); transition: transform 0.3s ease;} 
.modal-overlay.hidden .modal-box{ transform:translateY(100%); }
.modal-title{font-size:17px;font-weight:700;margin-bottom:16px}
.promo-inp{width:100%;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.1);border-radius:12px;padding:14px;color:#fff;font-size:15px;font-family:inherit;outline:none;margin-bottom:10px}
.promo-inp:focus{border-color:#7C6FE0}
.promo-msg{font-size:13px;margin-bottom:12px;min-height:20px}
.promo-msg.ok{color:#00CF8F}
.promo-msg.fail{color:#FF5E7A}
.modal-btns{display:flex;flex-direction:column;gap:8px}

.history-box{max-height:80vh;overflow-y:auto}
.history-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.h-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:14px}
.h-top{display:flex;justify-content:space-between;margin-bottom:6px}
.h-route{font-size:13px;font-weight:600}
.h-price{font-weight:700;color:#7C6FE0}
.h-meta{font-size:11px;color:rgba(255,255,255,.4)}

/* ═══ KULLANICI PROFİL AVATARI ═══ */
.sb-avatar-img{
  width:52px;height:52px;border-radius:50%;flex-shrink:0;
  object-fit:cover;border:2px solid var(--purple);
}

/* ═══ XP BAR (Sidebar) ═══ */
.sb-xp-bar-wrap{margin-top:6px}
.sb-xp-bar{height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden;margin-bottom:3px}
.sb-xp-fill{height:100%;background:linear-gradient(90deg,var(--purple),var(--cyan));border-radius:2px;transition:width .8s ease}
.sb-xp-txt{font-size:10px;color:var(--txt2);font-weight:600}

/* ═══ SÜRÜCÜ ROZET & BİO ═══ */
.driver-badge{
  display:inline-block;margin-top:4px;
  background:linear-gradient(90deg,rgba(124,111,224,.2),rgba(0,210,255,.1));
  border:1px solid rgba(124,111,224,.3);
  border-radius:20px;padding:3px 10px;
  font-size:11px;font-weight:700;color:var(--purple);
}
.driver-bio{font-size:11px;color:var(--txt2);margin-top:3px;font-style:italic}
.hidden{display:none!important}

/* ═══ XP BADGE (Yolculuk Bitti) ═══ */
.xp-earned-badge{
  text-align:center;
  background:linear-gradient(135deg,rgba(124,111,224,.2),rgba(0,210,255,.1));
  border:1px solid rgba(124,111,224,.3);
  border-radius:20px;padding:10px 16px;
  font-size:15px;font-weight:800;
  color:var(--purple);
  margin:12px 0;
  animation:popIn .5s cubic-bezier(.17,.67,.26,1.4) both;
}

/* CHAT MODAL EKLENTİSİ */
.chat-box{
  height: 45vh;
  display:flex;
  flex-direction:column;
}
.chat-messages{
  flex:1;
  overflow-y:auto;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:rgba(0,0,0,0.2);
  border-radius: 12px;
  margin-bottom:12px;
}
.chat-messages::-webkit-scrollbar{width:4px;}
.chat-messages::-webkit-scrollbar-thumb{background:var(--border);}
.chat-msg{
  padding:10px 14px;
  border-radius: 18px;
  font-size: 14px;
  max-width: 80%;
  word-wrap: break-word;
  line-height: 1.4;
}
.chat-msg.driver{
  background: rgba(255,255,255,0.1);
  align-self: flex-start;
  border-bottom-left-radius: 4px;
}
.chat-msg.user{
  background: var(--purple);
  align-self: flex-end;
  border-bottom-right-radius: 4px;
  color:#fff;
}
.chat-input-area{
  display:flex;
  gap:8px;
}
.chat-input{
  flex:1;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  padding:12px 16px;
  color:#fff;
  outline:none;
  font-family: inherit;
  font-size: 14px;
}
.chat-input:focus{ border-color: var(--cyan); }
.chat-send-btn{
  width:45px;
  height:45px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--purple), var(--cyan));
  border:none;
  color:#fff;
  font-weight:bold;
  font-size: 18px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition: transform 0.2s;
}
.chat-send-btn:active{ transform: scale(0.9); }

/* ═══ ÖDEME YÖNTEMLERİ ═══ */
.pay-method-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.pm-card{display:flex;align-items:center;justify-content:space-between;padding:14px;background:rgba(255,255,255,.04);border:1.5px solid var(--border);border-radius:16px;cursor:pointer;transition:all .2s}
.pm-card.active-pm{border-color:var(--purple);background:rgba(124,111,224,.08)}
.pm-left{display:flex;align-items:center;gap:12px}
.pm-icon{font-size:24px;width:36px;text-align:center}
.pm-name{font-weight:700;font-size:14px;margin-bottom:2px}
.pm-sub{font-size:12px;color:var(--txt2)}
.pm-check{font-size:18px;color:var(--purple);font-weight:900}

/* ═══ PROFİL MODAL ═══ */
.profile-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:20px}
.profile-big-avatar{width:90px;height:90px;border-radius:50%;border:3px solid var(--purple);object-fit:cover}
.profile-photo-btn{background:rgba(124,111,224,.15);border:1px solid rgba(124,111,224,.3);color:var(--purple);padding:7px 16px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.profile-form{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
.pf-label{font-size:11px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.5px;margin-top:10px}
.pf-input{background:rgba(255,255,255,.06);border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--txt);font-size:14px;font-family:inherit;outline:none}
.pf-input:focus{border-color:var(--purple)}

/* ═══ BİLDİRİMLER MODAL ═══ */
.notif-list{display:flex;flex-direction:column;gap:0;margin-bottom:8px;max-height:60vh;overflow-y:auto}
.notif-item{display:flex;gap:12px;padding:14px;border-bottom:1px solid var(--border);transition:background .3s}
.notif-item.unread{background:rgba(124,111,224,.07);border-left:3px solid var(--purple)}
.notif-icon{font-size:24px;flex-shrink:0;width:36px;text-align:center}
.notif-body{flex:1;min-width:0}
.notif-head{font-weight:700;font-size:14px;margin-bottom:3px}
.notif-txt{font-size:12px;color:var(--txt2);line-height:1.4;margin-bottom:4px}
.notif-time{font-size:11px;color:var(--txt3)}

/* ═══ GÜVENLİK MODAL ═══ */
.sec-list{display:flex;flex-direction:column;gap:0;margin-bottom:16px}
.sec-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}
.sec-left{flex:1}
.sec-title{font-weight:600;font-size:14px;margin-bottom:2px}
.sec-sub{font-size:12px;color:var(--txt2)}
.sec-danger{display:flex;flex-direction:column;gap:8px}
/* Toggle Switch */
.toggle-sw{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0}
.toggle-sw input{opacity:0;width:0;height:0}
.tgl{position:absolute;cursor:pointer;inset:0;background:rgba(255,255,255,.15);transition:.3s;border-radius:26px}
.tgl:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:4px;background:#fff;transition:.3s;border-radius:50%}
.toggle-sw input:checked + .tgl{background:var(--purple)}
.toggle-sw input:checked + .tgl:before{transform:translateX(20px)}

/* ═══ YARDIM / FAQ MODAL ═══ */
.faq-list{display:flex;flex-direction:column;gap:0;margin-bottom:16px}
.faq-item{border-bottom:1px solid var(--border);cursor:pointer}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-size:14px;font-weight:600}
.faq-arr{color:var(--txt2);font-size:12px;flex-shrink:0;margin-left:8px;transition:transform .2s}
.faq-a{max-height:0;overflow:hidden;font-size:13px;color:var(--txt2);line-height:1.5;transition:max-height .3s ease;padding-bottom:0}
.faq-item.open .faq-a{padding-bottom:14px}
.help-contact{display:flex;flex-direction:column;gap:8px}

/* ═══ PWA PROMPT ═══ */
.pwa-prompt{position:fixed;bottom:24px;left:24px;right:24px;background:var(--glass2);border:1px solid var(--purple);border-radius:20px;padding:16px;z-index:9000;display:flex;flex-direction:column;gap:12px;backdrop-filter:blur(20px);box-shadow:0 10px 40px rgba(0,0,0,.5);animation:slideUp .4s ease forwards}
.pwa-prompt.hidden{display:none!important}
@keyframes slideUp{from{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}
.pwa-content{display:flex;align-items:center;gap:12px}
.pwa-icon{width:48px;height:48px;border-radius:12px}
.pwa-text{flex:1}
.pwa-text strong{display:block;font-size:15px;margin-bottom:2px}
.pwa-text p{font-size:12px;color:var(--txt2);line-height:1.3}
.pwa-actions{display:flex;gap:8px;align-items:center}
.btn-close-pwa{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--txt);font-size:16px;cursor:pointer}
@media(min-width:600px){.pwa-prompt{left:auto;width:360px}}

/* ═══ ROTA SEÇİCİ PANELİ ═══ */
.route-selector-panel{position:absolute;bottom:90px;left:16px;right:16px;background:rgba(10,14,26,.9);border:1px solid var(--purple);border-radius:20px;padding:14px;z-index:1500;backdrop-filter:blur(16px);box-shadow:0 8px 32px rgba(0,0,0,.5);animation:slideUp .3s ease forwards}
.rsp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;font-weight:700;color:var(--txt2)}
.rsp-close{font-size:16px;cursor:pointer;color:var(--txt2);width:24px;text-align:center}
.rsp-routes{display:flex;gap:8px}
.rsp-item{flex:1;background:rgba(255,255,255,.05);border:1.5px solid var(--border);border-radius:14px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .2s}
.rsp-item.active{border-color:var(--purple);background:rgba(124,111,224,.15)}
.rsp-item:hover:not(.active){border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.07)}
.rsp-label{font-size:12px;font-weight:700;margin-bottom:4px}
.rsp-info{font-size:11px;color:var(--txt2)}

/* ═══ TRAFİK WIDGET ═══ */
.traffic-widget{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700;backdrop-filter:blur(8px)}
.traffic-low{border-color:rgba(48,209,88,.3);color:#30D158}
.traffic-moderate{border-color:rgba(255,159,10,.3);color:#FF9F0A}
.traffic-heavy{border-color:rgba(255,69,58,.3);color:#FF453A;animation:pulse-traffic 2s infinite}
@keyframes pulse-traffic{0%,100%{opacity:1}50%{opacity:.6}}

