:root{
  --gold:#C9A84C;--gold-light:#E8D5A3;--gold-dark:#8B6914;
  --obsidian:#0D0D0F;--obs2:#16161A;--obs3:#1E1E24;--obs4:#28282F;--obs5:#34343D;
  --smoke:#F5F4F0;--smoke2:#ECEAE3;--smoke3:#DDD9CE;
  --ch:#6B6860;--ch2:#9B9890;--white:#FDFCF8;
  --teal:#1D9E75;--teal-l:#E1F5EE;--coral:#D85A30;--purple:#534AB7;--purple-l:#EEEDFE;
  --fd:'Cormorant Garamond',Georgia,serif;--fb:'DM Sans',sans-serif;
  --tr:all 0.22s cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--fb);background:var(--obsidian);color:var(--white);min-height:100vh;overflow-x:hidden}
::-webkit-scrollbar{width:3px;height:3px}
::-webkit-scrollbar-thumb{background:var(--obs5);border-radius:2px}

/* ── PORTAL BAR ── */
.pbar{display:flex;align-items:stretch;background:var(--obs2);border-bottom:.5px solid rgba(201,168,76,.2);position:sticky;top:0;z-index:200}
.brand{display:flex;align-items:center;gap:10px;padding:0 22px;border-right:.5px solid rgba(201,168,76,.2);flex-shrink:0;cursor:default}
.brand-m{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--gold-dark),var(--gold));display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:16px;font-weight:600;color:var(--obsidian)}
.brand-name{font-family:var(--fd);font-size:14px;font-weight:500;letter-spacing:.02em}
.brand-sub{font-size:9px;color:var(--gold);letter-spacing:.14em;text-transform:uppercase}
.ptabs{display:flex;flex:1}
.ptab{padding:0 20px;font-size:12px;font-weight:500;color:var(--ch2);cursor:pointer;border-bottom:2px solid transparent;transition:var(--tr);display:flex;align-items:center;gap:6px;white-space:nowrap}
.ptab:hover{color:var(--white)}
.ptab.active{color:var(--gold);border-bottom-color:var(--gold)}

/* ── PORTALS ── */
.portal{display:none;min-height:calc(100vh - 52px)}
.portal.active{display:block}

/* ══════════ CLIENT ══════════ */
#p-client{display:none;background:var(--obsidian)}
#p-client.active{display:flex;flex-direction:column;align-items:center;padding:36px 24px}
.client-wrap{display:flex;gap:40px;width:100%;max-width:1120px;align-items:flex-start;flex-wrap:wrap}

/* Phone frame */
.phone{width:390px;flex-shrink:0;background:var(--obs2);border-radius:44px;border:1px solid rgba(201,168,76,.2);overflow:hidden}
.phone-notch{height:36px;background:var(--obs2);display:flex;align-items:center;justify-content:space-between;padding:0 28px}
.phone-notch span{font-size:11px;color:var(--ch2)}
.phone-notch span:first-child{font-size:12px;font-weight:600;color:var(--white)}
.pbody{background:var(--obsidian);border-radius:36px 36px 0 0;overflow:hidden;max-height:720px;overflow-y:auto;scrollbar-width:none}
.pbody::-webkit-scrollbar{display:none}

/* App views */
.av{display:none}.av.active{display:block}
/* Driver portal: ensure inactive screens can't be scrolled to */
/* Driver portal screen isolation */
#p-driver .pbody{overflow:hidden;position:relative;display:flex;flex-direction:column}
#p-driver .av{flex:1;overflow-y:auto;background:var(--obsidian)}
#p-driver .av.active{display:block}
#dav-active.active{display:flex;overflow-y:auto}
#p-driver .av:not(.active){display:none !important}
/* Nav bar always visible at bottom after login */
#drv-nav{flex-shrink:0;display:none}
#p-driver .phone{display:flex;flex-direction:column;height:720px;overflow:hidden}
#p-driver .pbody{flex:1;overflow:hidden;display:flex;flex-direction:column}

/* App nav */
.appnav{display:flex;border-top:.5px solid var(--obs5);background:var(--obs2);position:sticky;bottom:0;z-index:10}
.anb{flex:1;text-align:center;font-size:9px;color:var(--ch2);padding:8px 0 10px;cursor:pointer;transition:var(--tr);letter-spacing:.05em;text-transform:uppercase}
.anb.active{color:var(--gold)}
.anb-ic{font-size:18px;display:block;margin-bottom:2px}

