:root{--bg:#f4f6f8;--card:#fff;--text:#111827;--muted:#667085;--line:#e5e7eb;--soft:#eef1f4;--top:#111827}html[data-theme=dark]{--bg:#0b0f14;--card:#151a21;--text:#f3f4f6;--muted:#9ca3af;--line:#2b3440;--soft:#242b35;--top:#0b0f14;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.top{background:var(--top);color:#fff;padding:calc(13px + env(safe-area-inset-top)) 16px 13px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.brand{font-weight:850;font-size:20px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#374151;font-weight:800}.wrap{max-width:800px;margin:auto;padding:18px 14px calc(96px + env(safe-area-inset-bottom))}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:14px;box-shadow:0 3px 16px #0000000b}.hero{padding:28px 20px}.welcome{padding:4px 4px 12px}.welcome small,.muted{color:var(--muted)}.welcome h2{margin:2px 0}.grid,.fieldGrid,.endpointGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}h1,h2,h3,p{margin-top:0}input,textarea,select,button,.photoButton{width:100%;padding:14px;border-radius:13px;border:1px solid var(--line);font:inherit;margin:6px 0;background:var(--card);color:var(--text)}button,.photoButton{background:#111827;color:#fff;border:0;font-weight:750;cursor:pointer;text-align:center;display:block;min-height:48px}.secondary{background:var(--soft);color:var(--text)}.success{background:#059669}.danger{background:#dc2626;margin-top:12px}.photoButton{background:#2563eb}.stop,.routeCard,.stopEditor{padding:15px;border:1px solid var(--line);border-radius:16px;margin:10px 0;background:var(--card)}.stopEditor{background:color-mix(in srgb,var(--soft) 42%,var(--card));padding:16px}.stopHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.iconBtn{width:38px;min-height:38px;padding:0;margin:0;border-radius:50%;background:var(--soft);color:var(--text);font-size:22px}.addStop{background:var(--soft);color:var(--text);border:1px dashed var(--muted);margin:12px 0 18px}.endpointGrid{padding:12px 0 4px}.optional{font-weight:500;color:var(--muted)}.routeCard p{margin:5px 0 10px}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:var(--soft);font-size:12px}.nav{display:flex;gap:8px}.nav button{width:auto;padding:9px 13px}.progress{height:8px;background:var(--soft);border-radius:99px;overflow:hidden;margin:14px 0}.progress i{display:block;height:100%;background:#059669}.address{font-size:17px}.task{padding:14px;background:var(--soft);border-radius:14px;margin:14px 0}.task small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.task b{display:block}.bottom{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--card) 94%,transparent);border-top:1px solid var(--line);backdrop-filter:blur(16px)}.bottom button{background:transparent;color:var(--muted);min-height:54px;padding:4px;font-size:11px;margin:0}.bottom button span{display:block;font-size:22px}.bottom button.active{color:var(--text)}hr{border:0;border-top:1px solid var(--line);margin:20px 0}label{font-size:13px;font-weight:700;display:block;margin-top:12px}.modalShade{position:fixed;inset:0;z-index:100;background:#0009;display:grid;place-items:end center;padding:16px}.modal{width:min(600px,100%);max-height:85vh;overflow:auto;background:var(--card);color:var(--text);border-radius:22px;padding:20px;box-shadow:0 20px 60px #0006}.addressChoice{background:var(--soft);color:var(--text);text-align:left;font-weight:650;margin:8px 0}@media(min-width:700px){.modalShade{place-items:center}}@media(max-width:600px){.wrap{padding-top:12px}.card{padding:16px;border-radius:18px}.grid,.fieldGrid,.endpointGrid{grid-template-columns:1fr}.top{padding-left:14px;padding-right:14px}.current h2{font-size:26px;margin-bottom:8px}}