input[type="checkbox"] { width:24px!important; height:24px; min-width:24px; padding:0; accent-color:#e30613; cursor:pointer; vertical-align:middle; }
label.check { min-height:44px; gap:12px; }
.table-wrap>.actions { margin-top:24px; padding-top:12px; }
.operations { display:grid; gap:20px; margin-top:20px; }
.operations .fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; }
.operations .fields label { align-content:start; }
.operations fieldset { border:0; margin:0; padding:0; }
.danger { background:#fff1f2; color:#9f1239; border:1px solid #fecdd3; }
.team-card { cursor:grab; }
.team-card.dragging { opacity:.45; }
.team-card h2 a { display:block; }
.team-card { position:relative; padding-bottom:72px; }
.team-card .order-buttons { position:absolute; bottom:14px; right:14px; display:flex; gap:10px; margin:0; }
.team-card .order-buttons button { opacity:.7; }
.team-card .order-buttons button { width:36px; min-height:36px; padding:6px; line-height:1; }
.scoreboard { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.scoreboard strong { font-size:36px; }
.live-buttons { display:flex; gap:12px; flex-wrap:wrap; }
.live-buttons button { min-height:48px; }
.goalkeeper-row { background:#ecfdf5; }
.court { width:100%; max-height:340px; background:#32c6bc; border-radius:16px; }
.operations .panel p { margin-bottom:16px; }
.operations .hint { color:#475569; }
.match-card { display:flex; flex-direction:column; gap:14px; border-top:4px solid #e30613; transition:box-shadow .15s; }
.match-card:hover { box-shadow:0 8px 24px #17304718; }
.match-card h2,.match-card p { margin:0!important; }
.match-card .badge { align-self:flex-start; margin:4px 0 8px; }
.shared-live .app { margin-left:0; }
.shared-live .content { max-width:1400px; margin:auto; }
.video-clock { font-size:36px; font-weight:800; font-variant-numeric:tabular-nums; color:#17243a; }
.live-entry form { display:grid; gap:16px; }
#live-court { width:100%; aspect-ratio:2; display:block; background:#39cbbf; border-radius:22px; cursor:crosshair; touch-action:manipulation; }
#live-court:focus-visible { outline:3px solid #173047; outline-offset:4px; }
#event-details { display:grid; gap:18px; padding:20px; border:1px solid #d8e2ee; border-radius:16px; background:#f7fafc; }
[hidden],#event-details[hidden] { display:none!important; }
.lineup-picks { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin:16px 0; }
.lineup-picks label { border:1px solid #d8e2ee; border-radius:12px; padding:12px; background:white; color:#17243a; }
.lineup-picks label:has(input:checked) { border-color:#e30613; background:#fff1f2; }
[data-sync-status] { font-size:13px; color:#475569; }
#other-event { display:grid; gap:18px; }
#other-event button { justify-self:start; }
@media(max-width:600px) { #event-details { padding:12px; } .lineup-picks { grid-template-columns:1fr 1fr; } }
.brand-logo { display:block; width:54px; height:56px; object-fit:contain; flex:0 0 auto; }
.brand { height:88px; min-height:88px; padding:14px 18px; }
.auth-card .brand-logo { width:76px; height:80px; margin-bottom:22px; }

/* 0.4.14: persone e resoconto */
.operations table tr.person-staff>td { background:#eef2fc; }
.operations table tr.person-staff:hover>td { background:#e4eafa; }
.scoreboard { justify-content:space-between; gap:20px; }
.scoreboard>div { flex:1 1 240px; min-width:0; }
.scoreboard h2 { margin:0 0 8px; }
.scoreboard>div p { margin:0; }
.scoreboard>strong { display:flex; flex-direction:column; align-items:center; gap:6px; line-height:1.15; font-variant-numeric:tabular-nums; }
.scoreboard .shootout-score { display:block; font-size:14px; font-weight:500; color:#475569; white-space:nowrap; }
.player-stats td:not(:first-child),.player-stats th:not(:first-child) { text-align:center; font-variant-numeric:tabular-nums; }
.player-stats th:first-child { min-width:150px; }

.access-profile-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:14px; margin:14px 0 20px; }
.operations .access-profile { display:flex; align-items:flex-start; gap:14px; padding:18px; margin:0; border:1px solid #d9e2ef; border-radius:14px; background:#f8fafc; cursor:pointer; }
.operations .access-profile:has(input:checked) { border-color:#30358c; background:#eef0ff; }
.operations .access-profile input { flex:none; width:24px; height:24px; margin:1px 0 0; }
.operations .access-profile strong { display:block; color:#17243a; margin-bottom:7px; }
.operations .access-profile small,.operations .field-help { display:block; color:#526078; font-size:12px; font-weight:400; line-height:1.5; }
.operations .field-help { margin-top:6px; }
.profile-members { padding-left:20px; }
.profile-members li { margin:8px 0; }
.person-readonly dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }
.person-readonly dt { color:#526078; font-size:13px; margin-bottom:5px; }
.person-readonly dd { margin:0; overflow-wrap:anywhere; }
.task-status-actions { display:flex; flex-wrap:wrap; gap:8px; flex-basis:100%; justify-content:flex-end; }
.task-status-actions form { margin:0; }
.task-status-actions button { min-height:42px; margin:0; }

.task-person-reference { display:block; clear:both; margin-top:10px; }
.task-person-reference a { display:inline-block; padding:0; font-size:12px; font-weight:500; line-height:1.5; color:#475569; text-decoration:underline; text-underline-offset:3px; }
.person-status { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 22px; padding:16px 20px; border-radius:12px; border-left:5px solid currentColor; }
.person-status span { font-size:13px; }
.person-status strong { font-size:18px; }
.person-status.status-active { background:#dcfce7; color:#166534; }
.person-status.status-archived { background:#fee2e2; color:#991b1b; border-left-color:#dc2626; }
.person-status.status-suspended { background:#ffedd5; color:#9a3412; }
.person-status.status-activation_requested { background:#f0fdf4; color:#3f6d4b; border-left-color:#86c99b; }
.person-status.status-archive_requested { background:#fff1f2; color:#9f4254; border-left-color:#f4a6b5; }
.merge-selection { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:16px 0; }
.merge-table { table-layout:fixed; width:100%; }
.merge-table th,.merge-table td { overflow-wrap:anywhere; vertical-align:top; }
.merge-choice { display:flex!important; gap:10px; align-items:flex-start; cursor:pointer; margin:0; }
.merge-choice input { flex:none; width:24px; height:24px; margin:0; }
.merge-choice span { white-space:pre-wrap; }
@media(max-width:600px) { .merge-table th,.merge-table td { padding:8px 5px; font-size:12px; } .merge-choice { flex-direction:column; } }

.merge-selection { padding:14px 18px; background:#fff; border:1px solid #e2e8f0; border-radius:14px; justify-content:space-between; }
.merge-selection span { font-size:13px; color:#64748b; }
.merge-selected-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; background:#eef0ff; border:1px solid #d6daf3; color:#30358c; font-size:13px; font-weight:600; border-radius:10px; }
.merge-selected-button:hover { background:#e2e6ff; }
.task-request-help { display:block; flex-basis:100%; color:#64748b; font-size:12px; }

.task-archive-form { flex-basis:100%; display:block; margin:0; text-align:right; }
.task-archive-link { background:none; border:0; padding:5px 0; color:#64748b; font-size:12px; font-weight:400; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.task-list-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.task-list-heading a { color:#64748b; font-size:12px; text-decoration:underline; }

.task-status-actions { justify-content:flex-start; margin-top:12px; gap:10px; }
.task-request-help + .task-status-actions { margin-top:12px; }
.task-archive-form { text-align:right; }

#live-events .event-heading { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
#live-events .event-symbol { display:flex; align-items:center; justify-content:center; flex:0 0 38px; width:38px; height:38px; border-radius:10px; background:#edf2f7; }
#live-events .event-symbol.tiuh { color:#d90022; background:#fff0f2; }
#live-events .event-symbol.opponent { color:#172033; }
#live-events .event-symbol svg { width:25px; height:25px; }
#live-events .event-symbol b { font-size:20px; }
#live-events .event-kind { display:block; font-size:13px; color:#526078; font-weight:600; }
#live-events .event-author { display:block; margin-top:3px; font-size:19px; font-weight:750; line-height:1.35; color:#122238; }
#live-events .event-author-missing { display:block; margin-top:3px; color:#64748b; font-size:14px; }
#live-events > .row { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:20px 0; }
#live-events > .row > div { flex:initial; min-width:0; margin-bottom:10px; }
#live-events > .row > details { width:100%; margin:0; border-top:1px solid #edf2f7; }
#live-events > .row > details > summary { padding:12px 0; min-height:44px; cursor:pointer; color:#334155; font-weight:600; }
#live-events > .row > details > form { padding:4px 0 14px; }
#live-events > .row > .event-delete { align-self:flex-end; margin-top:16px; padding-top:8px; }

.match-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.match-list-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:22px; background:#fff; border:1px solid #dfe6ef; border-radius:16px; box-shadow:0 2px 5px #17304708; transition:box-shadow .15s,border-color .15s; }
.match-list-card:hover { border-color:#bdcbdc; box-shadow:0 6px 20px #17304710; }
.match-list-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.match-location { color:#64748b; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.match-status { color:#475569; background:#f1f5f9; font-size:12px; font-weight:700; padding:6px 10px; border-radius:20px; white-space:nowrap; }
.match-state-live .match-status { color:#047857; background:#e8f8f0; }
.match-state-scheduled .match-status { color:#245e99; background:#edf5ff; }
.match-list-card h2 { margin:0 0 22px; font-size:21px; line-height:1.35; overflow-wrap:anywhere; }
.match-main-link { display:block; color:#142238; text-decoration:none; }
.match-main-link::after { content:""; position:absolute; inset:0; border-radius:16px; }
.match-opponent { display:block; margin-top:5px; color:#45556b; font-size:18px; font-weight:600; }
.match-opponent small { color:#8490a1; font-size:13px; font-weight:400; margin-right:5px; }
.match-list-info { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:auto; margin-bottom:22px; }
.match-list-info span { display:block; color:#758195; font-size:12px; margin-bottom:5px; }
.match-list-info strong { color:#334155; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.match-list-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:17px; border-top:1px solid #edf1f6; }
.match-list-actions a { position:relative; z-index:1; display:inline-flex; align-items:center; gap:14px; min-height:44px; padding:10px 14px; border-radius:9px; font-size:14px; font-weight:700; text-decoration:none; }
.match-open { background:#f0f4f9; color:#243a56; }
.match-state-live .match-open { background:#e30613; color:#fff; }
.match-stats-link { color:#425a78; background:transparent; }
.match-stats-link:hover { background:#f0f4f9; }
@media(max-width:760px) { .match-list { grid-template-columns:1fr; } .match-list-card { padding:18px; } }
@media(max-width:380px) { .match-list-info { grid-template-columns:1fr; } }

.match-list-actions .match-open { order:2; margin-left:auto; }
.match-list-actions .match-stats-link { order:1; }
#live-events > .event-record { margin-top:14px; padding:18px; border:1px solid #dce4ee; border-radius:13px; background:#fff; box-shadow:0 2px 5px #17304708; }
#live-events > .event-record[hidden] { display:none; }
#live-events .event-filters { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 6px; }
#live-events .event-filters button { min-height:44px; padding:10px 14px; border:1px solid #dce4ee; border-radius:9px; background:#f5f7fa; color:#334155; font-weight:600; cursor:pointer; }
#live-events .event-filters button[aria-pressed="true"] { background:#e30613; border-color:#e30613; color:#fff; }
#live-events .event-filter-empty { padding:18px 0; color:#64748b; }
.team-card { display:flex; flex-direction:column; align-items:flex-start; }
.team-card > a.button { margin-top:auto; }
.team-card > p:last-of-type { margin-bottom:18px; }

#live-events .event-goal-score { margin-left:auto; flex-shrink:0; text-align:right; padding-left:10px; }
#live-events .event-goal-score > strong { display:block; font-size:25px; font-weight:800; color:#142238; font-variant-numeric:tabular-nums; }
#live-events .event-goal-score > small { font-size:11px; color:#64748b; }
@media(max-width:480px) { #live-events .event-heading { flex-wrap:wrap; } #live-events .event-goal-score { flex-basis:100%; text-align:left; padding-left:50px; } }

#live-events .event-record { position:relative; }
#live-events .event-heading:has(.event-goal-score) { padding-right:110px; }
#live-events .event-goal-score { position:absolute; top:15px; right:18px; margin:0; padding:0; text-align:right; }
#live-events .event-goal-score > strong { font-size:34px; line-height:1.15; }
@media(max-width:480px) { #live-events .event-heading:has(.event-goal-score) { padding-right:95px; } #live-events .event-goal-score { flex-basis:auto; padding:0; text-align:right; } #live-events .event-goal-score > strong { font-size:30px; } }
.match-share-controls { position:relative; z-index:1; margin-top:16px; padding-top:14px; border-top:1px solid #e2e8f0; }
.match-share-controls label { font-size:12px; }
.match-share-controls input { font-size:13px; margin:6px 0 10px; }
.match-share-controls [data-copy-status] { margin-left:10px; color:#475569; font-size:12px; }
.match-share-controls summary { cursor:pointer; padding:8px 0; color:#425a78; }

/* Shared report controls, also available after a match is finished. */
#live-events button { min-height:44px; padding:10px 14px; border:1px solid #dce4ee; border-radius:9px; background:#f1f5f9; color:#334155; font-weight:600; cursor:pointer; }
#live-events button[aria-pressed="true"],#live-events button.primary { background:#e30613; border-color:#e30613; color:white; }
#live-events .line-buttons { display:flex; flex-wrap:wrap; gap:10px; margin:10px 0; }
#live-events .player-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:8px; }
#live-events .player-grid button { text-align:left; }
#live-events .event-delete button { color:#a51b32; background:#fff5f6; border-color:#f1ccd2; }
.content .title { justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:12px; }
.content .title > :first-child:not(a):not(button) { margin-right:auto; }
.content .title > .page-actions { margin-left:auto; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.match-list-info { margin-top:0; }
.match-list-actions { margin-top:auto; }
.scoreboard h2 { margin-bottom:6px; }
.operations .scoreboard p { margin-bottom:0; }
@media(max-width:900px) { .content .title { flex-direction:row; } .content .title > :first-child:not(a):not(button) { flex-basis:100%; } }
