:root{
  --navy:#0A0A0A; --ink:#151517; --card:#1C1C1E; --card2:#121214;
  --gold:#C8A96A; --gold-lt:#C8A96A; --text:#F5F5F7; --muted:#A3A3A3;
  --line:#2B2B2F; --red:#c0392b; --red-bg:#3a1410; --green:#2e9e63;
  --white:#F5F5F7;
  --gold-o:#C8A96A; --gold-b:#E5C158; --gold-d:#C8A96A; --ink-gold:#0A0A0A;
}
*{box-sizing:border-box}
html,body{height:100%}
html{overscroll-behavior:none}
body{margin:0;background:var(--navy);color:var(--text);font-family:Manrope,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;display:flex;flex-direction:column;height:100dvh;overflow:hidden}
h1,h2,.serif{font-family:"Playfair Display",serif}
a{color:var(--gold-lt)}
button{font:inherit;cursor:pointer}
img{display:block}

/* Fixed-sheet architecture: header band pinned, each page is a sheet below it
   that scrolls internally; the window itself never scrolls. */
#topbar{flex:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;background:rgba(6,6,6,.97);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center;background:none;border:0;color:var(--text);text-align:start;padding:0}
.brand img{border-radius:9px}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-size:19px;letter-spacing:.4px}
.brand-text small{color:var(--muted);font-size:11px;letter-spacing:1.2px;text-transform:uppercase}
/* Canonical one-line wordmark (logo renewal 2026-11-14): geometric "312" in
   matte gold + "BLACK" in Playfair white — same treatment as the apply page. */
.lk-n{font-family:Manrope,system-ui,sans-serif;font-weight:900;color:var(--gold);letter-spacing:0;font-variant-numeric:lining-nums}
.lk-w{font-family:"Playfair Display",serif;font-weight:700;color:#fff;letter-spacing:.05em}
#langPicker{background:var(--ink);color:var(--gold-lt);border:1px solid var(--gold);border-radius:9px;padding:6px 8px;max-width:38vw}
#view{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  width:100%;max-width:620px;margin:0 auto;padding:0 14px 20px;scrollbar-width:thin}
#tabbar{flex:0 0 auto;display:flex;background:rgba(6,6,6,.98);border-top:1px solid var(--line);z-index:50}
#tabbar button{flex:1;background:none;border:0;color:var(--muted);padding:7px 4px calc(7px + env(safe-area-inset-bottom));font-weight:600;font-size:.78rem;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:3rem}
#tabbar button svg{width:22px;height:22px}
body.no-topbar #topbar{display:none}
#tabbar button.active{color:var(--gold-lt)}

.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0}
.btn{display:inline-block;background:var(--gold);color:#0A0A0A;border:0;border-radius:11px;
  padding:12px 18px;font-weight:800;text-align:center;width:100%;text-decoration:none}
.btn.secondary{background:transparent;color:var(--gold-lt);border:1.5px solid var(--gold)}
.btn.small{width:auto;padding:8px 14px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.gonow{font-size:17px;padding:14px 18px;box-shadow:0 4px 18px rgba(200,169,106,.35)}
input,select,textarea{width:100%;background:var(--ink);border:1px solid var(--line);border-radius:11px;
  color:var(--text);padding:11px 12px;margin:5px 0 11px;font:inherit}
input[type=file]{padding:8px}
label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:700}
.row{display:flex;gap:9px}.row>*{flex:1}
.muted{color:var(--muted)} .small{font-size:13px}
.pill{display:inline-block;border:1px solid var(--gold);color:var(--gold-lt);border-radius:999px;
  padding:3px 10px;font-size:12px;font-weight:700}
.pill.red{border-color:var(--red);color:#ff9a8a}
.pill.green{border-color:var(--green);color:#8fe0b6}
.pill.solid{background:var(--gold);color:#0A0A0A;border-color:var(--gold)}
.price-box{border:1.5px solid var(--gold);border-radius:14px;padding:13px;background:var(--card2)}
.price-line{display:flex;justify-content:space-between;padding:3px 0;gap:10px}
.price-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);
  margin-top:8px;padding-top:9px;font-size:18px;color:var(--gold-lt);font-weight:800}
details{border:1px solid var(--line);border-radius:14px;padding:10px 13px;margin:9px 0;background:var(--ink)}
summary{cursor:pointer;font-weight:700;color:var(--gold-lt)}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:92px;background:var(--gold);color:#0A0A0A;
  padding:10px 16px;border-radius:999px;font-weight:800;opacity:0;pointer-events:none;transition:opacity .25s;z-index:99;max-width:92vw;text-align:center}
#toast.show{opacity:1}

/* ---------------------------------- home ----------------------------------
   Copy-paste parity with the original app (theme.css values): hero frame
   1078/594 with the fixed lockup as markup over the owner cover photo,
   white booking card with underlined fields, trust badges with dividers,
   wide story cards, media slot, confidence tiles, how-it-works, join card. */
