
.tso-attendance{width:100%;max-width:none;margin:0;padding:20px 0;font-family:Arial,Helvetica,sans-serif;color:#fff;box-sizing:border-box}
.tso-attendance *{box-sizing:border-box}
.tso-attendance>header{background:linear-gradient(135deg,#071d33,#003087);color:#fff;border:1px solid rgba(255,215,0,.55);border-radius:18px;padding:28px;margin-bottom:22px}
.tso-attendance>header span{color:#ffd700;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tso-attendance>header h1{color:#ffd700;margin:.25em 0}
.tso-attendance h2{color:#ffd700}
.tso-att-card{border:1px solid rgba(255,215,0,.45);border-radius:16px;padding:20px;background:linear-gradient(135deg,#0b2944,#102f55);color:#fff;box-shadow:0 8px 24px rgba(7,29,51,.18);margin-bottom:24px}
.tso-att-card small{color:#d7e2f0}
.tso-att-card h2{margin:.35em 0 .75em;color:#ffd700}
.tso-att-card form{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
.tso-att-card label{font-weight:700;color:#fff;min-width:260px;flex:1 1 320px}
.tso-att-card input[type="number"]{display:block;width:100%;max-width:360px;padding:12px 14px;margin-top:7px;border:1px solid #b9c7d8;border-radius:9px;background:#fff;color:#071d33;font:inherit}
.tso-att-card button,.tso-att-card button[type="submit"]{appearance:none;background:#ffd700!important;color:#071d33!important;border:1px solid #ffd700!important;border-radius:9px;padding:12px 20px;font-weight:800;line-height:1.2;min-height:44px;box-shadow:none;text-shadow:none!important}
.tso-att-card button:hover,.tso-att-card button:focus{background:#ffe44d!important;color:#071d33!important;border-color:#ffe44d!important;outline:2px solid #fff;outline-offset:2px}
.tso-att-table{overflow-x:auto;border:1px solid rgba(255,215,0,.35);border-radius:14px;background:#0a223a;color:#fff}
.tso-att-table>div{display:grid;grid-template-columns:64px minmax(180px,1fr) 82px 105px 82px;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.11);align-items:center;min-width:610px}
.tso-att-table>div:last-child{border-bottom:0}
.tso-att-table .head{background:#071d33;color:#fff;font-weight:700}
.tso-att-table small{display:block;color:#c8d5e5}
.tso-att-note{font-size:.95em;color:#d5dfeb;max-width:900px}
@media(max-width:760px){
 .tso-attendance{padding:14px 0}
 .tso-attendance>header,.tso-att-card{padding:18px}
 .tso-att-card form{display:block}
 .tso-att-card label{display:block;min-width:0}
 .tso-att-card input[type="number"]{max-width:none}
 .tso-att-card button,.tso-att-card button[type="submit"]{width:100%;margin-top:12px}
}

/* Rules links */
.tso-att-rules-link{display:inline-flex;align-items:center;gap:.35rem;background:#ffd700!important;color:#071d33!important;border:1px solid #ffd700;border-radius:999px;padding:.65rem 1rem;font-weight:800;text-decoration:none!important;line-height:1.2}
.tso-att-rules-link:hover,.tso-att-rules-link:focus{background:#fff1a8!important;color:#071d33!important}
.tso-att-rules .tso-att-card h2{margin-top:1.25rem}.tso-att-rules .tso-att-card h2:first-child{margin-top:0}


/* v5.5.4 — full-width attendance canvas and contrast hardening. */
.tso-attendance-page .tso-clubhouse-wrap{width:calc(100% - 24px)!important;max-width:none!important;padding:0 12px!important}
.tso-clubhouse-page a.tso-att-rules-link,
.tso-clubhouse-page a.tso-att-rules-link:visited{background:#ffd700!important;color:#071d33!important;border-color:#ffd700!important;-webkit-text-fill-color:#071d33!important;text-shadow:none!important}
.tso-clubhouse-page a.tso-att-rules-link:hover,
.tso-clubhouse-page a.tso-att-rules-link:focus{background:#fff1a8!important;color:#071d33!important;-webkit-text-fill-color:#071d33!important}
.tso-clubhouse-page .tso-att-card button[type="submit"]{background:#ffd700!important;color:#071d33!important;-webkit-text-fill-color:#071d33!important;border-color:#ffd700!important;text-shadow:none!important}
@media(max-width:760px){
 .tso-attendance-page .tso-clubhouse-wrap{width:100%!important;padding:0 10px!important}
 .tso-attendance>header{border-radius:14px}
 .tso-att-table{border-radius:10px}
}
@media(max-width:420px){
 .tso-attendance>header,.tso-att-card{padding:15px}
 .tso-attendance>header h1{font-size:clamp(2.15rem,12vw,3.2rem)}
 .tso-att-rules-link{width:100%;justify-content:center;text-align:center}
}


/* v5.5.5 — true viewport-width attendance pages and theme-proof action contrast. */
.tso-clubhouse-page.tso-attendance-page{
 width:100vw!important;
 max-width:100vw!important;
 margin-left:calc(50% - 50vw)!important;
 margin-right:calc(50% - 50vw)!important;
 padding-left:12px!important;
 padding-right:12px!important;
 box-sizing:border-box!important;
 overflow-x:hidden;
}
.tso-clubhouse-page.tso-attendance-page>.tso-clubhouse-wrap{
 width:100%!important;
 max-width:none!important;
 margin:0!important;
 padding:0!important;
}
.tso-clubhouse-page.tso-attendance-page .tso-attendance{
 width:100%!important;
 max-width:none!important;
 margin:0!important;
}
.tso-clubhouse-page.tso-attendance-page a.tso-att-rules-link,
.tso-clubhouse-page.tso-attendance-page a.tso-att-rules-link:link,
.tso-clubhouse-page.tso-attendance-page a.tso-att-rules-link:visited{
 background:#ffd700!important;
 background-image:none!important;
 color:#071d33!important;
 -webkit-text-fill-color:#071d33!important;
 border:1px solid #ffd700!important;
 text-shadow:none!important;
 opacity:1!important;
}
.tso-clubhouse-page.tso-attendance-page a.tso-att-rules-link *,
.tso-clubhouse-page.tso-attendance-page a.tso-att-rules-link::before,
.tso-clubhouse-page.tso-attendance-page a.tso-att-rules-link::after{
 color:#071d33!important;
 -webkit-text-fill-color:#071d33!important;
}
@media(max-width:760px){
 .tso-clubhouse-page.tso-attendance-page{padding-left:8px!important;padding-right:8px!important}
}


/* v5.6.0 — positive-points attendance leaderboard. */
.tso-att-table.tso-att-points-table>div{
 grid-template-columns:64px minmax(180px,1.25fr) 78px 72px 78px 88px 88px 88px 72px 88px;
 min-width:980px;
}
.tso-att-table.tso-att-points-table>div>span:last-child{color:#ffd700;font-size:1.05em}
.tso-att-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 18px}
.tso-att-score-grid>div{background:#071d33;border:1px solid rgba(255,215,0,.38);border-radius:12px;padding:16px;text-align:center}
.tso-att-score-grid strong{display:block;color:#ffd700;font-size:1.25rem;margin-bottom:4px}
.tso-att-score-grid span{display:block;color:#fff}
@media(max-width:760px){.tso-att-score-grid{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.tso-att-score-grid{grid-template-columns:1fr}}

/* v5.7.0 — confirmed Hub attendance sync */
.tso-att-result-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:14px 16px;border-radius:12px;background:#071d33;border:1px solid rgba(255,215,0,.38)}
.tso-att-result-strip span{color:#fff;font-weight:700}
.tso-att-result-strip strong{color:#ffd700;font-size:1.45rem}
.tso-att-empty{grid-column:1/-1!important;margin:0!important;padding:18px!important;min-width:980px;color:#fff;text-align:center;background:rgba(255,255,255,.04)}


/* v5.9.3 — locked-match guess archive and navigation pills. */
.tso-att-nav-pills,.tso-att-match-pills{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0 18px}
.tso-att-nav-pills a,.tso-att-match-pills a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 15px;border-radius:999px;border:1px solid rgba(255,215,0,.62);background:#071d33!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;font-weight:800;line-height:1.15;text-shadow:none!important}
.tso-att-nav-pills a:hover,.tso-att-nav-pills a:focus,.tso-att-match-pills a:hover,.tso-att-match-pills a:focus,.tso-att-nav-pills a.is-active,.tso-att-match-pills a.is-active{background:#ffd700!important;color:#071d33!important;-webkit-text-fill-color:#071d33!important;border-color:#ffd700!important}
.tso-att-match-pills{padding:14px;border:1px solid rgba(255,215,0,.28);border-radius:14px;background:#071d33}
.tso-att-match-pills a{font-size:.92rem}
.tso-att-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.tso-att-summary-grid>div{padding:14px;border-radius:12px;background:#071d33;border:1px solid rgba(255,215,0,.28)}
.tso-att-summary-grid span{display:block;color:#c8d5e5;font-size:.9rem;margin-bottom:4px}
.tso-att-summary-grid strong{display:block;color:#ffd700;font-size:1.25rem}
.tso-att-table.tso-att-guesses-table>div{grid-template-columns:minmax(180px,1fr) 130px 130px 90px;min-width:620px}
.tso-att-table.tso-att-guesses-table>div>span:last-child strong{color:#ffd700}
@media(max-width:600px){.tso-att-nav-pills a{flex:1 1 auto}.tso-att-match-pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px}.tso-att-match-pills a{flex:0 0 auto}.tso-att-summary-grid{grid-template-columns:1fr}}


/* v5.9.5 — clear save confirmation for attendance guesses. */
.tso-att-saved-confirm{display:flex;flex-direction:column;gap:3px;margin:0 0 14px;padding:13px 16px;border-radius:12px;background:#123d2a;border:1px solid #2f9e44;color:#fff}
.tso-att-saved-confirm strong{color:#bff3cf;font-size:1rem}.tso-att-saved-confirm span{color:#e5f6eb}

/* v6.2.0 — Guess the Attendance leaderboard aligned with the National League Challenge. */
.tso-att-table.tso-att-board-v2{overflow-x:auto;background:#071d33;border:1px solid rgba(255,215,0,.35);border-radius:14px}
.tso-att-table.tso-att-board-v2>div{
 display:grid;
 grid-template-columns:64px minmax(210px,1.45fr) 82px 86px 86px 94px 94px 94px 78px 100px;
 min-width:1088px;gap:0;padding:0;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.09);
}
.tso-att-table.tso-att-board-v2 .head{background:#041426!important;position:sticky;top:0;z-index:2}
.tso-att-table.tso-att-board-v2 .head>span,
.tso-att-table.tso-att-board-v2 .score-row>span{padding:14px 10px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,.08)}
.tso-att-table.tso-att-board-v2 .head>span{flex-direction:column;gap:2px;color:#fff!important;font-weight:950;text-align:center;text-transform:uppercase;letter-spacing:.025em;font-size:12px}
.tso-att-table.tso-att-board-v2 .head small{display:block;color:#ffd700;font-size:10px;line-height:1.2;font-weight:900;text-transform:none;letter-spacing:0}
.tso-att-table.tso-att-board-v2 .head .col-player,
.tso-att-table.tso-att-board-v2 .score-row .player{justify-content:flex-start;text-align:left}
.tso-att-table.tso-att-board-v2 .score-row{background:#092440;transition:background .15s ease,box-shadow .15s ease}
.tso-att-table.tso-att-board-v2 .score-row:nth-of-type(odd){background:#081f38}
.tso-att-table.tso-att-board-v2 .score-row:hover{background:#10385f!important}
.tso-att-table.tso-att-board-v2 .score-row.is-first{box-shadow:inset 4px 0 0 #ffd700}
.tso-att-table.tso-att-board-v2 .score-row.is-second{box-shadow:inset 4px 0 0 #b8c3cf}
.tso-att-table.tso-att-board-v2 .score-row.is-third{box-shadow:inset 4px 0 0 #c98636}
.tso-att-table.tso-att-board-v2 .position b{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#06192c;border:1px solid rgba(255,255,255,.14);color:#fff;font-size:14px}
.tso-att-table.tso-att-board-v2 .is-first .position b{background:#ffd700;border-color:#ffd700;color:#071d33}
.tso-att-table.tso-att-board-v2 .is-second .position b{background:#c9d2dc;border-color:#c9d2dc;color:#071d33}
.tso-att-table.tso-att-board-v2 .is-third .position b{background:#c98636;border-color:#c98636;color:#071d33}
.tso-att-table.tso-att-board-v2 .player{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px;line-height:1.2}
.tso-att-table.tso-att-board-v2 .player-name{font-weight:900}
.tso-att-table.tso-att-board-v2 .player-name a{color:#ffd700!important;-webkit-text-fill-color:#ffd700!important;text-decoration:none!important}
.tso-att-table.tso-att-board-v2 .player-name a:hover{text-decoration:underline!important}
.tso-att-table.tso-att-board-v2 .tso-att-total-value{display:flex!important;flex-direction:row!important;gap:4px!important;align-items:center!important;justify-content:center!important;color:#ffd700!important;-webkit-text-fill-color:#ffd700!important;white-space:nowrap}
.tso-att-table.tso-att-board-v2 .tso-att-total-value strong{font-size:18px;line-height:1}
.tso-att-table.tso-att-board-v2 .tso-att-total-value small{display:inline!important;color:#ffd700!important;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:760px){
 .tso-att-table.tso-att-board-v2>div{grid-template-columns:52px minmax(160px,1fr) 72px 76px 76px 84px 84px 84px 68px 82px;min-width:918px}
 .tso-att-table.tso-att-board-v2 .head>span,.tso-att-table.tso-att-board-v2 .score-row>span{padding:12px 7px}
}
