/* REV · AppLlama-informed UI refinement
   Preserve approved white/blue, Persian RTL, PWA stack and all functional IDs.
   The map cockpit and its full-screen panels keep dedicated navigation styles. */
html[data-rev-app="1"]{
  --rev-ux-blue:#0866ff;
  --rev-ux-soft:#f0f6ff;
  --rev-ux-ink:#172b4d;
  --rev-ux-muted:#526784;
  --rev-ux-line:#dce7f5;
}
html[data-rev-app="1"] body:not(.rev-map-one) :is(button,a,input,select,textarea,summary){
  -webkit-tap-highlight-color:transparent;
}
html[data-rev-app="1"] body:not(.rev-map-one) :is(button,a,summary):focus-visible{
  outline:3px solid var(--rev-ux-blue)!important;
  outline-offset:2px!important;
}
/* Always name the active parent tab, including nested support/profile pages. */
html[data-rev-app="1"] body #rev-app-bottom-nav a[aria-current="page"]{
  color:var(--rev-ux-blue)!important;
  background:var(--rev-ux-soft)!important;
}
/* HOME: range and state directly after destination, then services, then media.
   Flex ordering is visual only: all original DOM, event listeners and links stay. */
html[data-rev-app="1"] body main.rev-home-layout>.rev-home-start{order:-10!important}
html[data-rev-app="1"] body main.rev-home-layout>#hybHomeCard{order:-9!important}
html[data-rev-app="1"] body main.rev-home-layout>.rev-quick-actions{order:-8!important}
html[data-rev-app="1"] body main.rev-home-layout>.rev-today{order:-7!important}
html[data-rev-app="1"] body main.rev-home-layout>.hero-card{order:2!important}
html[data-rev-app="1"] body main.rev-home-layout>#inviteSection{order:3!important}
html[data-rev-app="1"] body main.rev-home-layout>.section:not(#inviteSection){order:4!important}
html[data-rev-app="1"] body main.rev-home-layout>.rev-quick-actions{
  margin:12px 0 10px!important;
  gap:8px!important;
}
html[data-rev-app="1"] body main.rev-home-layout>.rev-today{margin:12px 0!important}
html[data-rev-app="1"] body main.rev-home-layout>.hero-card{margin-top:18px!important}
html[data-rev-app="1"] body .rev-home-greeting{font-size:11px!important}
html[data-rev-app="1"] body .rev-quick-actions a{
  min-height:72px!important;
  font-size:12px!important;
  border-radius:14px!important;
}
html[data-rev-app="1"] body .rev-suggestion-grid a{font-size:12px!important}
html[data-rev-app="1"] body .rev-suggestion-grid small{font-size:11px!important}
html[data-rev-app="1"] body #hybHomeCard{border-color:var(--rev-ux-line)!important}
html[data-rev-app="1"] body #hybHomeCard :is(.hyb-range-note,.hyb-speed-explain,.hyb-reserve-explain){font-size:12px!important;line-height:1.8!important}
html[data-rev-app="1"] body #hybHomeCard .hyb-go{min-height:44px!important}
html[data-rev-app="1"] body #inviteSection .rev-home-share-action{min-height:44px!important;font-size:12px!important}
/* TRIPS: consistent blue segmented controls for the two existing journeys.
   The energy shortcut belongs to personal planning, not group coordination. */
html[data-rev-app="1"] body:has(#revDesignOnePlanner) .rev-tabs{
  background:#f3f7fd!important;
  border-color:var(--rev-ux-line)!important;
  border-radius:14px!important;
  padding:4px!important;
}
html[data-rev-app="1"] body:has(#revDesignOnePlanner) .rev-tab{
  min-height:46px!important;
  border-radius:11px!important;
  font-size:14px!important;
}
html[data-rev-app="1"] body:has(#revDesignOnePlanner) .rev-tab.active,
html[data-rev-app="1"] body .lm-tab.active{
  background:var(--rev-ux-blue)!important;
  color:#fff!important;
  box-shadow:none!important;
  border-color:var(--rev-ux-blue)!important;
}
html[data-rev-app="1"] body.rev-tab-group .rev-trip-energy-link{display:none!important}
html[data-rev-app="1"] body .rev-trip-energy-link{
  background:#f5f9ff!important;
  border-color:var(--rev-ux-line)!important;
  color:var(--rev-ux-ink)!important;
  min-height:62px;
}
html[data-rev-app="1"] body .rev-trip-energy-link :is(span[aria-hidden],small){color:var(--rev-ux-blue)!important}
html[data-rev-app="1"] body .lm-tabs .lm-tab{min-height:44px!important}
html[data-rev-app="1"] body .lm-code-box,
html[data-rev-app="1"] body .lm-avatar{
  background:var(--rev-ux-blue)!important;
}
html[data-rev-app="1"] body #lmCreatePanel button[onclick="lmCreate()"],
html[data-rev-app="1"] body #lmJoinPanel button[onclick="lmJoin()"]{
  min-height:46px!important;
  background:var(--rev-ux-blue)!important;
}
html[data-rev-app="1"] body #evpStaleRecalc,
html[data-rev-app="1"] body .evp-editrow button{
  min-height:44px!important;
}
html[data-rev-app="1"] body #revDesignOnePlanner>.field:has(button) button,
html[data-rev-app="1"] body #revDesignOnePlanner .trip-date-grid input{
  min-height:44px!important;
}
/* SERVICES: advanced professional routes are discoverable but collapsed
   for normal drivers, keeping emergency and consumer needs first. */
