

/* ========================================
   VISIBILIDADE ADMIN — FIX
   O atributo hidden precisa prevalecer
   sobre os displays definidos abaixo.
======================================== */

.turn-admin-loading[hidden],
.turn-admin-denied[hidden],
#turnAdminContent[hidden],
.turn-admin-message[hidden],
.turn-admin-test-result[hidden] {
    display: none !important;
}
:root {
    --turn-ink: #071b21;
    --turn-ink-soft: #102b34;
    --turn-cream: #f1ddc2;
    --turn-sand: #dfa06c;
    --turn-rust: #b44724;
    --turn-line: rgba(241, 221, 194, .14);
}

.turn-ranking-body,
.turn-admin-body {
    margin: 0;
    min-height: 100vh;
    background: var(--turn-ink);
    color: var(--turn-cream);
}

.turn-ranking-header {
    min-height: 78px;
    padding: 0 clamp(20px, 5vw, 72px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid var(--turn-line);
    background: rgba(7, 27, 33, .96);
}

.turn-ranking-brand {
    display: flex;
    align-items: baseline;
    gap: 7px;
    color: var(--turn-cream);
    text-decoration: none;
}

.turn-ranking-brand small {
    color: var(--turn-sand);
    font-family: Arial, sans-serif;
    font-size: 7px;
    letter-spacing: 2px;
}

.turn-ranking-brand strong {
    font-size: 19px;
    font-weight: normal;
}

.turn-ranking-header nav {
    display: flex;
    align-items: center;
    gap: 22px;
}

.turn-ranking-header nav a {
    color: rgba(241, 221, 194, .56);
    font-family: Arial, sans-serif;
    font-size: 8px;
    text-decoration: none;
}

.turn-ranking-header nav a.active,
.turn-ranking-header nav a:hover {
    color: var(--turn-sand);
}

.turn-ranking-page,
.turn-admin-page {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
    padding: 66px 0 100px;
}

.turn-ranking-hero,
.turn-admin-hero {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 48px;
    align-items: end;
    padding-bottom: 42px;
    border-bottom: 1px solid var(--turn-line);
}

.turn-ranking-hero > div > span,
.turn-admin-hero > div > span,
.turn-ranking-section-heading span,
.turn-admin-card-heading span,
.turn-admin-field > span,
.turn-admin-form-grid label > span {
    color: var(--turn-sand);
    font-family: Arial, sans-serif;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: 2.5px;
}

.turn-ranking-hero h1,
.turn-admin-hero h1 {
    margin: 12px 0 0;
    color: var(--turn-cream);
    font-size: clamp(58px, 9vw, 108px);
    font-weight: normal;
    line-height: .88;
}

.turn-ranking-hero > div > p,
.turn-admin-hero > div > p {
    max-width: 580px;
    margin: 20px 0 0;
    color: rgba(241, 221, 194, .52);
    font-family: Arial, sans-serif;
    font-size: 10px;
    line-height: 1.8;
}

.turn-ranking-hero aside,
.turn-admin-hero aside {
    min-width: 250px;
    padding: 22px;
    border: 1px solid rgba(223, 160, 108, .25);
}

.turn-ranking-hero aside span,
.turn-admin-hero aside span {
    color: var(--turn-sand);
    font-family: Arial, sans-serif;
    font-size: 7px;
    letter-spacing: 2px;
}

.turn-ranking-hero aside strong,
.turn-admin-hero aside strong {
    display: block;
    margin-top: 12px;
    color: var(--turn-cream);
    font-size: 30px;
    font-weight: normal;
}

.turn-ranking-hero aside p,
.turn-admin-hero aside p {
    margin: 8px 0 0;
    color: rgba(241, 221, 194, .45);
    font-family: Arial, sans-serif;
    font-size: 8px;
}

.turn-ranking-message,
.turn-admin-message {
    margin-top: 24px;
    padding: 15px 17px;
    border: 1px solid rgba(223, 160, 108, .3);
    color: var(--turn-cream);
    font-family: Arial, sans-serif;
    font-size: 9px;
    line-height: 1.6;
}

.turn-ranking-message.error,
.turn-admin-message.error { border-color: rgba(213, 82, 64, .7); }
.turn-ranking-message.setup { background: rgba(223, 160, 108, .06); }
.turn-admin-message.success { background: rgba(180, 71, 36, .1); }

.turn-ranking-top {
    margin-top: 38px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.turn-ranking-podium-card {
    min-height: 280px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border: 1px solid var(--turn-line);
    background: rgba(16, 43, 52, .45);
}

.turn-ranking-podium-card.position-1 {
    min-height: 340px;
    border-color: rgba(223, 160, 108, .42);
    background: rgba(180, 71, 36, .1);
}

.turn-ranking-position { color: var(--turn-sand); font-size: 58px; line-height: 1; }
.turn-ranking-podium-card small { margin-top: 20px; color: rgba(241, 221, 194, .44); font-family: Arial, sans-serif; font-size: 7px; letter-spacing: 2px; }
.turn-ranking-podium-card h2 { margin: 7px 0 0; color: var(--turn-cream); font-size: 28px; font-weight: normal; }
.turn-ranking-podium-card p { margin: 5px 0 0; color: var(--turn-sand); font-family: Arial, sans-serif; font-size: 8px; letter-spacing: 1.5px; }
.turn-ranking-podium-card > strong { margin-top: 24px; color: var(--turn-cream); font-size: 40px; font-weight: normal; }
.turn-ranking-podium-card > strong span { margin-left: 7px; color: rgba(241, 221, 194, .42); font-family: Arial, sans-serif; font-size: 7px; letter-spacing: 1.4px; }

.turn-ranking-list-section,
.turn-ranking-history { margin-top: 60px; }

.turn-ranking-section-heading,
.turn-admin-card-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 18px;
}

.turn-ranking-section-heading h2,
.turn-admin-card-heading h2 { margin: 6px 0 0; color: var(--turn-cream); font-size: 31px; font-weight: normal; }
.turn-ranking-section-heading button { min-height: 42px; padding: 0 14px; border: 1px solid rgba(223, 160, 108, .28); background: transparent; color: var(--turn-cream); font-family: Arial, sans-serif; font-size: 7px; cursor: pointer; }

.turn-ranking-table { border: 1px solid var(--turn-line); }
.turn-ranking-table-head,
.turn-ranking-row { display: grid; grid-template-columns: 60px minmax(180px, 1fr) 140px 100px 100px; align-items: center; }
.turn-ranking-table-head { min-height: 44px; border-bottom: 1px solid var(--turn-line); color: var(--turn-sand); font-family: Arial, sans-serif; font-size: 7px; letter-spacing: 1.5px; }
.turn-ranking-table-head > *, .turn-ranking-row > * { padding: 0 16px; }
.turn-ranking-row { min-height: 70px; border-bottom: 1px solid rgba(241, 221, 194, .08); }
.turn-ranking-row:last-child { border-bottom: 0; }
.turn-ranking-row .position { color: var(--turn-sand); font-size: 18px; font-weight: normal; }
.turn-ranking-row div strong { color: var(--turn-cream); font-size: 16px; font-weight: normal; }
.turn-ranking-row .code, .turn-ranking-row .total { color: rgba(241, 221, 194, .5); font-family: Arial, sans-serif; font-size: 8px; }
.turn-ranking-row .turns { color: var(--turn-cream); font-size: 24px; font-weight: normal; }

.turn-ranking-history-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.turn-ranking-history-grid article { min-height: 190px; padding: 19px; border: 1px solid var(--turn-line); }
.turn-ranking-history-grid article > span { color: var(--turn-sand); font-family: Arial, sans-serif; font-size: 7px; letter-spacing: 1.2px; }
.turn-ranking-history-grid h3 { margin: 24px 0 0; color: var(--turn-cream); font-size: 20px; font-weight: normal; }
.turn-ranking-history-grid p { margin: 6px 0 0; color: rgba(241, 221, 194, .48); font-family: Arial, sans-serif; font-size: 8px; }
.turn-ranking-history-grid > article > strong { display: block; margin-top: 24px; color: var(--turn-cream); font-size: 26px; font-weight: normal; }
.turn-ranking-history-grid strong small { margin-left: 5px; color: rgba(241, 221, 194, .4); font-family: Arial, sans-serif; font-size: 7px; }

.turn-ranking-empty,
.turn-admin-empty { padding: 30px; border: 1px solid var(--turn-line); color: rgba(241, 221, 194, .45); font-family: Arial, sans-serif; font-size: 9px; text-align: center; }

.dashboard-turn-ranking { padding: 32px clamp(22px, 5vw, 78px) 46px; border-top: 1px solid rgba(241, 221, 194, .08); background: #071b21; color: #f1ddc2; }
.dashboard-turn-ranking-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.dashboard-turn-ranking-heading span { color: #dfa06c; font-family: Arial, sans-serif; font-size: 7px; font-weight: 700; letter-spacing: 2px; }
.dashboard-turn-ranking-heading h2 { margin: 6px 0 0; color: #f1ddc2; font-size: 30px; font-weight: normal; }
.dashboard-turn-ranking-heading a { color: #dfa06c; font-family: Arial, sans-serif; font-size: 8px; text-decoration: none; }
.dashboard-turn-ranking-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid rgba(241, 221, 194, .13); }
.dashboard-turn-ranking-grid article { min-height: 130px; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid rgba(241, 221, 194, .1); }
.dashboard-turn-ranking-grid article:last-child { border-right: 0; }
.dashboard-turn-ranking-grid span { color: #dfa06c; font-family: Arial, sans-serif; font-size: 7px; letter-spacing: 1.4px; }
.dashboard-turn-ranking-grid strong { color: #f1ddc2; font-size: 33px; font-weight: normal; }
.dashboard-turn-ranking-grid article.code strong { font-size: 22px; }
.dashboard-turn-ranking-grid p { margin: 0; color: rgba(241, 221, 194, .45); font-family: Arial, sans-serif; font-size: 8px; }
.dashboard-turn-ranking-loading, .dashboard-turn-ranking-unavailable { padding: 22px; border: 1px solid rgba(241, 221, 194, .12); color: rgba(241, 221, 194, .48); font-family: Arial, sans-serif; font-size: 9px; }

.turn-admin-loading,
.turn-admin-denied { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; background: var(--turn-ink); color: var(--turn-cream); }
.turn-admin-loading span, .turn-admin-denied span { color: var(--turn-sand); font-size: 42px; }
.turn-admin-loading p, .turn-admin-denied a { color: var(--turn-sand); font-family: Arial, sans-serif; font-size: 8px; letter-spacing: 2px; }
.turn-admin-denied h1 { font-size: 42px; font-weight: normal; }
.turn-admin-card { margin-top: 24px; padding: 22px; border: 1px solid var(--turn-line); background: rgba(16, 43, 52, .28); }
.turn-admin-card-heading > strong { color: var(--turn-sand); font-size: 36px; font-weight: normal; }
.turn-admin-card-heading a { color: var(--turn-sand); font-family: Arial, sans-serif; font-size: 8px; text-decoration: none; }
.turn-admin-card-description { max-width: 760px; margin: 0 0 20px; color: rgba(241, 221, 194, .5); font-family: Arial, sans-serif; font-size: 9px; line-height: 1.7; }
.turn-admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.turn-admin-form-grid label, .turn-admin-field { display: grid; gap: 8px; }
.turn-admin-form-grid label.full { grid-column: 1 / -1; }
.turn-admin-form-grid label.checkbox { min-height: 48px; padding: 0 12px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--turn-line); }
.turn-admin-form-grid label.checkbox input { width: auto; }
.turn-admin-form-grid input, .turn-admin-form-grid textarea, .turn-admin-field input, .turn-admin-field textarea, .turn-admin-field select { width: 100%; box-sizing: border-box; min-height: 46px; padding: 10px 12px; border: 1px solid rgba(241, 221, 194, .15); background: rgba(7, 27, 33, .78); color: var(--turn-cream); }
.turn-admin-form-grid textarea, .turn-admin-field textarea { min-height: 130px; resize: vertical; }
.turn-admin-actions, .turn-admin-adjust-buttons { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.turn-admin-actions button, .turn-admin-primary, .turn-admin-adjust-buttons button { min-height: 44px; padding: 0 14px; border: 1px solid var(--turn-rust); background: var(--turn-rust); color: var(--turn-cream); font-family: Arial, sans-serif; font-size: 8px; font-weight: 700; cursor: pointer; }
.turn-admin-actions button.secondary { border-color: rgba(241, 221, 194, .18); background: transparent; }
.turn-admin-adjust-buttons button.danger { border-color: rgba(213, 82, 64, .7); background: rgba(213, 82, 64, .16); }
.turn-admin-two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.turn-admin-two-columns .turn-admin-card { height: calc(100% - 48px); }
.turn-admin-player-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.turn-admin-player-list article { padding: 12px; border: 1px solid var(--turn-line); }
.turn-admin-player-list strong { display: block; color: var(--turn-cream); font-size: 13px; font-weight: normal; }
.turn-admin-player-list span { display: block; margin-top: 4px; color: var(--turn-sand); font-family: Arial, sans-serif; font-size: 7px; }
.turn-admin-test-result { margin-top: 14px; padding: 15px; border: 1px solid rgba(223, 160, 108, .25); }
.turn-admin-test-result span, .turn-admin-test-result small { color: var(--turn-sand); font-family: Arial, sans-serif; font-size: 7px; }
.turn-admin-test-result strong { display: block; margin-top: 7px; color: var(--turn-cream); font-size: 20px; font-weight: normal; }
.turn-admin-test-result p { color: rgba(241, 221, 194, .5); font-family: Arial, sans-serif; font-size: 8px; }
.turn-admin-ranking-list { display: grid; }
.turn-admin-ranking-list article { min-height: 60px; padding: 0 14px; display: grid; grid-template-columns: 55px minmax(0, 1fr) 90px; align-items: center; border-bottom: 1px solid rgba(241, 221, 194, .09); }
.turn-admin-ranking-list article > span { color: var(--turn-sand); font-size: 16px; }
.turn-admin-ranking-list article > div > strong { display: block; color: var(--turn-cream); font-size: 14px; font-weight: normal; }
.turn-admin-ranking-list article small { color: rgba(241, 221, 194, .42); font-family: Arial, sans-serif; font-size: 7px; }
.turn-admin-ranking-list article > strong { color: var(--turn-cream); font-size: 24px; font-weight: normal; text-align: right; }
.turn-admin-events article { min-height: 66px; padding: 10px 12px; display: grid; grid-template-columns: 48px minmax(150px, .7fr) minmax(220px, 1.3fr) 170px; gap: 10px; align-items: center; border-bottom: 1px solid rgba(241, 221, 194, .08); }
.turn-admin-events .status { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(241, 221, 194, .16); color: var(--turn-sand); }
.turn-admin-events .status.counted { border-color: rgba(223, 160, 108, .38); }
.turn-admin-events article > div strong { display: block; color: var(--turn-cream); font-size: 13px; font-weight: normal; }
.turn-admin-events article small, .turn-admin-events article p, .turn-admin-events article time { color: rgba(241, 221, 194, .44); font-family: Arial, sans-serif; font-size: 7px; }

@media (max-width: 900px) {
    .turn-ranking-top, .turn-ranking-history-grid, .turn-admin-player-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .turn-ranking-podium-card.position-1 { min-height: 280px; }
    .turn-ranking-table-head, .turn-ranking-row { grid-template-columns: 50px minmax(150px, 1fr) 120px 80px; }
    .turn-ranking-table-head > :last-child, .turn-ranking-row > :last-child { display: none; }
    .dashboard-turn-ranking-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-turn-ranking-grid article:nth-child(2) { border-right: 0; }
    .dashboard-turn-ranking-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(241, 221, 194, .1); }
    .turn-admin-two-columns { grid-template-columns: 1fr; }
    .turn-admin-events article { grid-template-columns: 42px minmax(130px, .8fr) 1.2fr; }
    .turn-admin-events time { display: none; }
}

@media (max-width: 620px) {
    .turn-ranking-header { align-items: flex-start; flex-direction: column; padding-top: 18px; padding-bottom: 18px; }
    .turn-ranking-header nav { width: 100%; overflow-x: auto; }
    .turn-ranking-page, .turn-admin-page { width: min(100% - 28px, 1320px); padding-top: 42px; }
    .turn-ranking-hero, .turn-admin-hero { grid-template-columns: 1fr; }
    .turn-ranking-hero aside, .turn-admin-hero aside { min-width: 0; }
    .turn-ranking-top, .turn-ranking-history-grid, .turn-admin-player-list, .turn-admin-form-grid { grid-template-columns: 1fr; }
    .turn-ranking-podium-card, .turn-ranking-podium-card.position-1 { min-height: 220px; }
    .turn-ranking-table { overflow-x: auto; }
    .turn-ranking-table-head, .turn-ranking-row { min-width: 600px; }
    .dashboard-turn-ranking-grid { grid-template-columns: 1fr; }
    .dashboard-turn-ranking-grid article { border-right: 0; border-bottom: 1px solid rgba(241, 221, 194, .1); }
    .dashboard-turn-ranking-grid article:last-child { border-bottom: 0; }
    .turn-admin-form-grid label.full { grid-column: auto; }
    .turn-admin-events article { grid-template-columns: 40px minmax(0, 1fr); }
    .turn-admin-events article > p, .turn-admin-events article > time { grid-column: 2; }
}

/* ========================================
   CONTAGEM MANUAL — TEXAS LEGACIES
======================================== */
.turn-manual-entry-card {
    border-color: rgba(223, 160, 108, .28);
    background: linear-gradient(135deg, rgba(180, 71, 36, .07), rgba(16, 43, 52, .35));
}

.turn-manual-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    gap: 18px;
    align-items: stretch;
}

.turn-manual-form {
    display: grid;
    gap: 12px;
}

.turn-admin-form-grid select {
    width: 100%;
    box-sizing: border-box;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid rgba(241, 221, 194, .15);
    background: rgba(7, 27, 33, .78);
    color: var(--turn-cream);
}

.turn-quick-buttons {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.turn-quick-buttons button {
    min-height: 42px;
    border: 1px solid rgba(223, 160, 108, .28);
    background: rgba(223, 160, 108, .05);
    color: var(--turn-sand);
    font-family: Arial, sans-serif;
    font-size: 9px;
    font-weight: 700;
    cursor: pointer;
}

.turn-quick-buttons button:hover {
    border-color: var(--turn-sand);
    background: rgba(223, 160, 108, .12);
}

.turn-manual-submit {
    width: 100%;
    min-height: 52px;
    margin-top: 4px;
}

.turn-player-summary {
    min-height: 100%;
    box-sizing: border-box;
    padding: 24px;
    border: 1px solid rgba(223, 160, 108, .25);
    background: rgba(7, 27, 33, .62);
}

.turn-player-summary > span,
.turn-player-summary small,
.turn-player-summary-grid em {
    color: var(--turn-sand);
    font-family: Arial, sans-serif;
    font-size: 7px;
    font-style: normal;
    letter-spacing: 1.7px;
}

.turn-player-summary > strong {
    display: block;
    margin-top: 14px;
    color: var(--turn-cream);
    font-size: 27px;
    font-weight: normal;
}

.turn-player-summary > small {
    display: block;
    margin-top: 7px;
    color: rgba(241, 221, 194, .48);
    letter-spacing: 1px;
}

.turn-player-summary > p {
    margin: 14px 0 0;
    color: rgba(241, 221, 194, .48);
    font-family: Arial, sans-serif;
    font-size: 9px;
    line-height: 1.7;
}

.turn-player-summary-grid {
    margin-top: 30px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.turn-player-summary-grid > div {
    min-height: 120px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border: 1px solid var(--turn-line);
}

.turn-player-summary-grid b {
    color: var(--turn-cream);
    font-size: 34px;
    font-weight: normal;
}

.turn-player-summary-grid em {
    margin-top: 8px;
    color: rgba(241, 221, 194, .44);
    letter-spacing: 1.2px;
}

.turn-manual-note {
    margin-top: 14px;
}

#turnSelectedWeekLabel {
    max-width: 220px;
    font-family: Arial, sans-serif;
    font-size: 11px;
    letter-spacing: 1px;
    text-align: right;
}

@media (max-width: 900px) {
    .turn-manual-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .turn-quick-buttons,
    .turn-player-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #turnSelectedWeekLabel {
        font-size: 9px;
    }
}