/* ── HOME view ── */
.app-hero{background:var(--obs2);padding:28px 22px 22px;border-bottom:.5px solid rgba(201,168,76,.12)}
.eyebrow{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.hero-h{font-family:var(--fd);font-size:30px;font-weight:300;line-height:1.2;margin-bottom:6px}
.hero-h em{color:var(--gold);font-style:italic}
.hero-p{font-size:12px;color:var(--ch2);line-height:1.5}
.hero-btn{display:block;width:100%;margin-top:16px;background:var(--gold);color:var(--obsidian);border:none;border-radius:10px;padding:13px;font-family:var(--fb);font-size:13px;font-weight:600;cursor:pointer;transition:var(--tr)}
.hero-btn:hover{background:var(--gold-light)}

.sh{padding:16px 20px 8px;display:flex;align-items:baseline;justify-content:space-between}
.sh-title{font-family:var(--fd);font-size:18px;font-weight:400}
.sh-sub{font-size:10px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}

/* Quick driver strip on home */
.dstrip{display:flex;gap:8px;padding:0 20px 16px;overflow-x:auto;scrollbar-width:none}
.dstrip::-webkit-scrollbar{display:none}
.ds-card{min-width:80px;flex-shrink:0;background:var(--obs3);border-radius:12px;border:1px solid var(--obs5);padding:10px 8px;text-align:center;cursor:pointer;transition:var(--tr)}
.ds-card:hover,.ds-card.sel{border-color:var(--gold);background:rgba(201,168,76,.08)}
.ds-av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:13px;font-weight:500;margin:0 auto 7px}
.ds-name{font-size:10px;font-weight:500;color:var(--white)}
.ds-stars{font-size:9px;color:var(--gold);margin-top:2px}

/* Outfit grid */
.og{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 20px 20px}
.oc{background:var(--obs3);border-radius:11px;border:1px solid var(--obs5);padding:11px;cursor:pointer;transition:var(--tr)}
.oc:hover{border-color:var(--gold);background:rgba(201,168,76,.08)}
.oc.sel{border-color:var(--gold) !important;background:rgba(201,168,76,.18) !important;box-shadow:0 0 0 1.5px var(--gold) !important}
.oc-ic{font-size:20px;margin-bottom:4px}
.oc-name{font-size:12px;font-weight:500}
.oc-desc{font-size:10px;color:var(--ch2);margin-top:2px;line-height:1.4}

