/* ────────────────────────────────────────────────────────────────
   Personix — polling.css

   Paper-aesthetic styl pro veřejné hlasovací stránky (/poll, /video)
   a operátorský dashboard (/videos). Sdílí vizuální jazyk s review.css
   (stejná paleta a typografie), ale je samostatný — hlasovací stránky
   si původně půjčovaly utilitární .stats třídy ze Stats.razor.css,
   jenže ten styl je scoped jen na dashboard a sem se nepropsal.

   Vše je scoped pod .poll-page (wrapper na root <article>), aby se
   tenhle styl nepral s utilitárním Stats dashboardem, který stejné
   .stats__* třídy používá bez .poll-page.
   ──────────────────────────────────────────────────────────────── */

.poll-page {
    /* paleta převzatá z review.css */
    --paper:        #f6e7c5;
    --paper-inset:  #efdcb4;
    --paper-shade:  #e9d6a8;
    --ink:          #2b211b;
    --ink-soft:     #5b4d44;
    --ink-faded:    #6e5e54;
    --rule:         #b8a890;
    --rule-quiet:   #d6c4a3;
    --accent-warm:  #c56a3a;
    --accent-warm-d:#b56a1d;
    --accent-green: #4e7a3a;
    --accent-clay:  #b64a3a;

    --font-serif: "Palatino", "Palatino Linotype", "Book Antiqua", Georgia, serif;
    --font-title: "IM Fell English", "Palatino", "Palatino Linotype", Georgia, serif;
    --font-sans:  -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;

    width: min(720px, 92%);
    margin: 0 auto;
    padding: 32px 0 64px;
    color: var(--ink);
    font-family: var(--font-serif);
    font-size: 17px;
    line-height: 1.6;
}

/* ── hlavička ─────────────────────────────────────────────────── */
.poll-page .stats__head {
    border-bottom: 1px solid var(--rule);
    padding-bottom: 1rem;
    margin-bottom: 1.6rem;
}

.poll-page .stats__title {
    font-family: var(--font-title);
    font-size: 1.9rem;
    font-weight: 400;
    line-height: 1.25;
    margin: 0 0 0.4rem;
    color: var(--ink);
}

.poll-page .stats__lead {
    font-size: 1.08rem;
    margin: 0.4rem 0;
    color: var(--ink-soft);
}

.poll-page .stats__section {
    margin-top: 2rem;
}

.poll-page .stats__section-title {
    font-family: var(--font-title);
    font-size: 1.25rem;
    font-weight: 400;
    margin: 0 0 0.9rem;
    color: var(--ink);
}

.poll-page .stats__section-title a {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid var(--rule-quiet);
}
.poll-page .stats__section-title a:hover { border-bottom-color: var(--accent-warm); }

/* ── seznam pollingů (na /video) ──────────────────────────────── */
.poll-page ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.poll-page ul li {
    background: var(--paper-inset);
    border: 1px solid var(--rule-quiet);
    border-radius: 7px;
    padding: 0.85rem 1.05rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.poll-page ul li:hover {
    border-color: var(--accent-warm);
    box-shadow: 0 1px 4px rgba(43, 33, 27, 0.1);
}

.poll-page ul li a {
    color: var(--ink);
    text-decoration: none;
    font-size: 1.06rem;
    flex: 1;
}
.poll-page ul li a:hover { color: var(--accent-warm-d); }

/* ── hlasovací formulář ───────────────────────────────────────── */
.poll-page .stats__new-form {
    margin: 0;
}

.poll-page fieldset {
    border: none;
    margin: 0;
    padding: 0;
}

.poll-page legend.stats__section-title {
    padding: 0;
    margin-bottom: 1rem;
}

.poll-page label.stats__field {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    background: var(--paper-inset);
    border: 1px solid var(--rule-quiet);
    border-radius: 7px;
    padding: 0.8rem 1rem;
    margin-bottom: 0.6rem;
    cursor: pointer;
    font-size: 1.06rem;
    transition: border-color 0.15s, background 0.15s;
}

.poll-page label.stats__field:hover {
    border-color: var(--accent-warm);
    background: var(--paper-shade);
}

.poll-page label.stats__field input[type="radio"] {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: var(--accent-warm);
    flex-shrink: 0;
}

.poll-page label.stats__field:has(input:checked) {
    border-color: var(--accent-warm);
    background: var(--paper-shade);
    box-shadow: inset 0 0 0 1px var(--accent-warm);
}

.poll-page .stats__submit {
    margin-top: 1rem;
    padding: 0.65rem 1.6rem;
    border: 1px solid var(--accent-warm-d);
    background: var(--accent-warm);
    color: #fff;
    font-family: var(--font-sans);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s;
}
.poll-page .stats__submit:hover { background: var(--accent-warm-d); }

/* ── poznámka o cookie ────────────────────────────────────────── */
.poll-page .stats__note {
    margin-top: 1.4rem;
    color: var(--ink-faded);
    font-size: 0.9rem;
    font-style: italic;
}

/* ── výsledky / tabulka ───────────────────────────────────────── */
.poll-page .stats__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1rem;
    background: var(--paper-inset);
    border: 1px solid var(--rule-quiet);
    border-radius: 7px;
    overflow: hidden;
}

