:root{--primary: #16a34a;--primary-dark: #15803d;--primary-rgb: 22, 163, 74;--ink: #111827;--ink-soft: #374151;--muted: #6b7280;--success: #16a34a;--danger: #ef4444;--warning: #f59e0b;--info: #2563eb;--border: #e5e7eb;--surface: #ffffff;--bg: #f7f8fa;--radius-lg: 24px;--radius-md: 18px;--radius-sm: 14px;--font-display: "DM Sans", -apple-system, "Segoe UI", Roboto, sans-serif;--glass-bg: rgba(255, 255, 255, .86);--glass-bg-strong: rgba(255, 255, 255, .96);--glass-border: var(--border);--glass-shadow: 0 6px 20px rgba(17, 24, 39, .06);--glass-blur: blur(20px) saturate(180%);--bg-gradient: var(--bg)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;font-family:var(--font-display);background:var(--bg-gradient);background-attachment:fixed;color:var(--ink)}button,input,textarea,select{font-family:inherit}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;position:relative}.screen{flex:1;padding:20px 20px 108px;animation:screen-in .32s cubic-bezier(.22,1,.36,1)}@keyframes screen-in{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}.card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--glass-shadow)}.brand-mark{display:flex;align-items:center;gap:10px;margin-bottom:24px}.brand-icon{width:42px;height:42px;border-radius:13px;background:linear-gradient(155deg,#22262f,var(--ink));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 16px #10131a40}.brand-name{font-size:20px;font-weight:700;color:var(--ink)}.brand-name span{color:var(--primary)}h1{font-size:22px;margin:0 0 6px;letter-spacing:-.01em}.subtitle{color:var(--ink-soft);margin:0 0 20px;font-size:14px}label{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}.field{width:100%;border:1.5px solid rgba(16,19,26,.09);border-radius:var(--radius-sm);padding:12px 14px;font-size:16px;background:#ffffffa6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.14)}.field-error{color:var(--danger);font-size:13px;margin:6px 0 0;min-height:16px}.phone-field{display:flex;align-items:center;border:1.5px solid rgba(16,19,26,.09);border-radius:var(--radius-sm);overflow:hidden;background:#ffffffa6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.phone-field .prefix{padding:12px 10px 12px 14px;color:var(--ink-soft);font-weight:600}.phone-field input{border:none;flex:1;padding:12px 14px 12px 0;font-size:16px;background:transparent}.phone-field input:focus{outline:none}.btn-primary{width:100%;border:none;background:linear-gradient(155deg,#22c55e,var(--primary) 55%,var(--primary-dark));color:#fff;font-weight:700;font-size:15px;padding:14px;border-radius:var(--radius-sm);cursor:pointer;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 20px rgba(var(--primary-rgb),.35),0 1px #ffffff4d inset;transition:transform .12s ease,box-shadow .12s ease,opacity .15s ease}.btn-primary:active{transform:scale(.98);box-shadow:0 4px 10px rgba(var(--primary-rgb),.3)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{width:100%;border:1.5px solid rgba(16,19,26,.1);background:#fff9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font-weight:600;font-size:14px;padding:12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.btn-secondary:active{background:#ffffffd9}.btn-link{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;padding:0;font-size:13px}.otp-boxes{display:flex;gap:8px;margin:16px 0 4px}.otp-boxes input{width:100%;aspect-ratio:1;text-align:center;font-size:20px;font-weight:700;border:1.5px solid rgba(16,19,26,.1);border-radius:var(--radius-sm);background:#ffffffa6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.otp-boxes input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.14)}.step-indicator{display:flex;gap:6px;margin-bottom:20px}.dot{height:4px;flex:1;border-radius:2px;background:#10131a1a;transition:background .25s ease}.dot.done,.dot.current{background:var(--primary)}.top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.top-bar h1{margin:0}.balance-pill{background:#10131ad9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px;box-shadow:0 4px 14px #10131a40}.section-title{font-size:13px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin:24px 0 10px}.vehicle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.vehicle-card{border:1.5px solid rgba(16,19,26,.08);border-radius:var(--radius-md);padding:14px;background:#ffffff8c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,transform .12s ease}.vehicle-card:active{transform:scale(.98)}.vehicle-card.selected{border-color:var(--primary);background:rgba(var(--primary-rgb),.1);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.12)}.vehicle-card .name{font-weight:700;font-size:14px}.vehicle-card .meta{color:var(--muted);font-size:12px;margin-top:2px}.vehicle-card .price{color:var(--primary);font-weight:700;font-size:13px;margin-top:8px}.order-card{border-radius:var(--radius-md);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);padding:16px;margin-bottom:10px;box-shadow:0 4px 18px #10131a0f}.order-card .row{display:flex;justify-content:space-between;align-items:center}.filter-chip-row{display:flex;gap:8px;margin-bottom:12px}.filter-chip{flex:0 0 auto;border:1.5px solid rgba(16,19,26,.1);background:#fff9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font-weight:600;font-size:13px;line-height:1;padding:9px 16px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.filter-chip.active{border-color:transparent;background:var(--primary);color:#fff}.badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.badge.created,.badge.searching_driver{background:#f59e0b24;color:var(--warning)}.badge.driver_assigned,.badge.in_transit{background:#2563eb1f;color:var(--info)}.badge.delivered{background:#16a34a24;color:var(--success)}.badge.cancelled{background:#ef444424;color:var(--danger)}.badge.shipment{background:#f59e0b24;color:var(--warning)}.badge.trip{background:#2563eb1f;color:var(--info)}.badge.active{background:#16a34a24;color:var(--success)}.badge.matched{background:#2563eb1f;color:var(--info)}.badge.completed{background:#16a34a24;color:var(--success)}.badge.expired{background:#6b728024;color:var(--muted)}.market-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.market-action-card{border-radius:var(--radius-md);padding:22px 14px;text-align:center;border:1px solid var(--glass-border);background:var(--glass-bg);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;align-items:center;gap:8px}.market-action-card:active{transform:scale(.97)}.market-action-card .icon{color:var(--primary)}.market-action-card .label{font-weight:700;font-size:14px}.bottom-nav{position:sticky;bottom:12px;margin:0 14px calc(6px + env(safe-area-inset-bottom));display:flex;gap:2px;background:#fff9;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:6px;box-shadow:0 10px 30px #10131a29,0 1px #ffffff80 inset;touch-action:none;user-select:none;-webkit-user-select:none}.bottom-nav-item{position:relative;z-index:1;flex:1;text-align:center;text-decoration:none;color:var(--muted);font-size:11px;font-weight:600;padding:8px 0 7px;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;cursor:pointer;transition:color .25s ease}.bottom-nav-item.active{color:var(--primary-dark)}.bottom-nav-item .icon{display:flex}.bottom-nav-pill{position:absolute;top:6px;bottom:6px;left:0;border-radius:16px;background:#ffffffd9;box-shadow:0 4px 14px #10131a1f,0 0 0 1px rgba(var(--primary-rgb),.18) inset;will-change:transform,width}.bottom-nav-pill.dragging{background:rgba(var(--primary-rgb),.14)}.bottom-nav-item:active .icon{transform:scale(.86)}.bottom-nav-item .icon{transition:transform .18s cubic-bezier(.34,1.56,.64,1)}@keyframes bottom-nav-pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}.bottom-nav-item.active .icon{animation:bottom-nav-pop .5s cubic-bezier(.16,1,.3,1)}.chat-composer{display:flex;align-items:flex-end;gap:8px;background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1.5px solid rgba(16,19,26,.09);border-radius:22px;padding:8px 8px 8px 16px;box-shadow:0 6px 20px #10131a14;transition:border-color .15s ease,box-shadow .15s ease}.chat-composer:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.14)}.chat-composer-input{flex:1;border:none;background:transparent;resize:none;font-family:inherit;font-size:15px;line-height:1.4;color:var(--ink);padding:8px 0;max-height:140px;overflow-y:auto}.chat-composer-input:focus{outline:none}.chat-composer-input::placeholder{color:var(--muted)}.chat-composer-send{flex-shrink:0;width:36px;height:36px;border:none;border-radius:50%;background:linear-gradient(155deg,#22c55e,var(--primary) 55%,var(--primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px rgba(var(--primary-rgb),.35);transition:transform .12s ease,opacity .15s ease,box-shadow .12s ease}.chat-composer-send:active{transform:scale(.9);box-shadow:0 2px 6px rgba(var(--primary-rgb),.3)}.chat-composer-send:disabled{opacity:.4;cursor:not-allowed;transform:none}.empty-state{text-align:center;color:var(--muted);padding:40px 10px;font-size:14px}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%);background:#10131ad9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;padding:10px 18px;border-radius:999px;font-size:13px;z-index:50;max-width:90%;text-align:center;box-shadow:0 8px 24px #10131a40}.chat-list{display:flex;flex-direction:column;gap:8px;margin:16px 0}.chat-bubble{max-width:78%;padding:10px 14px;border-radius:16px;font-size:14px}.chat-bubble.mine{align-self:flex-end;background:linear-gradient(155deg,#ff8763,var(--primary));color:#fff;border-bottom-right-radius:4px}.chat-bubble.theirs{align-self:flex-start;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(16,19,26,.06);border-bottom-left-radius:4px}.chat-input-row{display:flex;gap:8px;position:sticky;bottom:8px}.stars{display:flex;gap:6px;justify-content:center;margin:18px 0}.stars button{background:none;border:none;font-size:30px;cursor:pointer;color:#10131a26;transition:transform .1s ease}.stars button:active{transform:scale(.9)}.stars button.filled{color:#ffb020}.row-between{display:flex;justify-content:space-between;align-items:center}.muted{color:var(--muted);font-size:13px}.dev-code-hint{background:rgba(var(--primary-rgb),.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px dashed var(--primary);border-radius:12px;padding:8px 10px;margin-top:8px}.tx-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(16,19,26,.06)}.tx-row:last-child{border-bottom:none}