/* Mapbox autocomplete dropdown styling */
.mapbox-suggestions{position:absolute;z-index:99999;width:100%;background:var(--obs2,#12121f);border:.5px solid rgba(201,168,76,.3);border-radius:10px;margin-top:4px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.mapbox-suggestion{padding:10px 14px;font-size:13px;color:#ccc;cursor:pointer;border-bottom:.5px solid rgba(255,255,255,.06);font-family:var(--fb,'Inter'),sans-serif}
.mapbox-suggestion:last-child{border-bottom:none}
.mapbox-suggestion:hover{background:rgba(201,168,76,.12);color:#fff}
.mapbox-suggestion strong{color:#fff;font-weight:500}
.mapbox-suggestion small{font-size:11px;color:var(--ch2,#888);display:block;margin-top:2px}

/* ── BROWSE view ── */
.browse-header{background:var(--obs2);padding:16px 20px 12px;border-bottom:.5px solid rgba(201,168,76,.12)}
.bh-title{font-family:var(--fd);font-size:20px;font-weight:400}
.bh-sub{font-size:11px;color:var(--ch2);margin-top:2px}
.back-link{font-size:10px;color:var(--gold);cursor:pointer;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px;display:inline-block}

/* Search bar */
.search-wrap{padding:10px 16px;background:var(--obs2);border-bottom:.5px solid var(--obs5)}
.search-box{display:flex;align-items:center;gap:8px;background:var(--obs3);border-radius:8px;border:.5px solid var(--obs5);padding:8px 12px}
.search-box input{flex:1;background:none;border:none;outline:none;font-size:12px;color:var(--white);font-family:var(--fb)}
.search-box input::placeholder{color:var(--ch2)}
.search-ic{font-size:14px;color:var(--ch2)}

/* Filter pills */
.filter-section{padding:10px 16px;background:var(--obs2);border-bottom:.5px solid var(--obs4)}
.fl-label{font-size:9px;color:var(--ch2);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.fl-row{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.fl-row::-webkit-scrollbar{display:none}
.fl-chip{flex-shrink:0;font-size:10px;padding:4px 10px;border-radius:14px;border:.5px solid var(--obs5);color:var(--ch2);cursor:pointer;transition:var(--tr);white-space:nowrap;background:var(--obs3)}
.fl-chip:hover{border-color:var(--gold);color:var(--gold)}
.fl-chip.on{background:rgba(201,168,76,.15);border-color:var(--gold);color:var(--gold);font-weight:500}
.fl-selects{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.fl-sel{font-size:10px;padding:4px 10px;border-radius:14px;border:.5px solid var(--obs5);color:var(--ch2);background:var(--obs3);cursor:pointer;outline:none;font-family:var(--fb)}

/* Driver cards in browse */
.driver-list{padding:10px 14px;display:flex;flex-direction:column;gap:10px}
.dfc{background:var(--obs3);border-radius:14px;border:1px solid var(--obs5);overflow:hidden;cursor:pointer;transition:var(--tr)}
.dfc:hover{border-color:var(--gold);transform:translateY(-1px)}
.dfc.sel{border-color:var(--gold);background:rgba(201,168,76,.06)}
.dfc-top{padding:14px 14px 10px;display:flex;gap:12px}
.dfc-av{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:18px;font-weight:500;flex-shrink:0}
.dfc-meta{flex:1;min-width:0}
.dfc-row1{display:flex;align-items:baseline;gap:8px;justify-content:space-between}
.dfc-name{font-size:14px;font-weight:600}
.dfc-rating{font-size:11px;color:var(--gold)}
.dfc-sub{font-size:11px;color:var(--ch2);margin-top:2px}
.dfc-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.dtag{font-size:9px;padding:2px 7px;border-radius:8px;font-weight:500;letter-spacing:.02em}
.dtag-gold{background:rgba(201,168,76,.15);color:var(--gold)}
.dtag-teal{background:rgba(29,158,117,.15);color:var(--teal)}
.dtag-purple{background:rgba(83,74,183,.15);color:var(--purple)}
.dtag-coral{background:rgba(216,90,48,.15);color:var(--coral)}
.dtag-blue{background:rgba(55,138,221,.15);color:#378ADD}
.dfc-divider{height:.5px;background:var(--obs5);margin:0 14px}
.dfc-details{padding:10px 14px;display:grid;grid-template-columns:1fr 1fr;gap:7px}
.dd{display:flex;flex-direction:column;gap:2px}
.dd-lbl{font-size:9px;color:var(--ch2);text-transform:uppercase;letter-spacing:.07em}
.dd-val{font-size:11px;font-weight:500;color:var(--white)}
.dfc-footer{padding:8px 14px 12px;display:flex;align-items:center;justify-content:space-between}
.dfc-vehicle{font-size:11px;color:var(--ch2)}
.dfc-licensed{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--teal);font-weight:500}
.dfc-licensed::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--teal);flex-shrink:0}
.sel-btn{font-size:11px;font-weight:500;color:var(--gold);background:none;border:.5px solid var(--gold);border-radius:7px;padding:4px 12px;cursor:pointer;transition:var(--tr)}
.dfc.sel .sel-btn{background:var(--gold);color:var(--obsidian)}
.no-results{padding:32px 20px;text-align:center;font-size:12px;color:var(--ch2)}

/* ── BOOKING view ── */
.bv-header{background:var(--obs2);padding:16px 20px;border-bottom:.5px solid rgba(201,168,76,.12)}
.bv-title{font-family:var(--fd);font-size:20px;font-weight:400}
.bv-sub{font-size:11px;color:var(--ch2);margin-top:2px}
.bform{padding:16px 20px}
.bsummary{background:rgba(201,168,76,.07);border:.5px solid rgba(201,168,76,.3);border-radius:10px;padding:12px 14px;margin-bottom:14px}
.bsr{display:flex;justify-content:space-between;font-size:11px;padding:3px 0}
.bs-lbl{color:var(--gold)}
.bs-val{color:var(--white);font-weight:500;font-size:11px;text-align:right;max-width:60%}
.blbl{font-size:10px;color:var(--ch2);margin-bottom:4px;letter-spacing:.06em;text-transform:uppercase}
.bi{width:100%;padding:9px 12px;border-radius:8px;border:.5px solid var(--obs5);font-size:12px;color:var(--white);background:var(--obs3);margin-bottom:12px;outline:none;font-family:var(--fb);transition:var(--tr)}
.bi:focus{border-color:var(--gold)}
.bi::placeholder{color:var(--obs5)}
.tier-row{display:flex;gap:5px;margin-bottom:14px}
.to{flex:1;border:.5px solid var(--obs5);border-radius:8px;padding:8px 4px;text-align:center;cursor:pointer;transition:var(--tr)}
.to:hover{border-color:var(--gold)}
.to.sel{border-color:var(--gold);background:rgba(201,168,76,.1)}
.to-price{font-size:13px;font-weight:600}
.to-lbl{font-size:8px;color:var(--ch2);margin-top:2px;letter-spacing:.04em}
.to.sel .to-lbl{color:var(--gold)}
.addon-scroll{display:flex;gap:6px;overflow-x:auto;margin-bottom:14px;scrollbar-width:none;padding-bottom:2px}
.addon-scroll::-webkit-scrollbar{display:none}
.ach{white-space:nowrap;padding:5px 11px;border-radius:14px;border:.5px solid var(--obs5);font-size:10px;color:var(--ch2);cursor:pointer;transition:var(--tr);flex-shrink:0}
.ach:hover{border-color:var(--gold);color:var(--gold)}
.ach.sel{background:rgba(201,168,76,.12);border-color:var(--gold);color:var(--gold)}
.total-row{display:flex;justify-content:space-between;align-items:center;background:rgba(201,168,76,.08);border:.5px solid rgba(201,168,76,.3);border-radius:8px;padding:9px 12px;margin-bottom:14px}
.total-lbl{font-size:10px;color:var(--gold);letter-spacing:.07em;text-transform:uppercase}
.total-val{font-size:16px;font-weight:600;color:var(--gold)}
.pay-btn{width:100%;padding:13px;background:var(--gold);color:var(--obsidian);border:none;border-radius:10px;font-family:var(--fb);font-size:13px;font-weight:600;cursor:pointer;transition:var(--tr)}
.pay-btn:hover{background:var(--gold-light)}
.pay-note{text-align:center;font-size:9px;color:var(--ch2);margin-top:8px;letter-spacing:.03em}

/* ── CONFIRM view ── */
.cv-wrap{padding:32px 22px;text-align:center}
.cv-seal{width:68px;height:68px;border-radius:50%;background:rgba(201,168,76,.1);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 16px}
.cv-title{font-family:var(--fd);font-size:24px;font-weight:300;margin-bottom:6px}
.cv-sub{font-size:12px;color:var(--ch2);line-height:1.55}
.eta{background:rgba(29,158,117,.12);border:.5px solid var(--teal);border-radius:8px;padding:9px 14px;font-size:11px;color:var(--teal);margin:14px 0;text-align:center}
.cv-card{background:var(--obs3);border-radius:12px;border:.5px solid var(--obs5);padding:14px;margin-bottom:16px;text-align:left}
.cvr{display:flex;justify-content:space-between;padding:5px 0;font-size:11px;border-bottom:.5px solid var(--obs5)}
.cvr:last-child{border-bottom:none}
.cvr-key{color:var(--ch2)}.cvr-val{font-weight:500;color:var(--white);text-align:right;max-width:60%;font-size:11px}
.done-btn{width:100%;padding:12px;background:transparent;color:var(--gold);border:.5px solid var(--gold);border-radius:10px;font-family:var(--fb);font-size:12px;font-weight:500;cursor:pointer;transition:var(--tr)}
.done-btn:hover{background:rgba(201,168,76,.1)}

/* ══════════ OPERATOR ══════════ */
#p-operator{background:var(--smoke);color:var(--obsidian)}
.op-hdr{background:var(--obsidian);padding:18px 32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.op-hdr-title{font-family:var(--fd);font-size:20px;font-weight:400;color:var(--white)}
.op-hdr-sub{font-size:11px;color:var(--ch2);margin-top:2px}
.op-verified{display:flex;align-items:center;gap:7px;background:rgba(29,158,117,.15);border:.5px solid var(--teal);border-radius:20px;padding:5px 14px;font-size:11px;color:var(--teal);font-weight:500}
.op-body{padding:26px 32px;display:flex;gap:20px;flex-wrap:wrap}
.op-main{flex:2;min-width:300px;display:flex;flex-direction:column;gap:16px}
.op-side{flex:1;min-width:240px;display:flex;flex-direction:column;gap:16px}
.opc{background:var(--white);border-radius:16px;border:.5px solid var(--smoke3);overflow:hidden}
.opc-hd{padding:13px 18px;border-bottom:.5px solid var(--smoke2);display:flex;align-items:center;justify-content:space-between}
.opc-hd h3{font-size:13px;font-weight:600;color:var(--obsidian)}
.stats-g{display:grid;grid-template-columns:repeat(4,1fr)}
.sb{padding:14px 16px;border-right:.5px solid var(--smoke2)}
.sb:last-child{border-right:none}
.sb-lbl{font-size:9px;color:var(--ch);letter-spacing:.07em;text-transform:uppercase}
.sb-val{font-size:22px;font-weight:700;color:var(--obsidian);margin-top:3px}
.sb-ch{font-size:10px;color:var(--teal);margin-top:2px}
.brow{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:.5px solid var(--smoke2);cursor:pointer;transition:background .15s}
.brow:last-child{border-bottom:none}
.brow:hover{background:var(--smoke)}
.br-time{font-size:11px;font-weight:600;color:var(--purple);min-width:54px}
.br-inf{flex:1}
.br-cl{font-size:12px;font-weight:500;color:var(--obsidian)}
.br-dt{font-size:10px;color:var(--ch);margin-top:2px}
.br-amt{font-size:12px;font-weight:600;color:var(--obsidian)}
.badge{font-size:9px;font-weight:600;padding:2px 8px;border-radius:5px;white-space:nowrap}
.bg-green{background:var(--teal-l);color:#085041}
.bg-amber{background:#FAEEDA;color:#633806}
.bg-gray{background:var(--smoke2);color:var(--ch)}
.bg-gold{background:rgba(201,168,76,.15);color:var(--gold-dark)}
.dmr{display:flex;align-items:center;gap:10px;padding:11px 18px;border-bottom:.5px solid var(--smoke2)}
.dmr:last-child{border-bottom:none}
.dmr-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:13px;font-weight:500;flex-shrink:0}
.dmr-inf{flex:1}
.dmr-name{font-size:12px;font-weight:500;color:var(--obsidian)}
.dmr-meta{font-size:10px;color:var(--ch);margin-top:1px}
.dmr-dress{font-size:9px;background:var(--purple-l);color:var(--purple);padding:2px 6px;border-radius:4px;margin-left:4px}
.tog{position:relative;width:36px;height:20px;flex-shrink:0}
.tog input{opacity:0;width:0;height:0}
.tog-track{position:absolute;inset:0;background:var(--smoke3);border-radius:10px;cursor:pointer;transition:.3s}
.tog input:checked+.tog-track{background:var(--teal)}
.tog-thumb{position:absolute;width:14px;height:14px;left:3px;top:3px;background:white;border-radius:50%;transition:.3s;pointer-events:none}
.tog input:checked~.tog-thumb{transform:translateX(16px)}
.plan-c{border:1.5px solid var(--smoke3);border-radius:9px;padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:var(--tr)}
.plan-c:hover{border-color:var(--gold)}
.plan-c.active{border-color:var(--gold);background:rgba(201,168,76,.04)}
.plan-nm{font-size:13px;font-weight:600;color:var(--obsidian);display:flex;justify-content:space-between}
.plan-pr{color:var(--gold-dark)}
.plan-ft{font-size:10px;color:var(--ch);margin-top:6px;line-height:1.7}
.pw-row{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:.5px solid var(--smoke2);font-size:12px}
.pw-row:last-child{border-bottom:none}
.add-btn{background:var(--obsidian);color:var(--white);border:none;border-radius:6px;padding:5px 12px;font-size:11px;font-weight:500;cursor:pointer;transition:var(--tr)}
.add-btn:hover{background:var(--obs3)}
.txt-btn{font-size:11px;color:var(--purple);cursor:pointer;background:none;border:none}

/* ══════════ ADMIN ══════════ */
#p-admin{background:var(--smoke);color:var(--obsidian)}
.adm-hdr{background:var(--obs2);padding:18px 32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.adm-hdr-title{font-family:var(--fd);font-size:20px;font-weight:400;color:var(--white)}
.adm-hdr-sub{font-size:11px;color:var(--ch2);margin-top:2px}
.adm-body{padding:26px 32px;display:flex;gap:20px;flex-wrap:wrap}
.adm-main{flex:3;min-width:300px;display:flex;flex-direction:column;gap:16px}
.adm-side{flex:1.2;min-width:240px;display:flex;flex-direction:column;gap:16px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mc{background:var(--white);border-radius:12px;border:.5px solid var(--smoke3);padding:14px 16px}
.mc-lbl{font-size:9px;color:var(--ch);letter-spacing:.07em;text-transform:uppercase}
.mc-val{font-size:24px;font-weight:700;color:var(--obsidian);margin-top:4px}
.mc-ch{font-size:10px;margin-top:2px}
.up{color:var(--teal)}.dn{color:var(--coral)}
.admc{background:var(--white);border-radius:16px;border:.5px solid var(--smoke3);overflow:hidden}
.admc-hd{padding:13px 18px;border-bottom:.5px solid var(--smoke2);display:flex;align-items:center;justify-content:space-between}
.admc-hd h3{font-size:13px;font-weight:600;color:var(--obsidian)}
.op-r{display:flex;align-items:center;gap:10px;padding:11px 18px;border-bottom:.5px solid var(--smoke2)}
.op-r:last-child{border-bottom:none}
.op-av2{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}
.op-nm{font-size:12px;font-weight:500;color:var(--obsidian)}
.op-mt{font-size:10px;color:var(--ch);margin-top:1px}
.op-rv{font-size:12px;font-weight:600;color:var(--teal)}
.act-r{display:flex;align-items:center;gap:9px;padding:11px 18px;border-bottom:.5px solid var(--smoke2);cursor:pointer;transition:background .15s}
.act-r:last-child{border-bottom:none}
.act-r:hover{background:var(--smoke)}
.ar-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.ar-ti{font-size:12px;font-weight:500;color:var(--obsidian)}
.ar-sb{font-size:10px;color:var(--ch);margin-top:1px}
.ar-ct{font-size:10px;font-weight:600;color:var(--purple);white-space:nowrap}
.rev-wrap{padding:12px 18px 14px}
.rev-bars{display:flex;align-items:flex-end;gap:6px;height:72px}
.rbar{flex:1;border-radius:3px 3px 0 0;min-height:3px;cursor:pointer;transition:opacity .2s}
.rbar:hover{opacity:.75}
.rev-lbls{display:flex;gap:6px;margin-top:4px}
.rl{flex:1;text-align:center;font-size:9px;color:var(--ch)}
.split-r{display:flex;justify-content:space-between;font-size:11px;color:var(--ch);margin-bottom:5px}
.split-b{background:var(--smoke2);border-radius:3px;height:5px;margin-bottom:10px;overflow:hidden}
.split-f{height:100%;border-radius:3px}

/* ── TIER CARDS ── */
.tier-card{
  background:var(--obs3);border:1px solid var(--obs5);
  border-radius:12px;overflow:hidden;cursor:pointer;
  transition:border-color .2s;
}
.tier-card:hover{border-color:rgba(201,168,76,.4)}
.tier-card.tc-sel{border-color:var(--gold)}
.tc-top{
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 14px;gap:12px;
}
.tc-left{flex:1;min-width:0}
.tc-name-row{display:flex;align-items:center;gap:7px;margin-bottom:3px}
.tc-name{font-size:14px;font-weight:600;color:var(--white)}
.tc-badge{
  font-size:9px;padding:2px 7px;border-radius:8px;
  background:rgba(201,168,76,.15);color:var(--gold);
  font-weight:500;letter-spacing:.03em;flex-shrink:0;
}
.tc-tagline{font-size:11px;color:var(--ch2)}
.tc-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.tc-price-block{text-align:right}
.tc-price{font-size:16px;font-weight:700;color:var(--gold)}
.tc-unit{display:block;font-size:9px;color:var(--ch2);margin-top:1px;white-space:nowrap}
.tc-chevron{color:var(--ch2);transition:transform .25s;display:flex;align-items:center}
.tc-body{
  max-height:0;overflow:hidden;
  transition:max-height .35s cubic-bezier(.4,0,.2,1);
  border-top:0 solid var(--obs5);
}
.tc-body[style*="400px"]{border-top-width:.5px}
.tc-perks{padding:12px 14px 10px;display:flex;flex-direction:column;gap:8px}
.tc-perk{display:flex;align-items:flex-start;gap:9px}
.tc-perk-ic{font-size:14px;flex-shrink:0;width:18px;text-align:center}
.tc-perk-text{font-size:12px;color:var(--white);line-height:1.4;padding-top:1px}
.tc-sel-btn{
  display:block;width:calc(100% - 28px);margin:4px 14px 14px;
  padding:10px;border:none;border-radius:8px;
  background:var(--gold);color:var(--obsidian);
  font-family:var(--fb);font-size:12px;font-weight:600;
  cursor:pointer;transition:var(--tr);
}
.tc-sel-btn:hover{opacity:.9}
.pricing-mode-btn{flex:1;padding:7px 0;border-radius:8px;border:.5px solid var(--obs5);background:var(--obs3);color:var(--ch2);font-family:var(--fb);font-size:11px;letter-spacing:.04em;cursor:pointer;transition:var(--tr)}
.pricing-mode-btn.sel{background:rgba(201,168,76,.15);border-color:var(--gold);color:var(--gold);font-weight:600}

/* ── DRESS PANEL within browse ── */
#dress-panel .og{grid-template-columns:1fr 1fr}
#dress-panel .oc{padding:10px}
#dress-panel .oc-ic{font-size:18px}
#dress-panel .oc-name{font-size:11px}
#dress-panel .oc-desc{font-size:9px}
#dress-panel .oc.sel{border-color:var(--gold);background:rgba(201,168,76,.15);box-shadow:0 0 0 1.5px var(--gold)}
#dress-panel .oc.sel .oc-name{color:var(--gold);font-weight:600}

@media(max-width:720px){
  .metrics{grid-template-columns:1fr 1fr}
  .stats-g{grid-template-columns:1fr 1fr}
  #p-client{padding:16px}
  .phone{width:100%;border-radius:0}
  .op-body,.adm-body{padding:14px}
}
.pw-wrap{position:relative;display:flex;align-items:center}.pw-wrap input{padding-right:36px!important;flex:1}.pw-eye{position:absolute;right:10px;background:none;border:none;cursor:pointer;color:var(--ch2);font-size:15px;padding:0;line-height:1;user-select:none}

/* ── Rating system ── */
.star-row{display:flex;justify-content:center;gap:8px;margin-bottom:8px}
.star{font-size:32px;color:var(--ch2);cursor:pointer;transition:transform .15s,color .15s;line-height:1}
.star:hover{transform:scale(1.2);color:var(--gold)}
.rate-tag{font-size:11px;padding:5px 12px;border-radius:14px;border:.5px solid var(--obs5);color:var(--ch2);cursor:pointer;transition:var(--tr);background:var(--obs3)}
.rate-tag:hover{border-color:var(--gold);color:var(--gold)}
.rate-tag.on{background:rgba(201,168,76,.15);border-color:var(--gold);color:var(--gold);font-weight:500}
.tip-btn{flex:1;padding:9px 4px;border:.5px solid var(--obs5);border-radius:8px;font-size:12px;font-weight:500;color:var(--ch2);text-align:center;cursor:pointer;transition:var(--tr);background:var(--obs3)}
.tip-btn:hover{border-color:var(--gold);color:var(--gold)}
.tip-btn.sel{background:rgba(201,168,76,.15);border-color:var(--gold);color:var(--gold)}

/* ── Operator dress checkboxes ── */
.dress-check{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ch);padding:4px 9px;border-radius:6px;border:.5px solid var(--smoke3);cursor:pointer;transition:var(--tr)}
.dress-check:hover{border-color:var(--gold-dark)}
.dress-check input{accent-color:var(--gold-dark);cursor:pointer}

/* ── App ecosystem cards (side info) ── */
.eco-card{background:var(--obs3);border-radius:12px;border:.5px solid var(--obs5);padding:14px 16px;margin-bottom:10px}
.eco-card-title{font-size:13px;font-weight:600;color:var(--white);margin-bottom:4px;display:flex;align-items:center;gap:8px}
.eco-card-sub{font-size:11px;color:var(--ch2);line-height:1.5}
.eco-tag{font-size:9px;padding:2px 7px;border-radius:6px;font-weight:500}

/* ── Payment screen ── */
.pay-method{background:var(--obs3);border:1px solid var(--obs5);border-radius:10px;padding:12px 14px;cursor:pointer;transition:var(--tr)}
.pay-method:hover{border-color:rgba(201,168,76,.4)}
.pay-method.sel{border-color:var(--gold);background:rgba(201,168,76,.07)}
.hour-opt{flex:1;border:.5px solid var(--obs5);border-radius:8px;padding:8px 4px;text-align:center;font-size:12px;font-weight:500;color:var(--ch2);cursor:pointer;transition:var(--tr);background:var(--obs3)}
.hour-opt:hover{border-color:var(--gold);color:var(--gold)}
.hour-opt.sel{border-color:var(--gold);background:rgba(201,168,76,.1);color:var(--white)}

/* ── Operator driver registration form ── */
.reg-label{font-size:10px;color:var(--ch);margin-bottom:3px;text-transform:uppercase;letter-spacing:.05em}
.reg-input{width:100%;padding:7px 10px;border-radius:6px;border:.5px solid var(--smoke3);font-size:12px;font-family:var(--fb);outline:none;background:var(--white);color:var(--obsidian);margin-bottom:0;transition:border-color .2s}
.reg-input:focus{border-color:var(--gold-dark)}
select.reg-input{cursor:pointer}

/* ── Profile photos ── */
.profile-photo{transition:transform .2s}
.profile-photo:hover{transform:scale(1.05)}
@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* ── Pricing panel ── */
.pr-row{display:flex;align-items:center;justify-content:space-between;padding:11px 20px;border-bottom:.5px solid var(--smoke2)}
.pr-row:last-child{border-bottom:none}
.pr-name{font-size:13px;font-weight:500;color:var(--obsidian)}
.pr-unit{font-size:10px;color:var(--ch);margin-top:2px}
.pr-input-wrap{display:flex;align-items:center;gap:2px;background:var(--smoke);border:.5px solid var(--smoke3);border-radius:8px;padding:4px 10px;min-width:90px}
.pr-dollar{font-size:13px;color:var(--ch);font-weight:500}
.pr-input{width:60px;border:none;background:transparent;font-size:14px;font-weight:600;color:var(--obsidian);outline:none;font-family:var(--fb);text-align:right}
.pr-input:focus{color:var(--gold-dark)}

/* ── Map ── */
.map-bg{position:relative;height:340px;background:var(--obs3);overflow:hidden}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(var(--obs4) 1px,transparent 1px),linear-gradient(90deg,var(--obs4) 1px,transparent 1px);background-size:32px 32px;opacity:.6}
.map-eta-pill{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:var(--obs2);border:.5px solid var(--obs5);border-radius:20px;padding:6px 16px;display:flex;align-items:center;gap:4px;white-space:nowrap}
.map-driver-card{background:var(--obs2);border-top:.5px solid rgba(201,168,76,.15);padding:14px 16px}
.map-action-btn{width:34px;height:34px;background:var(--obs4);border:.5px solid var(--obs5);border-radius:8px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}

/* ── Auth ── */
.social-btn{width:100%;padding:11px;background:var(--obs3);border:.5px solid var(--obs5);border-radius:10px;font-family:var(--fb);font-size:13px;font-weight:500;color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:var(--tr)}
.social-btn:hover{border-color:var(--gold)}
.or-divider{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:11px;color:var(--ch2)}
.or-divider::before,.or-divider::after{content:'';flex:1;height:.5px;background:var(--obs5)}
.auth-tabs{display:flex;background:var(--obs3);border-radius:9px;padding:3px;gap:3px}
.auth-tab{flex:1;text-align:center;padding:8px;font-size:12px;font-weight:500;color:var(--ch2);border-radius:7px;cursor:pointer;transition:var(--tr)}
.auth-tab.active{background:var(--obs2);color:var(--white)}

/* ── Check rows (driver checklist) ── */
.check-row{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:8px;border:.5px solid var(--obs5);background:var(--obs4);cursor:pointer;transition:var(--tr)}
.check-row.done{border-color:var(--teal);background:rgba(29,158,117,.08)}
.check-ic{font-size:14px;color:var(--teal)}
.check-row input[type=number]{width:72px;padding:4px 8px;border:.5px solid var(--obs5);border-radius:6px;background:var(--obs3);color:var(--white);font-size:12px;text-align:right;-moz-appearance:textfield}
.check-row input[type=number]::-webkit-outer-spin-button,.check-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.price-save-btn{width:100%;padding:10px;background:var(--teal);color:#000;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;margin-top:8px;transition:var(--tr)}
.price-save-btn:hover{opacity:.85}
.price-section{margin-bottom:24px}
.price-section-title{font-size:11px;font-weight:700;color:var(--ch);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;padding-bottom:6px;border-bottom:.5px solid var(--obs5)}
.addon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.addon-card{background:var(--obs3);border:.5px solid var(--obs5);border-radius:8px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center}
.addon-name{font-size:11px;color:var(--white);font-weight:500}
.fee-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:.5px solid var(--obs5)}
.fee-row:last-child{border-bottom:none}
.fee-label{font-size:12px;color:var(--ch2)}
.fee-val{font-size:12px;font-weight:600;color:var(--white)}
.saas-plan{background:var(--obs3);border:.5px solid var(--obs5);border-radius:10px;padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:var(--tr)}
.saas-plan.active{border-color:var(--gold);background:rgba(201,169,110,.06)}
.saas-plan-name{font-size:13px;font-weight:700;color:var(--white);margin-bottom:3px}
.saas-plan-pr{font-size:12px;color:var(--gold);font-weight:600}
.saas-plan-ft{font-size:11px;color:var(--ch2);margin-top:4px;line-height:1.6}
</style>
