/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */

 :root,
 :root[data-theme="dark"] {
   --app-max-width: 760px;
   --bg-main: #0b1111;
   --bg-muted: #223130;
   --bg-gradient-start: #101818;
   --bg-gradient-end: #090f0f;
   --border-subtle: rgba(208, 222, 216, 0.16);
   --border-default: rgba(208, 222, 216, 0.28);
   --border-strong: rgba(208, 222, 216, 0.42);
   --text-primary: #eff5f2;
   --text-secondary: #c6d1cb;
   --text-muted: #9eada7;
   --accent: #8de6bf;
   --accent-soft: rgba(141, 230, 191, 0.14);
   --accent-contrast: #0f2119;
   --danger: #ff8d94;
   --danger-solid-fg: #1a1012;
   --surface-topbar: rgba(16, 25, 25, 0.72);
   --surface-card-start: rgba(22, 32, 32, 0.96);
   --surface-card-end: rgba(16, 24, 24, 0.96);
   --surface-input: rgba(9, 14, 14, 0.78);
   --surface-input-focus: rgba(12, 18, 18, 0.9);
   --surface-segmented: rgba(10, 16, 16, 0.78);
   --surface-nav: rgba(11, 17, 17, 0.92);
   --surface-menu: rgba(12, 18, 18, 0.98);
   --surface-menu-hover: rgba(141, 230, 191, 0.16);
   --menu-trigger-bg: rgba(141, 230, 191, 0.14);
   --menu-trigger-shadow: none;
   --menu-trigger-active-bg: rgba(141, 230, 191, 0.16);
  --menu-trigger-active-border: rgba(6, 16, 13, 0.58);
   --menu-trigger-active-icon: #d6fae9;
   --surface-segmented-contrast: rgba(10, 16, 16, 0.92);
   --segmented-contrast-border: rgba(208, 222, 216, 0.4);
   --segmented-contrast-divider: rgba(208, 222, 216, 0.3);
   --segmented-contrast-item-color: #d3ddd8;
   --segmented-contrast-active-bg: rgba(141, 230, 191, 0.2);
   --segmented-contrast-active-color: #eff5f2;
   --segmented-contrast-press-bg: rgba(141, 230, 191, 0.14);
   --surface-auth-panel: rgba(15, 22, 22, 0.7);
   --surface-price-pill: rgba(18, 27, 27, 0.9);
   --surface-empty-state: rgba(13, 20, 20, 0.5);
  --menu-trigger-border: rgba(6, 16, 13, 0.58);
   --menu-trigger-icon: #d6fae9;
   --btn-primary-shadow: 0 10px 20px rgba(6, 16, 13, 0.3);
  --btn-primary-border: rgba(6, 16, 13, 0.58);
   --btn-primary-hover-filter: brightness(1.02);
   --btn-primary-active-filter: brightness(0.97);
   --btn-primary-active-transform: translateY(1px) scale(0.995);
   --btn-ghost-border: rgba(141, 230, 191, 0.46);
   --btn-danger-border: rgba(255, 141, 148, 0.55);
  --offer-ttl-fill-start: #1f6c45;
  --offer-ttl-fill-mid: #2a8759;
  --offer-ttl-fill-end: #0e4a2b;
  --offer-ttl-border: rgba(141, 230, 191, 0.34);
  --offer-ttl-meta: rgba(236, 255, 245, 0.9);
  --offer-ttl-action-bg: var(--accent);
  --offer-ttl-action-text: var(--accent-contrast);
  --offer-ttl-action-border: transparent;
  --offer-ttl-action-shadow: var(--btn-primary-shadow);
  --offer-ttl-action-hover-filter: var(--btn-primary-hover-filter);
  --offer-ttl-action-active-filter: var(--btn-primary-active-filter);
  --offer-ttl-action-focus-ring: var(--focus-ring);
   --radius-2xl: 24px;
   --radius-xl: 18px;
   --radius-lg: 14px;
   --radius-md: 12px;
   --radius-pill: 999px;
   --space-2: 8px;
   --space-3: 12px;
   --space-4: 16px;
   --space-5: 20px;
   --shadow-card: 0 10px 30px rgba(2, 6, 6, 0.26);
   --focus-ring: 0 0 0 3px rgba(141, 230, 191, 0.25);
   --flash-notice-bg: rgba(26, 66, 51, 0.44);
   --flash-notice-border: rgba(141, 230, 191, 0.42);
   --flash-notice-color: #ccf7e3;
   --flash-alert-bg: rgba(85, 35, 43, 0.44);
   --flash-alert-border: rgba(255, 141, 148, 0.5);
   --flash-alert-color: #ffdce0;
 }
 
 :root[data-theme="light"] {
   --bg-main: #edf3f3;
   --bg-muted: #dde9e6;
   --bg-gradient-start: #fbfefe;
   --bg-gradient-end: #e8f0ee;
   --border-subtle: rgba(28, 56, 49, 0.14);
   --border-default: rgba(28, 56, 49, 0.25);
   --border-strong: rgba(28, 56, 49, 0.35);
   --text-primary: #1a2a26;
   --text-secondary: #35504a;
   --text-muted: #58706a;
   --accent: #2f9b63;
   --accent-soft: rgba(47, 155, 99, 0.16);
   --accent-contrast: #f5fff8;
   --danger: #b93f4f;
   --danger-solid-fg: #fffdfb;
   --surface-topbar: rgba(255, 255, 255, 0.82);
   --surface-card-start: rgba(255, 255, 255, 0.96);
   --surface-card-end: rgba(241, 247, 245, 0.96);
   --surface-input: rgba(255, 255, 255, 0.95);
   --surface-input-focus: rgba(255, 255, 255, 1);
   --surface-segmented: rgba(230, 239, 236, 0.92);
   --surface-nav: rgba(248, 252, 251, 0.92);
   --surface-menu: rgba(255, 255, 255, 0.98);
   --surface-menu-hover: rgba(47, 155, 99, 0.14);
   --menu-trigger-bg: #2f9b63;
   --menu-trigger-shadow: 0 10px 20px rgba(30, 60, 53, 0.2);
   --menu-trigger-active-bg: #ffffff;
  --menu-trigger-active-border: rgba(20, 64, 46, 0.58);
   --menu-trigger-active-icon: #2f9b63;
   --surface-segmented-contrast: rgba(255, 255, 255, 0.98);
   --segmented-contrast-border: rgba(28, 56, 49, 0.38);
   --segmented-contrast-divider: rgba(28, 56, 49, 0.28);
   --segmented-contrast-item-color: #27443e;
   --segmented-contrast-active-bg: #2f9b63;
   --segmented-contrast-active-color: #f5fff8;
   --segmented-contrast-press-bg: rgba(47, 155, 99, 0.22);
   --surface-auth-panel: rgba(255, 255, 255, 0.78);
   --surface-price-pill: rgba(236, 244, 242, 0.96);
   --surface-empty-state: rgba(238, 246, 243, 0.9);
  --menu-trigger-border: rgba(20, 64, 46, 0.58);
   --menu-trigger-icon: #f5fff8;
   --btn-primary-shadow: 0 10px 20px rgba(30, 60, 53, 0.2);
  --btn-primary-border: rgba(20, 64, 46, 0.58);
   --btn-primary-hover-filter: brightness(1.05);
   --btn-primary-active-filter: brightness(0.93);
   --btn-primary-active-transform: translateY(1px) scale(0.995);
   --btn-ghost-border: rgba(47, 155, 99, 0.45);
   --btn-danger-border: rgba(185, 63, 79, 0.5);
  --offer-ttl-fill-start: #d6f3e5;
  --offer-ttl-fill-mid: #9adcbc;
  --offer-ttl-fill-end: #5fb986;
  --offer-ttl-border: rgba(47, 155, 99, 0.32);
  --offer-ttl-meta: #35504a;
  --offer-ttl-action-bg: #2f9b63;
  --offer-ttl-action-text: #f5fff8;
  --offer-ttl-action-border: rgba(23, 90, 59, 0.35);
  --offer-ttl-action-shadow: 0 8px 16px rgba(30, 60, 53, 0.18);
  --offer-ttl-action-hover-filter: brightness(1.04);
  --offer-ttl-action-active-filter: brightness(0.94);
  --offer-ttl-action-focus-ring: 0 0 0 3px rgba(47, 155, 99, 0.24);
   --shadow-card: 0 10px 24px rgba(30, 60, 53, 0.1);
   --focus-ring: 0 0 0 3px rgba(47, 155, 99, 0.2);
   --flash-notice-bg: var(--accent-soft);
   --flash-notice-border: rgba(47, 155, 99, 0.38);
   --flash-notice-color: var(--text-primary);
   --flash-alert-bg: rgba(185, 63, 79, 0.12);
   --flash-alert-border: rgba(185, 63, 79, 0.42);
   --flash-alert-color: #6b2a35;
 }
 
 * {
   box-sizing: border-box;
 }
 
 html,
 body {
   margin: 0;
   min-height: 100%;
 }
 
 body {
   font-family: Inter, "SF Pro Text", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
   background:
     radial-gradient(90% 90% at 50% -10%, rgba(141, 230, 191, 0.08) 0%, rgba(141, 230, 191, 0) 60%),
     linear-gradient(180deg, var(--bg-gradient-start) 0%, var(--bg-main) 45%, var(--bg-gradient-end) 100%);
   color: var(--text-primary);
   -webkit-font-smoothing: antialiased;
   text-rendering: optimizeLegibility;
 }
 
 a,
 button,
 summary,
 input,
 textarea,
 select {
   -webkit-tap-highlight-color: transparent;
 }
 
 a { color: inherit; }
 
 .app-body {
   padding: 0 0 108px;
 }
 
 .app-shell {
   width: min(100%, var(--app-max-width));
   margin: 0 auto;
   min-height: 100vh;
   padding: var(--space-3) var(--space-3) var(--space-5);
 }
 
 .flash-stack { display: grid; gap: var(--space-2); margin-bottom: var(--space-3); }
 .flash { margin: 0; border: 1px solid; border-radius: var(--radius-md); padding: 10px 12px; font-size: 13px; font-weight: 600; }
