/* assets/app.css — mobile-first, admin-friendly */
:root{
  --bg:#0b1020; --panel:#111836; --muted:#a7b0c9; --ink:#e6e9f2;
  --border:#1e2a4a; --brand:#6aa2ff; --ok:#22c55e; --warn:#f59e0b; --danger:#ef4444;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}
a{color:#8ab4ff;text-decoration:none} a:hover{text-decoration:underline}
.topbar{background:#0f1530;border-bottom:1px solid var(--border);padding:12px 16px;position:sticky;top:0;z-index:5}
.wrap{padding:16px;display:grid;gap:16px;max-width:1200px;margin:0 auto}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.row.spread{justify-content:space-between}
.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:0 1px 0 #0b1226}
h1,h2,h3{margin:0 0 10px 0}
.muted{color:var(--muted)}
.btn{background:#162246;border:1px solid var(--border);color:var(--ink);padding:8px 12px;border-radius:10px;cursor:pointer;white-space:nowrap}
.btn:hover{filter:brightness(1.05)} .btn.ghost{background:transparent}
.btn.sm{padding:4px 8px;font-size:12px} .btn.danger{background:#2a0e0e;border-color:#5f1d1d}
.input, textarea{background:#0f1733;color:var(--ink);border:1px solid var(--border);border-radius:10px;padding:8px 10px;min-width:240px}
textarea{min-width:100%;min-height:90px}
.badge{font-size:12px;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:#0f1733}
.badge.ok{border-color:#0f5d2a;color:#b7f7c9;background:#0b2a16}
.badge.warn{border-color:#7a4f00;color:#f9c56d;background:#2a1c00}
.badge.danger{border-color:#6e0d0d;color:#ffb3b3;background:#2a0909}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:2fr 1fr}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}}
.list{display:grid;gap:10px}
.item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:10px;background:#0f1733}
.item .meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#map,#adminMap{height:520px;width:100%;border-radius:12px;border:1px solid var(--border)}
.tablewrap{overflow:auto;border:1px solid var(--border);border-radius:10px}
.table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}
.table thead th{position:sticky;top:0;background:#0f1730}
.tabs{display:flex;gap:8px}
.tab{background:#0f1733;border:1px solid var(--border);padding:8px 12px;border-radius:10px;cursor:pointer}
.tab.active{background:#13214a}
.tabpane{display:none} .tabpane.active{display:block}
/* headings inside forms should occupy full width */
.row h3{width:100%}
