/* SKST Turnaje: shared styles for public pages, TV board and admin screens.
   Everything is scoped under .skst / .skst-* so any theme can host it. */

.skst, .skst-wrap {
	--skst-accent: #1d4ed8;
	--skst-accent-soft: #e8efff;
	--skst-ok: #15803d;
	--skst-ok-soft: #e7f6ec;
	--skst-warn: #b45309;
	--skst-warn-soft: #fff4e0;
	--skst-bad: #b91c1c;
	--skst-bad-soft: #fde8e8;
	--skst-line: #e3e6eb;
	--skst-muted: #6b7280;
	--skst-card: #fff;
	--skst-radius: 10px;
	line-height: 1.45;
}

.skst *, .skst-wrap * { box-sizing: border-box; }
.skst-muted { color: var(--skst-muted); font-weight: normal; }
.skst-left { text-align: left !important; }
.skst-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.skst-rating { display: inline-block; min-width: 2.2em; padding: 0 .35em; border-radius: 4px; background: #f1f3f6; color: #374151; font-size: .85em; text-align: center; }

/* Badges -------------------------------------------------------------------- */
.skst-badge { display: inline-block; padding: .1em .55em; border-radius: 999px; background: #eef0f3; color: #374151; font-size: .8em; font-weight: 600; white-space: nowrap; vertical-align: middle; }
.skst-badge--ok, .skst-badge--registration_open { background: var(--skst-ok-soft); color: var(--skst-ok); }
.skst-badge--groups_live, .skst-badge--playoff_live, .skst-badge--draw_preview { background: var(--skst-accent-soft); color: var(--skst-accent); }
.skst-badge--completed { background: #f3f4f6; color: #111827; }
.skst-badge--registration_closed { background: var(--skst-warn-soft); color: var(--skst-warn); }

/* Buttons (public) ---------------------------------------------------------- */
.skst-button { display: inline-block; padding: .75em 1.4em; border: 0; border-radius: var(--skst-radius); background: var(--skst-accent); color: #fff !important; font-size: 1rem; font-weight: 700; text-decoration: none !important; cursor: pointer; }
.skst-button:hover { filter: brightness(1.08); }
.skst-button--ghost { background: transparent; color: var(--skst-accent) !important; box-shadow: inset 0 0 0 2px var(--skst-accent); }
.skst-button--danger { background: var(--skst-bad); }

/* Public: list, header, nav --------------------------------------------------- */
.skst-tlist { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin: 1rem 0 2rem; }
.skst-tile { display: flex; flex-direction: column; gap: .3rem; padding: 1.1rem 1.2rem; border: 1px solid var(--skst-line); border-radius: var(--skst-radius); background: var(--skst-card); color: inherit !important; text-decoration: none !important; transition: box-shadow .15s, transform .15s; }
.skst-tile:hover { box-shadow: 0 6px 20px rgba(0,0,0,.08); transform: translateY(-1px); }
.skst-tile__date { color: var(--skst-muted); font-size: .9em; text-transform: capitalize; }
.skst-tile__title { font-size: 1.2em; }
.skst-tile__spots { font-weight: 600; color: var(--skst-ok); }
.skst-tile__cta { margin-top: .4rem; color: var(--skst-accent); font-weight: 700; }
.skst-past { padding-left: 1.2em; }

.skst-header { margin-bottom: .8rem; }
.skst-header__title { margin: 0 0 .3rem; }
.skst-header__facts { margin: 0 0 .4rem; color: var(--skst-muted); }
.skst-header__facts::first-letter { text-transform: uppercase; }
.skst-header__state { margin: 0; }

.skst-nav { display: flex; gap: .3rem; flex-wrap: wrap; margin: 1rem 0 1.2rem; border-bottom: 2px solid var(--skst-line); }
.skst-nav a { padding: .55em .9em; border-radius: 8px 8px 0 0; color: inherit; text-decoration: none; font-weight: 600; margin-bottom: -2px; border-bottom: 2px solid transparent; }
.skst-nav a.is-active { color: var(--skst-accent); border-bottom-color: var(--skst-accent); }

.skst-msg { padding: .8em 1em; border-radius: var(--skst-radius); background: #f3f4f6; margin: 1rem 0; }
.skst-msg.is-ok { background: var(--skst-ok-soft); color: #14532d; }
.skst-msg.is-error { background: var(--skst-bad-soft); color: #7f1d1d; }

.skst-rules { margin: 1rem 0; padding: .6em 1em; border: 1px solid var(--skst-line); border-radius: var(--skst-radius); }
.skst-rules summary { cursor: pointer; font-weight: 600; }

/* Sign-up form ---------------------------------------------------------------- */
.skst-signup { max-width: 640px; margin: 1.5rem 0; padding: 1.2rem; border: 1px solid var(--skst-line); border-radius: var(--skst-radius); background: var(--skst-card); }
.skst-signup h3 { margin-top: 0; }
.skst-grid { display: grid; gap: .8rem 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.skst-signup label { display: flex; flex-direction: column; gap: .25rem; font-weight: 600; font-size: .95em; }
.skst-signup input, .skst-signup select { width: 100%; padding: .65em .7em; border: 1px solid #cfd4dc; border-radius: 8px; font-size: 1rem; font-weight: normal; background: #fff; }
.skst-signup .skst-check { flex-direction: row; align-items: flex-start; gap: .5rem; margin: 1rem 0; font-weight: normal; }
.skst-signup .skst-check input { width: auto; margin-top: .25em; }
.skst-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.skst-people { padding-left: 1.6em; }
.skst-people li { padding: .25em 0; border-bottom: 1px dashed var(--skst-line); }
.skst-people.is-waitlist { color: #4b5563; }

/* Tables ------------------------------------------------------------------------ */
.skst-table { width: 100%; border-collapse: collapse; background: var(--skst-card); font-size: .95em; }
.skst-table th, .skst-table td { padding: .45em .5em; border-bottom: 1px solid var(--skst-line); text-align: center; }
.skst-table th { background: #f7f8fa; font-weight: 600; font-size: .9em; }
.skst-table--group td.skst-x { background: #eef0f3; }
.skst-table--results tr.is-medal-1 td:first-child { color: #a16207; }
.skst-table--results tr.is-medal-2 td:first-child { color: #6b7280; }
.skst-table--results tr.is-medal-3 td:first-child { color: #9a3412; }

/* Groups ------------------------------------------------------------------------- */
.skst-groups { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); }
.skst-group { padding: .9rem; border: 1px solid var(--skst-line); border-radius: var(--skst-radius); background: var(--skst-card); }
.skst-group h3 { margin: 0 0 .6rem; }
.skst-matches { margin-top: .7rem; }
.skst-matches summary { cursor: pointer; color: var(--skst-accent); font-weight: 600; }

/* Match cards ---------------------------------------------------------------------- */
.skst-cards { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); margin-top: .6rem; }
.skst-card { padding: .5rem .65rem; border: 1px solid var(--skst-line); border-left: 4px solid #cbd2db; border-radius: 8px; background: var(--skst-card); font-size: .93em; }
.skst-card--ready { border-left-color: var(--skst-accent); }
.skst-card--playing { border-left-color: var(--skst-warn); background: #fffaf0; }
.skst-card--done { border-left-color: var(--skst-ok); }
.skst-card__head { display: flex; gap: .5rem; align-items: baseline; margin-bottom: .25rem; color: var(--skst-muted); font-size: .82em; }
.skst-card__head span:nth-child(2) { flex: 1; }
.skst-card__row { display: flex; justify-content: space-between; gap: .5rem; padding: .12rem 0; }
.skst-card__row.is-winner { font-weight: 700; }
.skst-card__sets { min-width: 1.4em; text-align: right; font-variant-numeric: tabular-nums; }
.skst-card__points, .skst-card__places { margin-top: .2rem; color: var(--skst-muted); font-size: .82em; }
.skst-live { padding: 0 .45em; border-radius: 4px; background: var(--skst-warn); color: #fff; font-weight: 700; }

/* Brackets ------------------------------------------------------------------------- */
.skst-bracket { margin: 1.5rem 0 2.5rem; }
.skst-bracket h2 small { font-size: .6em; }
.skst-rounds { display: flex; gap: 1rem; overflow-x: auto; padding-bottom: .6rem; -webkit-overflow-scrolling: touch; }
.skst-round { flex: 0 0 240px; display: flex; flex-direction: column; gap: .5rem; }
.skst-round h4 { margin: 0; color: var(--skst-muted); text-transform: uppercase; font-size: .78em; letter-spacing: .04em; }
.skst-round__cards { flex: 1; display: flex; flex-direction: column; justify-content: space-around; gap: .6rem; }
.skst-round .skst-card__head span:nth-child(2) { visibility: hidden; }
.skst-placement { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.skst-placement__block h4 { margin: 0; }

/* Tables board ------------------------------------------------------------------- */
.skst-board { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); margin: 1rem 0; }
.skst-table-card { padding: .6rem; border-radius: var(--skst-radius); border: 2px solid var(--skst-line); background: var(--skst-card); }
.skst-table-card.is-busy { border-color: #f5c27a; }
.skst-table-card.is-free { border-style: dashed; }
.skst-table-card__no { font-weight: 800; font-size: 1.1em; margin-bottom: .3rem; }
.skst-table-card__free { color: var(--skst-ok); font-weight: 600; margin-bottom: .4rem; }
.skst-queue { padding-left: 0; list-style: none; }
.skst-queue li { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; padding: .45em .3em; border-bottom: 1px solid var(--skst-line); }
.skst-queue li.is-waiting { opacity: .65; }
.skst-queue__no { font-weight: 700; min-width: 3.5em; }
.skst-queue__label { color: var(--skst-muted); font-size: .88em; }
.skst-recent { list-style: none; padding: 0; }
.skst-recent li { padding: .3em 0; border-bottom: 1px dashed var(--skst-line); }
.skst-score { display: inline-block; padding: 0 .4em; border-radius: 4px; background: #f1f3f6; font-weight: 700; font-variant-numeric: tabular-nums; }

/* TV ------------------------------------------------------------------------------- */
body.skst-tv { margin: 0; padding: 1.2rem 1.6rem; background: #0f172a; color: #e5e7eb; font: 18px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif; }
.skst-tv .skst { --skst-card: #111c33; --skst-line: #24324f; --skst-muted: #94a3b8; }
.skst-tv__head { display: flex; align-items: baseline; gap: 1rem; margin-bottom: 1rem; }
.skst-tv__head h1 { margin: 0; font-size: 1.8rem; color: #fff; }
.skst-tv__clock { margin-left: auto; font-size: 2rem; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; }
.skst-tv__body { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 1200px) { .skst-tv__body { grid-template-columns: 3fr 1fr; } }
.skst-tv .skst-table-card { background: #111c33; }
.skst-tv .skst-card { background: #16233f; color: #e5e7eb; }
.skst-tv .skst-card--playing { background: #2a2414; }
.skst-tv .skst-table, .skst-tv .skst-table th { background: #111c33; color: #e5e7eb; }
.skst-tv .skst-score, .skst-tv .skst-rating { background: #24324f; color: #fff; }
.skst-tv .skst-board { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
