/* Panel uslubi — tashqi CDN yo'q, hammasi shu faylda.
   Sabab: CSP qat'iy va panel internetsiz ham ochilishi kerak. */
:root {
  --bg: #f6f7f9; --card: #fff; --ink: #1a1d21; --muted: #6b7280;
  --line: #e5e7eb; --accent: #2563eb; --red: #dc2626; --green: #16a34a;
}
@media (prefers-color-scheme: dark) {
  :root { --bg:#0f1216; --card:#171b21; --ink:#e6e8eb; --muted:#9aa3af;
          --line:#252b33; --accent:#60a5fa; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink);
       font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
.wrap { max-width:1100px; margin:0 auto; padding:24px 16px 64px; }
h1 { font-size:22px; margin:0 0 16px; }
h2 { font-size:16px; margin:20px 0 8px; }
.muted { color:var(--muted); font-weight:400; }
.mono { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; }

.nav { display:flex; align-items:center; gap:16px; padding:10px 16px;
       background:var(--card); border-bottom:1px solid var(--line); flex-wrap:wrap; }
.nav .brand { font-weight:600; }
.nav .spacer { flex:1; }
.nav .who { color:var(--muted); font-size:13px; }

.card { background:var(--card); border:1px solid var(--line); border-radius:12px;
        padding:16px; margin:12px 0; }
.cols { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:12px; }

.tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.tile { background:var(--card); border:1px solid var(--line); border-radius:12px;
        padding:16px; display:flex; flex-direction:column; gap:4px; }
.tile:hover { text-decoration:none; border-color:var(--accent); }
.tile .num { font-size:26px; font-weight:600; }
.tile .lbl { color:var(--muted); font-size:13px; }
.tile.urgent .num { color:var(--green); }

.table { width:100%; border-collapse:collapse; background:var(--card);
         border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.table th, .table td { padding:9px 12px; text-align:left; border-bottom:1px solid var(--line); }
.table th { font-size:12px; text-transform:uppercase; letter-spacing:.03em; color:var(--muted); }
.table tr:last-child td { border-bottom:none; }
.table.compact th, .table.compact td { padding:6px 10px; font-size:13px; }

.filters { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
input, select, textarea { padding:8px 10px; border:1px solid var(--line); border-radius:8px;
                          background:var(--card); color:var(--ink); font:inherit; width:100%; }
label { display:block; margin:10px 0; font-size:13px; color:var(--muted); }
label input, label select, label textarea { margin-top:4px; color:var(--ink); }
button, .btn { padding:8px 14px; border:1px solid var(--accent); background:var(--accent);
               color:#fff; border-radius:8px; cursor:pointer; font:inherit; }
button:hover, .btn:hover { opacity:.9; text-decoration:none; }
.btn.ghost { background:transparent; color:var(--accent); }
button.link { background:none; border:none; color:var(--accent); padding:0; cursor:pointer; }
form.inline { display:inline; }

.badge { font-size:12px; padding:2px 8px; border-radius:999px;
         background:var(--line); color:var(--ink); font-weight:500; }
.badge.red { background:var(--red); color:#fff; }
.tag { font-size:12px; color:var(--muted); }
.chips { display:flex; gap:8px; flex-wrap:wrap; }
.chip { background:var(--card); border:1px solid var(--line); border-radius:999px;
        padding:5px 12px; font-size:13px; }
.alert { background:#fee2e2; color:#991b1b; padding:10px 12px; border-radius:8px; margin:10px 0; }

dl { display:grid; grid-template-columns:auto 1fr; gap:6px 14px; margin:0; }
dt { color:var(--muted); font-size:13px; }
dd { margin:0; }

.gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
.gallery img { width:100%; height:110px; object-fit:cover; border-radius:8px; display:block; }
.gallery figcaption { font-size:12px; color:var(--muted); margin-top:4px; }
.gallery figure { margin:0; }

.pager { display:flex; gap:16px; align-items:center; justify-content:center; margin:16px 0; }
.back { display:inline-block; margin-bottom:8px; font-size:13px; }
.login { max-width:360px; margin:60px auto; }
.lead { color:var(--muted); }

.alert.ok { background:#dcfce7; color:#166534; }
details summary { padding:4px 0; }

/* Joylashtirish paneli */
.place-col { border:1px solid var(--line); border-radius:10px; padding:12px; }
.place-col h3 { margin:0 0 8px; font-size:15px; }
.place-table th { text-transform:none; letter-spacing:0; font-size:13px;
                  color:var(--muted); vertical-align:top; }
.place-table td { vertical-align:top; white-space:pre-wrap; }
.copy-btn { font-size:15px; }
