.ios-app-bg.ios-taxi-icon,.coldstore-artwork.taxi { color:#222319; background:linear-gradient(145deg,#ffe479,#f2b933); }
.ios-app-bg.ios-taxi-icon>svg { width:34px;height:34px;position:relative;z-index:1; }
.android-icon-taxi { color:#6e4a00;background:#ffedaa; }
.ios-app-shell.taxi-app { --taxi-bg:#f5f3ed;--taxi-card:#fff;--taxi-ink:#23251f;--taxi-muted:#74796c;--taxi-line:#e4e5dc;--taxi-tint:#fff3c5;--taxi-gold:#f3c64c; container-type:inline-size;background:var(--taxi-bg);color:var(--taxi-ink);font-size:15px;line-height:1.45; }
.phone-dark-mode .taxi-app { --taxi-bg:#171b19;--taxi-card:#232a25;--taxi-ink:#f0f3e8;--taxi-muted:#abb3a4;--taxi-line:#354036;--taxi-tint:#3b3523; }
.taxi-app * { box-sizing:border-box; }
.taxi-app button,.taxi-app textarea { font:inherit; }
.taxi-app button { cursor:pointer; }
.taxi-app button:disabled { opacity:.5;cursor:default; }
.taxi-app :is(button,textarea):focus-visible { outline:2px solid #a78321;outline-offset:3px; }
.taxi-nav { display:grid;grid-template-columns:42px 1fr 42px;align-items:center;flex:none;min-height:101px;padding:51px 12px 0; }
.taxi-nav>strong { text-align:center;font-size:16px;font-weight:750; }
.taxi-nav button { display:grid;place-items:center;width:40px;height:40px;background:transparent;border:0;border-radius:12px;color:var(--taxi-ink); }
.taxi-nav svg { width:21px;height:21px; }
.taxi-tabs { display:flex;margin:8px 18px 0;padding:4px;gap:4px;border:1px solid var(--taxi-line);border-radius:14px;background:var(--taxi-card); }
.taxi-tabs button { flex:1;border:0;padding:9px;border-radius:10px;background:transparent;color:var(--taxi-muted);font-size:13px;font-weight:700; }
.taxi-tabs button.is-selected { background:var(--taxi-gold);color:#282619; }
.taxi-scroll { overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:16px 18px 36px;scrollbar-width:none; }
.taxi-scroll::-webkit-scrollbar { display:none; }
.taxi-hero { position:relative;padding:20px 20px 0;border-radius:24px;overflow:hidden;background:var(--taxi-gold);color:#2e2a18; }
.taxi-eyebrow { font-size:10px;font-weight:800;letter-spacing:1.6px; }
.taxi-hero h1 { margin:8px 0;font-size:29px;font-weight:850;line-height:1.15;letter-spacing:-1.2px;max-width:240px; }
.taxi-hero p { margin:0;font-size:13px;opacity:.8;max-width:210px; }
.taxi-road { position:relative;height:112px;margin-top:10px; }
.taxi-road::before { content:'';position:absolute;left:-50px;right:-50px;bottom:12px;border-top:2px dashed rgba(54,49,26,.25);transform:rotate(-10deg); }
.taxi-road>i { position:absolute;inset:22px -60px -25px 20px;border:24px solid rgba(255,255,255,.2);border-radius:90px;transform:rotate(-13deg); }
.taxi-road>div { position:absolute;right:12px;top:15px;width:89px;height:75px;display:grid;place-items:center;background:#fff4cf;box-shadow:0 8px 0 rgba(61,51,19,.12);border-radius:22px;transform:rotate(-9deg); }
.taxi-road svg { width:57px;height:57px; }
.taxi-road>span { position:absolute;left:4px;bottom:22px;font-size:11px;letter-spacing:4px;font-weight:900; }
.taxi-online { display:flex;align-items:center;gap:8px;padding:16px 3px;font-size:12px;color:var(--taxi-muted); }
.taxi-online>span { width:7px;height:7px;background:#a0a797;border-radius:50%; }
.taxi-online>span.is-online { background:#5c906d;box-shadow:0 0 0 4px rgba(92,144,109,.1); }
.taxi-online>strong { margin-left:auto;color:var(--taxi-ink);font-size:14px; }
.taxi-request-form,.taxi-request-status,.taxi-duty,.taxi-call,.taxi-meter { padding:18px;border:1px solid var(--taxi-line);background:var(--taxi-card);border-radius:20px; }
.taxi-pickup { display:flex;gap:10px;align-items:center;margin-bottom:18px; }
.taxi-pickup svg { width:23px;height:23px;flex:none; }
.taxi-pickup strong { font-size:13px;display:block; }
.taxi-pickup small { display:block;font-size:11px;color:var(--taxi-muted);margin-top:3px; }
.taxi-request-form label { font-size:12px;font-weight:700;display:block;margin-bottom:8px; }
.taxi-request-form textarea { width:100%;resize:none;border:1px solid var(--taxi-line);border-radius:12px;padding:11px;background:var(--taxi-bg);color:var(--taxi-ink);font-size:12px;line-height:1.5;margin-bottom:12px; }
.taxi-request-form textarea::placeholder { color:var(--taxi-muted); }
.taxi-button { display:flex;justify-content:center;align-items:center;gap:7px;width:100%;min-height:43px;border:0;border-radius:12px;background:var(--taxi-gold);color:#2c2818;font-size:12px;font-weight:800;padding:10px 12px; }
.taxi-button svg { width:20px;height:20px; }
.taxi-button--secondary { border:1px solid var(--taxi-line);background:var(--taxi-bg);color:var(--taxi-ink); }
.taxi-fare-hint { margin:12px 1px 0;font-size:10px;line-height:1.6;color:var(--taxi-muted); }
.taxi-chip { display:inline-flex;align-items:center;padding:5px 9px;border-radius:8px;background:var(--taxi-tint);font-size:10px;font-weight:750; }
.taxi-request-status h2 { margin:12px 0 6px;font-size:20px;line-height:1.3;letter-spacing:-.5px; }
.taxi-request-status>p { color:var(--taxi-muted);font-size:12px;margin:0 0 16px; }
.taxi-request-status .taxi-pickup { font-size:12px;padding:12px 0;border-top:1px solid var(--taxi-line);border-bottom:1px solid var(--taxi-line);margin-bottom:10px; }
.taxi-request-status blockquote { margin:10px 0;color:var(--taxi-muted);font-size:12px;overflow-wrap:anywhere; }
.taxi-cancel { width:100%;background:transparent;color:var(--taxi-muted);border:0;padding:10px;font-size:11px;font-weight:700; }
.taxi-last-trip { font-size:12px;border-radius:10px;padding:10px;background:var(--taxi-tint);margin-bottom:16px; }
.taxi-duty { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px; }
.taxi-duty h1 { margin:4px 0;font-size:20px;line-height:1.25;letter-spacing:-.6px; }
.taxi-duty p { margin:0;color:var(--taxi-muted);font-size:11px; }
.taxi-duty-toggle { flex:none;width:42px;height:42px;border-radius:14px;border:1px solid var(--taxi-line);background:var(--taxi-bg);color:var(--taxi-muted);display:grid;place-items:center; }
.taxi-duty-toggle svg { width:21px;height:21px; }
.taxi-duty-toggle.is-on { color:#3c5c35;background:#e5efda; }
.taxi-call { margin-bottom:12px; }
.taxi-call.is-mine { border-color:#d6b958; }
.taxi-call-top { display:flex;justify-content:space-between;gap:8px;align-items:center; }
.taxi-call-top small { color:var(--taxi-muted);font-size:10px; }
.taxi-call h2 { margin:12px 0 5px;font-size:17px;letter-spacing:-.4px; }
.taxi-call-note { font-size:12px;overflow-wrap:anywhere;margin:0 0 12px; }
.taxi-address { display:flex;gap:6px;font-size:11px;color:var(--taxi-muted);margin:10px 0; }
.taxi-address svg { width:16px;height:16px;flex:none; }
.taxi-call-progress { font-size:11px;font-weight:700;color:var(--taxi-muted); }
.taxi-call-actions { display:flex;gap:8px; }
.taxi-call-actions>* { flex:1; }
.taxi-small-actions { display:flex;gap:8px;justify-content:space-between;margin-top:10px; }
.taxi-small-actions button { border:0;background:transparent;color:var(--taxi-muted);font-size:10px;padding:5px; }
.taxi-meter { background:var(--taxi-gold);color:#302b18;margin-bottom:14px; }
.taxi-meter>strong { display:block;font-size:34px;line-height:1.2;margin-top:8px;letter-spacing:-1.3px; }
.taxi-meter p { font-size:12px;margin:6px 0 14px; }
.taxi-meter .taxi-button { background:#2d3025;color:#fff7dd; }
.taxi-empty { text-align:center;padding:38px 15px;color:var(--taxi-muted);font-size:12px; }
.taxi-empty>svg { width:42px;height:42px;opacity:.5;margin-bottom:12px; }
.taxi-empty>strong { display:block;font-size:16px;color:var(--taxi-ink); }
.taxi-banner { font-size:12px;padding:11px 13px;background:var(--taxi-tint);border-radius:12px;margin-bottom:12px; }
.taxi-banner--error { background:#fae6df;color:#8c3e2e; }
.taxi-confirm { margin-top:14px;padding:16px;border:1px solid #d1b047;border-radius:16px;background:var(--taxi-tint);font-size:12px; }
.taxi-confirm p { color:var(--taxi-muted); }
.taxi-confirm>div { display:flex;gap:8px;margin-top:12px; }
@container (min-width:560px) { .taxi-scroll { padding-left:28px;padding-right:28px; } .taxi-hero h1 { max-width:none;font-size:36px; } .taxi-road { height:100px; } .taxi-call { display:inline-block;width:calc(50% - 6px);vertical-align:top;margin-right:6px; } }
