:root{--bg:#f4f6f8;--card:#fff;--text:#18212b;--muted:#68717c;--line:#dfe4ea;--primary:#1463ff;--danger:#d83030;--ok:#20a35a;--warn:#e59500;--work:#1877d6;--blocked:#6b7280}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}header{background:#fff;border-bottom:1px solid var(--line);padding:10px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1000}header b{font-size:18px}.nav{display:flex;gap:8px;flex-wrap:wrap}.btn,button{border:0;border-radius:9px;padding:10px 13px;background:var(--primary);color:#fff;text-decoration:none;font-weight:600;cursor:pointer}.btn.secondary,button.secondary{background:#eef2f6;color:#27303a}.btn.danger{background:var(--danger)}main{max-width:1200px;margin:16px auto;padding:0 12px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 2px 10px #00000008;margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid #ccd3db;border-radius:9px;background:#fff;font-size:16px}.field textarea{min-height:90px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.stat{padding:12px;border-radius:12px;background:#fff;border:1px solid var(--line);text-align:center}.stat strong{display:block;font-size:24px}.muted{color:var(--muted)}.badge{display:inline-block;padding:5px 9px;border-radius:999px;color:#fff;font-size:12px;font-weight:700}.todo{background:var(--danger)}.planned{background:var(--warn)}.working{background:var(--work)}.done{background:var(--ok)}.blocked{background:var(--blocked)}#map{height:calc(100vh - 205px);min-height:460px;border-radius:14px}.customer-title{font-size:22px;font-weight:800}.scanbox{display:flex;gap:8px;align-items:end}.scanbox .field{flex:1}#reader{max-width:520px;margin:10px auto}.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#111;color:#fff;padding:10px 14px;border-radius:9px;display:none;z-index:9999}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:9px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.tablewrap{overflow:auto}.login{max-width:420px;margin:12vh auto}@media(max-width:700px){header{align-items:flex-start}.stats{grid-template-columns:repeat(2,1fr)}#map{height:67vh}.nav .btn{padding:8px 10px;font-size:13px}.customer-title{font-size:19px}}