.hero{position:relative;margin:0 -14px;overflow:visible;z-index:30;padding:10px 16px 12px;
  aspect-ratio:1078/594;display:flex;flex-direction:column;background:#000000}
.hero img.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.hero .hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.12) 30%,rgba(0,0,0,.04) 58%,rgba(0,0,0,.35) 84%,#000000 100%)}
.hero-top{position:relative;z-index:60;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;direction:ltr}
.icon-btn{width:38px;height:38px;display:grid;place-items:center;background:rgba(6,6,6,.55);
  border:1px solid rgba(255,255,255,.22);border-radius:12px;color:#fff;backdrop-filter:blur(4px)}
.icon-btn svg{width:22px;height:22px}
/* Pull-to-refresh indicator (owner correction 2026-11-13 ~15:55: the
   header refresh button is REMOVED — a long pull down from the very top
   of the page refreshes instead, like every website). A 38px gold
   circular-arrow in the app's navy-glass chrome: it follows the pull,
   rotates as it travels, and spins while the page refetches in place. */
.ptr-ind{position:fixed;top:calc(4px + env(safe-area-inset-top));left:50%;z-index:200;
  width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
  background:rgba(6,6,6,.85);border:1px solid rgba(200,169,106,.55);color:var(--gold);
  backdrop-filter:blur(4px);opacity:0;pointer-events:none;transform:translate(-50%,-64px)}
.ptr-ind.on{opacity:1}
.ptr-ind.anim{transition:transform .25s ease,opacity .25s ease}
.ptr-ind svg{width:19px;height:19px}
.ptr-ind.spin svg{animation:refspin .8s linear infinite}
@keyframes refspin{to{transform:rotate(360deg)}}
.lang-pill{position:relative;display:flex;align-items:center;gap:6px;background:rgba(6,6,6,.55);
  border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 12px;backdrop-filter:blur(4px);
  color:#fff;font-size:.9rem;font-weight:700;min-height:2.35rem;direction:ltr}
.lang-pill svg.globe{width:17px;height:17px;flex:none}
.lang-pill svg.chev-d{width:13px;height:13px;color:var(--gold);flex:none}
/* Home HERO language pill, shrunk a bit (owner order 2026-11-14 ~01:35,
   given while viewing the two-tone hero — the brand lockup itself is
   accepted as-is): same pill, same top-right spot in .hero-top, just
   smaller — tighter padding, smaller font/icons, ~34-36px tall, still
   comfortably tappable. Scoped to the hero; page-head pills elsewhere
   keep the standard size. */
.hero-top .lang-pill{gap:4px;padding:3px 9px;font-size:.8rem;min-height:2.15rem}
.hero-top .lang-pill svg.globe{width:15px;height:15px}
.hero-top .lang-pill svg.chev-d{width:11px;height:11px}
/* The small «انطلق» depart box (owner flow rebuild 2026-11-14 ~01:29):
   ONE word on a compact gold pill in the booking card's go slot at the
   leave moment — replaces the old full-width "Time to leave" banner +
   "Go now" button. Tapping it opens the map; the commit happens on
   the «انطلق» tap inside the map. */
.depart-box{display:inline-block;margin:2px 0 4px;padding:7px 18px;border:0;border-radius:999px;
  background:#C8A96A;color:#0A0A0A;font-size:.95rem;font-weight:900;
  cursor:pointer;box-shadow:0 6px 16px rgba(200,169,106,.3)}
.depart-box:active{transform:scale(.98)}
.lang-pill select{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;padding:0;border:0;cursor:pointer}
.hero-lockup{position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:40;pointer-events:none;
  display:flex;flex-direction:column;align-items:center;text-align:center;width:max-content;max-width:calc(100% - 24px)}
.lockup-name{margin-top:0;font-family:Manrope,system-ui,sans-serif;font-size:3.6rem;font-weight:900;
  letter-spacing:.01em;font-variant-numeric:lining-nums;line-height:.8;color:var(--gold);
  text-shadow:0 1px 3px rgba(0,0,0,.85),0 2px 14px rgba(0,0,0,.55);white-space:nowrap}
.lockup-rule{width:6.04rem;height:1px;margin:1px 0 0;
  background:linear-gradient(90deg,transparent,var(--gold-o) 22%,var(--gold-o) 78%,transparent)}
.lockup-word{font-family:"Playfair Display",serif;font-size:1.3rem;font-weight:700;letter-spacing:.31em;
  text-indent:.31em;line-height:.8;color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.85),0 2px 14px rgba(0,0,0,.55);white-space:nowrap}
.lockup-sub{margin-top:5px;font-family:Manrope,system-ui,sans-serif;font-size:.58rem;font-weight:700;letter-spacing:.3em;
  text-indent:.3em;line-height:1.2;color:var(--gold-lt);text-shadow:0 1px 3px rgba(0,0,0,.85);white-space:nowrap}
.lockup-stars{margin-top:1px;display:flex;gap:3px;color:var(--gold-o)}
.lockup-stars svg{width:11px;height:11px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}
.lockup-en{margin-top:3px;font-size:.62rem;font-weight:600;letter-spacing:.05em;line-height:1.25;
  color:rgba(255,255,255,.92);text-shadow:0 1px 3px rgba(0,0,0,.9);white-space:nowrap}
.home-book{position:relative;z-index:45;width:94%;margin:-52px auto 0;background:#3A3A3E;color:#F5F5F7;
  border-radius:16px;padding:11px 14px 12px;box-shadow:0 18px 36px rgba(0,0,0,.35)}
.hb-seg{display:flex;width:56%;margin:0 auto 9px;padding:2px;border-radius:999px;background:#2C2C2F;border:1px solid #55555A}
.hb-seg button{flex:1 1 0;border:0;border-radius:999px;background:transparent;color:#A3A3A3;
  font-size:.74rem;font-weight:700;line-height:1.15;padding:4px 3px;white-space:nowrap}
.hb-seg button.on{background:var(--gold);color:var(--ink-gold);box-shadow:0 4px 12px rgba(200,169,106,.35)}
.hb-field{margin-bottom:8px;min-width:0}
.hb-field label{display:block;font-size:.71rem;font-weight:700;color:#A3A3A3;margin-bottom:1px;text-transform:none;letter-spacing:0}
.hb-input{width:100%;max-width:100%;min-width:0;height:31px;border:0;border-bottom:1.5px solid #55555A;border-radius:0;
  background:transparent;color:#F5F5F7;color-scheme:dark;font-size:.93rem;padding:4px 2px 6px;margin:0}
.hb-input:focus{outline:none;border-bottom-color:var(--gold-o)}
.hb-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hb-grid2 .hb-field{margin-bottom:9px}
.home-book-btn{width:100%;border:0;border-radius:999px;margin-top:2px;
  background:var(--gold);color:var(--ink-gold);
  padding:9px 16px;display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:.97rem;font-weight:800;box-shadow:0 12px 30px rgba(200,169,106,.3)}
.home-book-btn .cal{display:grid;width:20px;height:20px;flex:none}
.home-book-btn .cal svg{width:100%;height:100%}
.home-book-btn .chev{display:grid;width:17px;height:17px;flex:none}
.home-book-btn .chev svg{width:100%;height:100%}
[dir="rtl"] .home-book-btn .chev{transform:scaleX(-1)}
.badges{margin-top:12px;display:grid;grid-template-columns:repeat(4,1fr)}
.badge{text-align:center;padding:2px 4px;display:flex;flex-direction:column;align-items:center;gap:2px}
.badge + .badge{border-inline-start:1px solid rgba(163,163,163,.22)}
.badge svg{width:22px;height:22px;color:var(--gold-o);margin-bottom:2px}
.badge .m{font-size:.7rem;font-weight:700;line-height:1.3;color:var(--text)}
.home-story{margin-top:30px}
.story-title{font-family:"Playfair Display",serif;font-size:clamp(1.7rem,8vw,2.2rem);font-weight:700;
  line-height:1.15;color:var(--gold);margin:0 2px 6px}
.story-sub{margin:0 2px 14px;font-size:.9rem;line-height:1.45;color:var(--muted)}
.story-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.story-track::-webkit-scrollbar{display:none}
.story-card{flex:0 0 84%;max-width:340px;scroll-snap-align:start;padding:0;text-align:start;color:#fff;
  background:linear-gradient(180deg,#17171A 0%,#070707 70%,#060606 100%);
  border:1px solid rgba(200,169,106,.4);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 6px 18px rgba(0,0,0,.35)}
.story-card.selected{border:2px solid var(--gold-o);
  box-shadow:0 6px 18px rgba(0,0,0,.45),0 12px 24px -4px rgba(200,169,106,.75),inset 0 -12px 16px -10px rgba(200,169,106,.65)}
.story-photo{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;flex:none}
.story-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 68%}
.story-photo::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(3,3,3,.55) 0%,rgba(3,3,3,0) 38%)}
.story-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.story-h{display:block;margin:0 0 5px;font-size:1.12rem;font-weight:800;line-height:1.25;color:#fff}
.story-p{display:block;margin:0;font-size:.88rem;line-height:1.5;color:var(--muted);flex:1}
.story-book{margin-top:12px;width:100%;border:0;border-radius:999px;padding:11px 16px;font-size:.98rem;
  font-weight:800;text-align:center;color:var(--ink-gold);
  background:var(--gold);box-shadow:0 8px 20px rgba(200,169,106,.3)}
.story-nav{display:flex;align-items:center;justify-content:space-between;padding:0 2px}
.story-arrow{width:38px;height:38px;border-radius:50%;border:1px solid rgba(200,169,106,.5);
  background:rgba(255,255,255,.07);color:var(--gold);display:grid;place-items:center}
.story-arrow svg{width:18px;height:18px}
.story-arrow:disabled{opacity:.35}
[dir="rtl"] .story-arrow svg{transform:scaleX(-1)}
.story-dots{display:flex;align-items:center;gap:8px}
.story-dot{width:9px;height:40px;border-radius:999px;border:0;padding:0;background:#414147;cursor:pointer;transition:width .2s,background .2s}
.story-dot.active{width:24px;background:var(--gold-o)}
.home-media{margin-top:30px;position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;
  border:1px solid rgba(200,169,106,.4);background:#060606;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.home-media video,.home-media img{width:100%;height:100%;object-fit:cover}
.home-media-sound{position:absolute;inset-inline-end:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;
  gap:7px;min-height:40px;padding:8px 13px;border-radius:999px;background:rgba(10,10,10,.74);color:#fff;
  border:1px solid rgba(200,169,106,.65);font-size:.78rem;font-weight:800;line-height:1;backdrop-filter:blur(4px)}
.home-media-sound svg{width:19px;height:19px;color:var(--gold)}
.home-media-sound.on{padding:8px 10px}
@media (prefers-reduced-motion:no-preference){
.home-media-sound:not(.on){animation:hms-pulse 2.2s ease-in-out infinite}
@keyframes hms-pulse{0%,100%{box-shadow:0 0 0 0 rgba(200,169,106,.45)}50%{box-shadow:0 0 0 7px rgba(200,169,106,0)}}
}
.home-conf{margin-top:30px}
.home-sec-title{margin:0 2px 12px;font-size:1.25rem;font-weight:800;color:var(--text);font-family:Manrope,system-ui,sans-serif}
.conf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.conf-tile{background:rgba(255,255,255,.07);border:1px solid rgba(200,169,106,.28);border-radius:16px;
  padding:14px 9px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px}
.conf-ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  background:rgba(200,169,106,.13);border:1px solid rgba(200,169,106,.45);color:var(--gold);margin-bottom:2px}
.conf-ic svg{width:21px;height:21px}
.conf-t{font-size:.8rem;font-weight:800;line-height:1.25;color:#fff}
.conf-s{font-size:.69rem;line-height:1.35;color:var(--muted)}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.how-step{display:flex;align-items:flex-start;gap:9px;background:#070707;border:1px solid rgba(200,169,106,.28);border-radius:14px;padding:12px}
.how-num{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;
  background:#C8A96A;color:#0A0A0A;font-weight:800;font-size:.85rem}
.how-txt{font-size:.82rem;font-weight:700;line-height:1.35;color:var(--text)}
.home-about{margin-top:30px;padding-bottom:6px}
.about-lockup{display:flex;align-items:center;gap:9px}
.about-lockup img{border-radius:9px}
.about-lockup .dn{font-size:1.15rem;font-variant-numeric:lining-nums}
.about-intro{color:var(--muted);font-size:.92rem;line-height:1.6;margin:10px 2px 0}
.join-card{margin:26px 0 0;padding:20px 18px;border-radius:18px;border:1.5px solid rgba(200,169,106,.6);
  background:linear-gradient(165deg,#17171A,#060606 75%);text-align:center}
.join-card-title{margin:0 0 8px;font-size:1.15rem;color:var(--gold);font-family:Manrope,system-ui,sans-serif}
.join-card-body{margin:0 0 14px;font-size:.9rem;line-height:1.6;color:#D0D0D5}
.join-card-btn{border:0;border-radius:999px;padding:12px 26px;font-size:.95rem;font-weight:800;color:var(--ink-gold);
  background:var(--gold);box-shadow:0 8px 20px rgba(200,169,106,.3)}
.home-foot{margin-top:30px;padding-bottom:8px;text-align:center}
.home-foot .brand-inline{display:inline-flex;align-items:center;gap:9px}
.home-foot .brand-inline img{border-radius:9px}
.home-foot .dn{font-size:1.05rem}
.home-foot .fine{color:var(--muted);font-size:12px;margin-top:8px}
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:90}
.drawer{position:fixed;top:0;bottom:0;inset-inline-start:0;width:min(300px,84vw);background:#0A0A0A;
  border-inline-end:1px solid rgba(200,169,106,.35);z-index:95;padding:16px 14px calc(16px + env(safe-area-inset-bottom));
  overflow-y:auto;box-shadow:0 0 60px rgba(0,0,0,.6)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.drawer-head .dn{font-size:1.25rem}
.drawer-item{display:flex;align-items:center;gap:12px;width:100%;text-align:start;background:transparent;border:0;
  border-bottom:1px solid rgba(163,163,163,.14);color:var(--text);font-size:1rem;font-weight:700;
  padding:14px 6px;min-height:3.2rem;cursor:pointer}
.drawer-item svg{width:21px;height:21px;color:var(--gold-o);flex:none}
.drawer-item .chev{margin-inline-start:auto;width:17px;height:17px;display:grid}
.drawer-item .chev svg{width:17px;height:17px}

/* ------------------------------ services grid ------------------------------ */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.svc{border:1.5px solid var(--line);background:var(--ink);border-radius:14px;padding:13px 6px;text-align:center;
  color:var(--text);font-weight:700;font-size:13.5px;min-height:64px}
.svc.selected{border-color:var(--gold);color:var(--gold-lt);background:#212124}
.pkg-row{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:4px 0 8px}
.pkg-row .svc{min-height:0;padding:7px 2px;font-size:12px;border-radius:10px}
.stepper{display:flex;align-items:center;gap:8px}
.stepper button{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--gold);background:transparent;color:var(--gold-lt);font-size:18px;font-weight:800}
.stepper output{font-weight:800;min-width:86px;text-align:center}

/* --------------------------------- drivers --------------------------------- */
.driver-card{display:flex;gap:12px;align-items:center}
.driver-card img{width:62px;height:62px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex:0 0 auto}

/* --------------------------------- profile ---------------------------------
   Copy-paste parity with the original (theme.css .pf-* / .al-root values):
   page head band, tall cover with the identity block seated inside it,
   trips badge, feature + trust pill rows, and the white Book Your Ride
   card overlapping the cover tail (book-zone -104px). */
.profile-wrap{margin:0 -14px}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 0}
.page-head .ph-title{font-size:1.12rem;font-weight:800;color:var(--text)}
.back-btn{width:38px;height:38px;display:grid;place-items:center;background:rgba(6,6,6,.55);
  border:1px solid rgba(255,255,255,.22);border-radius:12px;color:#fff;flex:none}
.back-btn svg{width:22px;height:22px}
[dir="rtl"] .back-btn svg{transform:scaleX(-1)}
.pf-head{position:relative;margin:14px -14px 0}
.pf-cover{position:relative;height:clamp(430px,118vw,580px);display:flex;flex-direction:column;overflow:hidden;
  background-color:#0A0A0A;box-shadow:0 14px 34px rgba(0,0,0,.35)}
.pf-cover img.pf-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pf-cover-shade{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(6,6,6,.97) 0%,rgba(6,6,6,.93) 34%,rgba(6,6,6,.72) 52%,rgba(6,6,6,.38) 68%,rgba(6,6,6,.12) 82%,rgba(6,6,6,0) 100%)}
.pf-trips{position:absolute;z-index:3;top:12px;inset-inline-end:16px;background:var(--gold-o);color:#0A0A0A;
  font-weight:800;font-size:12.5px;line-height:1;border-radius:999px;padding:7px 13px;
  box-shadow:0 6px 16px rgba(0,0,0,.4);white-space:nowrap}
.pf-id{position:relative;z-index:2;margin-top:auto;width:100%;display:flex;flex-direction:column;
  align-items:center;text-align:center;padding:44px 16px 118px}
.pf-avatar{position:relative;width:124px;height:124px;flex:none;border-radius:50%;border:4px solid var(--gold-o);
  background:#0A0A0A;overflow:hidden;display:grid;place-items:center;box-shadow:0 12px 28px rgba(0,0,0,.5)}
.pf-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.pf-namerow{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:4px 12px;margin-top:11px}
/* Profile favourite toggle — the original's .fav-btn in the name row:
   a 34px circle, gold-ring border, 18px heart (outline / filled when on).
   (The plain ★ text button that lived here was a rebuild invention.) */
.pf-namerow .fav-btn{display:inline-grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;
  border:1.5px solid rgba(200,169,106,.45);background:transparent;color:var(--gold);cursor:pointer;padding:0;align-self:center}
.pf-namerow .fav-btn.on{border-color:var(--gold-o);background:rgba(200,169,106,.16);color:var(--gold-o)}
.pf-namerow .fav-btn svg{width:18px;height:18px}
.pf-name{font-size:27px;font-weight:700;color:#fff;line-height:1.1;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.pf-rating{display:flex;align-items:center;gap:5px;font-size:14.5px;font-weight:800;color:#fff;white-space:nowrap;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.pf-rating svg{width:15px;height:15px;color:var(--gold-o)}
.pf-role{font-size:12px;font-weight:700;color:var(--gold-lt);margin:4px 0 0;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.pf-car{font-size:12.5px;color:#DBDBE0;margin:6px 0 0;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.pf-car b,.pf-plate b{color:#fff;font-weight:800}
.pf-plate{font-size:12.5px;color:#DBDBE0;margin:3px 0 0;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.pf-feat{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:100%}
.pf-feat li{display:flex;align-items:center;gap:3px;font-size:9px;font-weight:700;line-height:1.15;color:#E7E7EA;
  background:rgba(6,6,6,.55);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:2px 6px;white-space:nowrap}
.pf-feat svg{width:10px;height:10px;flex:none;color:var(--gold-o)}
.pf-trust{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;align-items:stretch}
.pf-trust li{display:flex;align-items:center;justify-content:center;gap:3px;font-size:8.5px;font-weight:700;line-height:1.15;
  text-align:center;text-wrap:balance;overflow-wrap:break-word;color:#E7E7EA;
  background:rgba(6,6,6,.55);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:2px 5px}
.pf-trust svg{width:9px;height:9px;flex:none;color:var(--gold-o)}
.book-zone{position:relative;z-index:5;margin-top:-104px;padding:0 14px}
.book-card-w{background:#3A3A3E;color:#F5F5F7;border-radius:22px;box-shadow:0 30px 60px rgba(0,0,0,.45);padding:30px 18px 20px;margin:0 auto}
.book-card-w h2{font-family:Manrope,system-ui,sans-serif;font-size:29px;font-weight:800;letter-spacing:-.01em;color:#F5F5F7;margin:0}
.book-card-w .lede{color:#A3A3A3;font-size:15.5px;margin:6px 0 20px}
.svc-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:8px;margin-bottom:12px}
.svc-mini{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  border:1.5px solid #55555A;background:#2C2C2F;border-radius:11px;padding:6px 4px 5px;color:#F5F5F7;
  text-align:center;height:100%;transition:border-color .15s,background .15s,box-shadow .15s}
.svc-mini .ic{display:grid;place-items:center;width:20px;height:20px;flex:none;color:var(--gold-d)}
.svc-mini .ic svg{width:20px;height:20px}
.svc-mini .lbl-s{font-size:.66rem;font-weight:800;line-height:1.12;overflow-wrap:break-word}
.svc-mini .check{position:absolute;top:5px;inset-inline-end:5px;width:17px;height:17px;border-radius:50%;
  background:var(--gold-o);color:#0A0A0A;display:none;place-items:center}
.svc-mini .check svg{width:11px;height:11px}
.svc-mini.sel{background:#1F1F22;border-color:var(--gold-o);box-shadow:0 0 0 1px var(--gold-o)}
.svc-mini.sel .check{display:grid}
.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0}
.fld > label{font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#A3A3A3;display:block;margin:0}
.inp{font-size:16px;color:#F5F5F7;background:#2C2C2F;border:1.5px solid #55555A;border-radius:11px;
  padding:12px 13px;width:100%;max-width:100%;min-width:0;color-scheme:dark;margin:0}
.inp:focus{outline:none;border-color:var(--gold-o);background:#2C2C2F}
select.inp{appearance:auto}
.grid2w{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3w{display:grid;grid-template-columns:1.18fr 1fr .82fr;gap:8px}
.grid2w > *,.grid3w > *{min-width:0}
.seg-w{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.seg-w button{font-size:14.5px;font-weight:700;padding:11px;border-radius:11px;border:1.5px solid #55555A;
  background:#2C2C2F;color:#A3A3A3;min-height:2.9rem}
.seg-w button.on{background:#141416;color:#F5F5F7;border-color:#141416}
.meet-line{margin:2px 0 12px;font-size:.85rem;font-weight:700;color:#C8A96A}
.fold-w{border:1.5px solid #55555A;border-radius:14px;margin-top:14px;background:#2C2C2F;padding:0}
.fold-w > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:15px 16px;border-radius:14px;min-height:3rem;color:#F5F5F7}
.fold-w > summary::-webkit-details-marker{display:none}
.fold-w .ttl{font-size:16px;font-weight:800;color:#F5F5F7;display:block}
.fold-w .opt{display:block;font-size:12.5px;font-weight:600;color:#A3A3A3;margin-top:2px}
.fold-w .chev{flex:0 0 auto;color:var(--gold-o);width:20px;height:20px;transition:transform .2s;display:grid;place-items:center}
.fold-w .chev svg{width:100%;height:100%}
.fold-w[open] > summary .chev{transform:rotate(180deg)}
.fold-body{border-top:1px dashed #55555A;padding:12px 14px 14px}
.fold-body .fld{margin-bottom:8px;gap:3px}
.fold-body .fld > label{font-size:11px;letter-spacing:.03em}
.fold-body .inp{padding:7px 10px;font-size:15px;border-radius:9px}
.fold-body input[type="date"].inp,.fold-body input[type="time"].inp{padding:7px 4px;font-size:12.5px}
.td-open{border:1.5px solid #55555A;border-radius:14px;margin-top:14px;background:#2C2C2F}
.td-open .td-head{padding:11px 14px 0}
.td-open .td-head .ttl{font-size:16px;font-weight:800;color:#F5F5F7;display:block}
.td-open .td-head .opt{display:block;font-size:12.5px;font-weight:600;color:#A3A3A3;margin-top:2px}
.td-open .fold-body{border-top:0;padding-top:8px}
.pkg-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:4px 0 10px}
.pkg-strip > *{min-width:0}
.pkg-b{border:1.5px solid #55555A;background:#2C2C2F;border-radius:8px;padding:6px 1px 5px;text-align:center;color:#F5F5F7}
.pkg-b b{display:block;font-size:12.5px;font-weight:800}
.pkg-b span{display:block;font-size:10.5px;font-weight:700;color:#A3A3A3;margin-top:1px}
.pkg-b.sel{background:#1F1F22;border-color:var(--gold-o)}
/* Date/time inputs: LTR + bidi-isolated everywhere (owner defect
   2026-11-13 22:34: on his Arabic-locale device the native controls
   scrambled the digit order inside the EN UI — "11202€", "112026/11/",
   "1:34 م"). Same bidi family as the vault date inputs' dir="ltr";
   this rule also covers inputs rendered without the attribute. */
input[type="date"],input[type="time"]{direction:ltr;unicode-bidi:isolate}
.stepper-w{display:flex;align-items:stretch;gap:8px}
.stepper-w button{width:52px;border-radius:11px;border:1.5px solid #55555A;background:#2C2C2F;font-size:22px;font-weight:800;color:#F5F5F7;min-height:2.9rem}
.stepper-w output{flex:1;display:flex;align-items:center;justify-content:center;background:#2C2C2F;
  border:1.5px solid #55555A;border-radius:11px;font-size:17px;font-weight:800;padding:11px;color:#F5F5F7}
.get-price-btn{width:100%;border:0;border-radius:999px;padding:12px 16px;margin-top:6px;font-size:1rem;font-weight:800;
  color:var(--ink-gold);background:var(--gold);box-shadow:0 10px 24px rgba(200,169,106,.3)}
.book-card-w .price-box{margin-top:20px;border:1.5px solid var(--gold-o);border-radius:14px;background:#2C2C2F;padding:18px 18px 14px}
.book-card-w .price-line{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px dashed #55555A;font-size:14.5px;color:#F5F5F7}
.book-card-w .price-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:12px 0 2px;
  font-size:16px;font-weight:800;color:#F5F5F7;border-top:0;margin-top:0}
.book-card-w .price-total span:last-child{font-family:"Playfair Display",serif;font-size:30px}
.book-card-w label{color:#A3A3A3}
.book-card-w .muted{color:#A3A3A3}
.reviews-card{background:#fff;color:#151517;border-radius:22px;box-shadow:0 30px 60px rgba(0,0,0,.45);
  padding:26px 20px 10px;margin:16px auto 30px}
.reviews-card h3{font-family:Manrope,system-ui,sans-serif;font-size:25px;font-weight:800;letter-spacing:-.01em;color:#151517;margin:0 0 4px}
.pf-review{padding:15px 0 17px}
.pf-review + .pf-review{border-top:1px solid #E8E8EB}
.pf-review .r-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pf-review .r-name{font-size:16.5px;font-weight:800;color:#151517}
.pf-review .r-stars{color:var(--gold-o);letter-spacing:2px}
.pf-review .r-comment{margin:7px 0 0;font-size:14.5px;line-height:1.55;color:#404046}
.off-banner{margin:0 0 12px;background:var(--red-bg);border:1px solid var(--red);color:#ff9a8a;
  border-radius:12px;padding:10px 13px;font-weight:700;font-size:13.5px;text-align:center}
.book-card-w label{text-transform:none;letter-spacing:0;font-size:13.5px}
.book-card-w .fld > label{font-size:12.5px;letter-spacing:.04em;text-transform:uppercase}
.book-card-w .fold-body .fld > label{font-size:11px;letter-spacing:.03em}
.book-card-w h4{color:#F5F5F7;margin:16px 0 8px}
.book-card-w select#tipSel{background:#2C2C2F;border:1.5px solid #55555A;color:#F5F5F7;color-scheme:dark;border-radius:11px;width:100%;padding:10px 12px;margin:5px 0 11px}
.book-card-w input[type="radio"]{accent-color:var(--gold-d);width:auto}
.book-card-w .inp::placeholder,.home-book .hb-input::placeholder,.bk-white .booking-item textarea::placeholder{color:#A3A3A3}
.book-card-w .btn{background:var(--gold);color:var(--ink-gold);border-radius:999px}

/* Booking-card parity with the original app (owner's side-by-side screenshots,
   2026-11-13): the light pill One way / By the hour toggle (.tt-row reusing
   .hb-seg) with the Cars pill beside it on Occasions/Events, the multi-car
   driver pickers, the automatic price box (car + route + Total only), the
   payment step, the trip-at-a-glance box and the gold Confirm button the
   card ends with. Values copied from the original's theme.css. */
.tt-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px}
.tt-row .hb-seg{width:auto;flex:0 1 auto;min-width:0;margin:0;height:40px;align-items:stretch;padding:3px}
.tt-row .hb-seg button{display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;padding:4px 11px}
.tt-row .hb-seg button.on{box-shadow:inset 0 1px 3px rgba(0,0,0,.28)}
.cars-pill-wrap{position:relative;display:inline-flex;flex:0 0 auto}
.cars-pill{display:inline-flex;align-items:center;gap:5px;height:40px;padding:0 15px;border-radius:999px;
  border:1px solid #55555A;background:#2C2C2F;color:#A3A3A3;font-size:.85rem;font-weight:800;line-height:1;
  cursor:pointer;white-space:nowrap}
.cars-pill:focus-visible{outline:2px solid var(--gold-o);outline-offset:2px}
.cars-pill-ic{display:inline-flex;width:18px;height:18px;color:#C8A96A}
.cars-pill-ic svg{width:100%;height:100%}
.cars-pop{position:absolute;top:calc(100% + 6px);inset-inline-end:0;display:flex;flex-direction:column;
  align-items:stretch;gap:6px;padding:8px;background:#3A3A3E;border:1px solid #55555A;border-radius:12px;
  box-shadow:0 12px 28px rgba(21,21,23,.18);z-index:40}
.cars-pop-title{display:block;font-size:.8rem;font-weight:800;color:#F5F5F7;text-align:center;white-space:nowrap;padding:1px 4px 0}
.cars-pop-nums{display:flex;gap:5px;justify-content:center}
.cars-pop-num{width:34px;height:30px;padding:0;border-radius:8px;border:1.5px solid #55555A;background:#2C2C2F;
  color:#A3A3A3;font-size:.9rem;font-weight:800;cursor:pointer}
.cars-pop-num.sel{border-color:var(--gold-o);background:rgba(200,169,106,.16);color:#C8A96A}
.multi-block{margin-top:4px;margin-bottom:12px}
.multi-heading{margin:0 0 8px;font-size:.95rem;font-weight:800;color:#F5F5F7}
.multi-line{display:flex;justify-content:space-between;gap:10px;margin:0 0 10px;font-size:.88rem;color:#A3A3A3}
.multi-line b{color:#F5F5F7}
.al-price-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.al-price-head .ttl{font-size:18px;font-weight:800;color:#F5F5F7;margin:0}
.al-price-head .veh-name{font-size:13px;font-weight:700;color:#A3A3A3}
.al-route-meta{margin:6px 0 0;font-size:14px;font-weight:700;color:#F5F5F7}
.al-bd-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:12px 0 2px;
  font-size:16px;font-weight:800;color:#F5F5F7}
.al-bd-total span:last-child{font-family:"Playfair Display",Georgia,serif;font-size:30px}
.final-price-line{margin:6px 0 0;font-size:.78rem;color:#A3A3A3;text-align:center}
.al-bd-row{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px dashed #55555A;
  font-size:14.5px;color:#F5F5F7}
.al-bd-row span:last-child{font-weight:700;white-space:nowrap}
.pay-box{margin-top:16px;border-top:1px dashed #55555A;padding-top:14px}
.pay-title{font-weight:800;font-size:1.02rem;margin:0 0 10px;color:#F5F5F7}
.pay-opts{display:grid;gap:9px}
.pay-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:start;
  border:1.5px solid #55555A;background:#2C2C2F;border-radius:11px;padding:12px 14px;cursor:pointer;
  min-height:3.4rem;transition:border-color .15s,background .15s;color:#F5F5F7}
.pay-opt .pay-opt-txt{display:grid;gap:2px;min-width:0}
.pay-opt .pay-opt-txt b{font-size:15.5px;font-weight:800;color:#F5F5F7}
.pay-opt .pay-opt-txt span{font-size:13px;color:#A3A3A3}
.pay-opt .pay-opt-amt{font-size:16px;font-weight:800;color:#F5F5F7;white-space:nowrap}
.pay-opt.sel{background:#1F1F22;border-color:var(--gold-o)}
.pay-opt:disabled{opacity:.5;cursor:not-allowed}
.pay-note{margin:10px 0 0;font-size:13.5px;line-height:1.45;color:#C8A96A;background:#2C2C2F;
  border:1px solid rgba(200,169,106,.45);border-radius:10px;padding:9px 11px}
.pay-tips{display:flex;gap:8px;flex-wrap:wrap}
.pay-chip{border:1.5px solid #55555A;background:#2C2C2F;color:#F5F5F7;border-radius:999px;padding:9px 16px;
  font-size:14.5px;font-weight:800;cursor:pointer;min-height:2.7rem;transition:border-color .15s,background .15s}
.pay-chip.sel{background:#1F1F22;border-color:var(--gold-o)}
.trip-glance{margin:14px 0 4px;padding:12px 14px;border:1px solid #55555A;border-radius:14px;background:rgba(200,169,106,.06)}
.tg-line{font-size:.85rem;color:#A3A3A3;line-height:1.5}
.tg-main{color:#F5F5F7;font-weight:800;font-size:.92rem}
.tg-foot{display:flex;justify-content:space-between;gap:10px;margin-top:4px}
.tg-total{color:#C8A96A;font-weight:800}
.cta-book-ol{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;font-size:17.5px;
  font-weight:800;color:#0A0A0A;background:#C8A96A;border:none;border-radius:14px;
  padding:15px 13px;cursor:pointer;box-shadow:0 12px 26px rgba(200,169,106,.38);min-height:3.5rem;margin-top:14px}
.cta-book-ol:active{transform:translateY(1px)}
.cta-book-ol:disabled{opacity:.65;cursor:default}
.cta-book-ol .ck{display:grid;width:21px;height:21px;flex:none}
.cta-book-ol .ck svg{width:100%;height:100%}

/* --------------------------------- bookings -------------------------------- */
.booking{border:1px solid var(--line);border-radius:14px;padding:12px;margin:9px 0;background:var(--ink)}
.booking.next{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.count-strip{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px;font-weight:800;color:var(--gold-lt);font-size:13.5px}
.count-strip.alert{color:#ffb59d}
.leave-line{font-size:12.5px;color:var(--muted);font-weight:700;margin-top:3px}
.status-pills{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
.status-pills button{flex:1;border:1.5px solid var(--line);background:var(--ink);color:var(--muted);
  border-radius:999px;padding:8px 4px;font-weight:700;font-size:13px}
.status-pills button.on{border-color:var(--gold);color:var(--gold-lt)}

/* --------------------------------- calendar -------------------------------- */
.cal-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 8px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-grid .dow{text-align:center;font-size:11px;color:var(--muted);font-weight:800;padding:3px 0}
/* Day detail under the grid — the original's .cal-day is a plain section
   (margin + hairline top border + padding), NOT a bordered box. The boxed
   min-height:40px rule that lived here was the old Stage-A cell design;
   no markup uses those cell classes any more. */
.cal-day{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}

/* --------------------------------- tracking -------------------------------- */
.track-top{position:relative;z-index:3;margin:10px 0}
.track-map{height:46dvh;border-radius:18px;overflow:hidden;background:#141415;border:1px solid var(--line);position:relative}
.track-map .nomap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted)}
.track-map .pulse{width:18px;height:18px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(200,169,106,.6);animation:pulse 1.6s infinite}
@keyframes pulse{to{box-shadow:0 0 0 22px rgba(200,169,106,0)}}
.eta-strip{display:flex;justify-content:center;gap:8px;background:var(--card2);border:1px solid var(--gold);
  border-radius:999px;padding:8px 12px;font-weight:800;color:var(--gold-lt);margin:10px 0}
.track-driver{display:flex;gap:12px;align-items:center}
.track-driver img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2.5px solid var(--gold)}

/* Drivers list parity (original theme.css values): the whole card is the
   tap target (no Book button), translucent card with gold-tinted border,
   solid-gold "Available today" pill, rating · trips meta line, gold
   chevron, and the "Available on" date/time filter row. */
.driver-card{width:100%;display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.07);
  border:1px solid rgba(200,169,106,.28);border-radius:18px;padding:14px;color:var(--text);
  text-align:start;font:inherit;cursor:pointer}
.driver-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2px solid var(--gold-o);flex:none}
.driver-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.driver-name{font-size:1.08rem;font-weight:800;line-height:1.3}
.driver-car{font-size:.84rem;color:#A3A3A3;line-height:1.3}
.driver-meta{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#A3A3A3;margin-top:2px;flex-wrap:wrap}
.rating{display:inline-flex;align-items:center;gap:4px;color:var(--gold);font-weight:800}
.rating svg{width:14px;height:14px}
.driver-card .chev{width:20px;height:20px;color:var(--gold-o);flex:none;display:grid}
.driver-card .chev svg{width:100%;height:100%}
[dir="rtl"] .driver-card .chev{transform:scaleX(-1)}
.status-pill{font-size:.64rem;font-weight:800;color:#C8A96A;background:rgba(200,169,106,.14);
  border:1px solid rgba(200,169,106,.28);border-radius:999px;padding:1px 7px;flex:none}
.status-pill.unavail{color:#ffb3b3;background:rgba(176,42,42,.18);border-color:#d66}
.status-pill.avail{color:#0A0A0A;background:#C8A96A;border-color:#C8A96A}
.fav-mark{display:inline-flex;align-items:center;gap:4px;color:var(--gold-o);font-weight:700}
.fav-mark svg{width:100%;height:100%}
.page-sub{margin:0 0 14px;font-size:.85rem;color:#A3A3A3}
/* "Available on" filter row — small + slim controls (owner order 2026-11-13
   ~19:41: «صعرهم وخليهم صغار ونحاف»): compact heights/widths, label flex:none
   and both inputs min-width:0 so the label never clips in LTR or RTL. */
.drivers-filter{display:flex;align-items:center;gap:7px;margin:4px 0 12px;max-width:100%}
.drivers-filter label{font-size:.82rem;font-weight:700;white-space:nowrap;flex:none;color:var(--text);text-transform:none;letter-spacing:0}
.drivers-filter input{flex:0 1 140px;min-width:0;width:auto;margin:0;background:rgba(6,6,6,.65);
  border:1px solid rgba(163,163,163,.35);border-radius:10px;padding:5px 9px;font-size:.82rem;
  min-height:2.1rem;color-scheme:dark}
.drivers-filter input[type=time]{flex-basis:106px}
.drivers-filter input:focus{outline:2px solid var(--gold-o);outline-offset:1px;border-color:var(--gold-o)}
.drivers-filter .df-clear{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;padding:0}
.drivers-filter-note{font-size:.85rem;color:#A3A3A3;margin:-4px 0 12px}
.small-btn{border:1px solid var(--gold-o);background:transparent;color:var(--gold);border-radius:999px;
  padding:7px 16px;font-size:.85rem;font-weight:800;min-height:2.4rem;cursor:pointer}

/* Status banner + standalone booking page (original theme.css / Booking.tsx):
   ⛔ closed / ✈ traveling / 🏖 off-today banner, and the summary chip that
   heads the standalone booking card. */
.status-banner{margin-top:12px;border-radius:14px;padding:12px 14px;font-weight:800;font-size:.95rem;
  text-align:center;background:rgba(176,42,42,.16);border:1.5px solid #d66;color:#ffb3b3}
.status-banner.travel{background:rgba(200,169,106,.14);border-color:var(--gold-o);color:var(--gold)}
.book-zone .status-banner{margin:0 0 12px}
.book-card-w.standalone{padding:30px 30px 26px;max-width:880px;margin-top:12px}
.summary-chip{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.07);border:1px solid rgba(200,169,106,.28);
  border-radius:18px;padding:11px 13px;margin-bottom:12px;color:#151517}
.summary-chip img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2px solid var(--gold-o);flex:none}
.summary-chip .sc-name{font-size:.98rem;font-weight:800;line-height:1.3}
.summary-chip .sc-sub{font-size:.8rem;color:#5D5D61;line-height:1.3}

/* Profile below-card sections (original theme.css .al-root values):
   About block, cancellation fold with the three policy cards, and the
   Recent Reviews white card (stars + name + date row). */
.block-ol{padding:46px 0 4px}
.block-ol h2{font-family:"Playfair Display",serif;font-size:clamp(25px,6.4vw,32px);font-weight:600;color:#fff;line-height:1.15;margin:0}
.about-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:18px;background:#141416;
  border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:18px 14px}
.about-txt h3{font-family:Manrope,system-ui,sans-serif;font-size:20px;color:#fff;font-weight:600;margin:0}
.about-txt p{color:#A3A3A3;line-height:1.7;font-size:13.5px;margin:8px 0 0}
.about-txt .about-lede{color:#E9E9EC;font-size:13.5px;font-weight:600;margin:7px 0 0}
.about-points{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.about-points li{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;color:#E0E0E4}
.more-ol>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;
  color:#C8A96A;font-weight:800;font-size:13.5px;margin-top:11px;min-height:2.2rem}
.more-ol>summary::-webkit-details-marker{display:none}
.more-ol>summary .chev{transition:transform .2s;width:18px;height:18px;display:grid}
.more-ol>summary .chev svg{width:100%;height:100%}
.more-ol[open]>summary .chev{transform:rotate(180deg)}
.fold-ol{border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#141416}
.fold-ol>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:20px 22px;border-radius:18px;min-height:3rem}
.fold-ol>summary::-webkit-details-marker{display:none}
.fold-title-ol{font-family:"Playfair Display",Georgia,serif;font-size:clamp(24px,4vw,30px);font-weight:600;color:#fff;display:block}
.fold-sub-ol{display:block;font-family:Manrope,sans-serif;font-size:13.5px;font-weight:600;color:#A3A3A3;margin-top:4px}
.fold-ol>summary .chev{flex:0 0 auto;color:var(--gold-o);transition:transform .2s;width:22px;height:22px;display:grid}
.fold-ol>summary .chev svg{width:100%;height:100%}
.fold-ol[open]>summary .chev{transform:rotate(180deg)}
.fold-body-ol{padding:2px 22px 22px}
.policy-grid{display:grid;grid-template-columns:1fr;gap:14px}
.policy{background:#141416;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px 18px}
.policy .when{font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#C8A96A}
.policy .amt{font-family:"Playfair Display",Georgia,serif;font-size:31px;color:#fff;margin:9px 0 7px}
.policy p{color:#A3A3A3;font-size:14.5px;line-height:1.6;margin:0}
.policy-note{color:#A3A3A3;font-size:14px;margin-top:16px}
/* Latest-reviews card compacted (owner order 2026-11-13: «صغره خليه صغير
   ولطيف» — small and neat, ~75–80% of the previous visual weight). CSS-only:
   same reviews, stars, names, dates, texts, order. Profile page only —
   the .reviews-card block above is a different surface and is untouched. */
.pf-reviews-block{padding-bottom:24px}
.pf-reviews-card{background:#fff;color:#151517;border-radius:18px;box-shadow:0 30px 60px rgba(0,0,0,.45);
  padding:18px 20px 6px;max-width:880px;margin:0 auto}
.pf-reviews-card h2{font-family:Manrope,system-ui,sans-serif;font-size:20px;font-weight:800;letter-spacing:-.01em;color:#151517;margin:0 0 2px}
.pf-reviews-card .pf-review{padding:10px 0 11px}
.pf-reviews-card .pf-review + .pf-review{border-top:1px solid #E8E8EB}
.pf-review-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pf-rev-stars{display:inline-flex;gap:2px;color:var(--gold-o)}
.pf-rev-star{width:13px;height:13px;display:grid;place-items:center}
.pf-rev-star svg{width:13px;height:13px}
.pf-rev-star.off{color:#D9D9DE}
.pf-review-name{font-size:14px;font-weight:800;color:#151517}
.pf-review-date{margin-inline-start:auto;font-size:11.5px;font-weight:600;color:#949494;white-space:nowrap}
.pf-review-comment{margin:5px 0 0;font-size:13px;line-height:1.5;color:#404046}

/* My Bookings cards (original theme.css .booking-item values): compact
   translucent cards, head row (service · status pill · gold price),
   .76rem lines, 2-line route clamp that expands on tap, meeting-point
   card, inline star rating, tight .small-btn action row. */
.booking-item{background:rgba(255,255,255,.07);border:1px solid rgba(200,169,106,.28);border-radius:18px;padding:8px 10px;margin-bottom:8px}
.booking-item .b-head{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px}
.booking-item .b-service{font-weight:800;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.booking-item .b-line{font-size:.76rem;color:#A3A3A3;line-height:1.3}
.booking-item .b-route{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;cursor:pointer}
.booking-item .b-route.open{display:block;-webkit-line-clamp:unset;overflow:visible}
.booking-item .b-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:5px}
.booking-item .small-btn{padding:4px 11px;font-size:.76rem;min-height:1.9rem;text-decoration:none;display:inline-grid;place-items:center}
.booking-item .b-price{font-size:.92rem;font-weight:800;color:var(--gold)}
.booking-item .status-pill.confirmed{color:#146c2e;background:rgba(31,170,83,.15);border-color:rgba(31,170,83,.5)}
.booking-item .rated-stars{font-size:.82rem;letter-spacing:1px;color:var(--gold-o)}
.booking-item .stars-input{gap:3px;margin:5px 0}
.booking-item .stars-input button svg{width:22px;height:22px}
.stars-input{display:flex;gap:6px;margin:8px 0;direction:ltr}
.stars-input button{background:transparent;border:0;padding:2px;min-height:2rem;color:rgba(163,163,163,.5);cursor:pointer}
.stars-input button svg{width:30px;height:30px}
.stars-input button.on{color:var(--gold-o)}
.meet-card{margin-top:6px;padding:7px 10px;border:1.5px solid rgba(200,169,106,.6);border-radius:10px;background:rgba(200,169,106,.08)}
.meet-card-title{font-size:.72rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.04em}
.meet-card-body{font-size:.85rem;font-weight:800;color:var(--text);margin-top:2px}
.meet-card-driver{font-size:.76rem;color:#A3A3A3;margin-top:1px}
.empty-box{text-align:center;color:#A3A3A3;padding:34px 16px;font-size:.92rem}
.empty-box svg{width:44px;height:44px;color:var(--gold-o);opacity:.7;margin-bottom:8px}
.brand-inline{display:flex;align-items:center;gap:8px}

/* FAQ + About (original theme.css values): accordion cards, rate-group
   panels, check lists, brand lockup. */
.faq-item{border:1px solid rgba(163,163,163,.35);border-radius:14px;background:rgba(6,6,6,.65);margin-bottom:10px;overflow:hidden}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:none;border:none;color:var(--text);font-size:.95rem;font-weight:800;text-align:start;cursor:pointer;min-height:3rem}
.faq-chev{display:grid;place-items:center;width:18px;height:18px;color:var(--gold-o);flex:none;transition:transform .2s}
.faq-chev.open{transform:rotate(180deg)}
.faq-chev svg{width:100%;height:100%}
.faq-a{margin:0;padding:0 16px 15px;font-size:.9rem;line-height:1.65;color:#C5C5CB}
.rate-group{background:rgba(255,255,255,.07);border:1px solid rgba(200,169,106,.28);border-radius:18px;padding:12px 14px;margin-bottom:10px}
.rate-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:6px 0;font-size:.88rem}
.rate-row + .rate-row{border-top:1px dashed rgba(163,163,163,.18)}
.terms-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.terms-list li{display:flex;gap:10px;font-size:.92rem;line-height:1.55;color:var(--text)}
.note-line{font-size:.8rem;color:#A3A3A3;margin-top:7px;line-height:1.45}
.info-section{margin-top:22px}
.info-section > h3{margin:0 0 10px;font-size:1.02rem;font-weight:800;color:var(--gold)}
.brand-lockup-wrap{display:flex;justify-content:center;margin:12px 0 2px}
.brand-lockup-text{display:inline-flex;align-items:center;gap:12px}
.brand-lockup-text-col{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.brand-lockup-text-name{font-family:Manrope,system-ui,sans-serif;font-size:1.85rem;font-weight:900;letter-spacing:.01em;line-height:.82;color:var(--gold);white-space:nowrap}
.brand-lockup-text-word{font-family:"Playfair Display",serif;font-size:1.05rem;font-weight:700;letter-spacing:.3em;line-height:.8;color:#fff;white-space:nowrap}
.brand-lockup-rule{display:block;width:100%;height:1px;margin:0;
  background:linear-gradient(90deg,rgba(200,169,106,.9),rgba(200,169,106,.3))}
.brand-lockup-text-sub{font-family:"Playfair Display",serif;font-size:.64rem;font-weight:600;letter-spacing:.26em;line-height:1.2;color:var(--gold-lt);white-space:nowrap}

/* Pass 8 — home footer links, Policies folds, white My-Bookings scope. */
.home-foot{margin-top:34px;padding:20px 4px 12px;border-top:1px solid rgba(200,169,106,.25);display:flex;flex-direction:column;align-items:center;gap:13px;text-align:center}
.home-foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px}
.home-foot-links button{background:none;border:0;padding:6px 2px;font-size:.85rem;font-weight:700;color:#A3A3A3;cursor:pointer;min-height:2.2rem}
.home-foot-links button:active{color:var(--gold-b)}
.rate-row .v{font-weight:800;color:var(--gold);white-space:nowrap}
.terms-list li.key-term{background:rgba(200,169,106,.14);border:1.5px solid var(--gold-o);border-radius:12px;padding:12px 13px;font-size:1rem;font-weight:800;color:#fff;align-items:flex-start}
.fold-p{background:rgba(255,255,255,.07);border:1px solid rgba(200,169,106,.28);border-radius:18px;margin-top:14px;margin-bottom:12px}
.fold-p summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;min-height:3rem;cursor:pointer}
.fold-p summary::-webkit-details-marker{display:none}
.fold-p .f-title{font-size:1rem;font-weight:800;color:var(--gold);line-height:1.3;display:block}
.fold-p .f-sub{font-size:.8rem;color:#A3A3A3;margin-top:1px;line-height:1.4;display:block}
.fold-p .f-chev{width:20px;height:20px;color:var(--gold-o);display:grid;flex:none;transition:transform .2s ease}
.fold-p[open ] .f-chev{transform:rotate(180deg)}
.fold-p-body{border-top:1px dashed rgba(163,163,163,.18);padding:12px 14px 14px}
.fold-p-body .rate-group{margin-bottom:0}
/* The original's customer bookings zone is WHITE cards (#viewAccount). */
.bk-white .booking-item{background:#3A3A3E;color:#F5F5F7;border:none;border-radius:14px;box-shadow:0 10px 22px rgba(0,0,0,.28);padding:9px 11px}
.bk-white .booking-item .b-line{color:#A3A3A3}
.bk-white .booking-item .b-price{color:#F5F5F7;font-family:"Playfair Display",serif;font-size:1rem}
.bk-white .booking-item .status-pill{color:#C8A96A;background:rgba(200,169,106,.16);border-color:rgba(200,169,106,.5)}
.bk-white .booking-item .status-pill.confirmed{color:#146c2e;background:rgba(31,170,83,.15);border-color:rgba(31,170,83,.5)}
.bk-white .booking-item .small-btn{border-color:#C8A96A;color:#C8A96A}
.bk-white .meet-card-body{color:#F5F5F7}
.bk-white .meet-card-driver{color:#A3A3A3}
.bk-white .booking-item textarea{background:#2C2C2F;border-color:#55555A;color:#F5F5F7;color-scheme:dark}
.fav-btn{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(200,169,106,.5);background:transparent;color:#C8A96A;display:grid;place-items:center;cursor:pointer;padding:0}
.fav-btn svg{width:18px;height:18px}
.fav-btn.on{color:#C8A96A}

/* Account (original CustomerAuth values): gold-label fields, dark
   inputs, tab pill active state, inline error line, identity card. */
.field{margin-bottom:12px}
.field label{display:block;font-size:.82rem;font-weight:700;color:var(--gold);margin-bottom:5px}
.input{width:100%;background:rgba(6,6,6,.65);border:1px solid rgba(163,163,163,.35);border-radius:12px;padding:11px 12px;font-size:.95rem;min-height:2.75rem;color:var(--text);color-scheme:dark}
.input:focus{outline:2px solid var(--gold-o);outline-offset:1px}
.acct-tab.on{background:var(--gold-o);border-color:var(--gold-o);color:#0A0A0A}
.route-status.err{color:#e88;font-size:.85rem;margin:0 0 8px}
.id-card{display:flex;align-items:center;gap:10px}
.ltr{direction:ltr;unicode-bidi:isolate}

/* ============================ driver dashboard ============================ */
/* The original's .dash-al scope: navy-2 panels, white pills/cards, gold
   accents — every value from Dashboard.tsx/theme.css via the diff. */
.dash{padding-bottom:8px}
.dash-top-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0 12px}
.dash-top-row .dn{font-size:1.05rem}
.dash-gear-btn{display:inline-flex;align-items:center;gap:7px;background:#141416;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 15px;min-height:2.6rem;font-size:14.5px;font-weight:800;color:#fff;cursor:pointer}
.dash-ico-btn{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;flex:none;background:#141416;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:0;color:var(--gold);cursor:pointer}
.dash-ico-btn svg{width:20px;height:20px}
.dash-driver-card{display:flex;gap:14px;align-items:center;background:#141416;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:24px 22px}
.dash-driver-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:3px solid var(--gold-o);flex:none}
.dash-driver-card .driver-name{font-size:1.08rem;font-weight:800;line-height:1.3}
.dash-driver-card .driver-car{font-size:.84rem;color:#A3A3A3}
.dash-driver-card .meta1{font-size:.8rem;color:#A3A3A3;margin-top:2px}
.dash-driver-card .meta1 .rating{color:var(--gold-lt);font-weight:800}
.dash-driver-card .meta1 .rating svg{width:14px;height:14px;vertical-align:-2px}
.dash-driver-card .meta2{font-size:.8rem;color:#A3A3A3;margin-top:2px}
.dash-status-pills{display:flex;gap:6px;margin-top:10px}
.dash-status-pills button{flex:1;border:1.5px solid #E4E4E7;background:#fff;color:#5D5D61;border-radius:999px;padding:4px 6px;font-size:11.5px;font-weight:700;min-height:1.65rem;cursor:pointer}
.dash-status-pills button.active{background:#141416;color:#fff;border-color:#141416}
.dash-status-pills button.active.off{background:#a12b2b;border-color:#a12b2b}
.dash-status-pills .dayoff-pill{border-style:dashed;background:transparent;color:#A3A3A3;border-color:rgba(163,163,163,.5)}
.dash-status-pills .dayoff-pill.open{background:rgba(200,169,106,.22);color:var(--gold-lt);border-color:var(--gold-o);border-style:solid}
.book-card-w{background:#3A3A3E;color:#F5F5F7;border-radius:22px;box-shadow:0 30px 60px rgba(0,0,0,.45);padding:22px 18px 18px}
/* The profile + standalone BOOKING cards keep the original .book-card
   padding (30px 30px 26px) — the 22/18/18 above serves the dashboard's
   white panels. The profile zone drops its second 14px gutter (the
   original's .wrap-ol.pf-book-zone zeroes it: the card's only side
   margin is the page's 14px), and the standalone card takes the
   original wrap's 14px as a side margin (page 14 + wrap 14 = the
   original's 28px card inset on the booking page). */
.book-zone .book-card-w,.book-card-w.standalone{padding:30px 30px 26px}
.book-zone.pf-book-zone{padding:0}
/* Owner order 2026-11-13 (~17:53): the driver profile's white sheet
   shrinks a bit from the screen edges — +10px side inset on the profile
   book-zone only. Scoped via #bookingCard (unique to renderProfile):
   the vault person page shares .pf-book-zone but holds .vault-doc
   boxes, so it keeps padding:0. */
.book-zone.pf-book-zone:has(> #bookingCard){padding:0 10px}
/* Booking-card SIZE parity with the original app (owner order 2026-11-13
   ~19:47: «خليه صغير مثل التطبيق حقك» — his side-by-side showed the
   rebuild's card roomier than the original's). Values copied from the
   original's theme.css, including its responsive cascade — base
   30px 30px 26px is already above; the original then steps the card
   down at 1020 / 860 / 640 and the title at 400:
     <=1020  padding 28px 24px 24px
     <=860   padding 24px 18px 20px, radius 18px, h2 25px, lede 14.5px
     <=640   padding 22px 16px 18px
     <=400   h2 23px
   The profile zone's owner-ordered +10px side inset (0b10cba, above)
   is a LATER owner order and stays untouched. */
@media (max-width:1020px){.book-zone .book-card-w,.book-card-w.standalone{padding:28px 24px 24px}}
@media (max-width:860px){.book-zone .book-card-w,.book-card-w.standalone{padding:24px 18px 20px;border-radius:18px}.book-card-w h2{font-size:25px}.book-card-w .lede{font-size:14.5px}}
@media (max-width:640px){.book-zone .book-card-w,.book-card-w.standalone{padding:22px 16px 18px}}
@media (max-width:400px){.book-card-w h2{font-size:23px}}
/* The original's in-card form fields sit in .addr-compact — the compact
   field set (input padding 7px 10px, font 15px, radius 9px; label 11px;
   field gap 3px / margin-bottom 8px; the airport direction seg at
   padding 7px 8px, font 13.5px, radius 9px, no min-height; the meeting
   line at .78rem). The rebuild's top-level booking fields are the direct
   children of #bfFields (the Trip Details fold body already carries the
   same compact values via .fold-body), so the compact set is scoped to
   exactly those children — nothing outside the booking form changes. */
#bfFields > .fld,#bfFields > .grid2w > .fld{gap:3px;margin-bottom:8px}
#bfFields > .fld > label,#bfFields > .grid2w > .fld > label{font-size:11px;letter-spacing:.03em}
#bfFields > .fld .inp,#bfFields > .grid2w > .fld .inp{padding:7px 10px;font-size:15px;border-radius:9px}
#bfFields > .grid2w{gap:8px}
#bfFields > .seg-w{margin-bottom:8px}
#bfFields > .seg-w button{padding:7px 8px;min-height:0;font-size:13.5px;border-radius:9px}
#bfFields > .meet-line{margin:1px 0 8px;font-size:.78rem;line-height:1.3}
.book-card-w.standalone{margin:0 14px}
.book-card-w .small-btn{background:#2C2C2F;border:1.5px solid #55555A;color:#F5F5F7;border-radius:999px;padding:9px 15px;font-size:14px;min-height:2.4rem}
.book-card-w .small-btn.wide-save{width:100%;border-color:#F5F5F7;border-radius:14px;padding:13px;font-size:16px;min-height:3.2rem}
.book-card-w .input{background:#F5F5F7;border:1.5px solid #E4E4E7;color:#151517;color-scheme:light;border-radius:11px;padding:12px 13px;font-size:16px}
.book-card-w .input:focus{border-color:var(--gold-o);background:#fff;outline:none}
.dayoff-panel{margin-top:10px}
.rate-group.light{background:#F5F5F7;border:1px solid #E4E4E7;border-radius:18px;padding:12px 14px}
.dayoff-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.9rem}
.wd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.wd-chip{padding:7px 11px;border-radius:999px;border:1.5px solid rgba(163,163,163,.35);background:#fff;font-size:.82rem;font-weight:700;cursor:pointer;color:#151517}
.wd-chip.sel{border-color:var(--gold-o);background:rgba(200,169,106,.14);color:#C8A96A}
.mini-switch{width:36px;height:21px;border-radius:999px;border:1.5px solid #C9C9CE;background:#E8E8EC;position:relative;cursor:pointer;flex:none;padding:0;transition:background .15s,border-color .15s}
.mini-knob{position:absolute;top:2px;inset-inline-start:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,15,17,.35);transition:transform .15s}
.mini-switch.on{background:#C8A96A;border-color:#C8A96A}
.mini-switch.on .mini-knob{transform:translateX(15px)}
.rate-group.dash-group{background:#141416;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:24px 22px}
.info-row{display:flex;justify-content:space-between;gap:14px;padding:7px 0;font-size:.9rem}
.info-row + .info-row{border-top:1px dashed rgba(163,163,163,.18)}
.info-row .k{color:#A3A3A3}
.info-row .v{font-weight:700;color:#fff;white-space:nowrap}
.week-bar{height:9px;border-radius:999px;background:rgba(163,163,163,.25);margin:8px 0 4px;overflow:hidden}
.week-bar span{display:block;height:100%;background:#C8A96A;transition:width .3s}
.dash-nav{display:grid;gap:10px;margin-top:16px}
.dash-nav-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1.5px solid rgba(255,255,255,.14);background:#141416;border-radius:14px;padding:13px 15px;min-height:3.1rem;cursor:pointer;color:#fff;text-align:start;width:100%}
.dash-nav-btn.gold{border-color:rgba(200,169,106,.55);background:rgba(200,169,106,.08)}
.dash-nav-btn .df-title{font-size:18.5px;font-weight:800;color:#fff;display:flex;align-items:center;gap:9px}
.dash-nav-btn .df-title svg{width:20px;height:20px;color:var(--gold)}
.dash-nav-btn .df-chev{width:20px;height:20px;color:var(--gold-o);display:grid;flex:none}
.dash-fold{margin-top:34px}
.dash-fold summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 2px 12px;min-height:2.8rem;cursor:pointer}
.dash-fold summary::-webkit-details-marker{display:none}
.dash-fold .df-title{font-size:18.5px;font-weight:800;color:#fff}
.dash-fold .df-chev{width:20px;height:20px;color:var(--gold-o);display:grid;flex:none;transition:transform .2s}
.dash-fold[open ] .df-chev{transform:rotate(180deg)}
.logout-btn{margin-top:16px;width:100%;justify-content:center;background:#fff;border:1.5px solid #E4E4E7;color:#151517;border-radius:999px;padding:9px 15px;font-size:14px;min-height:2.4rem;display:flex}
/* dashboard booking cards */
.booking-item.dash-item{background:#141416;border:1px solid rgba(255,255,255,.12);padding:7px 10px;margin:6px 0 0}
.booking-item.dash-item .b-line{color:#A3A3A3}
.booking-item.dash-item .status-pill{color:#C8A96A;background:rgba(200,169,106,.14);border-color:rgba(200,169,106,.28)}
.booking-item.dash-item .status-pill.confirmed{color:#7be495;background:rgba(31,170,83,.18);border-color:rgba(31,170,83,.55)}
.booking-item .status-pill.next-pill{background:#C8A96A;color:#0A0A0A;border-color:#C8A96A}
.b-countdown{display:flex;gap:6px;margin-top:7px;padding:5px 9px;border-radius:9px;background:rgba(200,169,106,.15);border:1px solid rgba(200,169,106,.5);color:var(--gold);font-size:.76rem;font-weight:800}
.b-countdown.urgent{background:rgba(224,82,82,.16);border-color:rgba(224,82,82,.65);color:#ff9c9c}
.b-leave-count{margin-top:4px;padding:0 2px;color:var(--gold);font-size:.74rem;font-weight:700}
.driver-arrived-line{color:var(--gold);font-weight:800;font-size:.8rem;margin-top:6px}
.leave-now-box{margin-bottom:8px}
.leave-now-lbl{font-size:.8rem;font-weight:800;color:#C8A96A;margin-bottom:6px}
.leave-go-btn{width:100%;min-height:3rem;border-radius:12px;border:0;background:#C8A96A;color:#0A0A0A;font-size:1.02rem;font-weight:900;letter-spacing:.01em;box-shadow:0 4px 14px rgba(200,169,106,.35);cursor:pointer}
.leave-go-btn.go-failed{background:linear-gradient(160deg,#a83a3a,#8c2b2b 55%,#6e1f1f);color:#fff;font-size:.86rem;box-shadow:0 4px 14px rgba(140,43,43,.4)}
.trip-share-line{font-size:.82rem;font-weight:700;margin:2px 0 4px;color:#A6A6A6}
.chat-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#c0392b;color:#fff;font-size:.72rem;font-weight:800}
.tab-badge{position:absolute;top:2px;inset-inline-end:calc(50% - 20px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#c0392b;color:#fff;font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center}
#tabbar button{position:relative}
.chat-slot{margin-top:6px}
/* Bookings face organization (2026-11-14): slim totals strip, day-filter
   chip, and the Archive month headers shared by both archive pages. */
.bk-totals{display:flex;align-items:center;gap:10px;margin-top:12px;padding:7px 12px;border:1px solid rgba(200,169,106,.28);border-radius:12px;background:rgba(255,255,255,.07);font-size:.84rem;color:#A3A3A3}
.bk-totals b{color:#fff;font-weight:800}
.bk-totals-sep{width:1px;align-self:stretch;background:rgba(163,163,163,.25)}
.bk-filter-row{margin-top:10px}
.bk-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1.5px solid var(--gold-o);background:rgba(200,169,106,.14);color:var(--gold-lt);font-size:.82rem;font-weight:800;cursor:pointer}
.bk-chip-x{font-size:.78rem;color:#fff;background:rgba(176,42,42,.75);border-radius:50%;width:18px;height:18px;display:inline-grid;place-items:center}
.bk-month-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:16px 2px 8px;padding-bottom:6px;border-bottom:1px solid rgba(200,169,106,.25);font-weight:800;font-size:.95rem;color:var(--gold-lt)}
.bk-month-meta{font-size:.76rem;font-weight:700;color:#A3A3A3;white-space:nowrap}
.bk-white .bk-month-head{color:#C8A96A;border-bottom-color:rgba(200,169,106,.4)}
.bk-white .bk-month-meta{color:#A3A3A3}
.chat-box{margin-top:8px;border:1.5px solid rgba(200,169,106,.35);border-radius:14px;background:#090909;padding:10px}
.chat-head{display:flex;align-items:center;gap:8px;font-weight:800;color:#C8A96A;margin-bottom:8px}
.chat-head img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1.5px solid #C8A96A}
.chat-avatar{width:30px;height:30px;border-radius:50%;background:#232327;color:#C8A96A;display:flex;align-items:center;justify-content:center;font-weight:900;border:1.5px solid #C8A96A}
.chat-thread{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:2px}
.chat-row{display:flex}
.chat-row.mine{justify-content:flex-end}
.chat-bubble{max-width:78%;padding:8px 11px;border-radius:14px;background:#1A1A1D;color:#EFEFF2;font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}
.chat-row.mine .chat-bubble{background:#C8A96A;color:#0A0A0A;font-weight:600}
.chat-inputrow{display:flex;gap:8px;margin-top:8px}
.chat-inp{flex:1;min-width:0;border-radius:10px;border:1.5px solid #2E2E33;background:#131315;color:#fff;padding:9px 11px;font-size:.92rem}
.chat-closed{margin-top:8px;text-align:center;color:#A6A6A6;font-weight:700;font-size:.88rem;padding:8px;border:1px dashed #2E2E33;border-radius:10px}
/* Standalone Messages inbox (owner refinement 2026-11-14 ~00:01): one
   white card per booking thread (same card family as .bk-white booking
   items); the row is a plain button, the thread opens beneath it via
   the shared chat module (.chat-box keeps its dark styling). */
.inbox-item{background:#fff;color:#151517;border-radius:14px;box-shadow:0 10px 22px rgba(0,0,0,.28);padding:10px 11px;margin:0 0 10px}
.inbox-row{display:flex;gap:10px;align-items:flex-start;width:100%;background:none;border:0;padding:0;cursor:pointer;color:inherit;font:inherit;text-align:start}
.inbox-ava{width:42px;height:42px;flex:none;font-size:1.05rem}
img.inbox-ava{border-radius:50%;object-fit:cover;border:1.5px solid #C8A96A}
.inbox-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.inbox-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.inbox-name{font-weight:800;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inbox-time{color:#969696;font-size:.72rem;font-weight:700;flex:none}
.inbox-book{color:#5D5D61;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inbox-prev{color:#5D5D61;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inbox-closed{flex:none;align-self:center;color:#C8A96A;background:rgba(200,169,106,.16);border:1px dashed rgba(200,169,106,.6);border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:800}
.inbox-row-locked{cursor:default;opacity:.72}
.push-banner{margin:10px 2px}
.notif-head{font-weight:800;font-size:.95rem;margin:12px 2px 6px;display:flex;align-items:center;gap:7px}
.notif-row{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-bottom:1px solid #EFEFF1;color:#151517}
.notif-row:last-child{border-bottom:0}
.notif-row.unread{background:rgba(200,169,106,.10)}
.notif-ic{font-size:1.05rem;flex:none;line-height:1.3}
.notif-tx{flex:1;min-width:0;font-size:.86rem;line-height:1.45;white-space:normal}
.leave-dismiss-btn{margin-top:6px;width:100%;min-height:2.1rem;border-radius:10px;background:transparent;color:#A3A3A3;border:1px solid rgba(163,163,163,.35);cursor:pointer;font-size:.8rem;font-weight:700}
.booking-item.leave-flash{border-color:var(--gold);animation:leavePulse 1.6s ease-in-out infinite}
@keyframes leavePulse{50%{box-shadow:0 0 0 4px rgba(200,169,106,.45)}}
@media (prefers-reduced-motion: reduce){.booking-item.leave-flash{animation:none;box-shadow:0 0 0 3px rgba(200,169,106,.55)}}
/* Leave-now ALARM highlight (Wave 3): the card the alarm auto-opened —
   a stronger, finite pulse than the latch's steady leave-flash. */
.booking-item.leave-alarm{border-color:#C8A96A;box-shadow:0 0 0 3px rgba(200,169,106,.75),0 0 26px rgba(200,169,106,.4);animation:leaveAlarmPulse .9s ease-in-out 4}
@keyframes leaveAlarmPulse{50%{box-shadow:0 0 0 6px rgba(200,169,106,.3),0 0 34px rgba(200,169,106,.55)}}
@media (prefers-reduced-motion: reduce){.booking-item.leave-alarm{animation:none}}
/* calendar (original CalendarBox values; compacted 2026-11-14 per the
   owner's «كلها زحمه» — the block keeps every state and control, at a
   smaller visual weight: tighter group padding, cells, and nav) */
.df-cal-head{font-size:15.5px;font-weight:800;color:#fff;margin:0 2px 8px}
.cal-group{padding:12px}
.cal-head-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:800;font-size:.92rem;color:var(--gold-lt)}
.cal-nav-btn{width:1.9rem;height:1.9rem;border-radius:50%;border:1.5px solid var(--gold-o);background:rgba(200,169,106,.12);color:var(--gold);font-size:1.05rem;display:grid;place-items:center;cursor:pointer}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:6px}
.cal-grid .cd{text-align:center;font-size:.76rem;padding:4px 0;border-radius:8px;color:#A3A3A3;background:transparent;border:0}
.cal-grid .cd.dow{font-weight:800;color:var(--gold-lt);font-size:.68rem;padding:2px 0}
.cal-grid .cd.day{background:rgba(255,255,255,.06);color:#F0F0F2;font-weight:600;cursor:pointer}
.cal-grid .cd.day.booked{background:var(--gold-o);color:#0A0A0A;font-weight:800}
.cal-grid .cd.day.pending{background:rgba(200,169,106,.16);color:var(--gold-lt);box-shadow:inset 0 0 0 1.5px var(--gold-o)}
.cal-grid .cd.day.off{background:rgba(176,42,42,.55);color:#ffd7d7;font-weight:800}
.cal-grid .cd.day.today{outline:1.5px solid var(--gold-o);outline-offset:-1.5px}
.cal-grid .cd.day.sel{outline:2px solid #fff;outline-offset:-2px}
.cal-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:7px;font-size:.72rem;color:#A3A3A3;font-weight:600}
.cal-legend .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-inline-end:6px;vertical-align:0}
.cal-legend .dot-book{background:var(--gold-o)}
.cal-legend .dot-pend{background:transparent;border:2px solid var(--gold-o);width:6px;height:6px}
.cal-legend .dot-off{background:#d66}
.cal-day{margin-top:8px;border-top:1px solid rgba(255,255,255,.12);padding-top:8px}
.cal-day-head{font-weight:800;font-size:.95rem;color:var(--gold-lt);margin-bottom:4px}
.cal-day-off{display:inline-block;font-size:.8rem;font-weight:800;color:#ffd7d7;background:rgba(176,42,42,.35);border:1px solid #d66;border-radius:999px;padding:3px 11px;margin-top:4px}
/* settings page */
.df-subhead{font-size:16px;font-weight:800;color:#fff;margin:24px 0 10px}
.pf-edit-row{display:flex;align-items:center;gap:12px;padding:10px 0}
.pf-edit-row + .pf-edit-row{border-top:1px solid #E9E9ED}
.pf-edit-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 18%;flex:none}
.pf-edit-cover{width:96px;height:56px;border-radius:10px;border:1px solid #E4E4E7;object-fit:cover;flex:none}
.pf-edit-cover.empty{background:#F5F5F7}
.pf-edit-lbl{font-size:.95rem;font-weight:800;color:#151517;flex:1}
.pf-file-btn{position:relative;overflow:hidden;cursor:pointer}
.pf-file-input{position:absolute;width:1px;height:1px;opacity:0}
.car-slot-img{width:84px;height:58px;border-radius:10px;border:1px solid #E4E4E7;object-fit:cover;flex:none}
.car-slot-empty{width:84px;height:58px;border-radius:10px;border:1.5px dashed #C9C9CE;display:grid;place-items:center;font-size:1.2rem;flex:none}
.field-ol{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.field-ol label{font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#5D5D61}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.amen-toggle-row{display:flex;align-items:center;padding:7px 0;gap:10px}
.bfo-lbl{font-size:.86rem;font-weight:700;color:#151517}
.light-rows .rate-row{color:#F0F0F2}
/* share page */
.share-wrap{padding-top:20px;display:flex;flex-direction:column;align-items:center}
.share-card{width:100%;max-width:440px;background:linear-gradient(150deg,#17171A,#060606 78%);border:1.5px solid rgba(200,169,106,.7);border-radius:16px;padding:16px;box-shadow:0 14px 34px rgba(0,0,0,.4);text-align:center}
.share-photo{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2.5px solid var(--gold-o)}
.share-name{font-size:1.12rem;font-weight:800;margin-top:8px}
.share-car{font-size:.85rem;color:#A3A3A3}
.share-meta{font-size:.82rem;color:#A3A3A3;margin-top:3px}
.share-meta .rating{color:var(--gold-lt);font-weight:800}
.share-meta .rating svg{width:13px;height:13px;vertical-align:-1px}
.share-qr{background:#fff;border-radius:10px;padding:6px;width:162px;margin:14px auto 0}
.share-qr img{display:block}
.share-link-row{margin-top:12px;border-top:1px solid rgba(200,169,106,.3);padding-top:9px}
.share-link-url{font-size:.7rem;color:#D0D0D5;word-break:break-all}
.share-actions{display:flex;gap:8px;justify-content:center;margin-top:12px}
.share-actions .gold{background:#C8A96A;color:#0A0A0A;border-color:#C8A96A}
/* Back-to-Home on the share page: the original's is a plain .small-btn
   (transparent, gold outline) at .9rem, auto width — NOT a solid-gold bar. */
.share-home-btn{margin:16px auto 0;display:flex;width:fit-content;font-size:.9rem}

/* Owner tiles (original .acct-tiles): two-column fold tiles that span
   full width when open; the last tile always spans. */
.acct-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}
.acct-tiles .dash-fold{margin-top:0;background:#141416;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px;position:relative}
.acct-tiles .dash-fold summary{flex-direction:column;align-items:flex-start;gap:10px;padding:0;min-height:0}
.acct-tiles .dash-fold[open ]{grid-column:1 / -1}
.acct-tiles .dash-fold[open ] summary{flex-direction:row;align-items:center}
.acct-tiles .dash-fold:last-child{grid-column:1 / -1}
.acct-tiles .df-ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:var(--gold);background:rgba(200,169,106,.12);border:1px solid rgba(200,169,106,.4);flex:none}
.acct-tiles .df-ico svg{width:22px;height:22px}
.acct-tiles .df-title{font-size:15.5px;line-height:1.35}
.acct-tiles .dash-fold[open ] .df-title{font-size:17px}
.acct-tiles .df-chev{position:absolute;top:4px;inset-inline-end:2px;width:18px;height:18px}
.acct-tiles .dash-fold[open ] .df-chev{position:static;width:20px;height:20px}
.acct-tiles .tile-body{margin-top:12px}
.reset-form{display:flex;gap:8px;padding:8px 0 4px;flex-wrap:wrap}
.reset-form .light-input{flex:1 1 180px;background:#F5F5F7;border-color:#E4E4E7;color:#151517;color-scheme:light}
.owner-driver-row{align-items:center}
.pf-edit-media{width:96px;aspect-ratio:16/9;border-radius:10px;object-fit:cover;flex:none;background:#000}

/* Convoy (original .convoy-* values, verbatim) */
.convoy-card{padding:22px 16px 18px}
@media (min-width:861px){.convoy-card{padding:30px 30px 26px}}
.convoy-nums{display:flex;flex-wrap:wrap;gap:6px}
.convoy-num{appearance:none;min-width:40px;height:40px;padding:0 8px;border-radius:11px;border:1.5px solid #E4E4E7;background:#fff;color:#151517;font-family:inherit;font-size:.95rem;font-weight:800;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.convoy-num.sel{background:#F6EED8;border-color:#C8A96A;box-shadow:0 0 0 1px #C8A96A}
.convoy-driver{appearance:none;display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border-radius:13px;border:1.5px solid #E4E4E7;background:#fff;color:#151517;font-family:inherit;text-align:start;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;margin-top:8px}
.convoy-driver.sel{background:#F6EED8;border-color:#C8A96A;box-shadow:0 0 0 1px #C8A96A}
.convoy-driver:disabled{opacity:.45;cursor:default}
.convoy-driver img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 18%;flex:none}
.convoy-driver-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.convoy-driver-name{font-size:.95rem;font-weight:800;line-height:1.25}
.convoy-driver-car{font-size:.8rem;color:#5D5D61;line-height:1.3;overflow-wrap:break-word}
.convoy-driver-meta{font-size:.8rem}
.convoy-driver-meta .rating{color:#C8A96A;display:inline-flex;align-items:center;gap:3px}
.convoy-driver-meta .rating svg{width:13px;height:13px}
.convoy-check{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid #E4E4E7;display:grid;place-items:center;color:#fff}
.convoy-check svg{width:14px;height:14px}
.convoy-check.on{background:#C8A96A;border-color:#C8A96A}
.convoy-note{margin:8px 0 0;font-size:.82rem;line-height:1.5;color:#5D5D61}
.convoy-empty{margin:0;font-size:.88rem;color:#5D5D61}

/* Profile amenity row + car gallery (original values, verbatim) */
.amen-row{display:flex;flex-wrap:wrap;gap:7px;padding:12px 2px 2px}
.amen-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid rgba(200,169,106,.55);background:rgba(200,169,106,.10);color:#F0F0F2;font-size:.8rem;font-weight:700}
.amen-ic{display:grid;place-items:center;width:16px;height:16px;color:#C8A96A;flex:none}
.amen-ic svg{width:100%;height:100%}
.car-gallery{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 2px;scrollbar-width:none}
.car-gallery::-webkit-scrollbar{display:none}
.car-thumb{flex:none;width:108px;height:76px;border-radius:12px;overflow:hidden;border:1.5px solid rgba(200,169,106,.45);padding:0;background:#1C1C1E;cursor:pointer}
.car-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(12,12,14,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px}
.lightbox img{max-width:100%;max-height:72vh;border-radius:14px;object-fit:contain}
.lightbox-bar{display:flex;align-items:center;gap:10px}
.lightbox-cap{color:#E8E8E4;font-weight:700;font-size:.95rem}

/* Customer tracking map (original .trip-map-* values, verbatim) */
.trip-map-wrap{margin-top:8px}
.trip-map-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.78rem;font-weight:800;color:#C8A96A;margin-bottom:5px}
.trip-map-eta{color:#F0F0F2;font-weight:800;text-align:end}
.trip-map{width:100%;height:210px;border-radius:12px;border:1.5px solid rgba(200,169,106,.55);overflow:hidden;background:#19191C}
.trip-map-note{font-size:.76rem;color:#A3A3A3;margin-top:5px;line-height:1.45}
.trip-map-slot{margin-top:8px;padding:11px 12px;border:1.5px dashed rgba(200,169,106,.5);border-radius:12px;background:rgba(200,169,106,.05);color:#A3A3A3;font-size:.8rem;line-height:1.5;text-align:center}
/* Full-screen customer tracking (approved design 2026-11-14): the same
   map element, moved into a fixed navy overlay; top pill + bottom
   driver card float over a map that fills the screen. */
.trip-map-wrap.fs{position:fixed;inset:0;z-index:1200;background:#0A0A0A;display:flex;flex-direction:column;padding:12px;margin-top:0;overflow:hidden}
.trip-map-wrap.fs .trip-map{flex:1;height:auto;min-height:0}
.trip-map-wrap.fs .trip-top-card{font-size:1rem;padding:10px 14px}
.trip-fs-close{position:absolute;top:10px;inset-inline-end:10px;z-index:2;width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(200,169,106,.7);background:#19191C;color:#C8A96A;font-size:1rem;font-weight:800;cursor:pointer}
body.track-fs-open{overflow:hidden}
.trip-expand{white-space:nowrap}
/* In-thread system status lines: written by the server only, at a
   committed transition (src/lifecycle.js). */
.chat-sys{text-align:center;color:#A3A3A3;font-size:.76rem;font-weight:700;padding:3px 8px}
/* White-card scope: the original's own white zone darkens gold/cream
   text for legibility (#C8A96A convention); the map itself is unchanged. */
.bk-white .trip-map-head{color:#C8A96A}
.bk-white .trip-map-eta{color:#F5F5F7}
.bk-white .trip-map-note{color:#A3A3A3}
.bk-white .trip-map-slot{color:#A3A3A3}

/* The Vault (الخزنة, 2026-11-13): owner-tile badge, join-request status chips,
   per-document expiry chips, and the vault's person/document rows — all inside
   the dashboard's dark scope, navy/gold identity. */
.vault-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-inline-start:8px;border-radius:999px;background:#c0392b;color:#fff;font-size:.78rem;font-weight:800;vertical-align:middle}
.jr-chip{display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid rgba(200,169,106,.55);color:#C8A96A;font-size:.72rem;font-weight:800;vertical-align:middle}
.jr-chip.ok{border-color:rgba(46,158,99,.7);color:#7bd6a4}
.jr-chip.bad{border-color:rgba(192,57,43,.7);color:#ef9a90}
.exp-chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:800;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.exp-chip.valid{border-color:rgba(46,158,99,.7);color:#7bd6a4}
.exp-chip.expiring{border-color:rgba(200,169,106,.8);color:#C8A96A}
.exp-chip.expired{border-color:rgba(192,57,43,.8);color:#ef9a90}
.vault-attn{border:1px solid rgba(200,169,106,.45);border-radius:14px;padding:10px 12px;margin-bottom:14px;background:rgba(200,169,106,.06)}
.vault-attn-t{font-weight:800;color:#C8A96A;margin-bottom:6px}
.vault-attn-row{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;background:none;border:0;border-top:1px solid rgba(163,163,163,.15);color:#F0F0F2;padding:8px 0;font:inherit;text-align:start;cursor:pointer}
.vault-sec-t{font-weight:800;margin:4px 0 6px}
.vault-person-row{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;background:#141416;border:1px solid rgba(255,255,255,.1);border-radius:13px;color:#F0F0F2;padding:10px 12px;margin-top:8px;font:inherit;text-align:start;cursor:pointer}
.vault-person-main{display:flex;flex-direction:column;gap:1px;min-width:0}
.vault-person-name{font-weight:800}
.vault-person-head{margin:12px 0 4px}
.vault-doc{border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:10px 12px;margin-top:10px;background:#141416}
.vault-doc-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:800}
.vault-doc-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.vault-doc-edit,.vault-doc-up{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.vault-doc input[type=date]{background:#121214;border:1.5px solid var(--line);border-radius:10px;color:var(--text);padding:8px 10px;font:inherit;color-scheme:dark;flex:1;min-width:150px}
.exp-chip.missing{border-color:rgba(192,57,43,.8);color:#ef9a90}
.exp-chip.invalid{border-color:rgba(192,57,43,.8);color:#ef9a90;background:rgba(192,57,43,.12)}
.docs-banner{border-radius:14px;padding:12px 14px;margin-top:12px;font-size:.92rem;line-height:1.5}
.docs-banner.bad{border:1.5px solid rgba(192,57,43,.75);background:rgba(192,57,43,.10);color:#f3c1ba}
.docs-banner.warn{border:1.5px solid rgba(200,169,106,.6);background:rgba(200,169,106,.07);color:#C8A96A}
.docs-banner b{display:block;margin-bottom:2px}
.susp-line{font-size:.8rem;color:#ef9a90;padding:2px 0 6px}

/* Expiry countdown chip — sits directly ABOVE each document box (owner
   order 2026-11-13: «فوق الخانة فوق الـbox عدّ تنازلي»). Colour rule
   (owner 2026-11-13 ~19:16): GREEN while >15 days remain, RED at <=15
   days or expired; the same tiers drive the person page's icon status
   line (.vdoc-status). The .warn rules below are legacy — cdTier no
   longer emits that tier. */
.cd-chip { margin-top:12px; padding:6px 12px; border:1px solid rgba(200,169,106,.35); border-bottom:none; border-radius:12px 12px 0 0; background:rgba(200,169,106,.08); color:#C8A96A; font-weight:800; font-size:.85rem; text-align:center; }
.cd-chip.ok { border-color:rgba(46,158,99,.55); background:rgba(46,158,99,.10); color:#7bd6a4; }
.cd-chip.warn { border-color:rgba(255,182,72,.55); background:rgba(255,182,72,.10); color:#ffb648; }
.cd-chip.bad { border-color:rgba(255,107,107,.55); background:rgba(255,107,107,.10); color:#ff7a7a; }
.cd-chip.none { border-color:rgba(163,163,163,.30); border-style:dashed; background:transparent; color:var(--muted); font-weight:600; }
.cd-chip + .vault-doc { border-top-left-radius:0; border-top-right-radius:0; }
/* "Expiry was read off the document itself" marker (OCR, migration 0008). */
.ocr-note { color:#C8A96A; font-size:.78rem; margin-top:6px; }
/* The vault tile is a door to the vault pages now, not a fold. */
.vault-open-tile { width:100%; display:flex; align-items:center; gap:10px; cursor:pointer; text-align:start; font:inherit; color:inherit; }

/* Vault files list — manual add (owner order 2026-11-13 ~19:07): ONLY a
   small gold "+" stays visible; the name+phone form is folded away until
   the plus is tapped, then opens as one small navy window. */
.vault-add-row{margin-top:14px}
.vault-add-plus{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--gold-o);background:rgba(200,169,106,.08);color:var(--gold);font-size:1.5rem;font-weight:400;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer}
.vault-add-form{margin-top:10px;border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:12px;background:#141416;max-width:340px}
.vault-add-form .field{margin-bottom:10px}
.vault-add-form .small-btn{min-height:2.2rem}
/* Vault person page: the Other-document add wears the same small gold
   "+" as the files-list manual add (owner order 2026-11-13 ~19:27),
   with a small label beside it so he knows what the plus adds. */
.vother-head{display:flex;align-items:center;gap:10px}
.vault-add-label{color:var(--gold);font-size:.95rem;font-weight:600}

/* Owner tile pages: the content column under the page head. */
.ot-body { padding: 4px 16px 24px; }

/* Vault person page — documents as SMALL ICONS (owner correction
   2026-11-13 18:12: «ايقونات صغيرة ما تكون بباقات») + the <=15-day RED
   alert (18:15): an urgent document's icon turns red, and the person's
   photo ring (names list + person page) turns red with it. */
.vdoc-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:16px 6px;padding:10px 2px 4px}
.vdoc-icon{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;padding:4px 2px;cursor:pointer;color:var(--gold-o);font:inherit}
.vdoc-icon .vdoc-emblem{display:flex;width:34px;height:34px}
.vdoc-icon .vdoc-emblem svg{width:100%;height:100%}
.vdoc-icon .vdoc-name{font-size:.68rem;font-weight:700;color:#E8E8E4;text-align:center;line-height:1.3}
.vdoc-icon .vdoc-status{font-size:.62rem;font-weight:700;color:var(--muted);text-align:center;line-height:1.25}
.vdoc-icon .vdoc-status.ok{color:#7bd6a4}
.vdoc-icon .vdoc-status.warn{color:#ffb648}
.vdoc-icon .vdoc-status.bad{color:#ff7a7a}
.vdoc-icon.empty{opacity:.55}
.vdoc-icon.urgent{color:#e5484d}
.vdoc-icon.urgent .vdoc-status{color:#ff7a7a}
.driver-card.urgent img{border-color:#e5484d}
.pf-avatar.urgent{border-color:#e5484d}

/* Parity tranche (0017): saved-address chips, booking extras, I'm here,
   tour choice, day-off conflict box, convoy confirmation. */
.addr-chips{margin:0 0 10px}
.addr-chips-lbl{display:block;font-size:.78rem;font-weight:700;color:#5D5D61;margin-bottom:6px}
.addr-chips-row{display:flex;flex-wrap:wrap;gap:6px}
.addr-chip{display:inline-flex;border:1.5px solid rgba(200,169,106,.55);border-radius:999px;overflow:hidden;background:rgba(200,169,106,.08)}
.addr-chip-main{border:0;background:transparent;padding:6px 10px;font-weight:700;font-size:.82rem;cursor:pointer;color:inherit}
.addr-chip-drop{border:0;border-inline-start:1px solid rgba(200,169,106,.4);background:transparent;padding:6px 8px;cursor:pointer;color:inherit}
.bk-extras{margin-top:14px;display:flex;flex-direction:column;gap:14px}
.bfo-row{display:flex;align-items:center;gap:10px}
.bfo-lbl{font-weight:700}
.req-wrap{display:block}
.req-title{display:block;font-weight:700;margin-bottom:8px}
.req-chips{display:flex;flex-wrap:wrap;gap:6px}
.req-chip{padding:7px 11px;border-radius:999px;border:1.5px solid rgba(163,163,163,.35);background:#fff;font-size:.82rem;font-weight:700;cursor:pointer;color:#151517}
.req-chip.sel{border-color:var(--gold-o,#C8A96A);background:rgba(200,169,106,.14)}
.tour-chips{display:flex;flex-wrap:wrap;gap:6px}
.tour-chip{padding:7px 11px;border-radius:999px;border:1.5px solid rgba(163,163,163,.35);background:#fff;font-size:.82rem;font-weight:700;cursor:pointer;color:#151517}
.tour-chip.sel{border-color:var(--gold-o,#C8A96A);background:rgba(200,169,106,.14)}
.repeat-block{border-top:1px dashed rgba(163,163,163,.35);padding-top:12px}
.repeat-guest-line{color:#5D5D61;font-size:.88rem}
.series-line{color:#C8A96A;font-weight:700}
.arrived-line{color:#2e7d32;font-weight:700}
.imhere-btn{display:inline-block;margin-top:8px;padding:10px 18px;border:0;border-radius:999px;background:#C8A96A;color:#0A0A0A;font-weight:800;font-size:.95rem;cursor:pointer}
.imhere-btn:disabled{opacity:.55}
.rated-stars{color:#C8A96A;letter-spacing:2px}
.off-conflict-box{margin-top:14px;border:1.5px solid var(--gold-o,#C8A96A);border-radius:12px;padding:12px 14px;background:rgba(200,169,106,.07)}
.convoy-confirm-card .info-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px dashed rgba(163,163,163,.25)}
