:root {
  --bg: var(--tg-theme-bg-color, #0f141b);
  --surface: var(--tg-theme-secondary-bg-color, #18212c);
  --surface2: color-mix(in srgb, var(--surface) 85%, white 15%);
  --text: var(--tg-theme-text-color, #f4f6f8);
  --muted: var(--tg-theme-hint-color, #8c9aaa);
  --accent: var(--tg-theme-button-color, #2481cc);
  --accent-text: var(--tg-theme-button-text-color, #fff);
  --link: var(--tg-theme-link-color, #54a9eb);
  --danger: #ef5350;
  --success: #44c27a;
  --warning: #f6b94b;
  --radius: 18px;
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;padding-bottom:88px} button,input{font:inherit}
.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent)}
.brand{font-size:19px;font-weight:800;letter-spacing:.2px}.subtitle{font-size:12px;color:var(--muted);margin-top:2px}.ghost,.back-link{border:0;background:transparent;color:var(--link);padding:8px 0}.ghost{padding:8px 12px;background:var(--surface);border-radius:12px}
main{max-width:720px;margin:0 auto}.screen{display:none;padding:14px}.screen.active{display:block}.hero{padding:14px 2px 18px}.hero.compact{padding-bottom:10px}.hero h1,.panel h2{margin:4px 0 6px;font-size:26px;line-height:1.15}.panel h2{font-size:21px}.hero p,.muted{color:var(--muted);line-height:1.45;margin:5px 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--link)}
.car-list{display:grid;gap:12px}.car-card,.panel,.car-hero{background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid color-mix(in srgb,var(--text) 7%,transparent)}.car-card{display:grid;grid-template-columns:116px 1fr;min-height:132px}.car-photo,.car-hero-photo{background:linear-gradient(135deg,#24364a,#141c26);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;overflow:hidden}.car-photo img,.car-hero-photo img{width:100%;height:100%;object-fit:cover}.car-body{padding:13px}.car-title{font-size:17px;font-weight:750}.car-meta{font-size:13px;color:var(--muted);margin:5px 0}.price{font-size:17px;font-weight:800;margin:9px 0}.actions{display:flex;gap:8px;flex-wrap:wrap}
.primary,.secondary{border:0;border-radius:12px;padding:11px 14px;font-weight:750;cursor:pointer}.primary{background:var(--accent);color:var(--accent-text)}.secondary{background:var(--surface2);color:var(--text)}.full{width:100%;margin-top:12px}.primary:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}
.back-link{margin:0 0 8px}.car-hero{margin-bottom:12px}.car-hero-photo{height:210px}.car-hero-content{padding:16px}.car-hero h1{font-size:25px;margin:0 0 6px}.photo-dots{display:flex;gap:5px;justify-content:center;margin-top:-20px;position:relative;padding-bottom:9px}.photo-dots span{width:6px;height:6px;border-radius:50%;background:#fff8}.photo-dots span.active{background:#fff}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.spec{padding:10px;background:color-mix(in srgb,var(--surface) 70%,var(--bg));border-radius:12px}.spec b{display:block;font-size:13px;margin-bottom:3px}.spec span{font-size:13px;color:var(--muted)}.advantages{margin-top:13px;line-height:1.45}
.panel{padding:16px;margin:12px 0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.legend{font-size:11px;color:var(--muted);white-space:nowrap;margin-top:5px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 3px 0 7px}.dot.free{background:var(--success)}.dot.busy{background:var(--danger)}
.calendar-wrap{display:grid;gap:14px;margin-top:8px}.month{border-top:1px solid color-mix(in srgb,var(--text) 8%,transparent);padding-top:10px}.month-title{font-weight:750;margin-bottom:8px}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays span{text-align:center;color:var(--muted);font-size:10px}.day{aspect-ratio:1;border:0;border-radius:10px;background:color-mix(in srgb,var(--surface) 70%,var(--bg));color:var(--text);font-size:13px}.day.free{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--success) 42%,transparent)}.day.busy{opacity:.35;text-decoration:line-through}.day.selected{background:var(--accent);color:var(--accent-text);box-shadow:none}.day.in-range{background:color-mix(in srgb,var(--accent) 35%,var(--surface));box-shadow:none}.day.blank{visibility:hidden}.selection-hint{font-size:13px;color:var(--muted);margin-top:10px;padding:10px;border-radius:10px;background:color-mix(in srgb,var(--surface) 70%,var(--bg))}
label{display:block;font-size:13px;font-weight:650;margin:12px 0 5px}input[type=text],input[type=number],input[type=tel]{width:100%;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);background:color-mix(in srgb,var(--surface) 72%,var(--bg));color:var(--text);border-radius:12px;padding:12px 13px;outline:none;margin-top:6px}input:focus{border-color:var(--accent)}.checkrow{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.35}.checkrow input{margin-top:3px}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quote-item{background:color-mix(in srgb,var(--surface) 72%,var(--bg));padding:11px;border-radius:12px}.quote-item .k{font-size:11px;color:var(--muted)}.quote-item .v{font-weight:800;margin-top:3px}.quote-total{font-size:24px;font-weight:850;margin:14px 0 4px}.warn{color:var(--warning);font-size:13px;line-height:1.4}
.doc-grid{display:grid;gap:9px;margin-top:10px}.doc-slot{padding:12px;border-radius:13px;background:color-mix(in srgb,var(--surface) 72%,var(--bg));display:flex;justify-content:space-between;align-items:center;gap:10px}.doc-slot .label{font-size:13px;font-weight:700}.doc-slot .doc-status{font-size:11px;color:var(--muted);margin-top:3px}.doc-slot input{display:none}.upload-btn{display:inline-block;padding:9px 11px;border-radius:10px;background:var(--surface2);font-size:12px;font-weight:750}.doc-slot.done .upload-btn{background:color-mix(in srgb,var(--success) 25%,var(--surface));color:var(--success)}.status-box{margin-top:12px;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));line-height:1.45}
.chat-screen{min-height:calc(100vh - 150px)}.chat-messages{display:flex;flex-direction:column;gap:8px;min-height:240px;max-height:52vh;overflow-y:auto;padding:8px 0}.bubble{max-width:88%;padding:10px 12px;border-radius:15px;line-height:1.4;font-size:14px}.bubble.bot{align-self:flex-start;background:var(--surface)}.bubble.user{align-self:flex-end;background:var(--accent);color:var(--accent-text)}.chat-form{display:flex;gap:8px;position:sticky;bottom:76px;background:var(--bg);padding:8px 0}.chat-form input{margin:0;flex:1}.chat-form button{white-space:nowrap}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:center;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px);border-top:1px solid color-mix(in srgb,var(--text) 8%,transparent);padding:7px max(10px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.nav-btn{width:min(33.333%,230px);border:0;background:transparent;color:var(--muted);font-size:11px;padding:6px}.nav-btn span{display:block;font-size:20px;margin-bottom:2px}.nav-btn.active{color:var(--link)}
.toast{position:fixed;left:16px;right:16px;bottom:88px;z-index:50;background:#222e;color:#fff;padding:12px 14px;border-radius:13px;text-align:center;backdrop-filter:blur(12px)}.loading{text-align:center;color:var(--muted);padding:36px}.error{color:var(--danger)}
@media(min-width:620px){.car-list{grid-template-columns:1fr 1fr}.car-card{grid-template-columns:130px 1fr}.spec-grid{grid-template-columns:repeat(3,1fr)}}

/* v3.1 payment stage */
.mini-summary { display:grid; gap:10px; margin:12px 0 18px; }
.mini-summary > div, .payment-row, .payment-amount { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; padding:11px 0; border-bottom:1px solid var(--border, rgba(128,128,128,.2)); }
.mini-summary span, .payment-row span, .payment-amount span { color:var(--muted, #7b7b7b); font-size:13px; }
.mini-summary b, .payment-row b, .payment-amount b { text-align:right; }
.payment-card { border:1px solid var(--border, rgba(128,128,128,.25)); border-radius:16px; padding:14px; margin-top:12px; }
.payment-amount b { font-size:22px; }
.receipt-box { margin-top:16px; display:grid; gap:10px; }
.big-upload { display:flex; justify-content:center; width:100%; padding:14px; box-sizing:border-box; }
.success-box { border-color:rgba(42,170,80,.35); }

/* v3.2 applications + step navigation */
.applications-panel{margin-top:0}.compact-btn{padding:9px 12px;white-space:nowrap}
.application-list{display:grid;gap:8px;margin-top:10px;max-height:260px;overflow:auto}
.application-card{width:100%;border:1px solid color-mix(in srgb,var(--text) 9%,transparent);background:color-mix(in srgb,var(--surface) 76%,var(--bg));color:var(--text);border-radius:13px;padding:11px 12px;display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left}
.application-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)}
.application-card-main{display:grid;gap:3px}.application-card-main b{font-size:13px}.application-card-main span{font-size:11px;color:var(--muted)}
.application-status{font-size:10px;font-weight:800;text-align:right;max-width:120px;color:var(--link)}
.status-cancelled,.status-rejected{color:var(--muted)}.status-payment_confirmed,.status-active_rental{color:var(--success)}
.booking-stepper{position:sticky;top:64px;z-index:18;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:10px 0 12px;padding:6px;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(14px);border-radius:14px}
.step-btn{border:0;border-radius:10px;background:var(--surface);color:var(--muted);padding:7px 4px;font-size:9px;min-width:0}
.step-btn span{display:flex;width:22px;height:22px;margin:0 auto 4px;border-radius:50%;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface) 65%,var(--bg));font-size:11px;font-weight:850}
.step-btn b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-btn.active{background:color-mix(in srgb,var(--accent) 20%,var(--surface));color:var(--link)}.step-btn.active span{background:var(--accent);color:var(--accent-text)}.step-btn.disabled{opacity:.38}
.step-section{display:none}.step-section.active{display:block}
.danger-outline{border:1px solid color-mix(in srgb,var(--danger) 65%,transparent);border-radius:12px;padding:11px 14px;background:transparent;color:var(--danger);font-weight:750;cursor:pointer}
@media(max-width:390px){.step-btn b{font-size:8px}.application-status{max-width:95px}}


/* v3.3 application list / archive / separate detail screen */
.application-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px;padding:4px;background:color-mix(in srgb,var(--surface) 70%,var(--bg));border-radius:13px}
.application-tab{border:0;border-radius:10px;padding:10px 12px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}
.application-tab.active{background:var(--surface2);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.application-list{max-height:none;overflow:visible}
.empty-state{display:grid;gap:5px;text-align:center;padding:28px 12px;color:var(--muted)}
.empty-state b{color:var(--text);font-size:15px}.empty-state span{font-size:13px;line-height:1.4}
.application-detail-head{padding:2px 2px 4px}.application-detail-head h1{font-size:25px;margin:3px 0 2px}.application-detail-head .back-link{margin-bottom:4px}

/* v3.5 mobile: iOS/Telegram WebView must not auto-zoom form controls on focus. */
input[type=text],input[type=number],input[type=tel],input[type=email],textarea,select{font-size:16px;line-height:1.25}
.topbar .ghost{font-size:12px;white-space:nowrap}