.flash--notice { border-color: var(--flash-notice-border); color: var(--flash-notice-color); background: var(--flash-notice-bg); }
.flash--alert { border-color: var(--flash-alert-border); color: var(--flash-alert-color); background: var(--flash-alert-bg); }
 
 .dashboard-content, .page-stack, .stack, .section-block, .history-list, .list-actions {
   display: grid;
   gap: var(--space-3);
 }
 
 .app-topbar {
   display: flex; align-items: center; justify-content: space-between; gap: 12px;
   margin-top: calc(env(safe-area-inset-top, 0px) + var(--space-2));
   margin-bottom: var(--space-2); padding: 10px 12px;
   border: 1px solid var(--border-subtle); border-radius: var(--radius-xl);
   background: var(--surface-topbar);
 }
 
 .app-subtitle { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: 0.01em; }
 .screen-title { margin: 0; font-size: 22px; font-weight: 700; letter-spacing: 0.01em; }
 .screen-lead, .auth-note { margin: 2px 0 0; color: var(--text-secondary); font-size: 14px; line-height: 1.4; }
 .section-title { margin: 0; color: var(--text-secondary); font-size: 13px; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }
 .section-caption { margin: 0; color: var(--text-muted); font-size: 12px; }
 .value-text { font-size: 17px; font-weight: 600; }
 
 .app-topbar__actions {
   display: flex;
   align-items: center;
   gap: 8px;
   flex-shrink: 0;
 }

 .topbar-nav-icons {
   display: flex;
   align-items: center;
   gap: 8px;
 }

 .topbar-icon-btn {
   flex-shrink: 0;
   width: 36px;
   height: 36px;
   border: 1px solid var(--menu-trigger-border);
   border-radius: var(--radius-pill);
   background: var(--menu-trigger-bg);
   box-shadow: var(--menu-trigger-shadow);
   display: grid;
   place-items: center;
   color: var(--menu-trigger-icon);
   cursor: pointer;
   text-decoration: none;
   transition: background-color 100ms ease, border-color 100ms ease, filter 100ms ease;
 }

 .topbar-icon-btn svg {
   display: block;
 }

 .topbar-icon-btn.is-active {
   background: var(--menu-trigger-active-bg);
   border-color: var(--menu-trigger-active-border);
   color: var(--menu-trigger-active-icon);
 }

 :root[data-theme="light"] .topbar-icon-btn--home.is-active {
   background: var(--menu-trigger-bg);
   border-color: var(--menu-trigger-border);
   color: var(--menu-trigger-icon);
   box-shadow: var(--menu-trigger-shadow);
 }
 
 .app-card {
   border-radius: var(--radius-xl); border: 1px solid var(--border-subtle);
   background: linear-gradient(180deg, var(--surface-card-start) 0%, var(--surface-card-end) 100%);
   padding: 14px; box-shadow: var(--shadow-card);
 }
 
 article[data-open-orders-delay-target="item"] {
   touch-action: pan-y;
   will-change: transform, opacity;
   transition: transform 180ms ease, opacity 180ms ease;
 }
 
 article[data-open-orders-delay-target="item"].is-swipe-dragging {
   transition: none;
 }
 
 article[data-open-orders-delay-target="item"].is-swipe-dismissing {
   transition: transform 220ms ease, opacity 220ms ease;
 }
 
 article[data-open-orders-delay-target="item"].is-swipe-resetting {
   transition: transform 180ms ease, opacity 180ms ease;
 }
 
 article[data-open-orders-delay-target="item"].is-swipe-dismissed {
   display: none !important;
   pointer-events: none;
 }
 
 .field-label { margin: 0 0 6px; color: var(--text-secondary); font-size: 13px; font-weight: 600; }
 
 .app-input, .app-textarea, .app-select {
   width: 100%; min-height: 48px; border: 1px solid var(--border-default); border-radius: var(--radius-md);
   background: var(--surface-input); color: var(--text-primary); font-size: 16px; padding: 12px 14px; outline: none;
   transition: border-color 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
 }
 .app-textarea { min-height: 90px; resize: vertical; }
 .app-input::placeholder, .app-textarea::placeholder { color: var(--text-muted); }
 .app-input:focus, .app-textarea:focus, .app-select:focus {
   border-color: rgba(141, 230, 191, 0.72);
   background: var(--surface-input-focus);
   box-shadow: var(--focus-ring);
 }
 
 .input-clear { position: relative; }
 .input-clear .app-input,
 .input-clear .app-textarea { padding-right: 44px; }
 .input-clear__btn {
   position: absolute;
   top: 50%;
   right: 12px;
   transform: translateY(-50%);
   width: 24px;
   height: 24px;
   border: 1px solid var(--border-default);
   border-radius: 999px;
   background: var(--surface-input);
   color: var(--text-secondary);
   font-size: 20px;
   line-height: 1;
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 0;
   z-index: 1;
 }
 .input-clear__btn:hover {
   background: var(--surface-menu-hover);
   color: var(--text-primary);
 }
 .input-clear__btn:focus-visible {
   outline: none;
   box-shadow: var(--focus-ring);
 }
 .input-clear__btn[hidden] { display: none; }
 .input-clear--textarea .input-clear__btn {
   top: 14px;
   transform: none;
 }
 
 .app-btn {
  width: 100%; min-height: 46px; border-radius: var(--radius-pill); border: 1px solid var(--btn-primary-border);
   padding: 10px 16px; background: var(--accent); color: var(--accent-contrast);
   font-size: 15px; font-weight: 700; line-height: 1.2; cursor: pointer;
   display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
   transition: transform 120ms ease, filter 120ms ease, box-shadow 120ms ease;
   box-shadow: var(--btn-primary-shadow);
 }
 .app-btn:hover { filter: var(--btn-primary-hover-filter); }
 .app-btn:active {
   transform: var(--btn-primary-active-transform);
   filter: var(--btn-primary-active-filter);
 }
 .app-btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
 .app-btn--ghost { background: transparent; color: var(--accent); border-color: var(--btn-ghost-border); box-shadow: none; }
 .app-btn--danger { background: transparent; color: var(--danger); border-color: var(--btn-danger-border); box-shadow: none; }
 .app-btn--danger-solid {
   background: var(--danger);
   color: var(--danger-solid-fg);
   border-color: transparent;
   box-shadow: none;
 }
 .app-btn--danger-solid:hover { filter: brightness(1.06); }
 .app-btn--danger-solid:active {
   transform: var(--btn-primary-active-transform);
   filter: brightness(0.94);
 }
