:root{
  --bg:#f5f7fb;
  --card:#fff;
  --text:#1f2937;
  --muted:#6b7280;
  --primary:#0f62fe;
  --danger:#b42318;
  --success:#067647;
  --border:#d0d5dd;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}
.wrap{max-width:1180px;margin:0 auto;padding:16px}
.topbar{background:#0b1220;color:#fff}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}
.brand{color:#fff;text-decoration:none;font-weight:700}
.nav{display:flex;gap:14px;flex-wrap:wrap}
.nav a{color:#dbe6ff;text-decoration:none}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;margin:16px 0;box-shadow:0 2px 10px rgba(16,24,40,.04)}
.hero .card{padding:32px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{background:var(--primary);color:#fff;border:0;border-radius:10px;padding:10px 14px;text-decoration:none;cursor:pointer}
.btn-secondary{background:#344054}
.btn-danger{background:var(--danger)}
.alert{padding:12px 14px;border-radius:10px;margin:12px 0}
.alert-success{background:#ecfdf3;color:var(--success)}
.alert-danger{background:#fef3f2;color:var(--danger)}
.alert-info{background:#eff8ff;color:#175cd3}
.grid{display:grid;gap:16px}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-4{grid-template-columns:repeat(4,1fr)}
.stat-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px}
.stat-card span{display:block;color:var(--muted);font-size:14px}
.stat-card strong{font-size:30px}
.grid-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.grid-form label{display:flex;flex-direction:column;gap:6px;font-size:14px}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}
textarea{min-height:100px}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th,.table td{border-bottom:1px solid var(--border);padding:10px;text-align:left;vertical-align:top}
.badge{display:inline-block;padding:4px 8px;background:#eef2ff;border-radius:999px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.tab{background:#fff;border:1px solid var(--border);padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--text)}
.tab.active{background:var(--primary);color:#fff}
.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.permit-box{padding:16px;border-radius:12px;margin-top:16px}
.permit-box.valid{background:#ecfdf3;border:1px solid #abefc6}
.permit-box.invalid{background:#fef3f2;border:1px solid #fecdca}
.icon-badge{display:inline-block;background:#ef4444;color:#fff;border-radius:999px;padding:4px 8px;font-size:12px}
.footer{padding:24px 0;color:var(--muted)}
.auth-card{max-width:760px;margin:24px auto}
@media (max-width: 860px){
  .cards-3,.cards-4,.grid-form{grid-template-columns:1fr}
  .topbar-inner{flex-direction:column;align-items:flex-start}
}
