*{box-sizing:border-box}
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827;background:#f3f4f6}
body{margin:0;min-height:100vh;background:#f3f4f6}
.app{width:min(100% - 28px,480px);margin:auto;padding:28px 0 24px}
header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.eyebrow{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.14em;color:#6b7280}
h1{margin:0;font-size:26px;line-height:1.15;letter-spacing:-.03em}
.icon-btn{width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#374151;font-size:22px;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.card{background:#fff;border-radius:20px;padding:20px;box-shadow:0 8px 30px rgba(17,24,39,.06)}
label{display:block;margin:0 0 8px;font-size:14px;font-weight:700;color:#374151}
label:not(:first-of-type){margin-top:18px}
.input-wrap{display:flex;align-items:center;gap:8px;border:1px solid #e5e7eb;border-radius:13px;padding:0 14px;background:#fafafa}
.input-wrap:focus-within{border-color:#9ca3af;background:#fff}
input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:13px 0;font:inherit;font-size:17px;font-weight:600;color:#111827}
.input-wrap span{color:#6b7280;font-size:14px;font-weight:600}
.primary,.gps-start,.gps-stop{width:100%;margin-top:22px;border:0;border-radius:13px;padding:14px 16px;font:inherit;font-weight:800;cursor:pointer}
.primary{background:#111827;color:#fff}
.gps-card{margin-top:14px}
.section-title{font-size:14px;font-weight:800}
.section-head{display:flex;align-items:center;justify-content:space-between}
.status{margin:5px 0 0;color:#6b7280;font-size:13px}
.dot{width:10px;height:10px;border-radius:50%;background:#d1d5db}
.dot.active{background:#16a34a;box-shadow:0 0 0 5px rgba(22,163,74,.12)}
.gps-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.gps-grid>div{padding:14px;border-radius:14px;background:#f9fafb}
.gps-grid span{display:block;color:#6b7280;font-size:12px;font-weight:600;margin-bottom:5px}
.gps-grid strong{font-size:18px;letter-spacing:-.02em}
.gps-start{background:#111827;color:#fff}
.gps-stop{background:#dc2626;color:#fff}
.hidden{display:none}
.gps-note{margin:10px 2px 0;color:#9ca3af;font-size:11px;line-height:1.4}
.result{margin-top:14px}
.result-row{display:flex;justify-content:space-between;align-items:center;gap:20px}
.result-row span,.result-label{color:#6b7280;font-size:14px;font-weight:600}
.result-row strong{font-size:20px}
.divider{height:1px;background:#eef0f2;margin:18px 0}
.cost{display:block;margin-top:5px;font-size:34px;line-height:1.1;letter-spacing:-.04em}
.message{min-height:20px;margin:12px 4px 0;color:#dc2626;font-size:13px;font-weight:600}
footer{padding:18px 4px 0;text-align:center;color:#9ca3af;font-size:11px}
@media(prefers-color-scheme:dark){
:root{color:#f9fafb;background:#111827}body{background:#111827}.card,.icon-btn{background:#1f2937}
.input-wrap{background:#111827;border-color:#374151}.input-wrap:focus-within{background:#111827;border-color:#6b7280}
input{color:#f9fafb}.primary,.gps-start{background:#f9fafb;color:#111827}.divider{background:#374151}
.eyebrow,.status,.result-row span,.result-label,footer,.gps-note{color:#9ca3af}label{color:#d1d5db}
.icon-btn{color:#e5e7eb}.gps-grid>div{background:#111827}
}
