:root{--surface-1:#fcfcfb;--page:#f9f9f7;--text-primary:#0b0b0b;--text-secondary:#52514e;--muted:#898781;--border:#e1e0d9;--accent:#256abf;--accent-hover:#1c5cab;--ok:#0ca30c;--err:#d03b3b;--sans:system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--text-primary);background:var(--page)}*{box-sizing:border-box}body{margin:0}.app{max-width:1120px;margin:0 auto;padding:32px 24px 48px}.app-header h1{letter-spacing:-.5px;margin:0;font-size:32px;font-weight:600}.app-header .subtitle{color:var(--text-secondary);margin:8px 0 0;font-size:15px}.app-main{flex-direction:column;gap:24px;margin-top:24px;display:flex}.map-panel,.table-panel,.submit-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:12px}.map-panel{padding:16px}.map-chart{width:100%;height:560px}.loading,.empty{color:var(--muted);text-align:center;padding:40px 0}.table-panel,.submit-panel{padding:16px 20px 20px}.table-panel h2,.submit-panel h2{margin:0 0 12px;font-size:18px;font-weight:600}.panel-desc{color:var(--text-secondary);margin:-4px 0 16px;font-size:14px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}th{color:var(--text-secondary);font-weight:500}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover{background:#0b0b0b08}.form-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.form-grid label{flex-direction:column;gap:6px;display:flex}.form-grid label.full{grid-column:1/-1}.form-grid label span{color:var(--text-secondary);font-size:13px}.form-grid input,.form-grid select{font:inherit;color:var(--text-primary);border:1px solid var(--border);background:#fff;border-radius:8px;outline:none;padding:8px 10px;font-size:14px}.form-grid input:focus,.form-grid select:focus{border-color:var(--accent)}.submit-btn{font:inherit;color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;margin-top:16px;padding:10px 20px;font-size:14px;font-weight:500}.submit-btn:hover:not(:disabled){background:var(--accent-hover)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.form-msg{margin:12px 0 0;font-size:14px}.form-msg.ok{color:var(--ok)}.form-msg.err{color:var(--err)}.app-footer{color:var(--muted);text-align:center;margin-top:24px;font-size:13px}@media (width<=720px){.form-grid{grid-template-columns:1fr}.map-chart{height:420px}}
