*{box-sizing:border-box}
body{margin:0;background:#f2f5fb;color:#14273f;font:15px/1.45 'Segoe UI',Roboto,Arial,sans-serif;padding-bottom:30px}
.fa-top{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#fff;border-bottom:1px solid #e1e8f4;position:sticky;top:0;z-index:5}
.fa-top img{height:34px;width:auto}
.fa-top span{font-weight:600;color:#3b4f6b;font-size:14px;text-align:right}
.fa{max-width:560px;margin:0 auto;padding:14px 16px}
.fa-card{background:#fff;border:1px solid #e1e8f4;border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 6px 18px #0f23460d}
.fa-card h1{margin:2px 0;font-size:22px}
.fa-me{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fa-me small{color:#5d6f88}
.fa-pill{padding:5px 12px;border-radius:999px;background:#eef2f8;color:#43566f;font-weight:600;font-size:13px;white-space:nowrap}
.fa-pill.on{background:#dcfce7;color:#166534}
.fa-big{width:100%;min-height:58px;border:0;border-radius:14px;background:#1d4ed8;color:#fff;font:700 18px/1 inherit;cursor:pointer}
.fa-big.stop{background:#dc2626}
.fa-status{margin:10px 0 0;color:#3b4f6b;font-size:14px}
.fa-tip{margin:8px 0 0;color:#6b7c93;font-size:12px}
.fa-h{font-size:17px;margin:18px 2px 8px}
.fa-job{background:#fff;border:1px solid #e1e8f4;border-radius:16px;padding:14px;margin-bottom:10px}
.fa-job.done{opacity:.6}
.fa-job h3{margin:0 0 2px;font-size:16px}
.fa-job p{margin:4px 0;color:#3b4f6b;font-size:14px}
.fa-job .fa-tag{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:#eef2f8;color:#43566f}
.fa-job .fa-tag.go{background:#fef3c7;color:#92400e}.fa-job .fa-tag.ok{background:#dcfce7;color:#166534}.fa-job .fa-tag.bad{background:#fee2e2;color:#991b1b}
.fa-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.fa-actions a,.fa-actions button{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:12px;border:1px solid #d6e0ef;background:#fff;color:#14273f;font:600 14px inherit;text-decoration:none;cursor:pointer;padding:0 8px;text-align:center}
.fa-actions .nav{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.fa-actions .ok{background:#16a34a;color:#fff;border-color:#16a34a}
.fa-actions .wide{grid-column:1/-1}
.fa-link{display:block;margin:20px auto 0;background:none;border:0;color:#5d6f88;text-decoration:underline;font:inherit;cursor:pointer}
.fa-error{color:#b91c1c;font-weight:600;text-align:center}
.fa-empty{color:#6b7c93;text-align:center;padding:16px}
.fa-sum{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px}
.fa-sum div{background:#fff;border:1px solid #e1e8f4;border-radius:14px;padding:12px 14px}
.fa-sum strong{display:block;font-size:22px}.fa-sum small{color:#5d6f88}
.fa-num{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:#1d4ed8;color:#fff;font-size:13px;font-weight:700;margin-right:6px}
.fa-job.done .fa-num{background:#16a34a}
.fa-due{font-weight:700;color:#14273f}
.fa-sheet{border:0;border-radius:20px 20px 0 0;padding:20px 18px 24px;width:100%;max-width:560px;margin:auto auto 0;box-shadow:0 -10px 40px #0f234633}
.fa-sheet::backdrop{background:#0f234680}
.fa-sheet h2{margin:0 0 2px;font-size:20px}
.fa-field{display:block;font-weight:600;font-size:14px;margin:12px 0 0}
.fa-field input{display:block;width:100%;margin-top:6px;min-height:48px;border:1px solid #cbd7ea;border-radius:12px;padding:0 12px;font:inherit;font-size:17px}
.fa-field input[type=file]{padding:10px 12px;font-size:14px}
.fa-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.fa-modes input{position:absolute;opacity:0}
.fa-modes span{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #cbd7ea;border-radius:12px;font-weight:700}
.fa-modes input:checked+span{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.fa-modes input:focus-visible+span{outline:2px solid #1d4ed8;outline-offset:2px}
.fa-code-form{display:grid;gap:12px;margin:14px 0}.fa-code-form input{font-size:1.6rem;letter-spacing:.15em;text-align:center}
/* delivery-app layout: stats, map, current delivery */
.fa-sum{grid-template-columns:1fr 1fr 1fr 1fr;gap:8px}
.fa-sum div{padding:10px 8px;text-align:center}.fa-sum strong{font-size:18px}.fa-sum small{font-size:11px;line-height:1.2;display:block}
@media(max-width:380px){.fa-sum{grid-template-columns:1fr 1fr}}
.fa-mapcard{margin:12px 0;border-radius:18px;overflow:hidden;border:1px solid #e1e8f4;background:#fff;box-shadow:0 6px 18px #0f23460d}
.fa-map{height:260px;background:#eef2f7}
.fa-trip{margin:0;padding:10px 14px;font-size:14px;color:#3b4f6b}.fa-trip b{color:#16a34a;font-size:16px}
.fa-mk{overflow:visible}
.fa-mk.me i{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;background:#2563eb;border:3px solid #fff;box-shadow:0 0 0 6px #2563eb33,0 2px 6px #0f234655}
.fa-mk.pin b{position:absolute;left:-13px;top:-34px;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#475569;border:2px solid #fff;box-shadow:0 2px 6px #0f234655;display:grid;place-items:center;color:#fff;font:700 12px/1 'Segoe UI',Arial}
.fa-mk.pin b{font-size:0}.fa-mk.pin b::after{content:attr(data-n)}
.fa-mk.pin.now b{background:#e11d48;width:32px;height:32px;left:-16px;top:-42px}
.fa-mk.pin.rough b{border-style:dashed}
.fa-now{background:#fff;border:2px solid #c7d7f5;border-radius:20px;padding:16px;margin:12px 0;box-shadow:0 10px 26px #1d4ed81a}
.fa-now.going{border-color:#fda4af;box-shadow:0 10px 26px #e11d481f}
.fa-now-label{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:3px 10px}
.fa-now.going .fa-now-label{color:#be123c;background:#fff1f2}
.fa-now h2{margin:8px 0 0;font-size:22px}
.fa-now-inv{margin:2px 0 8px;color:#5d6f88;font-size:14px}
.fa-addr{margin:0;font-size:15px;color:#14273f}.fa-addr small{display:block;color:#b45309;margin-top:3px}
.fa-collect{margin:12px 0 4px;padding:10px 14px;border-radius:14px;background:#fef3c7;display:flex;justify-content:space-between;align-items:center}
.fa-collect small{font-weight:700;color:#92400e}.fa-collect strong{font-size:24px;color:#14273f}
.fa-collect.paid{background:#dcfce7}.fa-collect.paid small{color:#166534}.fa-collect.paid strong{font-size:18px}
.fa-actions .call{background:#fff;color:#14273f}
.fa-actions .go{background:#1d4ed8;color:#fff;border-color:#1d4ed8;min-height:54px;font-size:16px}
.fa-actions .ok.big{min-height:54px;font-size:16px}
.fa-actions .quiet{border-style:dashed;color:#3b4f6b;font-weight:600}
.fa-empty-card{text-align:center}.fa-empty-card strong{font-size:18px}.fa-empty-card p{color:#5d6f88;margin:6px 0 0}
.fa-donebox{margin-top:14px}.fa-donebox summary{font-weight:700;font-size:16px;cursor:pointer;padding:6px 2px}
.fa-mk.pin b::after{font-size:12px;transform:rotate(45deg)}
.fa-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#eef2f8;border-radius:12px;padding:4px;margin:12px 0 4px}
.fa-tabs button{border:0;border-radius:9px;padding:10px 6px;background:transparent;font:600 14px inherit;color:#43566f;cursor:pointer}
.fa-tabs button[aria-selected=true]{background:#fff;color:#1d4ed8;box-shadow:0 2px 6px #0f23461a}
.fa-code-form .fa-field input[type=email],.fa-code-form .fa-field input[type=password]{font-size:17px;letter-spacing:normal;text-align:left}
.fa-code-form[hidden]{display:none}
/* full-screen delivery map (driver-app style) */
body.fa-noscroll{overflow:hidden}
.fv{position:fixed;inset:0;z-index:50;background:#eef2f7;display:flex;flex-direction:column}
.fv[hidden]{display:none}
.fv-top{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-bottom:1px solid #e1e8f4;z-index:3}
.fv-close{width:40px;height:40px;border-radius:12px;border:1px solid #d6e0ef;background:#fff;font-size:20px;cursor:pointer}
.fv-map{flex:1;min-height:200px;position:relative;z-index:1}
.fv-info{background:#fff;border-radius:20px 20px 0 0;margin-top:-18px;position:relative;z-index:2;padding:14px 16px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px #0f234626;max-height:58vh;overflow:auto}
.fv-info[hidden]{display:none}
.fv-label{display:inline-block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:3px 10px}
.fv-info h2{margin:6px 0 0;font-size:21px}.fv-inv{margin:2px 0 6px;color:#5d6f88;font-size:14px}
.fv-addr{margin:4px 0;font-size:15px}.fv-drop{margin:4px 0 8px;font-size:13px;color:#166534;font-weight:600}.fv-drop.warn{color:#b45309}
.fv-route{margin:8px 0 0;font-weight:700;color:#16a34a}
.fv-set{position:absolute;inset:61px 0 0 0;z-index:3;pointer-events:none;display:flex;flex-direction:column}
.fv-set[hidden]{display:none}
.fv-search{pointer-events:auto;display:flex;gap:6px;margin:10px 12px 0}
.fv-search input{flex:1;min-height:46px;border:1px solid #cbd7ea;border-radius:12px;padding:0 12px;font:inherit;font-size:16px;box-shadow:0 4px 14px #0f234622}
.fv-search button{border:0;border-radius:12px;background:#1d4ed8;color:#fff;font-weight:700;padding:0 14px}
.fv-set .fp-results{pointer-events:auto;margin:6px 12px 0;list-style:none;padding:0;background:#fff;border-radius:12px;max-height:40vh;overflow:auto;box-shadow:0 4px 14px #0f234622}
.fv-set .fp-results li{border-top:1px solid #eef2f7;padding:10px 12px;color:#64748b}.fv-set .fp-results li:has(button){padding:0}
.fv-set .fp-results button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:12px;font:inherit;font-size:14px;color:#14273f}
.fv-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);pointer-events:none}
.fv-center span{display:block;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#e11d48;border:3px solid #fff;box-shadow:0 4px 10px #0f234666;margin-top:-6px}
.fv-setbar{pointer-events:auto;margin-top:auto;background:#fff;border-radius:20px 20px 0 0;padding:12px 16px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px #0f234626}
.fv-setbar p{margin:0 0 4px;font-weight:600;color:#3b4f6b}
.fa-mk.shop b{position:absolute;left:-16px;top:-16px;width:32px;height:32px;border-radius:10px;background:#fff;border:2px solid #16a34a;display:grid;place-items:center;font-size:17px;box-shadow:0 2px 6px #0f234655}
.fa-mk.shop em{position:absolute;left:-20px;top:18px;width:40px;text-align:center;font:700 10px/1 'Segoe UI',Arial;color:#166534;font-style:normal}
.fa-actions .map{background:#0f172a;color:#fff;border-color:#0f172a}
.fa-addr small.ok{color:#166534}
.fa-warnline{color:#b45309!important;font-size:13px!important}
.fa-map,.fv-map{isolation:isolate}
.fv{z-index:2000}
/* compact header card */
.fa-me{display:block}
.fa-me-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.fa-avatar{flex:none;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#1d4ed8,#7c3aed);color:#fff;display:grid;place-items:center;font:700 20px/1 inherit}
.fa-me-name{flex:1;min-width:0}.fa-me-name h1{font-size:19px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa-me .fa-big{min-height:52px;font-size:17px}
.fa-top{box-shadow:0 2px 10px #0f23460f}
/* markers on Google Maps (same look as on the free map) */
.fa-gm{position:absolute;width:0;height:0;cursor:pointer}
.fv-map .gm-style-mtc button,.fv-map .gm-style-mtc div{font-family:'Segoe UI',Roboto,Arial,sans-serif!important}
/* Ola / Uber style trip panel over the map */
.fv-hud{position:absolute;left:10px;right:10px;top:70px;z-index:4;background:#0f172aee;color:#e2e8f0;border-radius:16px;padding:12px 14px;box-shadow:0 10px 30px #0f234655;backdrop-filter:blur(4px)}
.fv-hud[hidden]{display:none}
.fv-hud.arrived{background:#166534f0}.fv-hud.plan{background:#1e3a8af0}
.fv-hud-big{display:block;font-size:28px;line-height:1.1;color:#4ade80;font-weight:800}
.fv-hud.arrived .fv-hud-big{color:#fff;font-size:22px}.fv-hud.plan .fv-hud-big{color:#fff;font-size:22px}
.fv-hud-sub{display:block;margin-top:2px;font-size:13px;color:#cbd5e1}
.fv-hud-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
.fv-hud-row span{background:#ffffff14;border-radius:10px;padding:6px 8px}
.fv-hud-row b{display:block;color:#fff;font-size:15px}.fv-hud-row small{color:#94a3b8;font-size:11px}
.fv-recenter{position:absolute;right:12px;bottom:calc(58vh + 4px);z-index:4;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#1d4ed8;font-size:22px;box-shadow:0 4px 14px #0f234640;cursor:pointer}
.fv-recenter[hidden]{display:none}
.fv-recenter{top:214px;bottom:auto}
/* full-screen map: header, details sheet hidden; a slim bar at the bottom */
.fv-top{justify-content:flex-start}.fv-top strong{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fv-fullbtn{width:40px;height:40px;border-radius:12px;border:1px solid #d6e0ef;background:#fff;font-size:19px;cursor:pointer;flex:none}
.fv.fv-full .fv-info{display:none}
.fv.fv-full .fv-top{position:absolute;left:10px;right:10px;top:calc(8px + env(safe-area-inset-top));border-radius:14px;background:#ffffffe8;border:0;box-shadow:0 4px 14px #0f234633}
.fv.fv-full .fv-hud{top:calc(70px + env(safe-area-inset-top))}
.fv-mini{position:absolute;left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:5;display:flex;align-items:center;gap:8px;background:#0f172a;color:#e2e8f0;border-radius:16px;padding:10px 10px 10px 14px;box-shadow:0 10px 30px #0f234666}
.fv-mini[hidden]{display:none}
.fv-mini-text{flex:1;min-width:0}.fv-mini-text b{display:block;color:#4ade80;font-size:18px}.fv-mini-text span{display:block;font-size:12px;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fv-mini-nav{flex:none;display:flex;align-items:center;min-height:46px;padding:0 14px;border-radius:12px;background:#1d4ed8;color:#fff;font-weight:700;text-decoration:none;font-size:14px}
.fv-mini-done{flex:none;width:46px;height:46px;border-radius:12px;border:0;background:#16a34a;color:#fff;font-size:18px;cursor:pointer}
.fv-hud-seen{display:block;margin-top:8px;font-size:12px;color:#86efac}.fv-hud-seen.warn{color:#fcd34d}
