:root { --bg:#0e0f12; --panel:#16181d; --text:#e9eef5; --muted:#9aa3af; --accent:#4f8cff; }
* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial; color: var(--text); background: var(--bg); }
.topbar { display:flex; align-items:center; justify-content:space-between; padding: 12px 16px; background:#0b0c10; border-bottom:1px solid #1f2430; }
.topbar h1 { font-size: 18px; margin:0; }
.btn-secondary { color: var(--text); text-decoration:none; padding:8px 12px; border:1px solid #2c3443; border-radius:10px; }
.layout { display:grid; grid-template-columns: 1fr 360px; height: calc(100vh - 56px); }
#map { width: 100%; height: 100%; }
.panel { background: var(--panel); border-left:1px solid #1f2430; padding: 14px; overflow:auto; }
.cust-info { padding:10px; background:#101217; border:1px solid #1f2430; border-radius:12px; min-height:58px; }
.form { display:grid; gap:10px; margin-top:12px; }
.form label { display:grid; gap:6px; font-size: 14px; color: var(--muted); }
.form input[type="text"], .form input[type="password"], .form input[type="file"], .form input[type="email"], .form input[type="number"] { padding:10px; border-radius:10px; border:1px solid #2c3443; background:#0d0f14; color:var(--text); }
.form button { padding:10px 14px; border:0; border-radius:10px; background: var(--accent); color:white; font-weight:600; }
.muted { color: var(--muted); font-size: 13px; }
.error { color: #ff6b6b; }


/* Auth */
.auth-body { display:grid; place-items:center; min-height:100vh; }
.auth-card { width:min(420px, 92vw); background: var(--panel); border:1px solid #1f2430; border-radius:16px; padding: 20px; }
.auth-card h1 { margin-top:0; font-size: 20px; }


/* Mobile */
@media (max-width: 900px) {
.layout { grid-template-columns: 1fr; grid-template-rows: 56vh 1fr; }
.panel { border-left:none; border-top:1px solid #1f2430; }
}