@font-face{font-family:Alexandria;font-weight:400;font-display:swap;src:url(/vendor/fonts/alexandria-arabic-400-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E}
@font-face{font-family:Alexandria;font-weight:400;font-display:swap;src:url(/vendor/fonts/alexandria-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:Alexandria;font-weight:600;font-display:swap;src:url(/vendor/fonts/alexandria-arabic-600-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E}
@font-face{font-family:Alexandria;font-weight:600;font-display:swap;src:url(/vendor/fonts/alexandria-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:Alexandria;font-weight:700;font-display:swap;src:url(/vendor/fonts/alexandria-arabic-700-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E}
@font-face{font-family:Alexandria;font-weight:700;font-display:swap;src:url(/vendor/fonts/alexandria-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC}

:root{
  --ink:#000;--ink-2:#545454;--ink-3:#8A8A8A;--bg:#fff;--bg-2:#F3F3F3;--bg-3:#E6E6E6;--line:#E2E2E2;
  --yellow:#F7B500;--green:#05944F;--green-bg:#E7F6EE;--red:#D91E18;--red-bg:#FDECEB;--blue:#276EF1;--blue-bg:#EAF1FE;--amber-bg:#FFF6DA;
  --r-s:10px;--r:14px;--r-l:20px;--sh:0 4px 16px rgba(0,0,0,.12);--sh-2:0 -6px 30px rgba(0,0,0,.14);
  --safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);
  font-family:Alexandria,system-ui,sans-serif;color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-size:15px;line-height:1.5;direction:rtl}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.hidden{display:none!important}
.num{direction:ltr;unicode-bidi:isolate;display:inline-block}

/* buttons */
.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 20px;border-radius:var(--r-s);background:var(--ink);color:#fff;font-weight:600;font-size:16px;transition:transform .08s, opacity .15s}
.btn:active{transform:scale(.98)}
.btn[disabled]{opacity:.4;pointer-events:none}
.btn.block{width:100%}
.btn.ghost{background:var(--bg-2);color:var(--ink)}
.btn.line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn.danger{background:var(--red)}
.btn.ok{background:var(--green)}
.btn.sm{height:38px;padding:0 14px;font-size:14px;border-radius:9px}
.btn.xs{height:30px;padding:0 10px;font-size:13px;border-radius:8px}
.icon-btn{width:44px;height:44px;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--sh)}

/* form */
.field{display:block;margin-bottom:14px}
.field>span{display:block;font-size:13px;color:var(--ink-2);margin-bottom:6px;font-weight:600}
.input,select.input,textarea.input{width:100%;height:50px;padding:0 14px;border-radius:var(--r-s);background:var(--bg-2);border:1.5px solid transparent;outline:none;font-size:16px}
textarea.input{height:auto;padding:12px 14px;min-height:80px;resize:vertical}
.input:focus{border-color:var(--ink);background:#fff}
.input.ltr{direction:ltr;text-align:right}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-2)}
.check input{width:20px;height:20px;accent-color:#000;flex:none;margin-top:2px}
.seg{display:flex;background:var(--bg-2);border-radius:var(--r-s);padding:4px;gap:4px}
.seg button{flex:1;height:40px;border-radius:8px;font-weight:600;font-size:14px;color:var(--ink-2)}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}

/* text */
.h1{font-size:26px;font-weight:700;line-height:1.25}
.h2{font-size:20px;font-weight:700}
.h3{font-size:16px;font-weight:700}
.muted{color:var(--ink-2)}
.faint{color:var(--ink-3);font-size:13px}
.small{font-size:13px}

/* chips & pills */
.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--bg-2);color:var(--ink-2);white-space:nowrap}
.pill.green{background:var(--green-bg);color:var(--green)}
.pill.red{background:var(--red-bg);color:var(--red)}
.pill.blue{background:var(--blue-bg);color:var(--blue)}
.pill.amber{background:var(--amber-bg);color:#8A5A00}
.pill.dark{background:#000;color:#fff}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}

/* syrian plate */
.plate{display:inline-flex;flex-direction:column;align-items:center;border:2px solid #000;border-radius:6px;background:#fff;padding:1px 8px 2px;line-height:1.1;direction:ltr}
.plate b{font-size:16px;letter-spacing:1px}
.plate i{font-style:normal;font-size:10px;color:var(--ink-2)}

/* toast */
#toasts{position:fixed;top:calc(var(--safe-t) + 12px);left:50%;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;width:min(92vw,420px);pointer-events:none}
.toast{background:#000;color:#fff;border-radius:12px;padding:12px 16px;font-size:14px;box-shadow:var(--sh);animation:tin .25s ease}
.toast.err{background:var(--red)}
.toast.ok{background:var(--green)}
@keyframes tin{from{opacity:0;transform:translateY(-8px)}}

/* modal / bottom sheet */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}
.modal{background:#fff;width:100%;max-width:520px;border-radius:var(--r-l) var(--r-l) 0 0;padding:20px 20px calc(20px + var(--safe-b));max-height:92vh;overflow:auto;animation:up .25s cubic-bezier(.2,.8,.2,1)}
@media(min-width:700px){.modal-bg{align-items:center}.modal{border-radius:var(--r-l)}}
@keyframes fade{from{opacity:0}}
@keyframes up{from{transform:translateY(40px);opacity:.6}}

/* map markers */
.leaflet-container{font-family:Alexandria,system-ui,sans-serif;background:#EEF0F1}
.car-mk{background:none;border:0}
.car-mk img{display:block;transform-origin:50% 50%;transition:transform .9s linear;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}
.car-mk.busy img{filter:drop-shadow(0 0 3px var(--blue)) drop-shadow(0 0 2px var(--blue))}
.car-mk.off img{filter:grayscale(1) opacity(.45)}
.car-mk.alert img{filter:drop-shadow(0 0 4px var(--red)) drop-shadow(0 0 3px var(--red))}
.pin-mk{background:none;border:0}
.pin{width:20px;height:20px;border-radius:50%;background:#000;border:5px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.pin.drop{border-radius:4px;background:#000}
.pin.sos{background:var(--red);width:26px;height:26px;animation:pulse 1.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(217,30,24,.6)}100%{box-shadow:0 0 0 18px rgba(217,30,24,0)}}
.me-dot{width:18px;height:18px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 6px rgba(39,110,241,.2)}

/* SOS button (rider & captain) */
.sos-btn{height:44px;padding:0 16px;border-radius:999px;background:var(--red);color:#fff;font-weight:700;font-size:15px;letter-spacing:.5px;box-shadow:0 4px 14px rgba(217,30,24,.4);display:inline-flex;align-items:center;gap:6px}
.sos-panel{position:fixed;inset:0;z-index:2000;background:#120303;color:#fff;display:flex;flex-direction:column;padding:calc(var(--safe-t) + 24px) 24px calc(var(--safe-b) + 24px)}
.sos-panel .big{font-size:28px;font-weight:700;line-height:1.3}
.sos-panel .ring{width:120px;height:120px;border-radius:50%;background:var(--red);margin:28px auto;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;animation:pulse 1.4s infinite}
.sos-panel .row{display:flex;gap:10px;margin-top:auto;flex-direction:column}
.sos-panel .btn.ghost{background:rgba(255,255,255,.12);color:#fff}
.sos-panel .btn.resolve{background:#fff;color:#000}
.hold-ring{position:relative}
