/* Sdílené styly veřejné stránky (index.html) a administrace (admin.html) */
:root { --bg:#fafaf7; --fg:#1d1d1b; --muted:#6b6b66; --line:#e3e2dc; --accent:#9a4b1c; --row:#fff;
        --ok:#2f7d32; --warn:#b26a00; --bad:#a3262a; }
* { box-sizing: border-box; }
body { margin:0; font:14px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; background:var(--bg); color:var(--fg); }
header { padding:20px 24px 8px; }
h1 { margin:0; font-size:22px; } h1 span { color:var(--accent); }
.sub { color:var(--muted); margin-top:2px; }
form { display:flex; flex-wrap:wrap; gap:10px 14px; padding:12px 24px; border-bottom:1px solid var(--line); align-items:end; }
label { display:flex; flex-direction:column; gap:3px; font-size:12px; color:var(--muted); }
label.check { flex-direction:row; align-items:center; gap:6px; font-size:13px; color:var(--fg); padding-bottom:6px; }
input, select { font:inherit; padding:5px 8px; border:1px solid var(--line); border-radius:6px; background:#fff; min-width:0; }
input[type=search] { width:240px; } input[type=number] { width:110px; }
button { font:inherit; padding:6px 12px; border:1px solid var(--line); border-radius:6px; background:#fff; cursor:pointer; }
.wrap { padding:0 24px 32px; overflow-x:auto; }
.meta { padding:10px 24px; color:var(--muted); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
table { width:100%; border-collapse:collapse; background:var(--row); border:1px solid var(--line); }
th, td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
th { font-size:12px; font-weight:600; color:var(--muted); background:#f3f2ec; white-space:nowrap; user-select:none; }
th[data-sort] { cursor:pointer; } th[data-sort]:hover { color:var(--fg); }
th.active { color:var(--accent); }
td.num { text-align:right; white-space:nowrap; } td.nowrap { white-space:nowrap; }
td.termin { min-width:120px; max-width:220px; } .date { white-space:nowrap; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
.title { font-weight:600; } .small { font-size:12px; color:var(--muted); }
.pill { display:inline-block; padding:1px 8px; border-radius:99px; font-size:12px; border:1px solid currentColor; white-space:nowrap; }
.open { color:var(--ok); } .few_left { color:var(--warn); } .full, .cancelled { color:var(--bad); }
.waitlist { color:var(--warn); } .unknown { color:var(--muted); }
.pager { display:flex; gap:8px; align-items:center; }
.empty { padding:40px; text-align:center; color:var(--muted); }
nav { display:flex; gap:4px; padding:12px 24px 0; border-bottom:1px solid var(--line); }
nav a { padding:8px 14px; border:1px solid transparent; border-bottom:none; border-radius:6px 6px 0 0;
        color:var(--muted); margin-bottom:-1px; }
nav a:hover { text-decoration:none; color:var(--fg); }
nav a.active { background:var(--bg); border-color:var(--line); color:var(--fg); font-weight:600; }
nav .n { font-size:12px; color:var(--muted); font-weight:400; }
[hidden] { display:none !important; }
th[data-key] { cursor:pointer; } th[data-key]:hover { color:var(--fg); }
.upcoming, .new { color:var(--ok); } .ongoing { color:var(--accent); } .past, .crawled { color:var(--muted); }
.rejected, .error { color:var(--bad); }
.wrapcell { min-width:200px; max-width:320px; }
  .admin-badge { font-size:12px; font-weight:600; color:#fff; background:var(--accent); padding:2px 8px;
    border-radius:99px; vertical-align:middle; }

/* --- Podstránka kurzu (/kurz/{id}-{slug}) ------------------------------------------------ */
.logo a { color:inherit; } .logo a:hover { text-decoration:none; }
main.course { max-width:1080px; padding:8px 24px 48px; }
.crumbs { font-size:13px; color:var(--muted); margin:8px 0 14px; }
.course-title { font-size:30px; line-height:1.2; margin:0 0 8px; }
.lead { font-size:17px; margin:0 0 10px; max-width:760px; }
.tags span { display:inline-block; margin:0 4px 4px 0; padding:2px 10px; border-radius:99px; background:#efece3;
  font-size:12px; }
.facts { display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:10px; margin:18px 0;
  padding:0; }
.facts > div { background:var(--row); border:1px solid var(--line); border-radius:10px; padding:10px 14px; }
.facts dt { font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.facts dd { margin:2px 0 0; font-weight:600; font-size:15px; }
.facts dd small { display:block; font-weight:400; color:var(--muted); font-size:13px; }
.actions { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 24px; }
.button { display:inline-block; padding:9px 16px; border-radius:8px; border:1px solid var(--accent); color:var(--accent);
  font-weight:600; background:#fff; }
.button.primary { background:var(--accent); color:#fff; }
.button:hover { text-decoration:none; filter:brightness(.95); }
.course-grid { display:grid; grid-template-columns:minmax(0, 1fr) 300px; gap:28px; align-items:start; }
.course-main section { margin-bottom:26px; }
.course h3 { font-size:16px; margin:0 0 8px; } .course h4 { font-size:13px; margin:12px 0 4px; color:var(--muted); }
.course p { margin:0 0 8px; }
ul.plain { list-style:none; padding:0; margin:0; } ul.plain li { margin:0 0 6px; }
table.sessions small, .course small { color:var(--muted); font-size:12px; }
.muted { color:var(--muted); }
.history { margin-top:12px; } .history summary { cursor:pointer; color:var(--muted); margin-bottom:8px; }
.box { background:var(--row); border:1px solid var(--line); border-radius:10px; padding:14px 16px; margin-bottom:16px; }
footer.source { margin-top:30px; padding-top:14px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
@media (max-width: 760px) {
  .course-grid { grid-template-columns:1fr; }
  .facts { grid-template-columns:1fr 1fr; gap:8px; } .facts > div { padding:8px 10px; }
  .course-title { font-size:24px; }
  main.course { padding:8px 16px 40px; }
  table.sessions th:nth-child(2), table.sessions td:nth-child(2) { display:none; }
}
