/* Стиль «Сайт + GTA» для приложения партнёров (решение заказчика 2026-09-27, прототип docs/prototypes/partner-portal-gta.html).
   Подключается после app.css и только перекрашивает: цвета сайта (оранжевый — ярче сайтового, #F26410 по решению заказчика 2026-09-27;
   розово-фиолетовое стекло — карточка «Pulsa y habla»), узкие заголовки Oswald, всегда тёмная шапка, карточка заказа
   с иллюстрацией поездки справа (public/partner/art/), маршрут «Откуда / Куда» с точками, сумма на мазке кисти.
   Логику, API и разметку остальных экранов не меняет — откат: убрать <link> на этот файл. */
@font-face{font-family:'Oswald';font-style:normal;font-weight:500 700;font-display:swap;src:url('/fonts/oswald-var-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500 700;font-display:swap;src:url('/fonts/oswald-var-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root {
  --accent: #F26410; --accent-hover: #FF7F2A; --accent-h: #CC6427; --on-accent: #FFFFFF;
  --pink: #D63B86; --glass: linear-gradient(135deg, #F7E9F3, #F1E4F6); --glass-line: #D63B8640;
  --bg2: #FBF6F2; --page-background: #FBF6F2; --r: 20px;
  --display: 'Oswald', 'Arial Narrow', Impact, sans-serif;
  --addr-stroke: #FFFFFF;
  --active: #D95500; --active-bg: #FFF0E3; --active-line: #FFB98A;   /* «активные» элементы — тот же яркий оранжевый */
}
:root[data-theme="dark"] {
  --accent: #F26410; --accent-hover: #FF7F2A; --accent-h: #F0955C; --on-accent: #FFFFFF;
  --pink: #EC4E9A; --glass: linear-gradient(135deg, #3A1D40E6, #26142FE6); --glass-line: #9A3D7466;
  --bg: #140B1F; --bg2: #1C0C2C; --card: #22142D; --line: #ffffff24;
  --page-background: radial-gradient(ellipse at 80% 0%, #F264100C, transparent 52%), radial-gradient(ellipse at 0% 30%, #EC4E9A0A, transparent 60%), #140B1F;
  --addr-stroke: #22142D;
}

/* ---- шапка: всегда тёмная, надпись MoveValencia без значка ---- */
.topbar { background: #140B1FEB; color: #F6EEF9; border-bottom-color: #ffffff1f; }
.topbar .icon-btn { color: #F6EEF9; }
.topbar .icon-btn:hover { background: #ffffff14; }
.brand { font-size: 19px; letter-spacing: -.01em; color: #F6EEF9; }
.brand-mark { display: none; }
.top-title { color: #F6EEF9; }
.week-pill { display: inline-flex; flex-direction: column; align-items: flex-end; line-height: 1; padding: 5px 10px; border-radius: 12px; background: #173A2A; color: #45DB82; text-decoration: none; }
.week-pill small { font-size: 9.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.week-pill b { font: 700 17px/1.1 var(--display); margin-top: 2px; white-space: nowrap; }
.week-pill[hidden] { display: none; }

/* ---- кнопки и переключатели — как на сайте ---- */
.btn { border-radius: 16px; }
.btn.primary { background: var(--accent); color: #fff; }
.btn.primary:hover { background: var(--accent-hover); color: #fff; }
.seg { background: transparent; border: 0; padding: 0; gap: 8px; }
.seg-btn { border-radius: 99px; border: 1px solid var(--line); background: var(--card); }
.seg-btn.on { background: var(--accent); color: #fff; box-shadow: none; border-color: var(--accent); }
.seg-btn .count { background: var(--pink); color: #fff; }
.seg-btn.on .count { background: #fff; color: var(--accent); }
.card-title { color: var(--pink); letter-spacing: .12em; }

/* ---- карточка заказа ---- */
.order-card { padding: 14px 16px 16px; border-radius: 22px; isolation: isolate; }
.order-card.oc-offered { border: 1px solid var(--glass-line); box-shadow: 0 0 0 1px color-mix(in srgb, var(--pink) 20%, transparent), 0 20px 40px -24px var(--pink); }
.oc-flag { margin: -14px -16px 12px; background: var(--pink); color: #fff; }
.oc-art { position: absolute; top: 0; right: 0; bottom: 0; width: 74%; z-index: -1; background-size: cover; background-position: center 30%; pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.03) 10%, rgba(0,0,0,.1) 20%, rgba(0,0,0,.22) 30%, rgba(0,0,0,.38) 40%, rgba(0,0,0,.56) 50%, rgba(0,0,0,.74) 60%, rgba(0,0,0,.88) 70%, rgba(0,0,0,.97) 80%, #000 88%);
          mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.03) 10%, rgba(0,0,0,.1) 20%, rgba(0,0,0,.22) 30%, rgba(0,0,0,.38) 40%, rgba(0,0,0,.56) 50%, rgba(0,0,0,.74) 60%, rgba(0,0,0,.88) 70%, rgba(0,0,0,.97) 80%, #000 88%); }
.oc-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, var(--card) 0%, transparent 35%); }
.order-card .ref { color: #fff; background: #1E1128AA; padding: 4px 7px; border-radius: 7px; }
.oc-service { font: 700 25px/1.02 var(--display); text-transform: uppercase; max-width: 60%; margin-top: 6px; text-wrap: balance; }
.oc-when, .oc-day, .oc-time { max-width: 60%; }
.oc-when, .oc-service, .oc-route2, .oc-drivers { -webkit-text-stroke: 4px var(--addr-stroke); paint-order: stroke fill; }
.oc-route2 { margin-top: 10px; display: grid; grid-template-columns: 16px 1fr; column-gap: 12px; max-width: 58%; }
.oc-route2 .dots { grid-row: span 2; display: flex; flex-direction: column; align-items: center; padding: 20px 0 14px; }
.oc-route2 .dots i { width: 11px; height: 11px; border-radius: 50%; border: 2px solid var(--pink); flex: none; }
.oc-route2 .dots i.to { background: var(--pink); }
.oc-route2 .dots span { flex: 1; width: 0; border-left: 2px dashed var(--line); margin: 4px 0; }
.oc-route2 .pt { padding: 3px 0 7px; border-bottom: 1px solid var(--line); }
.oc-route2 .pt + .pt { margin-top: 6px; }
.oc-route2 label { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--soft); }
.oc-route2 b { display: block; font-size: 15px; font-weight: 800; line-height: 1.25; margin-top: 4px; text-wrap: balance; }
.oc-bottom { margin-top: 12px; align-items: flex-end; }
.oc-price { display: inline-block; font: 700 32px/1 var(--display); color: #3A2208; padding: 11px 28px 11px 14px; margin-left: -6px; background: url('/partner/art/brush.svg') center / 100% 100% no-repeat; white-space: nowrap; }
.order-card .oc-drivers { max-width: 40%; }

/* в шапке списка с «Неделей» заголовок не помещается — раздел и так виден в нижнем меню */
.topbar:has(.week-pill:not([hidden])) .top-title { visibility: hidden; }

/* водители на карточке — вариант B с аватаром (решение заказчика 2026-09-27) */
.oc-drv-ok { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 5px; border-radius: 99px; background: #D6E8FF; color: #1F3B6E; font-size: 13.5px; font-weight: 800; box-shadow: 0 6px 16px -6px #000; max-width: 45%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.oc-drv-ok span { overflow: hidden; text-overflow: ellipsis; }
.oc-drv-av { flex: none; width: 26px; height: 26px; border-radius: 50%; background: #1F3B6E center 35% / cover no-repeat; color: #D6E8FF; display: grid; place-items: center; font-style: normal; font-size: 12px; font-weight: 800; border: 2px solid #fff; }
.oc-drv-av + .oc-drv-av { margin-left: -14px; }
.oc-drv-no { display: inline-flex; align-items: center; padding: 10px 14px; border-radius: 12px; background: var(--accent); color: #fff; font-size: 13.5px; font-weight: 800; box-shadow: 0 8px 20px -8px var(--accent); white-space: nowrap; }

/* статус «Принят» — зелёным (решение заказчика 2026-09-28) */
.st-accepted { background: #45DB82; color: #0B2A15; }
/* «Обновлено …» — полосой внизу карточки на всю ширину, как плашка водителей (решение заказчика 2026-09-28) */
.order-card { display: flex; flex-direction: column; }
.order-card > * { flex-shrink: 0; }
.order-card .oc-upd-badge { order: 99; display: flex; margin: 14px -16px -16px; padding: 11px 16px; border-radius: 0; border: 0; border-top: 1px solid var(--upd-line); font-size: 14px; }
:root[data-theme="dark"] .order-card .oc-upd-badge { background: #3A3212; color: #FFE08A; border-top-color: #C9A22766; }
/* название услуги — целиком одним цветом (чёрным в светлой теме, белым в тёмной), без выделения отдельных слов (решение заказчика 2026-09-28) */
.order-card .oc-service, .order-card .oc-service * { color: var(--ink); }

/* ===== Аватар в стиле GTA (avatar.js, решение заказчика 2026-09-28) ===== */
.av-circle { flex: none; display: inline-grid; place-items: center; border-radius: 50%; background: #1F3B6E center 30% / cover no-repeat; color: #D6E8FF; font-weight: 800; border: 2px solid #fff; box-shadow: 0 6px 16px -8px #000; }
.uc-av { padding: 0; border: 0; background: none; border-radius: 50%; cursor: pointer; flex: none; }
.uc-av:disabled { cursor: default; }
.av-row { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.user-card .uc-top { align-items: center; gap: 10px; }
.user-card .uc-top .uc-name { flex: 1; min-width: 0; }
.av-form { gap: 10px; }
.av-preview { display: grid; place-items: center; padding: 4px 0 8px; }
.av-preview.working .av-circle { animation: av-pulse 1.2s ease-in-out infinite; }
@keyframes av-pulse { 50% { opacity: .45; transform: scale(.96); } }
.av-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; justify-items: center; }
.av-pick { padding: 3px; border: 3px solid transparent; border-radius: 50%; background: none; cursor: pointer; }
.av-pick.on { border-color: var(--accent); }
.av-thumb { width: 44px; height: 44px; border-radius: 10px; background: center / cover no-repeat; display: none; }
.av-thumb.on { display: inline-block; }
.av-consent { display: flex; gap: 10px; align-items: flex-start; line-height: 1.35; }
.av-consent input { margin-top: 3px; flex: none; width: 18px; height: 18px; accent-color: var(--accent); }
.tab-av { display: block; width: 26px; height: 26px; border-radius: 50%; background: #1F3B6E center 30% / cover no-repeat; border: 2px solid currentColor; }

/* ===== Дата и время с иконками (orders.js whenRow, решение заказчика 2026-09-28) ===== */
.wr { display: flex; align-items: center; justify-content: flex-start; gap: 14px; }
.oc-when.wr { max-width: 88%; margin: 2px 0 6px; }
.wr-cell { display: flex; align-items: center; gap: 10px; min-width: 0; }
.wr-ic { flex: none; display: grid; color: var(--accent); }
.wr-sep { flex: none; align-self: stretch; width: 1.5px; margin: 2px 0; background: currentColor; opacity: .22; }
.wr .oc-day, .wr .oc-time { max-width: none; }
.wr .oc-day { font-size: 18px; line-height: 1.2; max-width: 150px; }
.wr .oc-time { font-size: 28px; line-height: 1; }
.head-when.wr { margin: 6px 0 8px; }
.head-when .head-day { font-size: 20px; font-weight: 800; line-height: 1.2; max-width: 170px; }
.head-when .head-day::first-letter { text-transform: uppercase; }
.head-when .head-time { font-size: 40px; font-weight: 800; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.wr .oc-time.tbd, .head-when .head-time.tbd { font-size: 16px; line-height: 1.2; letter-spacing: 0; }