.app-modal {
  width: min(calc(100vw - 2 * var(--space-4)), 360px);
  margin: auto;
  padding: var(--space-5);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-xl);
  background: linear-gradient(165deg, var(--surface-card-start), var(--surface-card-end));
  color: var(--text-primary);
  box-shadow: var(--shadow-card);
}
.app-modal::backdrop {
  background: rgba(4, 10, 10, 0.55);
}
:root[data-theme="light"] .app-modal::backdrop {
  background: rgba(20, 40, 36, 0.35);
}
.app-modal__message {
  margin: 0 0 var(--space-4);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}
.app-modal__actions {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: var(--space-3);
}
.app-modal__actions .app-btn {
  width: auto;
  flex: 1;
  min-width: 0;
}
.app-btn--status-step {
  background: var(--accent);
  color: var(--accent-contrast);
  border-color: var(--btn-primary-border);
  box-shadow: var(--btn-primary-shadow);
}
 .app-btn--home-nav { width: min(240px, 90vw); min-height: 50px; }
 .micro-btn { width: auto; min-height: 36px; padding: 6px 12px; font-size: 12px; }
 .offers-cancel-action { margin-top: 6px; }
 .quick-bid-buttons {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: var(--space-2);
 }
 
 .segmented {
   display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--border-default);
   border-radius: var(--radius-pill); overflow: hidden; background: var(--surface-segmented);
 }
 .segmented--triple { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .segmented-item {
   border: 0; background: transparent; color: var(--text-secondary); min-height: 44px;
   display: flex; align-items: center; justify-content: center;
   font-size: 14px; font-weight: 700; padding: 8px; text-align: center; cursor: pointer;
 }
 .segmented-item + .segmented-item { border-left: 1px solid var(--border-default); }
 .segmented-item.is-active, .segmented label.segmented-item:has(input:checked) { color: var(--text-primary); background: var(--bg-muted); }
 .segmented-item:active {
   background: var(--surface-menu-hover);
 }
 .segmented--contrast {
   border-color: var(--segmented-contrast-border);
   background: var(--surface-segmented-contrast);
 }
 .segmented--contrast .segmented-item {
   color: var(--segmented-contrast-item-color);
 }
 .segmented--contrast .segmented-item + .segmented-item {
   border-left-color: var(--segmented-contrast-divider);
 }
 .segmented--contrast .segmented-item.is-active,
 .segmented--contrast label.segmented-item:has(input:checked) {
   color: var(--segmented-contrast-active-color);
   background: var(--segmented-contrast-active-bg);
 }
 .segmented--contrast .segmented-item:active {
   background: var(--segmented-contrast-press-bg);
 }
 
:root .segmented--profile-primary .segmented-item.is-active,
:root .segmented--profile-primary label.segmented-item:has(input:checked) {
  box-shadow: inset 0 0 0 1px var(--btn-primary-border), var(--btn-primary-shadow);
}

:root[data-theme="dark"] .segmented--profile-primary .segmented-item.is-active,
:root[data-theme="dark"] .segmented--profile-primary label.segmented-item:has(input:checked) {
  color: var(--accent-contrast);
  background: var(--accent);
  box-shadow: inset 0 0 0 1px var(--btn-primary-border), var(--btn-primary-shadow);
}
:root[data-theme="dark"] .segmented--profile-primary .segmented-item.is-active:hover,
:root[data-theme="dark"] .segmented--profile-primary label.segmented-item:has(input:checked):hover {
  filter: var(--btn-primary-hover-filter);
}
:root[data-theme="dark"] .segmented--profile-primary .segmented-item.is-active:active,
:root[data-theme="dark"] .segmented--profile-primary label.segmented-item:has(input:checked):active {
  filter: var(--btn-primary-active-filter);
}

 .status-line { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
 .status-line strong { font-size: 15px; line-height: 1.32; }
 .meta-grid { display: grid; gap: 8px; font-size: 14px; }
 .meta-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
 .ride-status {
   text-align: center;
   font-size: 17px;
   font-weight: 700;
   line-height: 1.25;
 }
 .meta-muted { color: var(--text-secondary); }
 .phone-action {
   position: relative;
   display: inline-flex;
   align-items: center;
 }
 .phone-action--inline {
   vertical-align: baseline;
 }
 .phone-action__trigger {
   border: 0;
   background: transparent;
   padding: 0;
   margin: 0;
   font: inherit;
   font-weight: inherit;
   color: var(--accent);
   cursor: pointer;
   text-decoration: underline;
   text-decoration-thickness: 1px;
   text-decoration-color: rgba(141, 230, 191, 0.55);
   text-underline-offset: 2px;
 }
 .phone-action__trigger:hover {
   color: var(--text-primary);
   text-decoration-color: rgba(141, 230, 191, 0.8);
 }
 .phone-action__trigger:focus-visible {
   outline: none;
   border-radius: 6px;
   box-shadow: var(--focus-ring);
 }
 .phone-action__menu {
   position: absolute;
   top: calc(100% + 6px);
   left: 0;
   z-index: 25;
   min-width: 150px;
   padding: 6px;
   border: 1px solid var(--border-default);
   border-radius: var(--radius-md);
   background: var(--surface-menu);
   box-shadow: var(--shadow-card);
   display: grid;
   gap: 2px;
 }
 .phone-action__menu[hidden] {
   display: none;
 }
 .phone-action__item {
   width: 100%;
   border: 0;
   border-radius: 8px;
   background: transparent;
   color: var(--text-primary);
   text-align: left;
   font-size: 13px;
   font-weight: 600;
   line-height: 1.3;
   padding: 8px 10px;
   text-decoration: none;
   cursor: pointer;
 }
 .phone-action__item:hover {
   background: var(--surface-menu-hover);
 }
 .phone-action__item:focus-visible {
   outline: none;
   box-shadow: var(--focus-ring);
 }
 .phone-action__toast {
   position: absolute;
   top: calc(100% + 6px);
   left: 0;
   z-index: 26;
   border: 1px solid var(--border-default);
   border-radius: 8px;
   background: var(--surface-menu);
   color: var(--text-primary);
   font-size: 12px;
   font-weight: 600;
   padding: 6px 8px;
   white-space: nowrap;
 }
 .order-key-details {
   gap: 4px;
   color: var(--text-primary);
   font-size: 15px;
   font-weight: 600;
 }
 .price-pill {
   display: inline-flex; align-items: center; white-space: nowrap; border: 1px solid var(--border-strong);
   border-radius: var(--radius-pill); background: var(--surface-price-pill); padding: 5px 10px; font-size: 20px; font-weight: 700;
 }
 
 .history-card { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
 .history-right { display: grid; align-content: center; justify-items: end; gap: 10px; }

 /* История: одна колонка, цена сверху, кнопки по центру внизу (не трогает offer_item вне .history-list) */
 .history-list > .history-card {
   display: flex;
   flex-direction: column;
   gap: 10px;
 }
 .history-list .history-card__body {
   display: flex;
   flex-direction: column;
   gap: 6px;
 }
 .history-list .history-card__price-row {
   margin-bottom: 2px;
 }
 .history-list .history-card__price-empty {
   font-size: 20px;
   font-weight: 700;
   color: var(--text-secondary);
 }
 .history-list .history-card__actions {
   display: flex;
   justify-content: center;
   margin-top: 4px;
   padding-top: 10px;
 }
 .history-list .history-card__actions-inner {
   width: 100%;
   max-width: min(320px, 100%);
   margin-inline: auto;
 }
 .history-list .history-card__actions-inner form {
   width: 100%;
 }
 .offer-ttl-card--lower { margin-top: 6px; }
 .offer-ttl-card .history-right--centered {
   display: flex;
   align-items: center;
   justify-content: center;
 }
 .offer-ttl-card {
   background:
   linear-gradient(90deg, var(--offer-ttl-fill-end) 0%, var(--offer-ttl-fill-end) 100%) no-repeat,
   linear-gradient(180deg, var(--surface-card-start) 0%, var(--surface-card-end) 100%) no-repeat;
   background-size: 0% 100%, 100% 100%;
   background-position: left top, left top;
  border-color: var(--offer-ttl-border);
   animation: offer-ttl-fill var(--offer-ttl-duration, 20s) linear forwards;
 }
.offer-ttl-card .meta-muted { color: var(--offer-ttl-meta); }
.offer-ttl-card .offer-ttl-card__action {
  background: var(--offer-ttl-action-bg);
  color: var(--offer-ttl-action-text);
  border-color: var(--offer-ttl-action-border);
  box-shadow: var(--offer-ttl-action-shadow);
}
.offer-ttl-card .offer-ttl-card__action:hover { filter: var(--offer-ttl-action-hover-filter); }
.offer-ttl-card .offer-ttl-card__action:active { filter: var(--offer-ttl-action-active-filter); }
.offer-ttl-card .offer-ttl-card__action:focus-visible { box-shadow: var(--offer-ttl-action-focus-ring); }
 .link-danger { color: var(--danger); font-weight: 700; border: 0; background: transparent; padding: 0; cursor: pointer; }
 .empty-state {
   margin: 0; border: 1px dashed var(--border-subtle); border-radius: var(--radius-md);
   padding: 12px; color: var(--text-secondary); font-size: 14px; background: var(--surface-empty-state);
 }
 .offers-bids-stack:has(> .list-actions > *) .offers-searching {
   display: none;
 }
 .is-distance-delayed { display: none; }
 
 @keyframes offer-ttl-fill {
   from { background-size: 0% 100%, 100% 100%; }
   to { background-size: 100% 100%, 100% 100%; }
 }
 
 .auth-screen {
   min-height: calc(100vh - 26px);
   display: grid;
   align-content: start;
   gap: 22px;
   padding-top: 8vh;
 }
 .auth-logo { margin: 0; width: 100%; font-size: 40px; font-weight: 700; text-align: center; }
 .auth-panel {
   width: min(100%, 540px); margin: 0 auto; display: grid; gap: var(--space-4);
   background: var(--surface-auth-panel); border: 1px solid var(--border-subtle);
   border-radius: var(--radius-2xl); padding: var(--space-4);
 }
 
 .download-screen {
   min-height: calc(100vh - 26px);
   display: grid;
   align-content: center;
   padding-block: 24px;
 }
 
 .download-panel {
   width: min(100%, 520px);
   margin: 0 auto;
   display: grid;
   gap: 14px;
   text-align: center;
   padding: 18px;
 }
 
 .download-kicker {
   margin: 0;
   color: var(--text-secondary);
   text-transform: uppercase;
   font-size: 12px;
   letter-spacing: 0.08em;
   font-weight: 700;
 }
 
 .download-title {
   margin: 0;
   font-size: clamp(24px, 7vw, 32px);
   line-height: 1.2;
 }
 
 .download-note {
   margin: 0;
   color: var(--text-secondary);
   font-size: 15px;
   line-height: 1.45;
 }
 
 .download-cta {
   margin-top: 4px;
 }
 
 .download-qr-block {
   margin-top: 4px;
   display: grid;
   justify-items: center;
   gap: 10px;
 }
 
 .download-qr {
   width: min(72vw, 240px);
   background: #fff;
   box-shadow: 0 8px 20px rgba(2, 6, 6, 0.24);
 }
 
 .download-qr-link {
   display: block;
   text-decoration: none;
 }
 
 .download-qr-link:active {
   transform: scale(0.99);
 }
 
 .download-qr img {
   width: 100%;
   height: auto;
   display: block;
 }
 
 .download-qr-note {
   margin: 0;
   color: var(--text-muted);
   font-size: 13px;
   line-height: 1.4;
 }
 
 .app-bottom-nav {
   position: fixed; left: 50%; bottom: 0; transform: translateX(-50%);
   width: min(100%, var(--app-max-width)); padding: 8px 8px calc(env(safe-area-inset-bottom, 0px) + 10px);
   border-top: 1px solid var(--border-subtle); background: var(--surface-nav);
   backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
 }
 .app-bottom-nav__items { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
 .app-bottom-nav--driver .app-bottom-nav__items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
 .app-bottom-nav--single .app-bottom-nav__items {
   display: flex;
   justify-content: center;
 }
 .tab-item {
   text-decoration: none; color: var(--text-muted); border: 1px solid transparent; border-radius: var(--radius-lg);
   display: grid; justify-items: center; align-content: center; gap: 4px; min-height: 50px; padding: 7px 4px;
   font-size: 11px; font-weight: 700; letter-spacing: 0.01em; transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
 }
 .tab-item--home {
   width: min(240px, 90vw);
   padding-inline: 24px;
 }
 .app-bottom-nav--single .tab-item--home {
   font-size: 14px;
 }
 .tab-item__icon { width: 18px; height: 18px; display: block; color: currentColor; }
 .tab-item.is-active { border-color: rgba(141, 230, 191, 0.38); background: var(--accent-soft); color: var(--text-primary); }
 .tab-item:active {
   background: var(--accent-soft);
   border-color: rgba(141, 230, 191, 0.32);
   color: var(--text-primary);
 }
 
 .hidden-input { position: absolute; opacity: 0; pointer-events: none; }
 .mt-3 { margin-top: var(--space-3); }
 .mt-4 { margin-top: var(--space-4); }
 .ride-sticky-action { position: sticky; bottom: calc(74px + env(safe-area-inset-bottom, 0px)); margin-top: 10px; z-index: 2; }
 
 @media (max-width: 520px) {
   .app-shell { padding: 10px 10px 20px; }
   .screen-title { font-size: 20px; }
   .auth-logo { font-size: 34px; }
   .auth-panel { padding: 14px; }
   .download-panel { padding: 14px; border-radius: var(--radius-xl); }
   .download-title { font-size: clamp(21px, 7.2vw, 28px); }
   .download-note { font-size: 14px; }
   .history-card { grid-template-columns: 1fr; }
   .history-right { justify-items: start; grid-auto-flow: column; justify-content: space-between; }
   .offer-ttl-card { grid-template-columns: 1fr auto; }
   .offer-ttl-card .history-right { justify-items: end; grid-auto-flow: row; justify-content: initial; }
}