html[data-rev-app="1"] body .rev-services-layout .rev-service-professional-tools{
  margin:12px 0 4px;
  border:1px solid var(--rev-ux-line);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
html[data-rev-app="1"] body .rev-services-layout .rev-service-professional-tools>summary{
  display:list-item;
  cursor:pointer;
  min-height:46px;
  padding:12px 14px;
  font:700 12px/1.8 Vazirmatn,Vazir,Tahoma,sans-serif;
  color:var(--rev-ux-muted);
  list-style-position:inside;
}
html[data-rev-app="1"] body .rev-services-layout .rev-service-professional-links{
  padding:0 12px 12px;
}
html[data-rev-app="1"] body .rev-services-layout .rev-service-professional-links a{
  min-height:46px;
  font-size:12px!important;
}
html[data-rev-app="1"] body .rev-services-layout .rev-service-shortcuts a{
  border-radius:14px!important;
}
html[data-rev-app="1"] body .rev-services-layout .rev-services-prompt{margin-top:12px!important}
/* PROFILE: keep the existing five tabs, but protect tap size and legibility. */
html[data-rev-app="1"] body:has(.rev-profile-header) .dp-tabs button{
  min-height:48px!important;
  font-size:12px!important;
}
html[data-rev-app="1"] body:has(.rev-profile-header) .rev-account-settings summary{
  min-height:44px!important;
  display:list-item;
}
/* MAP: keep the existing three 46px floating actions. Only small auxiliary
   controls and error states gain larger tap areas; the guidance stays intact. */
html[data-rev-app="1"] body.rev-map-one #routeSettingsPanel :is(button,[role="button"]),
html[data-rev-app="1"] body.rev-map-one #revMusicClose{
  min-width:44px!important;
  min-height:44px!important;
}
html[data-rev-app="1"] body.rev-map-one #revMapTileNotice{
  position:fixed;
  z-index:2100;
  top:calc(130px + env(safe-area-inset-top));
  left:12px;
  right:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px 14px;
  color:#17345b;
  background:rgba(255,255,255,.97);
  border:1px solid #e3b857;
  border-radius:14px;
  box-shadow:0 6px 22px #17345b18;
  font:700 12px/1.8 Vazirmatn,Vazir,Tahoma,sans-serif;
}
html[data-rev-app="1"] body.rev-map-one #revMapTileNotice[hidden]{display:none!important}
html[data-rev-app="1"] body.rev-map-one #revMapTileNotice button{
  min-height:44px;
  border:1px solid var(--rev-ux-line);
  background:var(--rev-ux-soft);
  color:var(--rev-ux-blue);
  border-radius:10px;
  font:700 13px Vazirmatn,Vazir,Tahoma,sans-serif;
}
@media(prefers-reduced-motion:reduce){
  html[data-rev-app="1"] body{scroll-behavior:auto!important}
  html[data-rev-app="1"] body *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* A single line-icon family for main profile tabs and auxiliary shortcuts. */
html[data-rev-app="1"] body .dp-tabs button .ico svg,
html[data-rev-app="1"] body .rev-trip-tab-icon svg,
html[data-rev-app="1"] body .rev-home-aux-icon svg{
  display:block;width:22px;height:22px;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
html[data-rev-app="1"] body .dp-tabs button .ico{display:grid;place-items:center;min-height:24px}
html[data-rev-app="1"] body .rev-trip-tab-icon{display:inline-flex;align-items:center;margin-left:6px}
html[data-rev-app="1"] body .lm-tabs .lm-tab{display:flex;align-items:center;justify-content:center}
html[data-rev-app="1"] body .rev-home-aux-icon{display:grid;place-items:center}

/* Home history: a clear, recoverable offline/auth error, not an eternal spinner. */
html[data-rev-app="1"] body .rev-home-trip-retry{
  display:block;min-height:44px;min-width:120px;margin:10px auto 4px;
  padding:10px 18px;background:#edf5ff;color:#075bd6;
  border:1px solid #cfe0f8;border-radius:12px;
  font:700 13px Vazirmatn,Vazir,Tahoma,sans-serif;cursor:pointer;
}