.poll-page .stats__table thead th {
    text-align: left;
    background: var(--paper-shade);
    border-bottom: 1px solid var(--rule);
    padding: 0.6rem 0.85rem;
    font-family: var(--font-sans);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--ink-soft);
    white-space: nowrap;
}

.poll-page .stats__table tbody td {
    border-bottom: 1px solid var(--rule-quiet);
    padding: 0.6rem 0.85rem;
}
.poll-page .stats__table tbody tr:last-child td { border-bottom: none; }

.poll-page .stats__num {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.poll-page .stats__meta {
    color: var(--ink-faded);
    font-size: 0.95rem;
    margin-top: 0.7rem;
}

/* ── odkaz na YouTube (na /video) ─────────────────────────────── */
.poll-page a.stats__action-btn {
    display: inline-block;
    padding: 0.45rem 1rem;
    border: 1px solid var(--accent-warm-d);
    border-radius: 6px;
    color: var(--accent-warm-d);
    text-decoration: none;
    font-family: var(--font-sans);
    font-size: 0.92rem;
    font-weight: 600;
    transition: background 0.15s, color 0.15s;
}
.poll-page a.stats__action-btn:hover {
    background: var(--accent-warm);
    color: #fff;
}

/* ── badge otevřeno / zavřeno ─────────────────────────────────── */
.poll-page .stats__badge {
    display: inline-block;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    font-family: var(--font-sans);
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}
.poll-page .stats__badge--ok {
    background: #dcebcf;
    color: #38561f;
    border: 1px solid #a9c98c;
}
.poll-page .stats__badge--pending {
    background: var(--paper-shade);
    color: var(--ink-faded);
    border: 1px solid var(--rule-quiet);
}

/* ── operátorské akce (otevřít / ukončit) ─────────────────────── */
.poll-page .stats__actions { display: flex; gap: 0.4rem; align-items: center; }
.poll-page .stats__actions form { margin: 0; }

.poll-page .stats__action-btn--restore {
    padding: 0.35rem 0.85rem;
    border: 1px solid #a9c98c;
    border-radius: 6px;
    background: #eaf3df;
    color: #38561f;
    font-family: var(--font-sans);
    font-size: 0.86rem;
    font-weight: 600;
    cursor: pointer;
}
.poll-page .stats__action-btn--restore:hover { background: #dcebcf; }

.poll-page .stats__action-btn--revoke {
    padding: 0.35rem 0.85rem;
    border: 1px solid #d8a88f;
    border-radius: 6px;
    background: #f3e2d6;
    color: var(--accent-clay);
    font-family: var(--font-sans);
    font-size: 0.86rem;
    font-weight: 600;
    cursor: pointer;
}
.poll-page .stats__action-btn--revoke:hover { background: #ecceba; }

/* na dashboardu řádky tabulky lehce odliší stav */
.poll-page .stats__row--pending td { color: var(--ink-faded); }

/* stavová hlášení (uzavřeno / už jsi hlasoval) */
.poll-page .stats__lead + .stats__section { margin-top: 1.4rem; }
