/* ============ Pecka harmonogram — UI ============ */

/* Paleta */
:root{
  --bg:#FFFFFF;
  --panel:#FFFFFF;
  --muted:#666666;
  --text:#000000;
  --line:#E6E6E6;
  --accent:#FCC11E;
  --accent-2:#5E2281;
  --radius:12px;
  --shadow:none;
}

/* Reset + základ */
*{ box-sizing:border-box }
html,body{ height:100% }
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:'TheMix C5','Open Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  -webkit-text-size-adjust:100%;
}
a, a:visited{ color:var(--accent-2); text-decoration:none }
a:hover{ text-decoration:underline }

/* Layout */
.container{ max-width:1100px; margin:0 auto; padding:24px }
.page-wrap{ max-width:1100px; margin:0 auto; padding:16px 16px 24px }
.stack{ display:grid; gap:16px }
.row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center }
.kv{ display:grid; grid-template-columns:120px 1fr; gap:6px 16px }

/* Fialové pozadí stránek */
.page-purple{
  --bg:#5E2281; --text:#FFFFFF; --muted:#F0E6F7; --line:#5E2281;
}
body.page-purple{ background:var(--bg); color:var(--text) }
.page-purple a,.page-purple a:visited{ color:#FFFFFF; text-decoration:none }
.page-purple a:hover{ text-decoration:underline }
.page-purple .card a,.page-purple .card a:visited{ color:#5E2281 }
.page-purple .card a:hover{ text-decoration:underline }

/* Karty */
.card{
  --panel:#FFFFFF; --text:#000000; --muted:#666666; --line:#E6E6E6;
  background:var(--panel); color:var(--text);
  border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow);
  padding:16px;
}

/* Hlavičky */
h1{ font-family:'Skaut Bold','Open Sans',system-ui,sans-serif; font-weight:700; margin:0 0 12px; font-size:28px }
h2{ margin:16px 0 8px; font-size:18px; color:var(--muted) }

/* Toolbar */
.toolbar{
  display:flex; gap:8px; flex-wrap:wrap; align-items:center; justify-content:space-between;
}
.notice{ color:var(--muted); font-size:14px }

/* Tabulky */
table{ width:100%; border-collapse:collapse; table-layout:fixed }
th,td{ padding:10px; border-bottom:1px solid var(--line); vertical-align:top }
th{ text-align:left; color:var(--muted); font-weight:600 }
tr.clickable:hover td{ background:#F7F7FA }

/* Form prvky + tlačítka */
input,select,button,textarea{
  border-radius:10px; border:1px solid var(--line);
  background:#FFFFFF; color:#000000; padding:10px 12px; font:inherit;
  font-family:inherit;
}
button{ cursor:pointer; font-weight:700 }
button.primary{ background:var(--accent); border:0; color:#000 }
button.ghost{
  background:transparent; border:2px dashed var(--accent-2);
  color:var(--accent-2); font-weight:800;
}
button.ghost.danger{ border-color:#B3261E; color:#B3261E }

/* Chip */
.chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px;
  background:transparent; color:var(--accent-2);
  border:2px dashed var(--accent-2); font-weight:800; text-decoration:none; white-space:nowrap;
  cursor:pointer;
}
.chip:hover{ opacity:.92; text-decoration:none }
.chip:focus{ outline:3px solid #FCC11E55; outline-offset:2px }
.chip.danger{ border-color:#B3261E; color:#B3261E }

/* Sticky hlavička */
.sticky-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:10px 16px; border-bottom:1px solid var(--line);
  background:var(--panel);
}
.sticky-head h1{ font-family:'Skaut Bold','Open Sans',system-ui,sans-serif; font-size:18px; margin:0; color:#000 }
.links-bar{ display:flex; gap:10px; flex-wrap:nowrap; overflow-x:auto; margin-left:auto }
.controls-card{ position:sticky; top:0; z-index:100; border-radius:12px }

/* Swatche */
.cat{ display:inline-flex; align-items:center; gap:6px }
.cat .swatch{ inline-size:10px; block-size:10px; border-radius:3px; border:1px solid rgba(0,0,0,.2) }

/* Err box */
.err-box{ background:#FFF3F3; border:1px solid #F5C2C2; border-radius:10px; padding:10px 14px; color:#B3261E; font-size:14px }

/* Časová osa */
.day{ padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#FFF }
.day h2{ margin:0 0 10px; font-size:18px; color:#666 }
.day-timeline{ position:relative; border:1px solid var(--line); border-radius:12px; background:#FFF; padding:12px }
.lane-wrap{ position:relative }
.cluster{ position:absolute; left:0; right:0; pointer-events:none }
.event{
  position:absolute; padding:10px;
  border:2px solid var(--line); border-radius:12px; background:#FFFFFF;
  display:flex; flex-direction:column; gap:4px;
  box-sizing:border-box; overflow:hidden; pointer-events:auto;
}
.event .time{ font-weight:900; margin-bottom:2px; font-size:12px }
.event .title{ font-weight:900 }
.event.selected{ outline:3px solid #FCC11E99 }
.event.is-now{ outline:3px solid var(--now-color,#FCC11E); outline-offset:1px; z-index:10 }
.event.is-now::before{
  content:"▶ PRÁVĚ TEĎ"; display:block; font-size:10px; font-weight:900;
  color:var(--now-color,#FCC11E); letter-spacing:.05em; margin-bottom:2px;
}
.time-scale{ position:absolute; left:-52px; top:0; bottom:0; width:44px; color:#888; font-size:12px }
.time-scale div{ position:absolute; transform:translateY(-50%); white-space:nowrap }

kbd{ padding:2px 6px; border:1px solid var(--line); border-radius:6px; background:#F7F7FA; font-size:12px; color:#666 }
hr{ border:0; border-top:1px solid var(--line); margin:16px 0 }
footer,.footer,.site-footer,#footer{ display:none !important }

/* Tisk */
@media print{
  html,body{ background:#FFFFFF !important; color:#000000 !important }
  .no-print,.toolbar,.sticky-head,.links-bar{ display:none !important }
  a,a:visited{ color:#000000; text-decoration:none }
  .card{ border:0; padding:0 }
  .day{ border:0; padding:0; background:#FFF }
  .day-timeline{ border:0; padding:0 }
  .event{ break-inside:avoid; page-break-inside:avoid }
  footer,.footer,.site-footer,#footer{ display:none !important }
}

@media(max-width:900px){
  .time-scale{ display:none }
  .container{ padding:12px }
}

/* "Kdo jsi?" modal */
.who-modal-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.55);
  display:flex; align-items:center; justify-content:center; z-index:1000; padding:16px;
}
.who-modal{ max-width:480px; width:100%; }
.who-modal-list{ display:flex; flex-wrap:wrap; gap:4px }

/* Osoby-picker (výběr odpovědných na blok) */
.people-picker{ display:flex; flex-wrap:wrap; gap:6px 14px; padding:8px 0 }
.people-picker-item{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; cursor:pointer }
.people-picker-item input{ width:auto; padding:0 }

/* Dlaždice modulů (term.html) / akcí */
.tile-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px }
.tile{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  padding:24px 12px; border-radius:12px; border:2px solid var(--line); background:#FFF;
  color:#000; text-decoration:none; font-weight:800; text-align:center;
}
.tile:hover{ border-color:var(--accent-2); text-decoration:none }
.tile .tile-icon{ font-size:28px }
