:root{
 --bg:#f4f6f8;--panel:#fff;--ink:#14202b;--muted:#6e7b87;--line:#dfe5ea;
 --primary:#142a3b;--accent:#f6b818;--danger:#b52828;--ok:#23835b;--soft:#eef2f5;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}.topbar{height:68px;background:var(--primary);color:#fff;display:flex;align-items:center;gap:28px;padding:0 24px;position:sticky;top:0;z-index:20;box-shadow:0 4px 18px #0002}
.brand{display:flex;align-items:center;gap:10px;min-width:190px}.brand-mark{background:var(--accent);color:#14202b;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:21px}.brand strong{display:block;font-size:18px;line-height:1}.brand small{display:block;color:#b9c5ce;font-size:10px;margin-top:4px;letter-spacing:.08em;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:4px;flex:1;height:100%}.nav>a,.nav-more>summary{padding:9px 11px;border-radius:9px;color:#dbe3e9;font-size:14px;cursor:pointer;list-style:none}.nav>a:hover,.nav>a.active,.nav-more>summary:hover{background:#ffffff14;color:#fff}.nav-more{position:relative}.mobile-nav{display:none;position:relative}.mobile-nav>summary{list-style:none;cursor:pointer;width:38px;height:38px;border-radius:9px;background:#fff1;place-items:center}.mobile-nav>summary::-webkit-details-marker{display:none}.mobile-nav .nav-menu{top:45px;left:0}.nav-more summary::-webkit-details-marker{display:none}.nav-menu{position:absolute;top:44px;left:0;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 30px #0002;border-radius:12px;padding:7px;min-width:220px;display:grid;gap:2px}.nav-menu a{padding:9px 10px;border-radius:8px;font-size:14px}.nav-menu a:hover{background:var(--soft)}
.top-actions{display:flex;align-items:center;gap:9px}.tournament-switch select{background:#fff1;border:1px solid #fff3;color:#fff;border-radius:9px;padding:8px 28px 8px 10px;max-width:190px}.tournament-switch option{color:#111}.userbox{text-align:right;line-height:1.1}.userbox span{display:block;font-size:13px}.userbox small{color:#b9c5ce}.icon-btn{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#fff1}
.shell{max-width:1500px;margin:0 auto;padding:28px 28px 60px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#fff 0,#f6f7f9 34%,#e8edf1 100%)}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.page-head h1{font-size:28px;letter-spacing:-.025em;margin:0}.page-head p{margin:5px 0 0;color:var(--muted)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 1px 2px #00000008}.card h2,.card h3{margin-top:0}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.kpi{padding:19px}.kpi .value{font-size:32px;font-weight:800;letter-spacing:-.04em}.kpi .label{font-size:13px;color:var(--muted);margin-top:3px}.kpi .mini{font-size:12px;color:var(--muted);margin-top:10px}
.toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:14px}.toolbar .spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:9px 13px;background:var(--primary);color:#fff;font:inherit;font-size:14px;cursor:pointer}.btn:hover{filter:brightness(1.06)}.btn.secondary{background:#e9eef2;color:var(--ink)}.btn.accent{background:var(--accent);color:#1a252d;font-weight:700}.btn.danger{background:#f7e8e8;color:var(--danger)}.btn.small{padding:6px 9px;font-size:12px}
input,select,textarea{width:100%;border:1px solid #cfd8df;border-radius:9px;padding:9px 10px;background:#fff;color:var(--ink);font:inherit}textarea{min-height:90px;resize:vertical}label{font-size:13px;font-weight:650;display:grid;gap:6px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;gap:8px;margin-top:16px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}table{border-collapse:collapse;width:100%;font-size:13px}th{background:#f5f7f9;color:#52606c;text-transform:uppercase;letter-spacing:.045em;font-size:10px;text-align:left;padding:10px 11px;white-space:nowrap}td{padding:10px 11px;border-top:1px solid #edf0f2;vertical-align:middle}tr:hover td{background:#fbfcfd}.actions{white-space:nowrap}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#edf1f4;padding:4px 8px;font-size:11px;font-weight:700}.badge.m{background:#e8f0ff;color:#295fa6}.badge.f{background:#fae8f1;color:#a62a65}.badge.x{background:#e9f5ec;color:#27744c}.badge.warn{background:#fff2c7;color:#7a5b00}.badge.ok{background:#dff4e9;color:#166742}.muted{color:var(--muted)}.smalltxt{font-size:12px}.right{text-align:right}
.alert{border-radius:11px;padding:11px 13px;margin-bottom:15px;border:1px solid}.alert.success{background:#e7f6ee;border-color:#bfe5d0;color:#17623f}.alert.error{background:#fceaea;border-color:#efc2c2;color:#842525}.alert.info{background:#edf4fb;border-color:#c9ddef;color:#245a83}
.pager{display:flex;gap:4px;margin-top:15px;flex-wrap:wrap}.pager a{min-width:32px;height:32px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:12px}.pager a.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px #20304020;border-radius:22px;padding:28px}.auth-logo{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-logo .brand-mark{width:48px;height:48px}.auth-card h1{margin:0;font-size:25px}.auth-card p{color:var(--muted);margin-top:5px}.auth-card form{display:grid;gap:13px}
.section-title{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px}.section-title h2{margin:0;font-size:18px}.empty{padding:30px;text-align:center;color:var(--muted)}.split{display:grid;grid-template-columns:340px 1fr;gap:18px}.sticky{position:sticky;top:88px;align-self:start}
.schedule-grid{display:grid;grid-template-columns:90px repeat(var(--cols,3),minmax(160px,1fr));border:1px solid var(--line);border-radius:14px;overflow:auto;background:#fff}.schedule-grid>div{padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:56px}.schedule-head{background:#f3f6f8;font-weight:800;font-size:12px}.match-card{background:#fff8df;border:1px solid #efd985;border-radius:9px;padding:7px!important;font-size:11px;line-height:1.35;min-height:auto!important}.match-card strong{display:block}
.checkbox-list{display:grid;gap:7px;max-height:300px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:10px}.checkbox-list label{display:flex;align-items:center;gap:8px;font-weight:500}.checkbox-list input{width:auto}
@media(max-width:1050px){.nav{display:none}.mobile-nav{display:block}.mobile-nav>summary{display:grid}.grid-4{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.sticky{position:static}}
@media(max-width:680px){.shell{padding:18px 12px 40px}.topbar{padding:0 12px}.brand{min-width:auto}.brand small,.userbox,.tournament-switch{display:none}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.page-head h1{font-size:23px}.card{padding:14px}}

/* Estrazione visuale gironi */
.draw-progress-wrap{margin-top:18px}.draw-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:13px}.draw-progress{height:9px;border-radius:999px;background:#e7edf1;overflow:hidden}.draw-progress span{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width .35s ease}
.draw-stage{margin:18px 0;padding:28px 20px;text-align:center;border:1px solid #d8e0e6;border-radius:18px;background:linear-gradient(145deg,#f8fafb,#eef3f6);position:relative;overflow:hidden}.draw-stage:before{content:"";position:absolute;inset:-60% auto auto -10%;width:52%;height:180%;transform:rotate(20deg);background:#ffffff88;pointer-events:none}.draw-stage-kicker{position:relative;font-size:11px;font-weight:850;letter-spacing:.16em;color:var(--muted)}.draw-stage-team{position:relative;margin-top:10px;font-size:clamp(25px,4vw,43px);font-weight:900;letter-spacing:-.035em;color:var(--primary);min-height:1.2em}.draw-stage-arrow{position:relative;margin:5px 0;font-size:24px;color:#8795a0}.draw-stage-pool{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 18px;border-radius:999px;background:var(--primary);color:#fff;font-size:18px;font-weight:850}.draw-stage.pending-reveal .draw-stage-team{filter:blur(1px);transform:scale(.98)}.draw-stage.pending-reveal .draw-stage-pool{opacity:.65}.draw-stage.reveal-complete{animation:draw-pop .65s ease}.draw-stage.reveal-complete .draw-stage-pool{animation:draw-pool-pop .75s ease}
.draw-pools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.draw-pool-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.draw-pool-card.last-destination{box-shadow:0 0 0 2px #f6b81855}.draw-pool-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;background:#f4f7f9;border-bottom:1px solid var(--line)}.draw-pool-teams{padding:5px 12px 10px;min-height:54px}.draw-pool-teams>div{padding:7px 0;border-bottom:1px solid #edf0f2;font-size:13px}.draw-pool-teams>div:last-child{border-bottom:0}.draw-pool-teams>.muted{display:block;padding:9px 0;font-size:12px}.draw-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:16px}.draw-actions form{margin:0}.draw-next-btn{font-size:16px;padding:11px 17px}.after-reveal-action button:disabled{opacity:.55;cursor:not-allowed}
@keyframes draw-pop{0%{transform:scale(.985)}55%{transform:scale(1.012)}100%{transform:scale(1)}}@keyframes draw-pool-pop{0%{box-shadow:0 0 0 0 #f6b81877}60%{box-shadow:0 0 0 12px #f6b81800}100%{box-shadow:0 0 0 0 #f6b81800}}
@media(max-width:1150px){.draw-pools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.draw-pools-grid{grid-template-columns:1fr}.draw-stage{padding:22px 12px}.draw-stage-pool{font-size:16px}.draw-actions,.draw-actions form,.draw-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.draw-progress span,.draw-pool-card{transition:none}.draw-stage.reveal-complete,.draw-stage.reveal-complete .draw-stage-pool{animation:none}}

/* Calendario multi-torneo */
.calendar-summary-grid{margin-bottom:16px}.tournament-summary-card{display:grid;gap:15px}.tournament-summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.tournament-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:850;letter-spacing:.035em;white-space:nowrap;border:1px solid transparent}.tournament-star{background:#fff0b8;color:#715400;border-color:#efd57a}.tournament-youth{background:#e6efff;color:#285c9a;border-color:#c6d9fa}.tournament-mini{background:#e5f5eb;color:#246a45;border-color:#c3e5d0}.tournament-other{background:#edf1f4;color:#52606c;border-color:#d9e0e5}
.mini-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden}.mini-kpis>div{padding:10px 8px;text-align:center;border-right:1px solid var(--line);background:#fafbfc}.mini-kpis>div:last-child{border-right:0}.mini-kpis strong{display:block;font-size:19px;line-height:1}.mini-kpis span{display:block;color:var(--muted);font-size:10px;margin-top:5px;text-transform:uppercase;letter-spacing:.04em}.schedule-state-line{display:flex;gap:6px;flex-wrap:wrap}
.calendar-engine-card{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.2fr);gap:24px;align-items:center;margin-bottom:18px}.calendar-engine-copy h3{margin-bottom:6px}.calendar-engine-copy p{margin:0}.calendar-engine-form{display:grid;gap:13px}.scope-selector{display:flex;gap:8px;flex-wrap:wrap}.scope-selector label{display:flex;align-items:center;gap:6px;background:#f7f9fa;border:1px solid var(--line);padding:7px 9px;border-radius:10px;cursor:pointer}.scope-selector input{width:auto}.calendar-engine-actions{display:flex;gap:7px;flex-wrap:wrap}.calendar-filterbar{margin:22px 0 12px}
.calendar-day-block{margin-bottom:22px}.calendar-day-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.calendar-day-title>div{display:flex;align-items:baseline;gap:9px}.calendar-day-title strong{font-size:18px}.calendar-day-title span{color:var(--muted);font-size:12px}.calendar-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.calendar-field-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0}.calendar-field-card.is-empty{opacity:.68}.calendar-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#f4f7f9;border-bottom:1px solid var(--line)}.calendar-field-head strong{font-size:13px}.calendar-field-head span{font-size:10px;color:var(--muted)}.calendar-field-list{padding:5px 10px}.calendar-field-empty{padding:14px 4px;color:var(--muted);font-size:12px;text-align:center}.calendar-match-row{display:grid;grid-template-columns:54px 1fr;gap:9px;padding:9px 2px;border-bottom:1px solid #edf0f2}.calendar-match-row:last-child{border-bottom:0}.calendar-match-time{font-weight:850;font-size:13px;line-height:1.15}.calendar-match-time small{display:block;color:var(--muted);font-size:9px;font-weight:600;margin-top:3px}.calendar-match-main{min-width:0}.calendar-match-main>.tournament-pill{margin-bottom:5px}.calendar-match-main strong{display:block;font-size:12px;line-height:1.3}.calendar-match-main strong span{color:#9aa5ad;font-weight:500}.calendar-match-main small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.manual-schedule-form{display:grid;grid-template-columns:minmax(110px,145px) minmax(170px,205px) auto;gap:5px;align-items:center;min-width:390px}.calendar-detail-table td{vertical-align:top}
@media(max-width:1050px){.calendar-engine-card{grid-template-columns:1fr}.calendar-summary-grid{grid-template-columns:1fr}.calendar-engine-actions .btn{flex:1 1 220px}}@media(max-width:680px){.mini-kpis{grid-template-columns:repeat(2,1fr)}.mini-kpis>div:nth-child(2){border-right:0}.mini-kpis>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.tournament-summary-head{align-items:flex-start;flex-direction:column}.calendar-engine-actions,.calendar-engine-actions .btn{width:100%}.scope-selector{display:grid}.manual-schedule-form{grid-template-columns:1fr;min-width:240px}.calendar-day-title>div{display:grid;gap:2px}}

/* Attesa generazione calendario multi-torneo */
body.planning-open{overflow:hidden}
.planning-overlay[hidden]{display:none!important}.planning-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(18,30,39,.72);backdrop-filter:blur(5px)}
.planning-dialog{width:min(620px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.28);text-align:center}.planning-kicker{margin-top:16px;font-size:10px;font-weight:900;letter-spacing:.17em;color:var(--muted)}.planning-dialog h2{font-size:clamp(22px,4vw,31px);letter-spacing:-.025em;margin:7px 0 9px}.planning-dialog>p{max-width:510px;margin:0 auto;color:var(--muted);line-height:1.55;min-height:48px}
.planning-spinner{width:66px;height:66px;margin:0 auto;position:relative}.planning-spinner span{position:absolute;inset:0;border:5px solid #e9eef1;border-top-color:var(--accent);border-radius:50%;animation:planning-spin 1s linear infinite}.planning-spinner span:nth-child(2){inset:9px;border-width:4px;border-top-color:var(--primary);animation-duration:1.45s;animation-direction:reverse}.planning-spinner span:nth-child(3){inset:19px;border-width:3px;border-top-color:#7d8b95;animation-duration:.8s}
.planning-progress{height:8px;margin:23px 0 12px;border-radius:999px;background:#e9eef1;overflow:hidden;position:relative}.planning-progress span{position:absolute;top:0;bottom:0;width:38%;border-radius:inherit;background:var(--accent);animation:planning-progress 1.5s ease-in-out infinite}
.planning-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;font-size:12px;color:var(--muted)}.planning-meta strong{font-variant-numeric:tabular-nums;font-size:15px;color:var(--primary);letter-spacing:.04em}.planning-note{margin-top:20px;padding:13px 15px;border:1px solid #d9e4ea;border-radius:12px;background:#f5f8fa;text-align:left;font-size:12px;line-height:1.5;color:#52606c}.planning-note strong{color:var(--primary)}
@keyframes planning-spin{to{transform:rotate(360deg)}}@keyframes planning-progress{0%{left:-42%}55%{left:55%}100%{left:110%}}
@media(max-width:680px){.planning-overlay{padding:12px}.planning-dialog{padding:24px 16px;border-radius:18px}.planning-meta{display:grid;justify-items:center;text-align:center}.planning-dialog>p{min-height:66px}}
@media(prefers-reduced-motion:reduce){.planning-spinner span,.planning-progress span{animation-duration:3s}}
/* v1.5.3 · pianificazione progressiva multi-richiesta */
.planning-progress.is-determinate span{left:0!important;width:0%;animation:none!important;transition:width .24s ease}
.planning-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;text-align:left;color:var(--muted);font-size:12px}
.planning-progress-copy strong{font-size:22px;line-height:1;color:var(--primary);font-variant-numeric:tabular-nums}
.planning-overlay.has-error .planning-spinner span{animation:none;border-top-color:#c0392b}
.planning-overlay.has-error .planning-progress span{background:#c0392b}
#planningReload{margin-top:16px}
@media(max-width:680px){.planning-progress-copy{display:grid;justify-items:center;text-align:center;gap:6px}}

/* v1.6 - Pianificazione arbitri */
.checkbox-inline{display:inline-flex;align-items:center;gap:7px;font-weight:550}.checkbox-inline input{width:auto;margin:0}
.referee-editor{max-width:1180px}.referee-active-check{align-content:start}.referee-eligibility-table td:not(:first-child),.referee-eligibility-table th:not(:first-child){text-align:center}.referee-eligibility-table .checkbox-inline{justify-content:center}
.referee-availability-form{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(130px,.8fr) minmax(130px,.8fr) auto;gap:10px;align-items:end;margin-bottom:14px}
.availability-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.availability-day-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafcfd}.availability-day-card>strong{font-size:13px}.availability-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.availability-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #d9e1e6;border-radius:999px;background:#fff;padding:4px 5px 4px 9px}.availability-chip span{font-size:12px;font-weight:700}.availability-chip button{border:0;background:#eef2f5;color:#64727d;border-radius:999px;width:20px;height:20px;cursor:pointer;line-height:1}
.referee-planner-controls{margin-top:16px}.referee-scope-list{display:flex;gap:16px;flex-wrap:wrap;padding:11px;border:1px solid var(--line);border-radius:11px;background:#f8fafb}.referee-filter-form{display:grid;grid-template-columns:minmax(180px,260px) minmax(180px,240px) auto;gap:8px;align-items:center}.referee-row-actions{display:flex;gap:5px;align-items:center;justify-content:flex-end;min-width:310px}.manual-referee-form{display:flex;gap:5px;min-width:235px}.manual-referee-form select{min-width:150px}.referee-uncovered-row td{background:#fffaf0}.referee-uncovered-row:hover td{background:#fff6df}.referee-assignment-table td{white-space:nowrap}.referee-assignment-table td:nth-child(4){white-space:normal;min-width:220px}.referee-kpis{margin-bottom:16px}
@media(max-width:820px){.referee-availability-form,.referee-filter-form{grid-template-columns:1fr}.referee-row-actions{min-width:260px;flex-wrap:wrap}.manual-referee-form{min-width:100%;flex:1}.referee-eligibility-table{overflow:auto}}

/* v1.6.1 - visualizzazione calendario migliorata */
.calendar-pretty-filters {
    margin-top: 18px;
}
.calendar-pretty-form {
    display: grid;
    gap: 14px;
}
.calendar-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}
.calendar-filter-grid label {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--muted, #6b7280);
    margin-bottom: 6px;
    font-weight: 700;
}
.calendar-filter-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.calendar-visual-kpis .kpi {
    text-align: center;
}
.calendar-agenda-day {
    margin-bottom: 22px;
}
.calendar-agenda-head {
    align-items: center;
}
.calendar-day-side-info {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.calendar-agenda-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 14px;
    margin-top: 14px;
}
.calendar-match-card.pretty-view {
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 18px;
    padding: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.95));
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 10px;
}
.calendar-match-card.pretty-view.has-referee {
    border-color: rgba(34, 197, 94, 0.35);
}
.calendar-match-card.pretty-view.is-missing-referee {
    border-color: rgba(245, 158, 11, 0.35);
}
.calendar-card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}
.calendar-card-field {
    font-size: 13px;
    color: #475569;
    font-weight: 600;
}
.calendar-card-time {
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.calendar-card-time strong {
    font-size: 28px;
    line-height: 1;
}
.calendar-card-time span {
    color: #64748b;
    font-weight: 600;
}
.calendar-card-matchup {
    border-radius: 14px;
    padding: 14px;
    background: rgba(241, 245, 249, 0.85);
    display: grid;
    gap: 6px;
    text-align: center;
}
.calendar-card-matchup .team {
    font-size: 16px;
    font-weight: 700;
}
.calendar-card-matchup .vs {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #64748b;
    font-weight: 800;
}
.calendar-card-meta {
    font-size: 13px;
    color: #64748b;
}
.calendar-card-referee {
    border-top: 1px dashed rgba(148, 163, 184, 0.45);
    padding-top: 10px;
    display: grid;
    gap: 4px;
}
.calendar-card-referee .label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
    font-weight: 800;
}
.calendar-card-referee.confirmed strong {
    color: #166534;
}
.calendar-card-referee.pending strong {
    color: #92400e;
}
.calendar-match-row.enhanced {
    gap: 12px;
    align-items: flex-start;
}
.calendar-inline-referee {
    margin-top: 6px;
    font-size: 12px;
    color: #64748b;
}
.calendar-pretty-table td,
.calendar-pretty-table th,
.calendar-detail-table td,
.calendar-detail-table th {
    vertical-align: top;
}
@media (max-width: 760px) {
    .calendar-card-time strong {
        font-size: 24px;
    }
    .calendar-filter-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

/* v1.6.2 - doppia modalità calendario */
.calendar-viewmode-card {
    margin-top: 16px;
}
.calendar-viewmode-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.calendar-viewmode-head h3 {
    margin: 0 0 4px;
}
.calendar-viewmode-head p {
    margin: 0;
}
.calendar-viewmode-switch {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.calendar-agenda-grid.compact {
    grid-template-columns: 1fr;
    gap: 10px;
}
.calendar-match-card.compact-view {
    display: grid;
    grid-template-columns: 74px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    background: rgba(255,255,255,0.96);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}
.calendar-match-card.compact-view .compact-time {
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
}
.calendar-match-card.compact-view .compact-main {
    display: grid;
    gap: 4px;
    min-width: 0;
}
.calendar-match-card.compact-view .compact-topline {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.calendar-match-card.compact-view .compact-field {
    font-size: 12px;
    color: #64748b;
    font-weight: 700;
}
.calendar-match-card.compact-view .compact-main strong {
    font-size: 15px;
}
.calendar-match-card.compact-view .compact-meta {
    font-size: 12px;
    color: #64748b;
}
.calendar-match-card.compact-view .compact-referee {
    max-width: 210px;
    text-align: right;
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
}
.calendar-match-card.compact-view .compact-referee.confirmed {
    color: #166534;
}
.calendar-match-card.compact-view .compact-referee.pending {
    color: #92400e;
}
@media (max-width: 820px) {
    .calendar-match-card.compact-view {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .calendar-match-card.compact-view .compact-referee {
        max-width: none;
        text-align: left;
    }
    .calendar-viewmode-head {
        align-items: flex-start;
    }
}

/* v1.6.3 - raggruppamento alternativo data/ora o campo */
.calendar-viewmode-layout {
    display: grid;
    gap: 14px;
}
.calendar-mode-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}
.calendar-mode-copy {
    display: grid;
    gap: 3px;
    min-width: 220px;
}
.calendar-mode-copy strong {
    font-size: 14px;
}
.calendar-mode-copy span {
    color: #64748b;
    font-size: 13px;
}
.calendar-mode-divider {
    height: 1px;
    background: rgba(148,163,184,.22);
}
.calendar-field-programs {
    display: grid;
    gap: 20px;
}
.calendar-field-program {
    border: 1px solid rgba(148,163,184,.26);
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255,255,255,.98);
    box-shadow: 0 14px 32px rgba(15,23,42,.05);
}
.calendar-field-program-head {
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(241,245,249,.92));
    border-bottom: 1px solid rgba(148,163,184,.18);
}
.calendar-field-program-head > div:first-child {
    display: flex;
    gap: 10px;
    align-items: center;
}
.calendar-field-program-head strong {
    display: block;
    font-size: 18px;
}
.calendar-field-program-head span:not(.badge):not(.calendar-field-icon) {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #64748b;
}
.calendar-field-icon {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(15,23,42,.06);
    font-size: 18px;
}
.calendar-field-date-block {
    padding: 16px 18px 18px;
}
.calendar-field-date-block + .calendar-field-date-block {
    border-top: 1px solid rgba(148,163,184,.16);
}
.calendar-field-date-head {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 12px;
}
.calendar-field-date-head strong {
    font-size: 14px;
}
.calendar-field-date-head span {
    color: #64748b;
    font-size: 12px;
}
.calendar-card-date-mini {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}
.calendar-match-card.field-grouped {
    margin: 0;
}
@media (max-width: 760px) {
    .calendar-mode-group {
        align-items: stretch;
    }
    .calendar-viewmode-switch {
        width: 100%;
    }
    .calendar-viewmode-switch .btn {
        flex: 1 1 0;
        text-align: center;
    }
    .calendar-field-program-head {
        align-items: flex-start;
    }
}

/* v1.7 - Gestione volontari e servizi */
.badge.danger-soft{background:#fde8e8;color:#9a2f2f}.volunteer-editor,.volunteer-service-editor{max-width:1220px}.volunteer-active-check{align-content:start}
.volunteer-availability-form{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(130px,.8fr) minmax(130px,.8fr) auto;gap:10px;align-items:end;margin-bottom:14px}
.volunteer-kpis{margin-bottom:4px}.volunteer-calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.volunteer-calendar-day{padding:14px}.volunteer-calendar-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:7px}.volunteer-calendar-day-head>div{display:grid;gap:2px}.volunteer-calendar-day-head strong{font-size:16px}.volunteer-calendar-day-head small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.volunteer-day-list{display:grid;gap:0}.volunteer-day-list>div{display:grid;grid-template-columns:82px 1fr;gap:9px;padding:7px 0;border-bottom:1px solid #edf0f2;font-size:12px}.volunteer-day-list>div:last-child{border-bottom:0}.volunteer-day-list>div span{font-variant-numeric:tabular-nums;color:#52606c;font-weight:700}.volunteer-day-list>div strong{font-size:12px}
.volunteer-shift-form{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:10px;align-items:end}.volunteer-shift-form .wide{grid-column:span 3}.volunteer-shift-actions{display:flex;gap:8px;align-items:center;grid-column:1/-1}.service-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.service-card{display:grid;gap:12px}.service-card.is-inactive{opacity:.7}.service-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.service-card-head>div{display:flex;align-items:center;gap:9px}.service-card-head h3{margin:0}.service-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#fff3c4;color:#6b4e00;font-size:13px}.service-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.service-meta{display:grid;gap:5px;font-size:12px;color:#52606c}.service-stats{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fafcfd}.service-stats>div{display:grid;gap:1px;text-align:center;padding:10px}.service-stats>div+div{border-left:1px solid var(--line)}.service-stats strong{font-size:18px}.service-stats span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.volunteer-assignment-kpis{margin-bottom:16px}.volunteer-filter-card{margin-bottom:18px}.volunteer-filter-form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:10px;align-items:end}.volunteer-filter-actions{display:flex;gap:7px}.volunteer-shift-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.volunteer-shift-card{display:grid;gap:12px;border-width:1px;box-shadow:0 10px 28px rgba(15,23,42,.045)}.volunteer-shift-card.is-covered{border-color:#bfe5d0}.volunteer-shift-card.is-partial{border-color:#efd985}.volunteer-shift-card.is-uncovered{border-color:#efc2c2;background:linear-gradient(180deg,#fff,#fffafa)}.volunteer-shift-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.volunteer-shift-card-head>div{display:grid;gap:5px}.volunteer-shift-card-head strong{font-size:16px}.service-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:#52606c}.coverage-badge{min-width:54px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:13px;font-weight:850}.coverage-badge.ok{background:#dff4e9;color:#166742}.coverage-badge.partial{background:#fff2c7;color:#7a5b00}.coverage-badge.missing{background:#fceaea;color:#842525}.volunteer-shift-card-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#52606c}.volunteer-shift-note{margin:0;padding:9px 10px;border-radius:10px;background:#f7f9fa;font-size:12px;color:#52606c}.assigned-volunteers{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.mini-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--muted);margin-right:2px}.assigned-volunteer-chip{display:flex;align-items:center;gap:7px;padding:6px 6px 6px 9px;border:1px solid #d9e1e6;border-radius:999px;background:#fff}.assigned-volunteer-chip>div{display:grid;line-height:1.15}.assigned-volunteer-chip strong{font-size:11px}.assigned-volunteer-chip small{font-size:9px;color:var(--muted)}.assigned-volunteer-chip form{margin:0}.assigned-volunteer-chip button{width:22px;height:22px;border:0;border-radius:999px;background:#eef2f5;color:#64727d;cursor:pointer}.volunteer-assign-form{display:grid;grid-template-columns:1fr auto;gap:7px;padding-top:4px}.availability-warning{padding:8px 10px;border-radius:9px;background:#fff4e5;color:#8b5e16;font-size:11px}.volunteer-shift-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px dashed #d9e1e6;padding-top:10px}.volunteer-shift-card-footer>a{font-size:11px;color:#52606c;font-weight:700}
@media(max-width:1050px){.volunteer-shift-form{grid-template-columns:repeat(3,minmax(130px,1fr))}.volunteer-shift-form .wide{grid-column:span 2}.volunteer-filter-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.volunteer-filter-actions{align-self:end}}
@media(max-width:720px){.volunteer-availability-form,.volunteer-filter-form,.volunteer-shift-form{grid-template-columns:1fr}.volunteer-shift-form .wide,.volunteer-shift-actions{grid-column:auto}.volunteer-shift-grid{grid-template-columns:1fr}.volunteer-filter-actions{display:grid;grid-template-columns:1fr 1fr}.volunteer-shift-card-head{align-items:center}.volunteer-shift-card-footer{align-items:flex-start;flex-direction:column}.service-card-grid{grid-template-columns:1fr}}

/* v1.8 - Risultati, classifiche e tabellone */
.nav-more > summary.active{background:#111827;color:#fff}
.competition-kpis{margin-bottom:16px}.competition-filter-card{margin-bottom:18px}.competition-filter-form{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(180px,1fr) minmax(170px,.8fr) auto;gap:10px;align-items:end}.standings-filter-form{grid-template-columns:minmax(260px,1fr) auto}.competition-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.result-match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(370px,1fr));gap:14px}.result-match-card{display:grid;gap:12px;border-width:1px}.result-match-card.is-completed{border-color:#bfe5d0;background:linear-gradient(180deg,#fff,#fbfffd)}.result-match-card.is-pending{border-color:#e4e8ec}.result-match-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.result-match-meta{display:flex;gap:12px;flex-wrap:wrap;color:#64748b;font-size:12px}.result-score-display{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;padding:15px;border-radius:14px;background:#f7f9fb;border:1px solid #e5e9ed}.result-score-display>div:first-child,.result-score-display>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.result-score-display>div:last-child{justify-content:flex-start}.result-score-display strong{font-size:15px;overflow-wrap:anywhere}.score-number{font-size:30px;font-weight:900;line-height:1}.score-separator{font-size:18px;color:#94a3b8;font-weight:800}.pending-score .score-separator{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.penalty-result{text-align:center;font-size:12px;color:#52606c}.result-entry-form{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end;padding-top:12px;border-top:1px dashed #dce2e7}.result-entry-form>label{display:grid;gap:6px}.result-entry-form>label span{font-size:11px;color:#64748b;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-entry-form>label:first-of-type input{text-align:right}.result-entry-form input[type=number]{font-size:21px;font-weight:850;text-align:center}.result-entry-dash{padding-bottom:12px;font-weight:800;color:#94a3b8}.penalty-entry{grid-column:1/-1;display:grid;grid-template-columns:1fr 100px auto 100px;gap:8px;align-items:center;padding:9px 10px;border-radius:10px;background:#fff8e8}.penalty-entry>span{font-size:11px;color:#775b17}.penalty-entry input{font-size:13px!important}.result-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.result-clear-form{display:flex;justify-content:flex-end;margin-top:-4px}
.standings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(470px,1fr));gap:16px}.standings-card{padding:0;overflow:hidden}.standings-card.is-complete{border-color:#bfe5d0}.standings-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:#fafcfd}.standings-card-head h3{margin:3px 0 0}.standings-progress{display:grid;justify-items:end;gap:4px}.standings-progress small{font-size:10px;color:#64748b}.standings-table-wrap{border:0;border-radius:0;box-shadow:none}.standings-table{min-width:520px}.standings-table th:not(:nth-child(2)),.standings-table td:not(:nth-child(2)){text-align:center}.standings-table td:nth-child(2){min-width:180px}.standings-points{font-size:17px;font-weight:900}.standings-table .positive{color:#166534;font-weight:800}.standings-table .negative{color:#9f3232;font-weight:800}.standings-table tr.has-unresolved-tie{background:#fffaf0}.tie-warning{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;background:#fff0c2;color:#765800;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.standings-card-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 18px;border-top:1px solid var(--line);font-size:10px;color:#64748b}
.knockout-stage-switch{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}.knockout-stage-switch form{min-width:min(440px,100%)}.knockout-rule-editor{margin-bottom:20px}.knockout-rule-form{display:grid;grid-template-columns:120px minmax(220px,1fr) 120px;gap:10px;align-items:end}.knockout-rule-form .wide{grid-column:span 3}.knockout-editor-actions{grid-column:1/-1;display:flex;gap:8px}.knockout-bracket{display:flex;gap:18px;overflow-x:auto;padding-bottom:8px;align-items:flex-start}.knockout-round{min-width:330px;max-width:390px;flex:1 0 330px}.knockout-round-head{display:flex;justify-content:space-between;align-items:center;padding:0 4px 10px}.knockout-round-head strong{font-size:17px}.knockout-round-head span{font-size:11px;color:#64748b}.knockout-round-list{display:grid;gap:12px}.knockout-match{border:1px solid #dce2e7;border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.05);overflow:hidden}.knockout-match.is-materialized{border-color:#bed9c8}.knockout-match-top{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;background:#f8fafb;border-bottom:1px solid #e8ecef;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#64748b}.knockout-side{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:12px}.knockout-side+.knockout-side{border-top:1px solid #edf0f2}.knockout-side>span{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:#f1f4f6;color:#64748b;font-size:10px;font-weight:800}.knockout-side strong{font-size:13px}.knockout-side b{font-size:20px}.knockout-penalties{text-align:right;padding:0 12px 7px;font-size:10px;color:#64748b}.knockout-match-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;border-top:1px solid #edf0f2;background:#fbfcfd}.knockout-match-footer>span{font-size:9px;color:#64748b;line-height:1.35}.knockout-match-footer>div{white-space:nowrap}.calendar-inline-score,.calendar-table-score{display:inline-block;padding:2px 7px;border-radius:8px;background:#ecf7f0;color:#145f3b;font-weight:900}.calendar-card-score{display:grid;justify-items:center;gap:2px;min-width:66px}.calendar-card-score strong{font-size:22px;line-height:1}.calendar-card-score small{font-size:9px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:900px){.competition-filter-form,.standings-filter-form{grid-template-columns:1fr 1fr}.competition-filter-actions{grid-column:1/-1}.standings-grid{grid-template-columns:1fr}.knockout-rule-form{grid-template-columns:1fr 1fr}.knockout-rule-form .wide{grid-column:1/-1}.knockout-editor-actions{grid-column:1/-1}}
@media(max-width:650px){.competition-filter-form,.standings-filter-form,.knockout-rule-form{grid-template-columns:1fr}.competition-filter-actions,.knockout-rule-form .wide,.knockout-editor-actions{grid-column:auto}.result-match-grid{grid-template-columns:1fr}.result-score-display{grid-template-columns:1fr;justify-items:center;text-align:center}.result-score-display>div:first-child,.result-score-display>div:last-child{justify-content:center}.result-entry-form{grid-template-columns:1fr auto 1fr}.penalty-entry{grid-template-columns:1fr 70px auto 70px}.penalty-entry>span{grid-column:1/-1}.standings-card-head,.standings-card-footer,.knockout-stage-switch{align-items:flex-start;flex-direction:column}.standings-progress{justify-items:start}.knockout-round{min-width:290px;flex-basis:290px}.knockout-stage-switch form{width:100%;min-width:0}}

/* v1.9 - modifica struttura tabellone + generazione automatica */
.knockout-auto-builder{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;align-items:center;margin-bottom:20px;border-color:#cfe0d6;background:linear-gradient(135deg,#fbfffc,#f6faf8)}
.knockout-auto-copy{display:grid;gap:6px}.knockout-auto-copy .eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:#537262}.knockout-auto-copy h3{margin:0;font-size:20px}.knockout-auto-copy p{margin:0;color:#64748b;font-size:12px;line-height:1.55;max-width:760px}
.knockout-auto-form{display:grid;gap:10px}.knockout-replace-check{display:flex!important;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid #dfe6e2;border-radius:12px;background:#fff}.knockout-replace-check input{margin-top:3px}.knockout-replace-check span{display:grid;gap:2px}.knockout-replace-check strong{font-size:12px}.knockout-replace-check small{font-size:10px;color:#64748b;line-height:1.35}.knockout-match-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.knockout-match-actions form{margin:0}
@media(max-width:850px){.knockout-auto-builder{grid-template-columns:1fr}.knockout-auto-form{grid-template-columns:1fr 1fr;align-items:end}.knockout-replace-check{grid-column:1/-1}.knockout-auto-form .btn{grid-column:1/-1}}
@media(max-width:600px){.knockout-auto-form{grid-template-columns:1fr}.knockout-replace-check,.knockout-auto-form .btn{grid-column:auto}.knockout-match-actions{justify-content:flex-start}}

/* v2.0 - azzeramento sicuro della struttura sportiva del torneo */
.tournament-row-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.reset-tournament-shell{max-width:1050px;margin:0 auto}.reset-danger-card{border-color:#efc2c2;box-shadow:0 18px 45px rgba(132,37,37,.08)}.reset-danger-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.reset-danger-head h2{margin:8px 0 4px;font-size:26px}.reset-danger-head p{margin:0}.reset-summary-grid{margin:18px 0}.reset-summary{border:1px solid var(--line);border-radius:14px;padding:16px}.reset-summary h3{margin:0 0 10px}.reset-summary ul{margin:0;padding-left:20px;display:grid;gap:7px;font-size:13px;line-height:1.45}.reset-summary.delete-list{background:#fff8f8;border-color:#efcaca}.reset-summary.delete-list h3{color:#842525}.reset-summary.preserve-list{background:#f7fcf9;border-color:#cbe8d7}.reset-summary.preserve-list h3{color:#17623f}.reset-warning{margin-top:18px}.reset-confirm-form{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:14px;align-items:end;border-top:1px solid var(--line);padding-top:18px}.reset-confirm-form label{display:grid;gap:7px}.reset-confirm-form input{text-transform:uppercase;font-weight:800;letter-spacing:.04em}.reset-confirm-button{min-height:42px;font-weight:800}@media(max-width:720px){.reset-danger-head{flex-direction:column}.reset-danger-head .btn{width:100%}.reset-confirm-form{grid-template-columns:1fr}.reset-confirm-button{width:100%}.tournament-row-actions{justify-content:flex-start}}


/* v2.2 - riepilogo squadre per torneo */
.team-summary-title{align-items:flex-end}.team-summary-title h2{margin-bottom:3px}.team-summary-title p{margin:0}
.tournament-team-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px;margin-bottom:24px}
.tournament-team-card{display:grid;gap:14px;text-decoration:none;color:inherit;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.tournament-team-card:hover{transform:translateY(-2px);border-color:#bcd4c6;box-shadow:0 15px 35px rgba(15,23,42,.08)}
.tournament-team-card.is-current{border-color:#9ecab0;background:linear-gradient(145deg,#fff,#f6fcf8)}
.tournament-team-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.tournament-team-head h3{margin:3px 0 0}.tournament-team-head .eyebrow{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#64748b;font-weight:900}
.tournament-team-total{display:flex;align-items:baseline;gap:8px}.tournament-team-total strong{font-size:34px;line-height:1;font-weight:900}.tournament-team-total span{font-size:12px;color:#64748b;font-weight:700}
.tournament-team-breakdown{display:flex;gap:7px;flex-wrap:wrap}.team-count-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #e1e7eb;border-radius:999px;background:#f8fafb;font-size:10px;color:#52606c;font-weight:700}.team-count-pill b{font-size:12px;color:#16231c}.team-count-pill.male{background:#f4f8ff}.team-count-pill.female{background:#fff6fa}.team-count-pill.mixed{background:#fffaf0}.team-count-pill.other{background:#f7f7f8}
.team-summary-compact{padding:16px 18px}.team-summary-compact-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:13px}.team-summary-compact-head h3{margin:0 0 3px}.team-summary-compact-head p{margin:0}
.team-summary-compact-grid{display:grid;gap:8px}.team-summary-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(78px,.55fr));gap:8px;align-items:center;padding:9px 10px;border:1px solid #e4e9ec;border-radius:12px;background:#fbfcfd}.team-summary-row.is-current{border-color:#b8d8c5;background:#f7fcf9}.team-summary-name{display:grid;gap:2px}.team-summary-name strong{font-size:12px}.team-summary-name small{font-size:9px;color:#47705b}.team-summary-total,.team-summary-stat{display:grid;justify-items:center;gap:1px}.team-summary-total b,.team-summary-stat b{font-size:18px;line-height:1}.team-summary-total span,.team-summary-stat span{font-size:9px;color:#64748b}.team-summary-stat.male b{color:#315b8e}.team-summary-stat.female b{color:#9a456a}.team-summary-stat.mixed b{color:#8a6828}
@media(max-width:760px){.team-summary-compact-head{flex-direction:column}.team-summary-row{grid-template-columns:1fr repeat(4,minmax(52px,1fr))}.team-summary-name{grid-column:1/-1;padding-bottom:4px;border-bottom:1px solid #e8ecef}.team-summary-total b,.team-summary-stat b{font-size:16px}.team-summary-total span,.team-summary-stat span{font-size:8px}}
@media(max-width:480px){.tournament-team-summary{grid-template-columns:1fr}.team-summary-row{grid-template-columns:repeat(2,1fr)}.team-summary-name{grid-column:1/-1}.team-summary-total,.team-summary-stat{padding:5px;border-radius:8px;background:#fff}}
