@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');
:root{--orange:#de6528;--orange-dark:#bc4d1d;--ink:#20242b;--muted:#747a84;--stroke:#e9eaed;--paper:#fff;--canvas:#f6f7f8;--green:#19865c;--shadow:0 6px 25px #1d202416}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Montserrat,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--orange)}.hidden{display:none!important}.boot{padding:25px}.muted{color:var(--muted)}.sm{font-size:12px}.tiny{font-size:10px}.bold{font-weight:800}.orange{color:var(--orange)}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-1.4px}h2{letter-spacing:-.65px}h3{letter-spacing:-.3px}.btn{background:var(--orange);border:1px solid var(--orange);color:white;border-radius:13px;padding:12px 18px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;white-space:nowrap}.btn.secondary{background:white;border-color:#e6e8ea;color:#323840}.btn.dark{background:#22272c;border-color:#22272c}.btn.small{font-size:11px;padding:8px 11px;min-height:34px;border-radius:9px}.btn.danger{color:#bc292e;border-color:#ffc7c9;background:#fff6f7}.btn.block{width:100%}.pill{display:inline-flex;border-radius:30px;padding:6px 10px;font-size:10px;font-weight:800;background:#f2f4f5;color:#515761}.pill.good{background:#e3f7eb;color:#198458}.pill.orange{background:#fff0e8;color:#ac541e}.pill.bad{background:#ffecec;color:#a9303e}.form-control{border:1px solid #dee1e4;border-radius:11px;padding:12px;width:100%;color:#222;font-size:13px;background:white;outline-color:var(--orange);min-width:0}.field{display:grid;gap:7px;font-weight:700;font-size:12px;margin-bottom:12px}.field span{font-weight:700}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{background:var(--paper);border:1px solid #eceef0;border-radius:17px;padding:18px}.card.soft{background:#fafafa}.card+.card{margin-top:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h2{margin:0;font-size:20px}.stack{display:grid;gap:13px}.hrow{display:flex;justify-content:space-between;align-items:center;gap:10px}.logo{display:flex;align-items:center;gap:9px}.logo .brand{font-weight:900;font-size:30px;letter-spacing:-2.3px;color:var(--orange)}.logo .suffix{letter-spacing:3px;font-weight:900;font-size:12px}.sep{border-top:1px solid var(--stroke);margin:14px 0}.link-btn{border:0;background:none;color:var(--orange);font-size:12px;font-weight:800;padding:8px 0}.notice{padding:12px;border:1px solid #f2d7bd;border-radius:12px;background:#fff8f2;color:#8b461d;font-size:12px;line-height:1.5}.state-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#aeb4b7;margin-right:6px}.state-dot.on{background:#2bba84}
/* Rider/driver: map retains priority and controls are outside the bottom sheet */
.rides-portal #rides-app{height:100dvh;overflow:hidden}.phone-app{height:100dvh;position:relative;display:flex;flex-direction:column;background:#ecefea;isolation:isolate}.ride-map{position:absolute;inset:0;background:linear-gradient(145deg,#e8e9df,#efede7);z-index:0}.ride-map .map-canvas{position:absolute;inset:0;z-index:0}.map-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#869089;text-align:center;padding:25px;pointer-events:none}.ride-map.has-leaflet .map-placeholder{display:none}.ride-map .leaflet-control-attribution{font-size:9px!important}.mobile-top{position:absolute;top:calc(env(safe-area-inset-top,0px) + 15px);left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;z-index:1100;pointer-events:none}.mobile-top>*{pointer-events:auto}.map-icon{height:43px;width:43px;border:0;border-radius:14px;background:white;color:#252525;display:grid;place-items:center;font-size:20px;box-shadow:var(--shadow)}.brand-bubble{background:white;border-radius:16px;padding:10px 14px;box-shadow:var(--shadow)}.brand-bubble .brand{font-size:25px}.brand-bubble .suffix{font-size:9px;letter-spacing:2px}.map-status{position:absolute;top:calc(env(safe-area-inset-top,0px) + 77px);left:50%;transform:translateX(-50%);border-radius:50px;padding:11px 15px;z-index:1050;background:white;box-shadow:var(--shadow);font-size:11px;font-weight:800;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}.map-tools{position:absolute;right:14px;bottom:calc(var(--panel-height,280px) + 16px);z-index:1150;display:grid;gap:10px;transition:bottom .16s ease}.map-tools .map-icon{width:44px;height:44px}.mobile-panel{position:absolute;left:0;right:0;bottom:0;z-index:1060;background:white;border-radius:25px 25px 0 0;box-shadow:0 -7px 26px #14141418;padding:11px 18px calc(17px + env(safe-area-inset-bottom,0px));max-height:min(65dvh,520px);overflow-y:auto;scrollbar-width:thin}.mobile-panel .handle{width:49px;height:5px;border-radius:6px;background:#e0e1e3;margin:0 auto 18px}.mobile-panel h1{font-size:23px;margin-bottom:9px}.mobile-panel h2{font-size:20px;margin-bottom:10px}.mobile-panel .btn.block{margin-top:11px}.mobile-panel .card{padding:14px}.sheet-title{font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:1.7px;color:#90959a;margin-bottom:6px}.route-line{display:flex;gap:12px;align-items:flex-start;margin:14px 0}.route-line .dot{width:11px;height:11px;background:var(--orange);border-radius:50%;margin-top:4px;flex-shrink:0}.route-line.destination .dot{background:#27272c}.route-line strong{display:block;font-size:12px}.route-line small{color:var(--muted);font-size:11px}.portal-side{position:absolute;inset:0 13% 0 0;background:white;z-index:2100;transform:translateX(-110%);transition:transform .22s ease;padding:28px 22px;box-shadow:7px 0 30px #0003;overflow:auto}.portal-side.open{transform:translateX(0)}.side-overlay{display:none;position:absolute;inset:0;background:#19191977;z-index:2050}.side-overlay.open{display:block}.portal-nav{display:block;border:0;background:transparent;width:100%;text-align:left;padding:14px 6px;border-bottom:1px solid #eee;font-size:13px;font-weight:750;color:#222}.mobile-sheet-modal{position:absolute;inset:0;background:#19191977;z-index:2400;display:flex;align-items:flex-end}.mobile-sheet-modal .dialog{max-height:90dvh;overflow:auto;width:100%;border-radius:24px 24px 0 0;padding:23px 20px calc(26px + env(safe-area-inset-bottom,0px));background:white}.thread{height:250px;overflow:auto;background:#f7f7f7;border:1px solid #eee;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:9px}.bubble{background:white;border:1px solid #e8e8e8;border-radius:14px;padding:9px 11px;font-size:12px;max-width:86%;align-self:flex-start;overflow-wrap:anywhere}.bubble.mine{background:#fff0e7;border-color:#f7d7c7;align-self:flex-end}.chat-compose{display:flex;gap:7px;margin-top:10px}.chat-compose .form-control{flex:1}.messagebar{position:absolute;top:145px;left:15px;right:15px;z-index:1151;border-radius:12px;background:#26272b;color:#fff;padding:12px;font-size:12px;box-shadow:var(--shadow)}
@media(min-width:800px){.rides-portal #rides-app{height:100dvh}.phone-app{max-width:1050px;margin:auto;border-left:1px solid #eee;border-right:1px solid #eee}.mobile-panel{width:min(425px,40%);right:22px;left:auto;bottom:22px;border-radius:20px;max-height:85vh}.map-tools{right:calc(min(425px,40%) + 46px);bottom:30px}.portal-side{inset:0 auto 0 0;width:310px}.mobile-sheet-modal{align-items:center;justify-content:center}.mobile-sheet-modal .dialog{width:425px;border-radius:20px}}
/* Admin operations desktop/mobile */
.rides-admin{background:var(--canvas)}.admin-app{min-height:100dvh;display:flex}.admin-sidebar{position:fixed;top:0;bottom:0;left:0;width:242px;background:#fff;border-right:1px solid var(--stroke);padding:22px 15px;z-index:1200;display:flex;flex-direction:column;gap:20px}.admin-brand{padding:0 13px}.admin-nav{display:grid;gap:6px}.admin-nav button{display:flex;align-items:center;gap:13px;width:100%;padding:12px 13px;border:0;border-radius:11px;text-align:left;background:transparent;color:#5c626c;font-size:12px;font-weight:750}.admin-nav button.active{background:#fff0e8;color:var(--orange)}.nav-icon{font-size:18px;width:22px;text-align:center}.admin-sidebar .foot{margin-top:auto;font-size:11px;color:#9298a1;padding:15px 13px;border-top:1px solid var(--stroke)}.admin-main{flex:1;margin-left:242px;min-width:0}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 29px;background:#fff;border-bottom:1px solid var(--stroke)}.admin-top h1{font-size:20px;margin:0}.admin-body{padding:26px 29px;max-width:1600px;margin:0 auto}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:19px 0}.stat-card{background:#fff;border:1px solid var(--stroke);border-radius:16px;padding:17px;min-width:0}.stat-card small{display:block;font-size:11px;color:var(--muted);font-weight:650}.stat-card strong{display:block;font-size:27px;letter-spacing:-1px;margin-top:9px}.admin-content-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(295px,.8fr);gap:17px}.admin-map{position:relative;height:350px;background:#e5e9e2;border-radius:13px;overflow:hidden}.admin-map-inner{position:absolute;inset:0}.admin-map-label{position:absolute;top:14px;left:14px;background:white;padding:9px 13px;border-radius:10px;font-size:11px;font-weight:800;box-shadow:var(--shadow);z-index:600}.admin-map-warning{position:absolute;bottom:12px;left:12px;right:12px;z-index:600;background:#ffffffda;border-radius:9px;padding:9px 12px;font-size:10px;color:#60656a}.admin-table-wrap{overflow:auto;width:100%}.admin-table{width:100%;border-collapse:collapse;min-width:630px;font-size:12px}.admin-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.65px;color:#8b929a;padding:13px;border-bottom:1px solid var(--stroke)}.admin-table td{padding:13px;border-bottom:1px solid #f2f3f4;vertical-align:middle}.admin-table tr:last-child td{border:0}.admin-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.admin-filters .form-control{max-width:270px}.admin-mobile-menu{display:none}.admin-mobile-overlay{display:none}.admin-grid2{display:grid;grid-template-columns:1fr 1fr;gap:17px}.page-heading{margin-bottom:19px}.page-heading h1{font-size:26px;margin:0 0 4px}.page-heading p{font-size:12px;color:var(--muted);margin:0}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-actions .btn{white-space:normal}.empty-state{padding:30px 15px;text-align:center;color:var(--muted);font-size:12px}.toast{position:fixed;bottom:25px;right:25px;background:#282c30;color:#fff;border-radius:12px;padding:14px 18px;font-size:12px;z-index:4000;box-shadow:var(--shadow)}.admin-modal{position:fixed;inset:0;background:#161a2080;display:flex;align-items:center;justify-content:center;padding:17px;z-index:3000}.admin-dialog{width:min(570px,100%);max-height:90dvh;overflow:auto;background:white;border-radius:19px;padding:23px}.admin-dialog h2{font-size:20px}.admin-dialog .thread{height:300px}.admin-btnrow{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media(max-width:1200px){.admin-kpi-grid{grid-template-columns:repeat(2,1fr)}.admin-content-grid{grid-template-columns:1fr}.admin-grid2{grid-template-columns:1fr}}
@media(max-width:760px){.admin-sidebar{transform:translateX(-110%);transition:transform .18s ease}.admin-sidebar.open{transform:translateX(0)}.admin-mobile-overlay.open{display:block;position:fixed;inset:0;background:#0007;z-index:1150}.admin-main{margin-left:0}.admin-top{padding:13px 16px}.admin-mobile-menu{display:inline-flex}.admin-body{padding:16px}.admin-kpi-grid{gap:9px}.stat-card{padding:13px}.stat-card strong{font-size:23px}.page-heading h1{font-size:22px}.admin-map{height:300px}.admin-dialog{padding:17px}}
/* Standalone first-party authentication, no /my */
.rides-auth{min-height:100dvh;background:linear-gradient(145deg,#f8f8f7,#ffecdf);display:flex;align-items:center;justify-content:center;padding:25px 12px}.auth-card{width:min(490px,100%);background:white;border:1px solid #eee;border-radius:25px;padding:35px 33px;box-shadow:0 20px 60px #55270012}.auth-brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.auth-brand strong{color:var(--orange);font-size:35px;letter-spacing:-2.9px;font-weight:900}.auth-brand span{letter-spacing:3px;font-weight:900;font-size:14px}.auth-eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2px;font-weight:800;color:#a1a5aa}.auth-card h1{font-size:29px;margin:8px 0 21px}.auth-card label{display:block;font-size:12px;font-weight:750;margin:12px 0}.auth-card input,.auth-card select{display:block;width:100%;background:#fbfbfb;border:1px solid #e4e6e7;border-radius:10px;padding:12px;margin:7px 0 0;outline-color:var(--orange);font-size:13px}.auth-card .form-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.auth-divider{font-weight:850;padding-top:16px;border-top:1px solid #eee;margin-top:19px}.auth-submit{display:block;text-align:center;background:var(--orange);color:#fff;border:0;width:100%;padding:14px;border-radius:12px;font-weight:850;font-size:13px;margin:19px 0 12px;text-decoration:none}.auth-secondary{display:block;text-align:center;border:1px solid #e0e3e5;padding:14px;border-radius:12px;font-size:13px;color:#222;text-decoration:none;font-weight:800}.auth-card p{font-size:12px;color:var(--muted);line-height:1.6}.auth-card footer{border-top:1px solid #eee;margin-top:23px;padding-top:13px;color:#b1b1b1;font-size:10px}.auth-card .auth-error{color:#a14412;background:#fff3e9;border:1px solid #f3dac9;padding:11px;border-radius:9px}.auth-note{background:#fff7f2;border-radius:9px;padding:11px;font-size:11px!important}

/* v18.0.2.1.0 — branded, standalone authentication and navigation */
.logo,.auth-brand{display:flex;align-items:center;gap:10px}
.oima-real-logo{display:block;width:104px;max-width:100%;height:auto;object-fit:contain;flex-shrink:0}
.auth-brand .oima-real-logo{width:165px}
.auth-brand>span,.auth-brand .suffix{font-weight:800;font-size:14px;letter-spacing:2px;color:#20242b}
.brand-bubble .oima-real-logo{width:85px}
.admin-brand .oima-real-logo{width:112px}
.portal-side .oima-real-logo{width:108px}
.auth-role-signups{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 18px;border-top:1px solid #eeeeef;padding-top:16px;margin-top:18px;font-size:12px;font-weight:750}
.rides-entry .auth-card>p{margin-bottom:20px}
.rides-auth .auth-card{position:relative;overflow:hidden}
.rides-auth .auth-card::before{content:"";position:absolute;height:5px;top:0;left:0;right:0;background:#de6528}
@media(max-width:390px){.auth-brand .oima-real-logo{width:130px}.auth-brand>span{font-size:12px;letter-spacing:1px}.brand-bubble .oima-real-logo{width:74px}}

/* v18.0.2.2.0: vehicle selection is always the first step. */
.rides-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0 9px}
.rides-choice{background:white;border:1.5px solid #e8e8e8;border-radius:13px;padding:11px 5px;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:#303135}
.rides-choice span{font-size:23px}.rides-choice strong{font-size:11px}
.rides-choice.selected{background:#fff4ed;border-color:#de6528;box-shadow:0 0 0 1px #de6528}
.rides-choice:focus-visible{outline:3px solid #a3440f;outline-offset:2px}

/* Document review, v18.0.2.3.0 */
.doc-upload-field{border-bottom:1px solid #eee;padding:13px 0;margin:0}
.doc-upload-field:last-child{border-bottom:0}
.doc-upload-field .hrow{gap:10px;flex-wrap:wrap}
.doc-upload-field .tiny{font-weight:400}
#rides-doc-save-status{margin:9px 0 0;color:#286a4b;min-height:16px}
.oima-real-logo{object-fit:contain;object-position:left center;image-rendering:auto}
.brand-bubble .oima-real-logo{width:105px;height:auto}
.auth-brand .oima-real-logo{width:195px;height:auto}
.admin-brand .oima-real-logo{width:145px;height:auto}
@media(max-width:390px){.brand-bubble .oima-real-logo{width:85px}.auth-brand .oima-real-logo{width:155px}}

/* v18.0.2.4.0 — Rider booking: vehicle → destination → pickup.
   Same selector uses search, GPS, or a map pin. */
.rides-portal .brand-bubble{
 display:flex;align-items:center;justify-content:center;padding:8px 10px;
 border-radius:14px;min-height:40px;max-width:108px;
}
.rides-portal .brand-bubble .oima-real-logo{width:72px;max-height:27px;height:auto;object-fit:contain;object-position:center}
.rides-portal .portal-side .oima-real-logo{width:91px;max-height:43px;object-fit:contain}
.rides-search-label{
 display:flex;align-items:center;gap:10px;background:#f8f8f9;
 border:1.5px solid #dedfe2;border-radius:15px;padding:4px 13px;
 box-shadow:0 2px 5px #00000005;margin:12px 0 4px;
}
.rides-search-label:focus-within{background:#fff;border-color:#de6528;box-shadow:0 0 0 3px #de65281a}
.rides-search-label>span{font-size:23px;color:#727982}
.rides-search-label .rides-place-search{
 background:transparent;border:0;outline:0;width:100%;min-width:0;
 height:47px;color:#222;font-size:13px;font-weight:600
}
.rides-search-label .rides-place-search::placeholder{color:#858a90}
.rides-place-results{display:grid;gap:3px;max-height:170px;overflow-y:auto;scrollbar-width:thin}
.rides-place-result{
 display:flex;align-items:center;gap:10px;text-align:left;width:100%;
 background:white;color:#303339;border:0;border-bottom:1px solid #eee;
 border-radius:4px;padding:11px 9px;cursor:pointer;
 font-size:12px;font-weight:650;line-height:1.45;
}
.rides-place-result:hover,.rides-place-result:focus-visible{background:#fff4ed}
.rides-place-result>span:first-child{font-size:18px;color:#de6528;flex:0 0 18px}
.rides-location-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.rides-location-actions .btn{padding:10px 4px;font-size:12px;white-space:normal;min-height:46px}
.rides-location-current{
 display:flex;flex-direction:column;gap:5px;background:#fff7f2;
 border:1px solid #f4d9c7;border-radius:13px;margin:13px 0 3px;
 padding:12px 13px;min-width:0;
}
.rides-location-current>small{font-weight:800;color:#9e673f;text-transform:uppercase;letter-spacing:1px;font-size:9px}
.rides-location-current>strong{font-size:12px;color:#25282d;overflow-wrap:anywhere;line-height:1.5}
.rides-location-summary{display:grid;gap:10px;margin:15px 0}
.rides-summary-row{
 display:flex;align-items:center;gap:10px;background:white;width:100%;
 border:1px solid #e5e5e5;border-radius:12px;padding:12px 9px;
 cursor:pointer;text-align:left;color:#24272c;min-width:0;
}
.rides-summary-row>span:nth-child(2){display:grid;gap:3px;flex:1;min-width:0}
.rides-summary-row small{font-size:10px;color:#90949a}
.rides-summary-row strong{font-size:12px;white-space:normal;overflow-wrap:anywhere}
.rides-summary-row>b{font-size:10px;color:#b85b21}
.rides-summary-row:first-child>span:first-child{color:#de6528}
.rides-summary-row:nth-child(2)>span:first-child{color:#19865c}
@media(max-width:390px){
 .rides-portal .brand-bubble{max-width:95px;padding:7px 8px}
 .rides-portal .brand-bubble .oima-real-logo{width:66px}
 .rides-location-actions{gap:6px}
 .rides-place-result{font-size:11px}
}

/* 18.0.2.4.1 — Single rounded field: no browser-default inner rectangle. */
.rides-portal .rides-search-label{
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  -webkit-tap-highlight-color:transparent;
}
.rides-portal .rides-search-label:focus-within{
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(222,101,40,.16);
}
.rides-portal .rides-search-label input.rides-place-search,
.rides-portal .rides-search-label input.rides-place-search:focus,
.rides-portal .rides-search-label input.rides-place-search:focus-visible{
  display:block;
  width:100%;
  min-width:0;
  min-height:47px;
  height:47px;
  margin:0;
  padding:0;
  background:transparent !important;
  border:0 !important;
  border-radius:16px !important;
  outline:0 !important;
  box-shadow:none !important;
  -webkit-appearance:none;
  appearance:none;
  font-family:inherit;
  color:var(--ink);
  caret-color:var(--orange);
  font-size:14px;
  font-weight:600;
}
.rides-portal .rides-search-label input.rides-place-search::placeholder{
  color:#858a90;
  opacity:1;
  font-weight:500;
}
/* Other editable fields use the same soft corner system. */
.rides-portal .form-control,
.rides-admin .form-control,
.rides-auth .auth-card input,
.rides-auth .auth-card select,
.rides-portal .chat-compose input,
.rides-portal .chat-compose textarea{
  border-radius:14px;
}
.rides-place-result{
  border-radius:12px;
}
.rides-portal .form-control:focus-visible,
.rides-admin .form-control:focus-visible,
.rides-auth .auth-card input:focus-visible,
.rides-auth .auth-card select:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:1px;
}

/* Paraguarí pilot — keyless vector basemap with Leaflet pins. */
#rides-place-search,
#rides-place-search:focus,
#rides-place-search:focus-visible,
.rides-search-label input#rides-place-search,
.rides-search-label input#rides-place-search:focus,
.rides-search-label input#rides-place-search:focus-visible {
 display:block !important;
 min-height:46px;
 width:100%;
 min-width:0;
 padding:0 !important;
 margin:0 !important;
 border:0 none !important;
 outline:0 none !important;
 box-shadow:none !important;
 border-radius:16px !important;
 background:transparent !important;
 appearance:none !important;
 -webkit-appearance:none !important;
 font:inherit;
 caret-color:#de6528;
}
.rides-search-label{
 border-radius:17px !important;
 background:white !important;
 overflow:hidden;
}
.rides-search-label:focus-within{border-color:#de6528 !important;box-shadow:0 0 0 3px rgba(222,101,40,.16) !important}
.rides-portal button,.rides-portal input,.rides-portal textarea,
.rides-portal select,.rides-admin button,.rides-admin input,.rides-admin textarea,.rides-admin select{
 border-radius:13px;
}
.ride-map .rides-map-credit{
 position:absolute;top:205px;left:12px;z-index:510;
 background:rgba(255,255,255,.89);border-radius:8px;padding:3px 6px;
 color:#53606a;font-size:9px;font-weight:500;line-height:1.3;pointer-events:none;
 box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.ride-map.has-leaflet .map-placeholder.map-provider-warning{display:block;z-index:490;background:rgba(255,255,255,.86)}
/* Keep the map attribution visible above the bottom sheet on small screens. */
@media(max-width:410px){.ride-map .rides-map-credit{top:188px;left:9px;font-size:8px}}
/* Tariff editor forms use the same corners as the rest of the dashboard. */
.rides-admin .admin-dialog input,.rides-admin .admin-dialog select,
.rides-admin .admin-dialog button{border-radius:13px}

/* v18.0.2.5.1: compact, balanced sidebar branding across desktop/mobile. */
.rides-admin .admin-sidebar .admin-brand{padding:0 10px}
.rides-admin .admin-sidebar .admin-brand .logo{gap:6px;max-width:100%;align-items:center;flex-wrap:nowrap}
.rides-admin .admin-sidebar .admin-brand .oima-real-logo{
  width:101px;min-width:0;max-width:101px;height:auto;max-height:41px;object-fit:contain
}
.rides-admin .admin-sidebar .admin-brand .logo .suffix{
  font-size:8.5px;line-height:1;letter-spacing:1.5px;font-weight:800;white-space:nowrap
}
.rides-admin .admin-sidebar .admin-brand > p{font-size:10px;line-height:1.5;margin:5px 0 0;color:#9298a1}
.rides-portal .portal-side .logo{gap:5px;max-width:100%}
.rides-portal .portal-side .oima-real-logo{
  width:64px;max-width:64px;height:auto;max-height:30px;object-fit:contain
}
.rides-portal .portal-side .logo .suffix{font-size:8px;letter-spacing:1.2px}
/* Focus styles remain within the rounded Oima buttons. */
.rides-admin .admin-sidebar button:focus-visible,
.rides-admin .admin-body button:focus-visible,
.rides-portal .portal-side button:focus-visible{
  outline:2px solid #de6528;outline-offset:2px;border-radius:12px
}

/* Profile photos for authenticated riders and drivers — v18.0.2.5.2 */
.rides-avatar{
 display:inline-flex;align-items:center;justify-content:center;
 flex:0 0 auto;width:44px;height:44px;overflow:hidden;
 border-radius:50%;background:#fff0e5;color:#bf551b;border:2px solid #fff;
 box-shadow:0 0 0 1px #e4e5e8;font-size:14px;font-weight:800;
}
.rides-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.rides-avatar.small{width:35px;height:35px;font-size:11px}
.rides-avatar.medium{width:54px;height:54px;font-size:18px}
.rides-avatar.large{width:92px;height:92px;font-size:27px}
.rides-profile-photo-heading{display:flex;align-items:center;gap:14px;min-width:0}
.rides-profile-photo-heading>div:last-child{min-width:0;flex:1}
.rides-profile-photo-heading strong{display:block;font-size:14px;line-height:1.4}
.rides-profile-photo-heading .muted{margin:5px 0 0;line-height:1.5}
.rides-profile-info .rides-profile-photo-heading .pill{margin-top:6px}
.rides-profile-photo-card .rides-profile-photo-heading{margin-bottom:17px}
.rides-profile-photo-card input[type=file]{border-radius:13px}
.rides-profile-photo-card #rides-photo-status{min-height:0;margin:9px 0 0}
.rides-admin-person{display:flex;align-items:center;gap:9px;min-width:150px}
.rides-admin-person strong{overflow-wrap:anywhere}
@media(max-width:420px){
 .rides-avatar.large{width:78px;height:78px}
 .rides-profile-photo-heading{gap:11px}
 .rides-profile-photo-heading strong{font-size:13px}
}
