/*
 * 🛠️ Správa (admin.html, <body class="admin">): kompaktní a věcný vzhled pro dospělé – menší písmo a prvky, víc
 * informací na obrazovce, střídmé písmo nadpisů, méně zaoblené rohy a stíny, bez dětských ozdob. Načítá se jen
 * ve správě až po style.css, takže appku dětí nijak nemění.
 */
body.admin {
  --radius: 10px;
  --font-head: 'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --shadow: 0 1px 3px rgba(20, 30, 70, .08), 0 4px 14px rgba(20, 30, 70, .06);
  font-size: 14px;
  line-height: 1.4;
  background-image: none;
}

/* ----- rozvržení: širší plocha, menší okraje ----- */
body.admin main { max-width: 1600px; padding: 10px 14px; }
body.admin .card { padding: 14px 16px; margin-bottom: 12px; border-radius: var(--radius); }
body.admin .card h2 { font-size: 1.1rem; margin-bottom: 8px; }
body.admin .card-title { font-size: 1.25rem; margin-bottom: 8px; }
body.admin h3 { font-size: 1rem; margin: 14px 0 6px; }
body.admin .list-header { margin-bottom: 8px; gap: 8px; }
body.admin .field { margin-bottom: 10px; }
body.admin .label { font-size: .9rem; margin-bottom: 4px; }
body.admin .hint, body.admin .muted { font-size: .85rem; }
body.admin .msg { margin-top: 4px; }
body.admin details.help { margin: -2px 0 8px; }

/* ----- horní lišta a menu ----- */
body.admin .topbar { top: 0; margin-top: 0; padding: 4px 10px; border-radius: 0 0 var(--radius) var(--radius); max-width: 1600px; }
body.admin .brand-logo { width: 32px; height: 32px; }
body.admin .brand-logo.brand-logo-full { width: 36px; height: 36px; }
body.admin .brand-name { font-size: 1.1rem; }
body.admin .navlink { padding: 5px 11px; border-radius: 8px; font-size: .9rem; font-weight: 700; }
body.admin .navlink.active { box-shadow: none; }
/* počet nových chyb vedle „Chyby“, ne přes text */
body.admin .navlink .nav-badge { position: static; display: inline-block; margin-left: 5px; min-width: 18px; height: 18px; padding: 0 5px; font-size: .7rem; line-height: 18px; vertical-align: 1px; }

/* ----- tlačítka, čipy, pole ----- */
body.admin .primary, body.admin .secondary, body.admin .danger {
  padding: 6px 12px; border-radius: 8px; font-size: .9rem; box-shadow: none;
}
body.admin .danger { margin-top: 0; }
body.admin .small-btn { padding: 4px 9px; font-size: .82rem; }
body.admin .buttons { gap: 6px; }
body.admin .chip { padding: 4px 10px; border-width: 1px; border-radius: 8px; font-size: .85rem; gap: 4px; }
body.admin .chips { gap: 5px; }
body.admin input, body.admin select, body.admin textarea {
  padding: 5px 9px; border-width: 1px; border-radius: 7px; font-size: .9rem;
}
body.admin input:focus, body.admin select:focus, body.admin textarea:focus { box-shadow: 0 0 0 2px var(--primary-soft); }
body.admin .icon { padding: 3px 7px; border-radius: 7px; font-size: 1rem; }

/* ----- tabulky a seznamy: hustší řádky ----- */
body.admin th, body.admin td { padding: 5px 6px; font-size: .88rem; }
body.admin th { font-size: .78rem; text-transform: uppercase; letter-spacing: .02em; }
body.admin tbody tr:hover { background: var(--primary-soft); }
body.admin .word-list li { padding: 3px 0; }

/* ----- okna (modal) ----- */
body.admin .modal-head { margin-bottom: 8px; }
body.admin .modal .card, body.admin .dialog-card { border-radius: var(--radius); }

/* ----- chyby: hustší řádky ----- */
body.admin .error-row { padding: 7px 10px; gap: 2px; border-radius: 8px; }

/* ----- bez dětských ozdob ----- */
body.admin .doodle, body.admin .doodles, body.admin .bday-flyby { display: none !important; }
