:root{--navy:#0d2b45;--blue:#175c8f;--cyan:#2a9dba;--bg:#f4f7fa;--card:#fff;--line:#dfe7ee;--text:#17212b;--muted:#667787;--ok:#1b7f5a;--warn:#ad6a00;--danger:#b42318;--shadow:0 6px 22px rgba(13,43,69,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Segoe UI,Arial,sans-serif;color:var(--text);font-size:14px}.topbar{height:64px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.3px}.logo{width:38px;height:38px;border-radius:10px;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:900}.season-select{display:flex;align-items:center;gap:8px}.season-select select{background:#173e5e;color:#fff;border:1px solid #376784;padding:8px 10px;border-radius:8px}.layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 64px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:18px 12px}.nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:3px 0;border-radius:9px;color:#304455;text-decoration:none;font-weight:600}.nav a:hover{background:#eef5f9;color:var(--navy)}.main{padding:24px;max-width:1500px;width:100%}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.page-title h1{margin:0;font-size:26px;color:var(--navy)}.subtitle{color:var(--muted);margin-top:5px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.card h2,.card h3{margin:0 0 12px;color:var(--navy)}.metric{font-size:30px;font-weight:800;color:var(--navy)}.metric-label{color:var(--muted);font-size:13px;margin-top:4px}.hero-match{background:linear-gradient(135deg,#0d2b45,#175c8f);color:#fff}.hero-match h2{color:#fff}.hero-match .big{font-size:24px;font-weight:800;margin:8px 0}.hero-match .meta{display:flex;gap:18px;flex-wrap:wrap;color:#dceaf3}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{width:100%;border-collapse:collapse;min-width:720px}th{background:#eef3f7;color:#415666;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.4px;padding:10px 11px;border-bottom:1px solid var(--line)}td{padding:10px 11px;border-bottom:1px solid #edf1f4;vertical-align:middle}tr:last-child td{border-bottom:0}tr:hover td{background:#fbfdfe}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;padding:9px 13px;font-weight:700;text-decoration:none;cursor:pointer;background:var(--navy);color:#fff}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:#e8f0f5;color:var(--navy)}.btn.ok{background:var(--ok)}.btn.danger{background:var(--danger)}.btn.small{padding:6px 9px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#eaf0f4;color:#4d6070}.badge.ok{background:#e7f6ef;color:var(--ok)}.badge.warning{background:#fff3d9;color:var(--warn)}.badge.danger{background:#fde8e6;color:var(--danger)}.badge.muted{background:#eef1f3;color:#65727d}.badge.blue{background:#e3f0f8;color:#175c8f}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:5px}.field.span-2{grid-column:span 2}.field.span-4{grid-column:span 4}label{font-size:12px;color:#586a78;font-weight:700}input,select,textarea{width:100%;border:1px solid #cfdbe4;border-radius:8px;padding:9px 10px;background:#fff;color:var(--text);font:inherit}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(42,157,186,.2);border-color:var(--cyan)}.check{display:flex;align-items:center;gap:7px}.check input{width:auto}.status-select{min-width:130px}.copybox{background:#0f1d28;color:#e9f2f7;border-radius:10px;padding:14px;white-space:pre-wrap;line-height:1.5;min-height:120px}.alert-list{display:grid;gap:8px}.alert-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:9px;background:#f7f9fb}.alert-item strong{font-size:18px}.empty{padding:35px;text-align:center;color:var(--muted)}.message{padding:12px 14px;border-radius:9px;background:#e7f6ef;color:var(--ok);margin-bottom:14px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px}.section-title h2{margin:0;color:var(--navy);font-size:19px}.position{font-size:11px;color:var(--muted);font-weight:700}.nowrap{white-space:nowrap}.right{text-align:right}.center{text-align:center}.muted{color:var(--muted)}.danger-text{color:var(--danger)}.warning-text{color:var(--warn)}.ok-text{color:var(--ok)}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.sidebar{display:none}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr}.field.span-4{grid-column:span 2}.main{padding:16px}}@media(max-width:650px){.topbar{padding:0 12px}.brand span:last-child{display:none}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.span-2,.field.span-4{grid-column:span 1}.main{padding:12px}.page-title{flex-direction:column}.season-select label{display:none}}

.logo-image-wrap{overflow:hidden;background:#fff;padding:2px}.logo-image-wrap img{width:100%;height:100%;object-fit:contain;display:block;border-radius:8px}.dashboard-title-wrap{display:flex;align-items:center;gap:14px}.dashboard-club-logo{width:62px;height:62px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:14px;padding:5px;box-shadow:var(--shadow)}.logo-manager-card{display:flex;align-items:center;gap:20px}.logo-manager-preview{flex:0 0 130px;width:130px;height:130px;border:1px dashed #b9c9d5;border-radius:16px;background:#f8fafc;display:grid;place-items:center;overflow:hidden}.logo-manager-image{width:100%;height:100%;object-fit:contain;padding:8px}.logo-manager-placeholder{width:86px;height:86px;border-radius:18px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:900}.logo-manager-content{flex:1;min-width:0}.logo-upload-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.logo-upload-form input[type=file]{max-width:460px}.logo-help{margin-top:8px;color:var(--muted);font-size:12px}.error-message{background:#fde8e6;color:var(--danger)}
@media(max-width:650px){.logo-manager-card{align-items:flex-start;flex-direction:column}.logo-manager-preview{width:108px;height:108px;flex-basis:108px}.dashboard-club-logo{width:52px;height:52px}}


/* V2.4 - vincoli robusti logo e correzione cache/layout */
.brand{min-width:0}
.logo.logo-image-wrap{flex:0 0 40px;width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;padding:3px!important;overflow:hidden!important;border-radius:10px!important;background:#fff!important}
.logo.logo-image-wrap img{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;object-fit:contain!important;display:block!important;margin:auto!important}
.dashboard-title-wrap{display:flex!important;align-items:center!important;gap:14px!important;min-height:68px}
.dashboard-club-logo{flex:0 0 68px!important;width:68px!important;height:68px!important;max-width:68px!important;max-height:68px!important;object-fit:contain!important;display:block!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:5px!important;box-shadow:var(--shadow)!important}
@media(max-width:650px){.logo.logo-image-wrap{flex-basis:36px;width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important}.logo.logo-image-wrap img{width:30px!important;height:30px!important;max-width:30px!important;max-height:30px!important}.dashboard-club-logo{flex-basis:54px!important;width:54px!important;height:54px!important;max-width:54px!important;max-height:54px!important}}

/* V2.5 - foto documento fronte/retro in Tesseramenti */
.registrations-table{min-width:1180px}.doc-photo-cell{min-width:300px}.doc-side-row{display:grid;grid-template-columns:48px auto 1fr;align-items:center;gap:7px;margin:4px 0}.doc-side-label{font-size:12px;font-weight:800;color:var(--navy)}.doc-upload-inline{display:inline;margin:0}.hidden-file-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}.doc-preview-btn{white-space:nowrap;background:var(--blue)}.doc-storage-note{margin-top:12px;color:var(--muted);font-size:12px}.doc-preview-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px}.doc-preview-modal.open{display:flex}.doc-preview-backdrop{position:absolute;inset:0;background:rgba(9,25,38,.72);backdrop-filter:blur(2px)}.doc-preview-dialog{position:relative;z-index:1;width:min(980px,94vw);height:min(780px,90vh);background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.34);display:flex;flex-direction:column;overflow:hidden}.doc-preview-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);color:var(--navy)}.doc-preview-close{border:0;background:#edf3f7;color:var(--navy);width:36px;height:36px;border-radius:9px;font-size:24px;line-height:1;cursor:pointer}.doc-preview-body{flex:1;min-height:0;padding:18px;background:#eef3f7;display:grid;place-items:center;overflow:auto}.doc-preview-body img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.12)}body.modal-open{overflow:hidden}@media(max-width:650px){.doc-preview-modal{padding:8px}.doc-preview-dialog{width:98vw;height:88vh}.doc-side-row{grid-template-columns:44px auto 1fr}.doc-preview-btn{padding:6px 7px}}

/* V2.6 - Convocazioni: colonna Convocato sempre visibile e flag piu leggibile */
.callups-grid{grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);align-items:start}
.callups-table-wrap{width:100%;overflow-x:auto}
.callups-table{width:100%;min-width:0;table-layout:fixed}
.callups-col-player{width:37%}.callups-col-position{width:19%}.callups-col-status{width:27%}.callups-col-selected{width:17%}
.callups-table th,.callups-table td{overflow:hidden;text-overflow:ellipsis}
.callups-table .status-select{width:100%;min-width:0;padding-left:9px;padding-right:30px}
.callup-selected-head,.callup-selected-cell{text-align:center!important;padding-left:8px!important;padding-right:8px!important;overflow:visible!important}
.callup-checkbox-label{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:88px;padding:5px 8px;border:1px solid #d5e1e9;border-radius:9px;background:#f8fbfd;color:#405464;font-size:12px;font-weight:700;cursor:pointer;user-select:none;transition:.15s ease}
.callup-checkbox-label:hover{border-color:#9fc5d8;background:#f0f8fb}
.callup-checkbox{width:23px!important;height:23px!important;min-width:23px!important;max-width:23px!important;padding:0!important;margin:0!important;accent-color:var(--blue);cursor:pointer;flex:0 0 23px}
.callup-row.is-selected td{background:#eef8fc}
.callup-row.is-selected .callup-checkbox-label{background:#e2f2f9;border-color:#8cc5dd;color:var(--navy)}
.callup-row.is-selected:hover td{background:#e7f5fb}
@media(max-width:1250px){.callups-grid{grid-template-columns:1fr}.callups-messages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.callups-table{min-width:650px}.callups-messages{grid-template-columns:1fr}.callup-checkbox-label{min-width:80px}.callup-checkbox-label span{display:none}}

/* V2.8 - evidenza infortuni nelle convocazioni */
.injury-icon{display:none;margin-right:8px;color:#c62828;font-size:18px;line-height:1;vertical-align:-1px;font-weight:900}
.callup-row.is-injured td{background:#fff0f0!important;border-bottom-color:#f3c7c7}
.callup-row.is-injured td:first-child{box-shadow:inset 4px 0 0 #d32f2f}
.callup-row.is-injured:hover td{background:#ffe8e8!important}
.callup-row.is-injured .injury-icon{display:inline-block}
.callup-row.is-injured .status-select{border-color:#e09a9a;background:#fff7f7;color:#a61b1b;font-weight:700}
.callup-row.is-injured .callup-checkbox-label{border-color:#edc5c5}

/* V2.9 - gestione giocatori svincolati */
.roster-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.badge.released{background:#fbe9e7;color:#a61b1b;border:1px solid #efc5c0}
.released-row td{background:#f7f7f7!important;color:#6f777e}
.released-row td:first-child{box-shadow:inset 4px 0 0 #b42318}
.released-row:hover td{background:#f1f1f1!important}
.released-row strong{color:#5f656b}
.roster-actions form,.registration-actions form{display:inline;margin:0}
.roster-table{min-width:1080px}
.registrations-table{min-width:1320px}
.player-status-card{display:flex;align-items:center;justify-content:space-between;gap:18px}
.released-status-card{border-color:#efc5c0;background:#fffafa}
@media(max-width:650px){.player-status-card{align-items:flex-start;flex-direction:column}.roster-summary{width:100%}}

/* V2.11 - donut interattivo per il limite di 18 convocati */
.callup-capacity-card{overflow:hidden}
.callup-capacity-title{align-items:center}
.callup-capacity-content{display:flex;align-items:center;gap:20px;min-width:0}
.callup-donut{--callup-fill:0%;--callup-donut-color:#c77a00;position:relative;flex:0 0 156px;width:156px;height:156px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--callup-donut-color) 0 var(--callup-fill),#e4ebf0 var(--callup-fill) 100%);transition:background .2s ease;box-shadow:inset 0 0 0 1px rgba(13,43,69,.04)}
.callup-donut::after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #e6edf2}
.callup-donut-inner{position:relative;z-index:1;display:grid;place-items:center;line-height:1;text-align:center;color:var(--navy)}
.callup-donut-inner strong{font-size:38px;letter-spacing:-1.5px}
.callup-donut-inner span{margin-top:3px;font-size:13px;font-weight:800;color:var(--muted)}
.callup-donut-inner small{margin-top:9px;font-size:14px;font-weight:900;color:var(--callup-donut-color)}
.callup-capacity-copy{min-width:0;display:grid;gap:5px}
.callup-capacity-copy>strong{font-size:18px;color:var(--navy);line-height:1.2}
.callup-capacity-copy .subtitle{margin-top:0;line-height:1.45}
@media(max-width:1380px) and (min-width:1251px){.callup-capacity-content{gap:14px}.callup-donut{flex-basis:128px;width:128px;height:128px}.callup-donut::after{inset:14px}.callup-donut-inner strong{font-size:32px}.callup-capacity-copy>strong{font-size:16px}}
@media(max-width:650px){.callup-capacity-content{align-items:center;gap:14px}.callup-donut{flex-basis:120px;width:120px;height:120px}.callup-donut::after{inset:13px}.callup-donut-inner strong{font-size:30px}.callup-capacity-copy>strong{font-size:16px}}

/* V2.21 - Distinta: layout master UISP replicato dal riferimento fornito */
.lineup-editor-grid{align-items:start}.lineup-savebar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0}.lineup-preview-card{margin-top:18px}.lineup-preview-heading{margin-top:0}.lineup-preview-warning{margin-top:7px;color:#a61b1b;background:#fff0f0;border:1px solid #efc5c0;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:700}
.official-sheet-wrap{overflow:auto;padding:10px;background:#eef2f5;border-radius:12px;border:1px solid #dce4ea}
.official-sheet{position:relative;width:794px;height:1123px;margin:0 auto;background:#fff;color:#000;border:1px solid #b7b7b7;box-shadow:0 6px 18px rgba(0,0,0,.14);font-family:Arial,Helvetica,sans-serif;overflow:hidden;box-sizing:border-box}
.official-sheet-inner{position:relative;width:100%;height:100%;box-sizing:border-box;background:#fff}
.official-logo-box{position:absolute;left:63px;top:37px;width:174px;height:187px;display:flex;align-items:center;justify-content:center;padding:0;border:0!important;background:#fff}
.official-logo-box img{display:block;max-width:174px;max-height:187px;object-fit:contain}.official-logo-placeholder{width:150px;height:150px;display:grid;place-items:center;border:2px solid #000;font-weight:800;font-size:34px}
.official-meta{position:absolute;left:284px;top:48px;width:495px;height:151px;border:1px solid #000;box-sizing:border-box;background:#fff;display:flex;flex-direction:column}
.official-meta-row{display:grid;box-sizing:border-box;border-bottom:1px solid #000;min-height:0}.official-meta-row:last-child{border-bottom:0}.official-meta-row>*{display:flex;align-items:center;min-width:0;height:100%;box-sizing:border-box;padding:0 7px;border-right:1px solid #000;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.official-meta-row>*:last-child{border-right:0}.official-meta-row>span,.official-meta-row>b{font-weight:800}.official-meta-row>strong{font-weight:400}
.official-meta-title{height:34px;grid-template-columns:135px 1fr}.official-meta-title strong{justify-content:center;font-size:18px;font-weight:800}.official-meta-title span{font-size:14px}
.official-match-row{height:24px;grid-template-columns:135px 165px 34px 1fr}.official-match-row strong{font-size:12px}.official-match-row b{justify-content:center;font-size:13px}.official-match-row span{font-size:13px}
.official-date-row{height:23px;grid-template-columns:135px 165px 34px 1fr}.official-date-row strong{font-size:12px}.official-date-row b{justify-content:center;font-size:13px}.official-date-row span{font-size:13px}
.official-meta-simple{grid-template-columns:135px 1fr}.official-meta-simple:nth-child(4){height:24px}.official-meta-simple:nth-child(5){height:23px}.official-meta-simple:nth-child(6){height:23px}.official-meta-simple span{font-size:13px}.official-meta-simple strong{font-size:12px}
.official-roster-table,.official-staff-table{border-collapse:collapse;table-layout:fixed;box-sizing:border-box;background:#fff;color:#000}
.official-starters-table{position:absolute;left:20px;top:266px;width:758px}.official-roster-table .col-no{width:5.1%}.official-roster-table .col-name{width:33.6%}.official-roster-table .col-cap{width:7.6%}.official-roster-table .col-year{width:8.6%}.official-roster-table .col-card{width:15%}.official-roster-table .col-doc{width:16.4%}.official-roster-table .col-phone{width:13.7%}
.official-roster-table th,.official-roster-table td{box-sizing:border-box;padding:0 5px!important;border-right:1px solid #000!important;border-bottom:1px solid #000!important;background:#fff!important;color:#000!important;font-size:12px!important;font-family:Arial,Helvetica,sans-serif!important;line-height:1!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.official-roster-table th{height:20px;background:#000!important;color:#fff!important;text-align:center!important;font-weight:800!important}.official-starters-table td{height:19px}.official-bench-table{position:absolute;left:20px;top:515px;width:758px}.official-bench-table td{height:19px}.official-roster-table td:first-child,.official-roster-table td:nth-child(3),.official-roster-table td:nth-child(4),.official-roster-table td:nth-child(5),.official-roster-table td:nth-child(6),.official-roster-table td:nth-child(7){text-align:center!important}.official-roster-table td:nth-child(2){text-align:left!important}.official-roster-table tr>*:last-child{border-right:0!important}.official-sheet tr:hover td{background:#fff!important}
.official-section-bar{position:absolute;left:20px;width:758px;height:20px;display:flex;align-items:center;justify-content:center;background:#000;color:#fff;font:800 12px/1 Arial,Helvetica,sans-serif;border:1px solid #000;box-sizing:border-box}.official-bench-bar{top:495px}.official-staff-bar{top:666px;height:21px}
.official-staff-table{position:absolute;left:20px;top:687px;width:758px}.official-staff-table .staff-role{width:23.8%}.official-staff-table .staff-name{width:31.5%}.official-staff-table .staff-card{width:14.6%}.official-staff-table .staff-doc{width:16.4%}.official-staff-table .staff-phone{width:13.7%}.official-staff-table th,.official-staff-table td{height:19px;box-sizing:border-box;border-right:1px solid #000;border-bottom:1px solid #000;padding:0 5px;font:400 12px/1 Arial,Helvetica,sans-serif;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.official-staff-table th{font-weight:800;text-align:left}.official-staff-table td:nth-child(3),.official-staff-table td:nth-child(4),.official-staff-table td:nth-child(5){text-align:center}.official-staff-table tr>*:last-child{border-right:0}
/* V2.21 - bordo continuo nelle zone indicate sul modello: lati blocco giocatori/dirigenti e fondo */
.official-main-outline{position:absolute;left:20px;top:266px;width:758px;height:516px;box-sizing:border-box;border-left:1px solid #000;border-right:1px solid #000;border-bottom:1px solid #000;pointer-events:none;z-index:4}
.official-footer{position:absolute;left:23px;top:803px;width:755px;height:153px;display:grid;grid-template-columns:371px 384px;border:1px solid #000!important;box-sizing:border-box;background:#fff}.official-signature{border-right:1px solid #000;display:grid;grid-template-rows:48px 1fr}.official-black-label{display:flex;align-items:center;justify-content:center;text-align:center;background:#000;color:#fff;font:800 14px/1.05 Arial,Helvetica,sans-serif}.official-sign-space{background:#fff}.official-referee{display:grid;grid-template-rows:48px 79px 24px}.official-referee>div{box-sizing:border-box;border-bottom:1px solid #000;padding:0 8px;display:flex;align-items:center;font:700 14px/1 Arial,Helvetica,sans-serif}.official-referee .ref-phone{padding:0;display:grid;grid-template-columns:159px 1fr;border-bottom:0}.official-referee .ref-phone strong{height:100%;display:flex;align-items:center;justify-content:center;background:#000;color:#fff}.official-referee .ref-phone span{height:100%;background:#fff;border-left:1px solid #000}
.official-bottom-banner{position:absolute;left:120px;top:964px;width:543px;height:91px;display:flex;align-items:center;justify-content:center;background:#fff;border:0!important;padding:0;overflow:hidden}.official-bottom-banner img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
@media(max-width:1100px){.official-sheet-wrap{padding:8px}.official-sheet{margin-left:0}}
@media print{
  @page{size:A4 portrait;margin:8mm}
  html,body{margin:0!important;padding:0!important;background:#fff!important;width:auto!important;min-width:0!important}
  .topbar,.sidebar,.page-title,.lineup-editor-grid,.lineup-savebar,.lineup-preview-heading{display:none!important}
  .layout,.main,.lineup-preview-card,.official-sheet-wrap{display:block!important;margin:0!important;padding:0!important;width:auto!important;max-width:none!important;border:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}
  .official-sheet{display:block!important;position:relative!important;left:auto!important;top:auto!important;width:194mm!important;height:274.2mm!important;margin:0 auto!important;border:0!important;box-shadow:none!important;transform:scale(.9238)!important;transform-origin:top left!important;overflow:hidden!important}
  body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* V2.23 - accessi e ruoli */
.topbar-right{display:flex;align-items:center;gap:18px;margin-left:auto}.user-menu{display:flex;align-items:center;gap:9px;color:#fff;font-size:13px}.user-role-badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:4px 8px;background:#d7e8f3;color:#17354a}.user-role-badge.admin{background:#ffe1a6;color:#704500}.user-role-badge.operator{background:#d7f1e3;color:#17613c}.logout-btn{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:8px;padding:6px 9px;cursor:pointer}.logout-btn:hover{background:rgba(255,255,255,.12)}
.auth-page{margin:0;min-height:100vh;background:linear-gradient(135deg,#0e3048,#154f75 55%,#e7f0f5);font-family:Arial,sans-serif}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:min(430px,100%);background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(4,26,42,.28);padding:28px}.setup-card{width:min(760px,100%)}.auth-brand{display:flex;align-items:center;gap:15px;margin-bottom:22px}.auth-brand img,.auth-logo-fallback{width:62px;height:62px;object-fit:contain;border-radius:13px;background:#f2f7fa}.auth-logo-fallback{display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#0e3550}.auth-brand h1{margin:0 0 3px;font-size:25px;color:#0f3048}.auth-form{display:grid;gap:14px}.auth-submit{width:100%;justify-content:center;margin-top:4px}.permission-note{background:#f2f7fa;border-left:4px solid #2a789f;padding:12px 14px;border-radius:8px;color:#345268;line-height:1.45}.operator-note{border-left-color:#2a789f}.access-denied-card{max-width:650px}.access-denied-card h2{margin-top:0}
@media(max-width:850px){.topbar-right{gap:8px}.user-role-badge{display:none}.user-menu strong{display:none}}


/* V2.24 - utenti operativi multipli e convocazioni compatte */
.access-admin-panel{padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fbfd}.access-admin-panel h3,.operator-add-box h3{margin:0 0 12px;color:var(--navy)}
.access-subtitle{margin-top:18px!important}.operator-users-list{display:grid;gap:9px}.operator-user-row{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(220px,1.35fr) 130px auto;gap:10px;align-items:end;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}.operator-user-row .field{min-width:0}.operator-active-toggle{height:38px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #d6e0e7;border-radius:8px;background:#f8fbfd;white-space:nowrap}.operator-active-toggle input{width:auto}.operator-user-actions{display:flex;gap:7px;align-items:center;height:38px}.operator-add-box{margin-top:16px;padding:14px;border:1px dashed #a9c5d6;border-radius:11px;background:#f7fbfd}.compact-empty{padding:18px!important;border:1px dashed var(--line);border-radius:10px;background:#fafcfd}
.callups-match-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.callups-match-header h2{margin-bottom:4px}.callups-top-actions{flex:0 0 auto;justify-content:flex-end}.callups-table th{padding-top:7px!important;padding-bottom:7px!important}.callups-table td{padding-top:5px!important;padding-bottom:5px!important}.callups-table .status-select{height:32px;padding-top:4px!important;padding-bottom:4px!important}.callup-checkbox-label{padding:3px 7px!important;min-height:32px;min-width:82px}.callup-checkbox{width:19px!important;height:19px!important;min-width:19px!important;max-width:19px!important;flex-basis:19px!important}.injury-icon{font-size:16px!important;margin-right:6px!important}
@media(max-width:1000px){.operator-user-row{grid-template-columns:1fr 1fr}.operator-user-actions{height:auto}.callups-match-header{align-items:stretch;flex-direction:column}.callups-top-actions{justify-content:flex-start}}
@media(max-width:650px){.operator-user-row{grid-template-columns:1fr}.operator-active-toggle{height:34px}.callups-top-actions .btn{flex:1 1 auto}}


/* V2.25 - Calendario stile Outlook con viste Mese / Settimana / Elenco */
.calendar-page-title{margin-bottom:12px}.outlook-calendar-shell{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.outlook-calendar-toolbar{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border-bottom:1px solid var(--line);background:#fff}.calendar-toolbar-left{display:flex;align-items:center;gap:9px;min-width:0}.calendar-new-btn{white-space:nowrap}.calendar-today-btn,.calendar-nav-group button,.calendar-view-button,.calendar-panel-close{border:1px solid #cfdbe4;background:#fff;color:var(--navy);font:700 13px/1 Segoe UI,Arial,sans-serif;cursor:pointer}.calendar-today-btn{height:36px;border-radius:8px;padding:0 13px}.calendar-today-btn:hover,.calendar-nav-group button:hover,.calendar-view-button:hover{background:#eef5f9}.calendar-today-btn:disabled,.calendar-nav-group button:disabled{opacity:.4;cursor:default;background:#f7f9fb}.calendar-nav-group{display:flex;border:1px solid #cfdbe4;border-radius:8px;overflow:hidden}.calendar-nav-group button{width:36px;height:34px;border:0;border-right:1px solid #cfdbe4;font-size:23px;font-weight:400}.calendar-nav-group button:last-child{border-right:0}.calendar-period-title{font-size:20px;font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:4px}.calendar-view-switcher{position:relative;flex:0 0 auto}.calendar-view-button{height:36px;border-radius:8px;padding:0 12px;display:flex;align-items:center;gap:8px}.calendar-view-menu{display:none;position:absolute;right:0;top:42px;z-index:60;width:230px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 14px 38px rgba(13,43,69,.18)}.calendar-view-menu.open{display:grid}.calendar-view-menu button{border:0;background:#fff;text-align:left;border-radius:8px;padding:10px 11px;cursor:pointer;color:var(--text);display:grid;gap:2px}.calendar-view-menu button:hover,.calendar-view-menu button.active{background:#edf5fa}.calendar-view-menu button strong{color:var(--navy);font-size:13px}.calendar-view-menu button span{color:var(--muted);font-size:11px}.calendar-view-panel{background:#fff}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);background:#f8fafc}.calendar-weekdays>div{padding:9px 10px;text-align:center;color:#536878;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-right:1px solid #edf1f4}.calendar-weekdays>div:last-child{border-right:0}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(112px,1fr));min-height:672px}.calendar-day-cell{min-width:0;padding:6px;border-right:1px solid #e6edf2;border-bottom:1px solid #e6edf2;background:#fff;overflow:hidden}.calendar-day-cell:nth-child(7n){border-right:0}.calendar-day-cell:nth-last-child(-n+7){border-bottom:0}.calendar-day-cell.outside{background:#f8fafb}.calendar-day-cell.outside .calendar-day-number{color:#a4b0b9}.calendar-day-cell.today{background:#f4f9fc}.calendar-day-number{height:24px;display:flex;justify-content:flex-end;align-items:flex-start;color:#415666;font-size:12px;font-weight:700}.calendar-day-cell.today .calendar-day-number span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:999px;background:var(--blue);color:#fff}.calendar-day-events{display:grid;gap:4px}.calendar-event{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 22px;border-left:3px solid var(--blue);border-radius:5px;background:#eaf3f9;overflow:hidden;min-width:0}.calendar-event.away{border-left-color:#7b61a8;background:#f1edf7}.calendar-event.played{border-left-color:var(--ok);background:#eaf6f0}.calendar-event-main{min-width:0;text-decoration:none;color:#17354a;padding:5px 4px 5px 6px}.calendar-event-top{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:9px;font-weight:800;color:#5c7180;text-transform:uppercase}.calendar-event-result{color:var(--ok);font-size:10px}.calendar-event-title{font-size:11px;font-weight:800;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.calendar-vs{color:#748692}.calendar-event-meta{font-size:9px;color:#667b8a;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-edit{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#607786;font-size:12px;border-left:1px solid rgba(23,92,143,.12)}.calendar-event-edit:hover{background:rgba(255,255,255,.55);color:var(--navy)}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:590px}.calendar-week-day{min-width:0;border-right:1px solid var(--line);background:#fff}.calendar-week-day:last-child{border-right:0}.calendar-week-day.today{background:#f7fbfd}.calendar-week-header{height:82px;padding:10px 8px;text-align:center;border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center}.calendar-week-header span{font-size:11px;font-weight:800;text-transform:uppercase;color:#667987}.calendar-week-header strong{font-size:24px;line-height:1;color:var(--navy);margin:4px 0}.calendar-week-header small{font-size:10px;color:var(--muted)}.calendar-week-day.today .calendar-week-header strong{width:34px;height:34px;border-radius:999px;background:var(--blue);color:#fff;display:grid;place-items:center}.calendar-week-events{display:grid;gap:8px;padding:9px;align-content:start}.calendar-week-events .calendar-event{grid-template-columns:minmax(0,1fr) 24px}.calendar-week-events .calendar-event-main{padding:8px 6px 8px 8px}.calendar-week-events .calendar-event-title{white-space:normal;font-size:12px}.calendar-week-events .calendar-event-meta{white-space:normal;font-size:10px}.outlook-list-table{border:0;border-radius:0}.calendar-add-panel{scroll-margin-top:82px}.calendar-add-title{margin-top:20px}.calendar-panel-close{width:34px;height:34px;border-radius:8px;font-size:22px;line-height:1}.calendar-panel-close:hover{background:#eef5f9}
@media(max-width:1150px){.outlook-calendar-toolbar{align-items:flex-start}.calendar-toolbar-left{flex-wrap:wrap}.calendar-period-title{flex-basis:100%;order:10;margin-left:0}.calendar-month-grid{grid-template-rows:repeat(6,minmax(102px,1fr));min-height:612px}.calendar-event-edit{display:none}.calendar-event{grid-template-columns:minmax(0,1fr)}}
@media(max-width:780px){.outlook-calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-view-switcher{align-self:flex-end;margin-top:-46px}.calendar-new-btn{padding-left:10px;padding-right:10px}.calendar-month-grid{min-width:760px}.calendar-weekdays{min-width:760px}.calendar-view-panel{overflow-x:auto}.calendar-week-grid{min-width:900px}.calendar-period-title{font-size:18px}.calendar-day-cell{min-height:100px}}

/* V2.26 - aggiornamento software integrato */
.software-update-card{border:1px solid #c8ddd8;background:linear-gradient(135deg,#fff 0%,#f7fbfa 100%)}
.software-update-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.software-update-heading h2{margin:2px 0 6px}.update-eyebrow{font-size:11px;letter-spacing:.12em;font-weight:900;color:#157a6e}
.installed-version{flex:0 0 auto;border-radius:999px;background:#0d2b45;color:#fff;padding:8px 13px;font-weight:800;font-size:13px}
.software-update-form{display:flex;align-items:flex-end;gap:16px;padding:15px;border-radius:12px;background:#fff;border:1px solid #dce6eb}
.update-file-picker{flex:1}.update-file-picker label{display:block;font-weight:800;margin-bottom:7px}.update-file-picker input[type=file]{width:100%;padding:9px;border:1px solid #cbd8df;border-radius:8px;background:#fff}
.update-install-btn{white-space:nowrap;min-height:42px;background:#157a6e}.update-install-btn:hover{background:#10685e}
.update-path-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:#657785}.update-path-line code{background:#edf3f6;border-radius:6px;padding:5px 8px;color:#29485f}
.update-safety-note{margin-top:12px;font-size:13px;line-height:1.45;color:#536873}.update-inline-status{margin:10px 0 14px;border-radius:9px;padding:10px 12px;font-size:13px}.update-inline-status.success{background:#e8f6f1;color:#176451}.update-inline-status.error{background:#fff0ef;color:#973d38}
.global-update-notice{margin:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 22px;font-size:13px;border-bottom:1px solid rgba(0,0,0,.06)}.global-update-notice.success{background:#dff5eb;color:#185f4d}.global-update-notice.error{background:#ffebe9;color:#943934}.global-update-notice div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.global-update-notice button{border:0;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer;padding:0 4px}
@media(max-width:760px){.software-update-heading,.software-update-form{flex-direction:column;align-items:stretch}.installed-version{align-self:flex-start}.update-install-btn{width:100%}}


/* V2.27 - stato disponibilita immediato nelle convocazioni */
.callup-player-name{display:inline-flex;align-items:center;min-width:0}
.callup-status-icon{display:none;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;margin-right:7px;border-radius:50%;font-size:13px;line-height:1;font-weight:900}
.callup-row.is-available td{background:#f0faf5;border-bottom-color:#d8eee3}
.callup-row.is-available td:first-child{box-shadow:inset 4px 0 0 #1b7f5a}
.callup-row.is-available:hover td{background:#e8f7f0}
.callup-row.is-available .status-available-icon{display:inline-flex;background:#dff3e9;color:#146947}
.callup-row.is-available .status-select{border-color:#9ed2b9;background:#f7fcf9;color:#146947;font-weight:700}
.callup-row.is-available .callup-checkbox-label{border-color:#abd8c1;background:#edf9f3;color:#146947}
.callup-row.is-unavailable td{background:#fff7e8;border-bottom-color:#f1dfbc}
.callup-row.is-unavailable td:first-child{box-shadow:inset 4px 0 0 #d18400}
.callup-row.is-unavailable:hover td{background:#fff2d9}
.callup-row.is-unavailable .status-unavailable-icon{display:inline-flex;background:#ffe5b5;color:#965c00}
.callup-row.is-unavailable .status-select{border-color:#e7bd74;background:#fffaf1;color:#855200;font-weight:700}
.callup-row.is-unavailable .callup-checkbox-label{border-color:#ead8b8;background:#fffaf2;color:#855200}
.callup-row.is-injured .status-injured-icon{display:inline-flex;background:#f9d8d8;color:#b42318}
.callup-row.is-injured .injury-icon{display:none!important}
.callup-row.is-available.is-selected td{background:#e6f6ee!important}
.callup-row.is-available.is-selected:hover td{background:#dff2e9!important}
@media(max-width:650px){.callup-status-icon{flex-basis:18px;width:18px;height:18px;margin-right:5px;font-size:12px}}


/* V2.28 - doppio indicatore Convocati / Disponibili */
.callup-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.callup-metric-block{min-width:0;display:grid;justify-items:center;text-align:center;gap:7px;padding:10px 8px 11px;border:1px solid #e2e9ef;border-radius:12px;background:#f9fbfc}
.callup-metric-label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.45px;color:var(--muted)}
.callup-donut.callup-donut-compact{flex:0 0 118px;width:118px;height:118px}
.callup-donut.callup-donut-compact::after{inset:13px}
.callup-donut.callup-donut-compact .callup-donut-inner strong{font-size:31px}
.callup-donut.callup-donut-compact .callup-donut-inner span{font-size:11px}
.callup-donut.callup-donut-compact .callup-donut-inner small{font-size:12px;margin-top:7px}
.availability-donut{--callup-donut-color:#2a9dba}
.callup-metric-status{font-size:12px;line-height:1.25;color:var(--navy);min-height:30px;display:flex;align-items:center;justify-content:center}
.callup-capacity-summary{display:grid;gap:4px;margin-top:11px;padding-top:10px;border-top:1px solid #e7edf2}
.callup-capacity-summary .subtitle{margin:0;font-size:12px;line-height:1.35}
@media(max-width:1380px) and (min-width:1251px){.callup-metrics-grid{gap:9px}.callup-metric-block{padding-left:5px;padding-right:5px}.callup-donut.callup-donut-compact{flex-basis:104px;width:104px;height:104px}.callup-donut.callup-donut-compact::after{inset:12px}.callup-donut.callup-donut-compact .callup-donut-inner strong{font-size:28px}}
@media(max-width:420px){.callup-metrics-grid{gap:8px}.callup-metric-block{padding:8px 4px}.callup-donut.callup-donut-compact{flex-basis:100px;width:100px;height:100px}.callup-donut.callup-donut-compact::after{inset:11px}.callup-donut.callup-donut-compact .callup-donut-inner strong{font-size:27px}.callup-metric-status{font-size:11px}}

/* V2.29 - Stato Dirigente e alert disponibilita oltre 18 */
.callup-row.is-management td{background:#f1f3ff!important;border-bottom-color:#d8dcf3}
.callup-row.is-management td:first-child{box-shadow:inset 4px 0 0 #5965b3}
.callup-row.is-management:hover td{background:#e9ecff!important}
.callup-row.is-management .status-management-icon{display:inline-flex;background:#dfe3ff;color:#35418f}
.callup-row.is-management .status-select{border-color:#aeb6e5;background:#f7f8ff;color:#35418f;font-weight:700}
.callup-row.is-management .callup-checkbox-label{border-color:#d2d6ef;background:#f8f8fd;color:#596078}
.callup-row.is-management .callup-checkbox{opacity:.45}
.availability-donut.is-over-limit{box-shadow:0 0 0 4px rgba(180,35,24,.10),inset 0 0 0 1px rgba(180,35,24,.12)}
.callup-metric-status.danger-text{color:#b42318;font-weight:900}
.availability-alert{color:#b42318!important;font-weight:800;padding:5px 7px;border-radius:7px;background:#fff0f0}


/* V2.30 - alert Da rispondere + accesso rapido alla distinta */
.callup-row.is-awaiting td{background:#fffbea!important;border-bottom-color:#eadfae}
.callup-row.is-awaiting td:first-child{box-shadow:inset 4px 0 0 #c89b00}
.callup-row.is-awaiting:hover td{background:#fff6cf!important}
.callup-row.is-awaiting .status-awaiting-icon{display:inline-flex;background:#fff0ad;color:#7b5e00}
.callup-row.is-awaiting .status-select{border-color:#d8c066;background:#fffdf3;color:#715800;font-weight:800}
.callup-row.is-awaiting .callup-checkbox-label{border-color:#e3d599;background:#fffdf5;color:#715800}
.callup-row.is-awaiting .callup-player-name{color:#5d4a00}
.callups-top-actions .btn{white-space:nowrap}
@media(max-width:1100px){.callups-match-header{flex-direction:column}.callups-top-actions{justify-content:flex-start;flex-wrap:wrap}}

/* V2.31 - Distinta visuale stile formazione */
.lineup-matchbar{padding:13px 16px;margin-bottom:16px}.lineup-matchbar-form{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(280px,1fr);gap:18px;align-items:end}.lineup-match-summary{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-height:48px;text-align:right}.lineup-match-summary strong{font-size:16px;color:var(--navy)}.lineup-match-summary strong span{font-size:11px;margin:0 7px;color:var(--muted)}.lineup-match-summary small{margin-top:4px;color:var(--muted)}
.formation-app{display:grid;grid-template-columns:270px minmax(540px,1fr) 290px;gap:16px;align-items:start}.formation-roster-panel,.formation-details-panel{padding:14px}.formation-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.formation-panel-head h2{margin:0 0 2px;font-size:18px}.formation-panel-head .subtitle{margin:0}.formation-help-dot{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e8f0f5;color:var(--navy);font-weight:900;cursor:help}
.formation-search-wrap{position:relative;margin-bottom:10px}.formation-search-wrap span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#718493;font-size:17px}.formation-search-wrap input{padding-left:31px;background:#f8fafb}
.formation-roster-list{display:grid;gap:6px;max-height:650px;overflow:auto;padding-right:3px}.formation-player-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #dce6ed;border-radius:10px;background:#fff;min-height:52px;transition:.16s ease;overflow:hidden}.formation-player-card:hover{border-color:#9cb9cc;box-shadow:0 4px 12px rgba(13,43,69,.07)}.formation-player-card.dragging{opacity:.5}.formation-player-card.is-starter{background:#eaf7f0;border-color:#a9d8c3}.formation-player-number-wrap{padding-left:6px}.formation-player-number{width:36px!important;height:36px!important;padding:4px!important;text-align:center;font-weight:900;border-radius:50%!important;background:#f1f5f8!important;color:var(--navy)!important;-moz-appearance:textfield}.formation-player-number::-webkit-outer-spin-button,.formation-player-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.formation-player-main{border:0;background:transparent;text-align:left;min-width:0;padding:7px 0;cursor:pointer;color:var(--text)}.formation-player-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.formation-player-main span{display:block;font-size:10px;font-weight:800;color:var(--muted);margin-top:3px}.formation-player-state{margin-right:7px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.25px;background:#edf2f5;color:#617483}.formation-player-state.starter{background:#d6f0e2;color:#176746}.formation-roster-tip{font-size:11px;color:var(--muted);line-height:1.4;padding:10px 2px 0}
.formation-main-panel{display:grid;gap:12px;min-width:0}.formation-toolbar{padding:10px 12px;display:flex;align-items:center;gap:12px;justify-content:space-between}.formation-selector{display:flex;align-items:center;gap:8px}.formation-selector label{font-size:12px}.formation-selector select{width:110px;font-weight:900;color:var(--navy);padding:7px 9px}.formation-toolbar-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.formation-counter{display:flex;align-items:baseline;gap:4px;white-space:nowrap;border-radius:10px;background:#fff6de;color:#8a5c00;padding:7px 10px}.formation-counter strong{font-size:20px}.formation-counter span{font-size:11px;font-weight:800}.formation-counter.complete{background:#e4f5ec;color:#176746}.formation-counter.warning{background:#fff6de;color:#8a5c00}
.football-pitch-shell{display:grid;place-items:center;padding:2px}.football-pitch{position:relative;width:min(100%,720px);aspect-ratio:68/92;border-radius:15px;overflow:hidden;background:#2f9659;box-shadow:0 12px 28px rgba(13,43,69,.16),inset 0 0 0 1px rgba(255,255,255,.25)}.pitch-stripes{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 11.5%,rgba(0,0,0,.028) 11.5%,rgba(0,0,0,.028) 23%)}.pitch-outline{position:absolute;inset:4.5%;border:2px solid rgba(255,255,255,.62)}.pitch-halfway{position:absolute;left:4.5%;right:4.5%;top:50%;height:2px;background:rgba(255,255,255,.62)}.pitch-center-circle{position:absolute;left:50%;top:50%;width:19%;aspect-ratio:1;border:2px solid rgba(255,255,255,.62);border-radius:50%;transform:translate(-50%,-50%)}.pitch-center-dot,.pitch-penalty-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.78);transform:translate(-50%,-50%)}.pitch-center-dot{left:50%;top:50%}.pitch-penalty-dot{left:50%}.pitch-penalty-dot-top{top:13%}.pitch-penalty-dot-bottom{top:87%}.pitch-box{position:absolute;left:22%;width:56%;height:17%;border:2px solid rgba(255,255,255,.62)}.pitch-box-top{top:4.5%;border-top:0}.pitch-box-bottom{bottom:4.5%;border-bottom:0}.pitch-goal-box{position:absolute;left:37%;width:26%;height:8%;border:2px solid rgba(255,255,255,.62)}.pitch-goal-box-top{top:4.5%;border-top:0}.pitch-goal-box-bottom{bottom:4.5%;border-bottom:0}.pitch-goal{position:absolute;left:43%;width:14%;height:1.8%;border:2px solid rgba(255,255,255,.7)}.pitch-goal-top{top:2.7%;border-bottom:0}.pitch-goal-bottom{bottom:2.7%;border-top:0}
.formation-slot{position:absolute;z-index:3;width:118px;min-height:80px;transform:translate(-50%,-50%);display:grid;place-items:center;text-align:center;cursor:pointer;border-radius:12px;transition:.16s ease}.formation-slot:hover,.formation-slot.active{background:rgba(255,255,255,.12);box-shadow:0 0 0 2px rgba(255,255,255,.5)}.formation-slot.drag-over{background:rgba(255,255,255,.24);box-shadow:0 0 0 3px #fff}.formation-slot-empty{display:grid;justify-items:center;gap:2px}.formation-slot-plus{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;color:#23784a;font-size:26px;font-weight:500;box-shadow:0 3px 9px rgba(0,0,0,.15)}.formation-slot-empty small{font-size:9px;font-weight:900;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35)}.formation-slot-player{position:relative;display:grid;justify-items:center;gap:1px;width:110px}.formation-slot-avatar{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#0d2b45,#1c6599);color:#fff;border:3px solid rgba(255,255,255,.95);font-size:17px;font-weight:900;box-shadow:0 5px 12px rgba(0,0,0,.2)}.formation-slot-player strong{max-width:108px;background:rgba(255,255,255,.96);color:#0d2b45;border-radius:7px;padding:3px 7px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 7px rgba(0,0,0,.15)}.formation-slot-player small{font-size:8px;color:#fff;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.55)}.formation-slot-role{position:absolute;right:15px;top:0;min-width:22px;height:18px;border-radius:999px;display:grid;place-items:center;background:#fff1bc;color:#684d00;font-size:8px;font-weight:900;border:1px solid rgba(104,77,0,.18)}.formation-slot-remove{position:absolute;left:13px;top:0;width:19px;height:19px;border:0;border-radius:50%;background:#fff;color:#a61b1b;font-weight:900;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.18);line-height:1;padding:0}.formation-slot-remove:hover{background:#fde8e6}
.formation-bench-panel{padding:12px 14px}.formation-bench-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.formation-bench-head h3{margin:0;font-size:16px}.formation-bench-head .subtitle{font-size:11px}.formation-bench-strip{display:flex;gap:7px;overflow-x:auto;padding:3px 1px 6px;min-height:55px}.formation-bench-player{flex:0 0 auto;border:1px solid #dbe5ec;border-radius:9px;background:#f8fafb;color:var(--navy);display:grid;grid-template-columns:25px auto 18px;align-items:center;gap:6px;padding:6px 8px;cursor:pointer}.formation-bench-player:hover{background:#edf5f8;border-color:#a6c0d0}.formation-bench-player>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e2ebf1;font-weight:900;font-size:11px}.formation-bench-player strong{font-size:11px;white-space:nowrap}.formation-bench-player small{font-size:9px;font-weight:900;color:var(--muted)}.formation-bench-panel .lineup-preview-warning{margin-top:7px}
.formation-details-panel{position:sticky;top:80px}.formation-detail-section{display:grid;gap:5px;margin-bottom:11px}.formation-detail-section.compact{margin-bottom:8px}.formation-detail-section select{padding:7px 8px;font-size:12px}.formation-detail-divider{height:1px;background:#e6edf2;margin:14px 0}.formation-staff-title{font-size:14px!important;margin-bottom:9px!important}.formation-staff-list{display:grid}.formation-staff-empty{padding:18px 5px;font-size:12px}.formation-save-box{margin-top:16px;padding-top:14px;border-top:1px solid #e6edf2;display:grid;gap:7px}.formation-save-btn{width:100%}.formation-save-box small{color:var(--muted);font-size:10px;text-align:center;line-height:1.35}
.lineup-preview-collapsible{padding:0;overflow:hidden}.lineup-preview-summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 18px;cursor:pointer}.lineup-preview-summary::-webkit-details-marker{display:none}.lineup-preview-summary>div{display:grid;gap:3px}.lineup-preview-summary strong{font-size:16px;color:var(--navy)}.lineup-preview-summary span{font-size:11px;color:var(--muted)}.lineup-preview-summary-action{background:#e8f0f5!important;color:var(--navy)!important;padding:6px 9px;border-radius:8px;font-weight:800}.lineup-preview-collapsible[open] .lineup-preview-summary{border-bottom:1px solid var(--line)}.lineup-preview-collapsible[open] .lineup-preview-summary-action{font-size:0}.lineup-preview-collapsible[open] .lineup-preview-summary-action:after{content:'Nascondi anteprima';font-size:11px}.lineup-preview-content{padding:12px 18px 18px}
@media(max-width:1280px){.formation-app{grid-template-columns:245px minmax(500px,1fr)}.formation-details-panel{grid-column:1/-1;position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.formation-details-panel>.formation-panel-head,.formation-details-panel>.formation-detail-divider,.formation-details-panel>.formation-staff-title{grid-column:1/-1}.formation-staff-list{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px}.formation-save-box{grid-column:1/-1}}
@media(max-width:900px){.lineup-matchbar-form{grid-template-columns:1fr}.lineup-match-summary{align-items:flex-start;text-align:left}.formation-app{grid-template-columns:1fr}.formation-roster-list{max-height:320px}.formation-details-panel{grid-template-columns:1fr 1fr}.formation-staff-list{grid-template-columns:1fr 1fr}.formation-toolbar{flex-wrap:wrap}.football-pitch{width:min(100%,640px)}}
@media(max-width:620px){.lineup-page-actions{width:100%}.lineup-page-actions .btn{flex:1}.formation-details-panel{grid-template-columns:1fr}.formation-staff-list{grid-template-columns:1fr}.formation-toolbar{align-items:stretch}.formation-toolbar-actions{order:3;width:100%}.formation-toolbar-actions .btn{flex:1}.football-pitch{border-radius:10px}.formation-slot{width:88px;min-height:68px}.formation-slot-player{width:84px}.formation-slot-avatar{width:36px;height:36px;font-size:14px}.formation-slot-player strong{max-width:82px;font-size:9px;padding:3px 5px}.formation-slot-player small{display:none}.formation-slot-role{right:8px}.formation-slot-remove{left:7px}.formation-bench-player{grid-template-columns:23px auto 16px;padding:5px 6px}}
@media print{.formation-app,.lineup-matchbar,.lineup-preview-summary{display:none!important}.lineup-preview-collapsible:not([open])>.lineup-preview-content{display:block!important}}


/* V2.32 - Distinta più compatta: campo vicino ai convocati e dettagli sotto la rosa */
.formation-app{
  grid-template-columns:300px minmax(0,560px);
  column-gap:10px;
  row-gap:12px;
  justify-content:start;
  align-items:start;
}
.formation-roster-panel{grid-column:1;grid-row:1}
.formation-main-panel{grid-column:2;grid-row:1 / span 2;width:100%;max-width:560px}
.formation-details-panel{
  grid-column:1;
  grid-row:2;
  position:static;
  display:block;
  align-self:start;
  padding:14px;
}
.formation-details-panel>.formation-panel-head,
.formation-details-panel>.formation-detail-divider,
.formation-details-panel>.formation-staff-title,
.formation-details-panel>.formation-staff-list,
.formation-details-panel>.formation-save-box{grid-column:auto}
.formation-staff-list{display:grid;grid-template-columns:1fr;gap:0}
.football-pitch-shell{place-items:start center;padding:0}
.football-pitch{width:min(100%,500px)}
.formation-bench-panel{max-width:560px}

@media(max-width:1000px){
  .formation-app{grid-template-columns:280px minmax(0,520px);column-gap:9px}
  .formation-main-panel{max-width:520px}
  .football-pitch{width:min(100%,470px)}
}
@media(max-width:860px){
  .formation-app{grid-template-columns:1fr;gap:12px}
  .formation-roster-panel{grid-column:1;grid-row:1}
  .formation-details-panel{grid-column:1;grid-row:2;display:block}
  .formation-main-panel{grid-column:1;grid-row:3;max-width:none}
  .formation-roster-list{max-height:320px}
  .football-pitch-shell{place-items:center}
  .football-pitch{width:min(100%,500px)}
  .formation-staff-list{grid-template-columns:1fr 1fr;gap:0 10px}
}
@media(max-width:620px){
  .formation-staff-list{grid-template-columns:1fr}
  .football-pitch{width:min(100%,460px)}
}

/* V2.33 - Distinta: convocati compatti, panchina su due righe, anteprima a destra */
.formation-app{
  grid-template-columns:minmax(290px,310px) minmax(450px,500px) minmax(280px,340px);
  column-gap:9px;
  row-gap:12px;
  justify-content:start;
  align-items:start;
}
.formation-roster-panel{grid-column:1;grid-row:1;padding:11px}
.formation-main-panel{grid-column:2;grid-row:1 / span 2;width:100%;max-width:500px}
.formation-details-panel{grid-column:1;grid-row:2;position:static;padding:12px}
.formation-preview-panel{
  grid-column:3;
  grid-row:1 / span 2;
  align-self:start;
  min-width:0;
  padding:0;
  overflow:hidden;
  position:sticky;
  top:76px;
}

/* Tutti i convocati visibili senza scrollbar interna. Due colonne compatte. */
.formation-roster-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  max-height:none;
  overflow:visible;
  padding-right:0;
}
.formation-player-card{
  position:relative;
  grid-template-columns:30px minmax(0,1fr);
  min-height:40px;
  gap:4px;
  border-radius:8px;
  padding-right:3px;
}
.formation-player-number-wrap{padding-left:3px}
.formation-player-number{width:27px!important;height:27px!important;font-size:11px!important;padding:2px!important}
.formation-player-main{padding:4px 16px 4px 0;line-height:1.05}
.formation-player-main strong{display:flex;align-items:center;gap:5px;font-size:11px;min-width:0}
.formation-player-main span:not(.formation-role-dot){font-size:8px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.formation-player-state{display:none}
.formation-player-card.is-starter::after{
  content:'T';
  position:absolute;
  right:3px;
  top:3px;
  width:15px;
  height:15px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#1b7f5a;
  color:#fff;
  font-size:8px;
  font-weight:900;
}
.formation-roster-tip{padding-top:7px;font-size:10px}
.formation-panel-head{margin-bottom:8px}
.formation-search-wrap{margin-bottom:7px}
.formation-search-wrap input{padding-top:7px;padding-bottom:7px}

/* Pallino ruolo: portieri arancione, difensori verde, centrocampisti azzurro, attaccanti rosso. */
.formation-role-dot{display:inline-block!important;flex:0 0 9px;width:9px;height:9px;border-radius:50%;margin:0!important;box-shadow:0 0 0 1px rgba(13,43,69,.12)}
.formation-role-dot.role-portiere{background:#f39a2e}
.formation-role-dot.role-difensore{background:#35a66f}
.formation-role-dot.role-centrocampista{background:#35aee2}
.formation-role-dot.role-attaccante{background:#dc4a4a}
.formation-role-dot.role-altro{background:#9ba8b2}

/* Campo leggermente compatto e panchina disposta su due righe (7/8 elementi). */
.football-pitch{width:min(100%,485px)}
.formation-bench-panel{max-width:500px;padding:10px 12px}
.formation-bench-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  overflow:visible;
  min-height:0;
  padding:2px 0 4px;
}
.formation-bench-player{
  min-width:0;
  width:100%;
  grid-template-columns:23px minmax(0,1fr) 14px;
  gap:5px;
  padding:5px 6px;
}
.formation-bench-player>span{width:23px;height:23px;font-size:10px}
.formation-bench-player strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.formation-bench-player small{font-size:8px}

/* Anteprima ufficiale sempre a destra del campo e ridimensionata al pannello. */
.formation-preview-panel .lineup-preview-summary{padding:11px 12px}
.formation-preview-panel .lineup-preview-summary strong{font-size:14px}
.formation-preview-panel .lineup-preview-summary span{font-size:10px}
.formation-preview-panel .lineup-preview-content{padding:8px 10px 10px}
.formation-preview-panel .lineup-preview-heading{margin:0 0 7px;gap:6px}
.formation-preview-panel .lineup-preview-heading .btn{padding:6px 8px;font-size:10px}
.formation-preview-panel .official-sheet-wrap{
  width:100%;
  padding:0;
  overflow:hidden;
  border-radius:8px;
  min-height:0;
}
.formation-preview-panel .official-sheet{margin:0!important;transform-origin:top left}
.formation-preview-panel .lineup-preview-warning{font-size:10px;padding:5px 6px;margin:0}

@media(max-width:1320px){
  .formation-app{grid-template-columns:300px minmax(0,500px);column-gap:9px}
  .formation-roster-panel{grid-column:1;grid-row:1}
  .formation-details-panel{grid-column:1;grid-row:2}
  .formation-main-panel{grid-column:2;grid-row:1 / span 2;max-width:500px}
  .formation-preview-panel{grid-column:2;grid-row:3;position:static;max-width:500px;width:100%}
}
@media(max-width:860px){
  .formation-app{grid-template-columns:1fr;gap:12px}
  .formation-roster-panel{grid-column:1;grid-row:1}
  .formation-details-panel{grid-column:1;grid-row:2}
  .formation-main-panel{grid-column:1;grid-row:3;max-width:none}
  .formation-preview-panel{grid-column:1;grid-row:4;max-width:none;width:100%}
  .football-pitch{width:min(100%,485px)}
}
@media(max-width:620px){
  .formation-roster-list{grid-template-columns:1fr}
  .formation-bench-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* V2.34 - Formazione: colori squadra e stato Allenatore */
.formation-slot-avatar{
  background:linear-gradient(145deg,#35b8e6,#249dce)!important;
  color:#0d2b45!important;
  border:3px solid #f4d43a!important;
  box-shadow:0 5px 12px rgba(0,0,0,.22),0 0 0 1px rgba(13,43,69,.16)!important;
}
.callup-row.is-coach td{background:#fffbea!important;border-bottom-color:#eadb87}
.callup-row.is-coach td:first-child{box-shadow:inset 4px 0 0 #f4c430}
.callup-row.is-coach:hover td{background:#fff4bf!important}
.callup-row.is-coach .status-coach-icon{display:inline-flex;background:#0d2b45;color:#f4d43a;border:1px solid #f4d43a}
.callup-row.is-coach .status-select{border-color:#d2b535;background:#fffdf0;color:#0d2b45;font-weight:800}
.callup-row.is-coach .callup-checkbox-label{border-color:#e5d998;background:#fffdf5;color:#6c6470}
.callup-row.is-coach .callup-checkbox{opacity:.45}


/* V2.35 - Distinta: convocati più leggibili, cognomi sul campo, anteprima più grande */
@media(min-width:1321px){
  .formation-app{
    grid-template-columns:minmax(370px,390px) minmax(445px,475px) minmax(395px,430px);
    column-gap:10px;
  }
  .formation-main-panel{max-width:475px}
  .formation-bench-panel{max-width:475px}
  .football-pitch{width:min(100%,465px)}
  .formation-preview-panel{min-width:395px;max-width:430px;width:100%}
}
.formation-roster-panel{padding:13px}
.formation-roster-list{gap:6px}
.formation-player-card{min-height:44px;grid-template-columns:32px minmax(0,1fr);gap:6px;padding-right:4px}
.formation-player-number{width:29px!important;height:29px!important;font-size:11px!important}
.formation-player-main{padding:5px 17px 5px 0}
.formation-player-main strong{
  font-size:12px;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.12;
}
.formation-player-main span:not(.formation-role-dot){font-size:8.5px}
.formation-role-dot{flex-basis:10px;width:10px;height:10px}
.formation-preview-panel .lineup-preview-summary{padding:13px 14px}
.formation-preview-panel .lineup-preview-summary strong{font-size:15px}
.formation-preview-panel .lineup-preview-summary span{font-size:10.5px}
.formation-preview-panel .lineup-preview-content{padding:10px 12px 12px}
.formation-preview-panel .lineup-preview-heading .btn{padding:7px 9px;font-size:10.5px}
@media(max-width:1320px) and (min-width:861px){
  .formation-roster-panel{min-width:320px}
  .formation-roster-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* V2.36 - selettore 1/2 colonne convocati */
.formation-roster-head-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.roster-columns-toggle{padding:5px 7px!important;font-size:9px!important;white-space:nowrap}
.formation-roster-list.roster-one-column{grid-template-columns:1fr!important}
.formation-roster-list.roster-two-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important}
/* Sul campo: solo numero, cognome e sigla della posizione tattica. */
.formation-slot-player>small{display:none!important}
@media(max-width:620px){.formation-roster-list.roster-two-columns{grid-template-columns:1fr!important}.roster-columns-toggle{display:none}}

/* V2.38 - logo istituzionale UISP Pescara nella schermata di accesso */
.auth-brand .uisp-login-logo{width:72px;height:72px;flex:0 0 72px;object-fit:contain;border-radius:50%;background:transparent;box-shadow:0 5px 16px rgba(4,26,42,.16)}
@media(max-width:650px){.auth-brand .uisp-login-logo{width:64px;height:64px;flex-basis:64px}}


/* V2.39 - Campi e località */
.venue-location-card .section-title{align-items:flex-start}
.venue-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:14px}
.venue-location-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:10px;align-items:center;padding:8px 10px;border:1px solid #dbe5ec;border-radius:10px;background:#f8fbfd}
.venue-location-row strong{font-size:13px;line-height:1.2}
.venue-location-row select{width:100%;padding:7px 8px;border:1px solid #cad8e2;border-radius:8px;background:#fff;font-weight:700}
.venue-location-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
@media (max-width:900px){.venue-location-grid{grid-template-columns:1fr}.venue-location-actions{align-items:stretch;flex-direction:column}.venue-location-actions .btn{width:100%}}


/* V2.40 - Impostazioni compatte e appuntamento automatico */
.settings-compact{display:grid;gap:10px}
.settings-compact>.card,.settings-compact>.grid{margin-top:0!important;margin-bottom:0!important}
.settings-compact .card{padding:13px 14px;border-radius:11px}
.settings-compact h2{font-size:16px;margin-top:0;margin-bottom:5px}
.settings-compact h3{font-size:13px;margin:5px 0 7px}
.settings-compact .subtitle,.settings-compact .logo-help{font-size:10.5px;line-height:1.35}
.settings-compact .section-title{margin:8px 0 7px}
.settings-compact .section-title h2{font-size:16px}
.settings-compact .form-grid{gap:7px 9px}
.settings-compact .field{gap:3px}
.settings-compact label{font-size:10.5px}
.settings-compact input,.settings-compact select,.settings-compact textarea{padding:6px 8px;border-radius:7px;font-size:12px}
.settings-compact textarea{min-height:64px}
.settings-compact .btn{padding:7px 10px;font-size:11px;border-radius:8px}
.settings-compact .btn.small{padding:5px 8px;font-size:10px}
.settings-compact .software-update-heading{margin-bottom:8px;gap:12px}
.settings-compact .software-update-heading h2{margin:1px 0 3px}
.settings-compact .installed-version{padding:6px 10px;font-size:11px}
.settings-compact .software-update-form{gap:10px;padding:9px;border-radius:9px}
.settings-compact .update-file-picker label{margin-bottom:4px}
.settings-compact .update-file-picker input[type=file]{padding:6px;font-size:11px}
.settings-compact .update-path-line,.settings-compact .update-safety-note{margin-top:7px;font-size:10.5px}
.settings-compact .permission-note{padding:8px 10px;font-size:10.5px;margin:9px 0!important}
.settings-compact .access-admin-panel{padding:0}
.settings-compact .operator-users-list{gap:6px}
.settings-compact .operator-user-row{padding:7px 8px;gap:7px}
.settings-compact .operator-add-box{margin-top:9px;padding-top:9px}
.settings-compact .logo-manager-card{gap:12px;align-items:center}
.settings-compact .logo-manager-preview{width:82px;height:82px;flex-basis:82px;border-radius:11px}
.settings-compact .logo-upload-form{gap:7px;margin-top:7px}
.settings-compact .venue-location-grid{gap:5px 8px;margin-top:8px}
.settings-compact .venue-location-row{grid-template-columns:minmax(0,1fr) 112px;gap:7px;padding:5px 7px;border-radius:8px}
.settings-compact .venue-location-row strong{font-size:11px}
.settings-compact .venue-location-row select{padding:5px 6px;font-size:11px}
.settings-compact .venue-location-actions{gap:10px;margin-top:7px}
.settings-compact .alert-item{padding:7px 9px}
.settings-compact .alert-item strong{font-size:13px}
.settings-compact code{font-size:10.5px}
input[readonly][type=time]{background:#f3f7fa;color:#405b6d;font-weight:800}
@media(max-width:760px){.settings-compact .logo-manager-preview{width:72px;height:72px;flex-basis:72px}}

/* V2.41 - esiti calendario e sezione Finanziaria */
.outcome-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.outcome-choice{position:relative;cursor:pointer}
.outcome-choice input{position:absolute;opacity:0;pointer-events:none}
.outcome-choice span{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #cedae3;border-radius:9px;background:#fff;font-size:11px;font-weight:800;color:#536878;transition:.15s ease}
.outcome-choice input:checked+span{box-shadow:0 0 0 2px rgba(13,43,69,.08)}
.outcome-choice.win input:checked+span{background:#e5f6ec;border-color:#56b77d;color:#196a3d}
.outcome-choice.draw input:checked+span{background:#eef1f3;border-color:#9ea9b1;color:#4f5d67}
.outcome-choice.loss input:checked+span{background:#fde9e8;border-color:#df746f;color:#9b2f2b}
.outcome-choice.none input:checked+span{background:#edf5fa;border-color:#8bb7d2;color:#245f83}
.calendar-event.outcome-win{border-left-color:#2d9b61!important;background:#e7f6ed!important}
.calendar-event.outcome-draw{border-left-color:#7d8991!important;background:#eef1f3!important}
.calendar-event.outcome-loss{border-left-color:#d84f49!important;background:#fdebea!important}
.calendar-event.outcome-win .calendar-event-result{color:#196a3d}
.calendar-event.outcome-draw .calendar-event-result{color:#596770}
.calendar-event.outcome-loss .calendar-event-result{color:#a1322e}
.outlook-list-table tr.calendar-list-win td{background:#edf8f1}
.outlook-list-table tr.calendar-list-draw td{background:#f2f4f5}
.outlook-list-table tr.calendar-list-loss td{background:#fff0ef}
.outlook-list-table tr.calendar-list-win td:first-child{box-shadow:inset 4px 0 0 #2d9b61}
.outlook-list-table tr.calendar-list-draw td:first-child{box-shadow:inset 4px 0 0 #7d8991}
.outlook-list-table tr.calendar-list-loss td:first-child{box-shadow:inset 4px 0 0 #d84f49}

.finance-page-title{margin-bottom:12px}
.finance-metrics{margin-bottom:12px}
.finance-metric-card{padding:16px;position:relative;overflow:hidden}
.finance-metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#8aa1b1}
.finance-metric-card.income:before{background:#2d9b61}
.finance-metric-card.expense:before{background:#d84f49}
.finance-metric-card.registrations:before{background:#d79a20}
.finance-metric-card.balance:before{background:#268eb9}
.finance-metric-card.balance.negative:before{background:#d84f49}
.finance-metric-card .metric{font-size:25px;margin-top:4px}
.finance-metric-note{font-size:10px;color:var(--muted);margin-top:3px}
.finance-main-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);gap:12px;margin-bottom:12px}
.finance-entry-card,.finance-auto-card,.finance-ledger-card{padding:15px}
.finance-section-title{margin:0 0 11px}
.finance-section-title .subtitle{font-size:10.5px;margin-top:2px}
.finance-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px}
.money-input{display:grid;grid-template-columns:32px 1fr;align-items:center;border:1px solid #cfdbe4;border-radius:8px;overflow:hidden;background:#fff}
.money-input span{height:100%;display:grid;place-items:center;background:#f1f5f8;color:#536878;font-weight:800;border-right:1px solid #dbe4ea}
.money-input input{border:0;border-radius:0}
.money-input:focus-within{outline:2px solid rgba(42,157,186,.2);border-color:var(--cyan)}
.finance-operator-note{margin-top:10px;font-size:10.5px}
.finance-auto-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:11px;border-radius:10px;background:#fff7e3;border:1px solid #efdda6;margin-bottom:9px}
.finance-auto-row>div:first-child{display:grid;gap:3px}
.finance-auto-row strong{font-size:12px;color:#5f4814}
.finance-auto-row span{font-size:9.5px;color:#7b704d;line-height:1.3}
.finance-auto-amount{font-size:16px!important;font-weight:900!important;white-space:nowrap}
.finance-auto-detail{display:flex;justify-content:space-between;gap:10px;padding:7px 2px;border-bottom:1px solid #edf1f4;font-size:11px}
.finance-auto-detail.total{border-bottom:0;padding-top:10px;font-size:12px;color:var(--navy)}
.finance-auto-help{margin-top:9px;padding:8px 9px;border-radius:8px;background:#f4f8fa;color:#667987;font-size:9.5px;line-height:1.35}
.finance-direction{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.finance-direction.income{background:#e4f5eb;color:#17663b}
.finance-direction.expense{background:#fde8e6;color:#a0342f}
.finance-amount{font-weight:900;white-space:nowrap}
.finance-amount.income{color:#1d7c4b}
.finance-amount.expense,.finance-auto-amount.expense{color:#b63c36}
.finance-table td{vertical-align:middle}
@media(max-width:1050px){.finance-main-grid{grid-template-columns:1fr}.finance-form{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-form .span-4{grid-column:span 2}}
@media(max-width:680px){.outcome-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-form{grid-template-columns:1fr}.finance-form .span-2,.finance-form .span-4{grid-column:span 1}}

/* V2.42 - quote tesseramenti come entrata e costo UISP separato */
.finance-auto-row.income{background:#eaf8f0;border-color:#bfe7cf}
.finance-auto-row.income strong{color:#17663b}
.finance-auto-row.income span{color:#52705f}
.finance-auto-amount.income{color:#1d7c4b}
.finance-uisp-cost-row{margin-top:12px;background:#fff0ef;border-color:#f0cac6}
.finance-uisp-cost-row strong{color:#8d302b}
.finance-uisp-cost-row span{color:#7e5a57}
.finance-positive{color:#1d7c4b}.finance-negative{color:#b63c36}


/* V2.43 - categorie finanziarie, certificati medici e risultati dashboard */
.finance-category-manager{display:flex;gap:8px;align-items:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.finance-category-manager .field{flex:1}.finance-category-manager .btn{white-space:nowrap}
.registrations-title-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.registration-count-card{display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid #cfe0ea;border-radius:11px;background:#f5fafc;color:var(--navy)}
.registration-count-card strong{font-size:22px;line-height:1}.registration-count-card span{font-size:12px;font-weight:700;color:var(--muted)}
.medical-file-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.medical-file-row form{margin:0}.medical-file-row .btn{white-space:nowrap}
.dashboard-result{font-weight:900;font-size:16px;white-space:nowrap}.dashboard-result-row td{vertical-align:middle}.dashboard-result-badge{min-width:78px;text-align:center}
@media(max-width:650px){.registrations-title-actions{justify-content:flex-start}.finance-category-manager{align-items:stretch;flex-direction:column}}

.dashboard-compact-table{min-width:100%!important}.dashboard-compact-table th,.dashboard-compact-table td{padding:8px 7px}


/* V2.44 - ordinamento lista Tesseramenti */
.registration-sort-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin-bottom:14px;box-shadow:var(--shadow)}
.registration-sort-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.registration-sort-title{font-weight:800;color:var(--navy);align-self:center;margin-right:4px}
.registration-sort-field{display:flex;flex-direction:column;gap:5px;min-width:170px}
.registration-sort-field select{min-width:170px}
.registration-sort-summary{margin-left:auto;align-self:center;padding:8px 11px;border-radius:9px;background:#eef5f9;color:var(--navy);font-size:12px;font-weight:800;white-space:nowrap}
@media(max-width:800px){.registration-sort-summary{margin-left:0;width:100%;white-space:normal}.registration-sort-field{flex:1 1 180px}}


/* V2.45 - export PDF elenco giocatori attivi e codice fiscale anagrafica */

/* V2.46 - codice fiscale nella lista Tesseramenti */
.fiscal-code-cell{white-space:nowrap;min-width:150px}.fiscal-code-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;letter-spacing:.02em}


/* V2.47 - filtri compatti e tabelle Rosa/Tesseramenti piu dense */
.compact-table-card{padding:10px!important}
.compact-sort-bar{display:flex;align-items:center;justify-content:flex-end;min-height:32px;margin:0 0 7px;padding:0 1px;background:transparent;border:0;box-shadow:none}
.compact-sort-form{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;margin:0}
.compact-sort-title{font-size:11px;font-weight:900;line-height:1;color:var(--navy);text-transform:uppercase;letter-spacing:.35px}
.compact-sort-form label{font-size:11px;line-height:1;color:var(--muted);font-weight:700}
.compact-sort-form select{width:auto;min-width:105px;height:29px;padding:3px 26px 3px 7px;border-radius:7px;font-size:12px;line-height:1.1;background:#fff}
.compact-sort-form select[name="direction"]{min-width:112px}

/* neutralizza il vecchio box V2.44 se presente in pagine/cache miste */
.registration-sort-card{padding:6px 8px!important;margin-bottom:7px!important;border-radius:9px!important;box-shadow:none!important}
.registration-sort-form{gap:5px!important}
.registration-sort-title{font-size:11px!important;margin-right:1px!important}
.registration-sort-field{gap:2px!important;min-width:105px!important}
.registration-sort-field select{min-width:105px!important;height:29px!important;padding:3px 7px!important;font-size:12px!important}
.registration-sort-summary{display:none!important}

/* Tesseramenti: righe e controlli piu bassi, larghezze ridotte */
.registrations-table{min-width:1190px!important;font-size:12.5px}
.registrations-table th{padding:6px 7px!important;font-size:10.5px!important;line-height:1.1}
.registrations-table td{padding:5px 7px!important;line-height:1.15}
.registrations-table td strong{line-height:1.1}
.registrations-table .position{margin-top:2px;font-size:10px;line-height:1.05}
.registrations-table .badge{padding:3px 6px;font-size:10.5px;line-height:1.15}
.registrations-table .btn.small{padding:4px 6px;font-size:10.5px;border-radius:7px;line-height:1.1}
.registrations-table .actions{gap:4px}
.registrations-table .registration-actions{flex-wrap:nowrap}
.registrations-table .doc-photo-cell{min-width:218px!important}
.registrations-table .doc-side-row{grid-template-columns:37px auto 1fr;gap:4px;margin:2px 0}
.registrations-table .doc-side-label{font-size:10.5px}
.registrations-table .medical-file-row{gap:4px;margin-top:3px;flex-wrap:nowrap}
.registrations-table .fiscal-code-cell{min-width:130px!important}
.registrations-table .fiscal-code-value{font-size:11.5px}
.compact-registrations-wrap{border-radius:9px}

/* Rosa: stesso principio di densita e filtro */
.compact-roster-table{min-width:960px!important;font-size:12.5px}
.compact-roster-table th{padding:6px 7px!important;font-size:10.5px!important;line-height:1.1}
.compact-roster-table td{padding:6px 7px!important;line-height:1.15}
.compact-roster-table .badge{padding:3px 6px;font-size:10.5px;line-height:1.15}
.compact-roster-table .btn.small{padding:4px 7px;font-size:10.5px;border-radius:7px;line-height:1.1}
.compact-roster-table .actions{gap:4px;flex-wrap:nowrap}
.compact-roster-table .muted{font-size:10.5px;margin-top:2px}
.compact-roster-wrap{border-radius:9px}

@media(max-width:800px){
  .compact-sort-bar{justify-content:flex-start}
  .compact-sort-form{justify-content:flex-start}
  .compact-sort-form select{min-width:102px}
}

/* V2.48 - Statistiche: profilo singolo giocatore con menu e grafici a torta */
.stats-page-title{margin-bottom:12px}.stats-team-strip{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin-bottom:10px}.stats-team-metric{display:flex;align-items:center;gap:8px;min-width:150px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.stats-team-metric span{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.25px}.stats-team-metric strong{font-size:20px;color:var(--navy);margin-left:auto}.stats-selector-card{padding:10px 12px;margin-bottom:10px;box-shadow:none}.stats-selector-form{display:flex;align-items:end;gap:10px}.stats-player-field{width:min(460px,100%)}.stats-player-field select{padding:7px 9px;font-weight:700;color:var(--navy)}.stats-player-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-bottom:10px}.stats-player-kicker{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.stats-player-head h2{margin:2px 0 7px;font-size:24px}.stats-player-meta{display:flex;gap:6px;flex-wrap:wrap}.stats-player-rate{text-align:right;display:grid;gap:1px;min-width:160px}.stats-player-rate strong{font-size:32px;line-height:1;color:var(--navy)}.stats-player-rate span{font-size:11px;color:var(--muted)}
.stats-metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:10px}.stats-metric-card{padding:12px 13px;box-shadow:none;position:relative;overflow:hidden}.stats-metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue)}.stats-metric-card.warning:before{background:#d79a20}.stats-metric-card.danger:before{background:var(--danger)}.stats-metric-card span{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.stats-metric-card strong{display:block;font-size:27px;line-height:1.05;margin-top:5px;color:var(--navy)}.stats-metric-card small{display:block;font-size:10px;color:var(--muted);margin-top:4px;line-height:1.25}
.stats-donut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}.stats-chart-card{padding:13px 14px;box-shadow:none;display:grid;justify-items:center;gap:10px}.stats-chart-title{font-size:13px;font-weight:900;color:var(--navy);text-align:center}.stats-donut{--stats-value:0%;position:relative;width:148px;height:148px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--stats-color) 0 var(--stats-value),#e5ebf0 var(--stats-value) 100%)}.stats-donut:after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff;border:1px solid #e5ebf0}.stats-donut-presence{--stats-color:#2f9b69}.stats-donut-callup{--stats-color:#2a9dba}.stats-donut-goal{--stats-color:#315f9b}.stats-donut-hole{position:relative;z-index:1;display:grid;justify-items:center;line-height:1}.stats-donut-hole strong{font-size:29px;color:var(--navy)}.stats-donut-hole span{font-size:10px;font-weight:800;color:var(--muted);margin-top:5px;text-transform:uppercase}.stats-chart-legend{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.stats-chart-legend span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);min-width:0}.stats-chart-legend strong{margin-left:auto;color:var(--navy)}.legend-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px;background:#cbd5dd}.legend-dot.presence{background:#2f9b69}.legend-dot.callup{background:#2a9dba}.legend-dot.goal{background:#315f9b}.legend-dot.neutral{background:#cbd5dd}
.stats-history-card{padding:13px 14px;box-shadow:none}.stats-history-title{margin:0 0 9px}.stats-history-table{min-width:790px}.stats-history-table th{padding:7px 8px;font-size:10px}.stats-history-table td{padding:7px 8px;font-size:12px}.stats-check{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:900}.stats-check.yes{background:#e7f6ef;color:var(--ok)}.stats-check.no{background:#eef1f3;color:#7a8790}
@media(max-width:1200px){.stats-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.stats-donut-grid{grid-template-columns:1fr}.stats-chart-card{grid-template-columns:130px minmax(0,1fr);justify-items:start}.stats-chart-title{grid-column:1/-1;text-align:left}.stats-donut{width:124px;height:124px}.stats-donut:after{inset:14px}.stats-chart-legend{align-self:center}}@media(max-width:650px){.stats-team-strip{display:grid;grid-template-columns:1fr 1fr}.stats-team-metric:last-child{grid-column:1/-1}.stats-player-head{align-items:flex-start;flex-direction:column}.stats-player-rate{text-align:left}.stats-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-chart-card{grid-template-columns:1fr;justify-items:center}.stats-chart-title{text-align:center}.stats-chart-legend{width:min(280px,100%)}.stats-selector-form{display:block}}@media(max-width:390px){.stats-metrics-grid{grid-template-columns:1fr}.stats-team-strip{grid-template-columns:1fr}.stats-team-metric:last-child{grid-column:auto}}

/* V2.51 - multi-squadra */
.club-switch-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid rgba(255,255,255,.28);border-radius:8px;color:#fff;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap;background:rgba(255,255,255,.07)}
.club-switch-btn:hover{background:rgba(255,255,255,.14)}
.club-choice-page{min-height:100vh}
.club-choice-shell{width:min(920px,calc(100% - 32px));margin:0 auto;padding:42px 0}
.club-choice-head{display:flex;align-items:center;gap:16px;margin-bottom:28px;color:#fff}
.club-choice-head h1{margin:0 0 4px;font-size:30px}
.club-choice-head .subtitle{color:#c8d8e4}
.club-choice-user{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px}
.club-choice-user span{color:#a9c1d2;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}
.club-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.club-choice-form{margin:0}
.club-choice-card{width:100%;min-height:330px;border:0;border-radius:22px;background:#fff;padding:28px 24px 24px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;box-shadow:0 16px 40px rgba(0,0,0,.18);transition:transform .16s ease,box-shadow .16s ease;text-align:center;color:#0d2b45}
.club-choice-card:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(0,0,0,.24)}
.club-choice-logo-wrap{width:190px;height:190px;display:flex;align-items:center;justify-content:center}
.club-choice-logo-wrap img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.club-choice-placeholder{width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#edf3f7;color:#0d2b45;font-size:42px;font-weight:900}
.club-choice-name{font-size:23px;font-weight:950;letter-spacing:.02em}
.club-choice-action{font-size:12px;font-weight:800;color:#5c7180;text-transform:uppercase;letter-spacing:.05em}
.club-choice-footer{display:flex;align-items:center;justify-content:space-between;margin-top:20px;color:#aec2d0;font-size:12px}
.operator-team-access{display:flex;flex-direction:column;gap:4px;min-width:180px;font-size:12px}
.operator-team-access label,.team-access-create label{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.team-access-label{font-size:10px;color:#71818d;text-transform:uppercase;font-weight:900;letter-spacing:.05em}
.team-access-create{display:flex;flex-wrap:wrap;gap:10px 16px;padding-top:6px}
@media(max-width:760px){.club-choice-grid{grid-template-columns:1fr}.club-choice-card{min-height:280px}.club-choice-head{align-items:flex-start;flex-wrap:wrap}.club-choice-user{margin-left:0;width:100%;align-items:flex-start}.club-choice-logo-wrap{width:150px;height:150px}}

/* V2.53 - Sidebar Variante 4: icone grandi, testo piu leggibile, navigazione stilizzata */
@media(min-width:1001px){
  .layout{grid-template-columns:252px minmax(0,1fr)}
  .sidebar{padding:18px 14px 24px;background:#fff}
}
.nav-v253{display:grid;gap:6px}
.nav-v253 a{position:relative;display:flex;align-items:center;gap:13px;min-height:54px;padding:7px 10px;margin:0;border:1px solid transparent;border-radius:15px;color:#173a59;font-size:15px;font-weight:750;letter-spacing:-.1px;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}
.nav-v253 a:hover{background:#f1f7fb;border-color:#dbe9f2;color:#0d2b45;transform:translateX(2px)}
.nav-v253 a.active{background:linear-gradient(90deg,#e7f2fb 0%,#f4f9fc 100%);border-color:#cfe2ef;color:#0d2b45;box-shadow:0 3px 12px rgba(13,43,69,.07)}
.nav-v253 a.active:before{content:"";position:absolute;left:-14px;top:12px;bottom:12px;width:4px;border-radius:0 4px 4px 0;background:#2583c5}
.nav-v253 .nav-label{line-height:1.15;white-space:nowrap}
.nav-v253 .nav-icon{width:41px;height:41px;flex:0 0 41px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 4px 10px rgba(13,43,69,.12);transition:transform .16s ease,box-shadow .16s ease}
.nav-v253 a:hover .nav-icon,.nav-v253 a.active .nav-icon{transform:scale(1.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 5px 13px rgba(13,43,69,.17)}
.nav-v253 .nav-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nav-v253 .nav-icon-dashboard{background:linear-gradient(145deg,#45b7f4,#2476d8)}
.nav-v253 .nav-icon-calendar{background:linear-gradient(145deg,#5aa6ee,#2d70c8)}
.nav-v253 .nav-icon-callups{background:linear-gradient(145deg,#39d4a3,#13a57f)}
.nav-v253 .nav-icon-lineup{background:linear-gradient(145deg,#a06df0,#7545ce)}
.nav-v253 .nav-icon-roster{background:linear-gradient(145deg,#ffad3e,#f37d0f)}
.nav-v253 .nav-icon-registrations{background:linear-gradient(145deg,#469df1,#246ac6)}
.nav-v253 .nav-icon-finance{background:linear-gradient(145deg,#ffc84d,#e89c13)}
.nav-v253 .nav-icon-events{background:linear-gradient(145deg,#49b9f4,#277bc9)}
.nav-v253 .nav-icon-stats{background:linear-gradient(145deg,#ff7a79,#e64c5c)}
.nav-v253 .nav-icon-settings{background:linear-gradient(145deg,#7696b7,#496b8d)}
@media(max-width:1200px) and (min-width:1001px){
  .layout{grid-template-columns:236px minmax(0,1fr)}
  .nav-v253 a{font-size:14px;gap:11px}
  .nav-v253 .nav-icon{width:38px;height:38px;flex-basis:38px}
  .nav-v253 .nav-icon svg{width:20px;height:20px}
}

/* V2.54 - Web Updater server */
.update-history{margin-top:16px;border-top:1px solid #dbe5ec;padding-top:14px}
.update-history-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#173a59}.update-history-title span{font-size:11px;color:#7b8b97;text-transform:uppercase;font-weight:800;letter-spacing:.04em}
.update-history-list{display:grid;gap:7px}.update-history-row{display:grid;grid-template-columns:minmax(190px,1fr) 125px 110px 165px;align-items:center;gap:10px;padding:9px 10px;background:#f7fafc;border:1px solid #e2eaf0;border-radius:10px;font-size:12px}.update-history-row>div:first-child{display:flex;flex-direction:column;gap:2px}.update-history-row>div:first-child span{color:#7a8994;font-size:10px}.update-history-version{font-weight:850;color:#173a59}.software-update-form button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.update-history-row{grid-template-columns:1fr 1fr}.update-history-row form{justify-self:start}}


/* V2.55 - Utenti operativi: card moderne ultra-compatte (Soluzione 2 ridotta ~50%) */
.operator-compact-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;margin-bottom:9px}
.operator-compact-head h3{margin:0 0 3px;color:var(--navy)}
.operator-compact-tools{display:flex;align-items:center;gap:8px;position:relative}
.operator-search-wrap{height:34px;width:210px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #d9e4eb;border-radius:10px;background:#fff;color:#557083}
.operator-search-wrap span{font-size:17px;line-height:1;transform:rotate(-15deg)}
.operator-search-wrap input{width:100%;height:30px;border:0!important;outline:0;background:transparent;padding:0!important;font-size:12px;box-shadow:none!important}
.operator-count-badge{min-width:30px;text-align:center}
.operator-add-details{position:relative}.operator-add-details>summary{list-style:none;cursor:pointer}.operator-add-details>summary::-webkit-details-marker{display:none}
.operator-add-popover{position:absolute;right:0;top:42px;width:390px;z-index:50;padding:13px;background:#fff;border:1px solid #d8e4ec;border-radius:13px;box-shadow:0 15px 40px rgba(13,43,69,.18)}
.operator-add-popover h4{margin:0 0 10px;color:var(--navy)}
.operator-add-form-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px}.operator-add-form-mini .operator-mini-checks,.operator-add-form-mini>button{grid-column:1/-1}
.operator-add-form-mini .field label,.operator-mini-menu-panel .field label{font-size:9px}.operator-add-form-mini .field input,.operator-mini-menu-panel .field input{height:32px;padding:6px 8px;font-size:11px}
.operator-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.operator-mini-card{position:relative;min-width:0;margin:0;padding:9px 10px;border:1px solid #dce6ed;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(13,43,69,.045);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.operator-mini-card:hover{border-color:#c5dae8;box-shadow:0 6px 16px rgba(13,43,69,.08);transform:translateY(-1px)}
.operator-mini-main{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;align-items:center;gap:8px;min-height:44px}
.operator-mini-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#dceeff,#b9d9f7);color:#13579c;font-size:11px;font-weight:950;letter-spacing:.02em}
.operator-mini-card:nth-child(4n+2) .operator-mini-avatar{background:linear-gradient(145deg,#e8e0ff,#d0c2fa);color:#5536a8}.operator-mini-card:nth-child(4n+3) .operator-mini-avatar{background:linear-gradient(145deg,#d9f7ee,#bcebdc);color:#14765a}.operator-mini-card:nth-child(4n+4) .operator-mini-avatar{background:linear-gradient(145deg,#fff0d8,#f8dfb8);color:#8a5d16}
.operator-mini-identity{min-width:0;display:grid;gap:4px}.operator-mini-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#102f49;font-size:12px;line-height:1.1}
.operator-mini-badges{display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:nowrap;overflow:hidden}
.operator-team-pill,.operator-status-pill{display:inline-flex;align-items:center;min-height:17px;padding:1px 6px;border-radius:999px;font-size:8px;font-weight:850;line-height:1;white-space:nowrap}
.operator-team-pill.au{background:#e4f2ff;color:#1b66a5}.operator-team-pill.ps{background:#fff0c8;color:#805a00}.operator-status-pill.active{background:#e5f6ed;color:#187247}.operator-status-pill.inactive{background:#edf0f3;color:#7a8790}
.operator-mini-menu{position:relative;justify-self:end}.operator-mini-menu>summary{width:28px;height:28px;display:grid;place-items:center;list-style:none;border-radius:8px;color:#47657c;font-size:20px;line-height:1;cursor:pointer;user-select:none}.operator-mini-menu>summary::-webkit-details-marker{display:none}.operator-mini-menu>summary:hover,.operator-mini-menu[open]>summary{background:#edf5fa;color:#164f78}
.operator-mini-menu-panel{position:absolute;right:0;top:33px;width:265px;z-index:60;padding:11px;background:#fff;border:1px solid #d7e4ec;border-radius:12px;box-shadow:0 14px 36px rgba(13,43,69,.2);display:grid;gap:8px}
.operator-menu-title{font-size:11px;font-weight:900;color:#173a59;padding-bottom:7px;border-bottom:1px solid #e8eef2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.operator-mini-checks{display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;font-size:10px;color:#375267}.operator-mini-checks label{display:inline-flex;align-items:center;gap:4px;font-weight:700;white-space:nowrap}.operator-mini-checks input{width:auto;margin:0}.operator-mini-checks.stacked{display:grid;gap:6px;padding:8px;border-radius:8px;background:#f7fafc}.operator-mini-checks.stacked>span{font-size:8px;font-weight:900;color:#71818d;text-transform:uppercase;letter-spacing:.05em}
.operator-mini-actions{display:flex;justify-content:flex-end;gap:6px;padding-top:2px}.operator-mini-actions .btn{min-height:29px;padding:5px 9px;font-size:10px}
@media(max-width:1250px){.operator-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.operator-compact-head{align-items:stretch;flex-direction:column}.operator-compact-tools{flex-wrap:wrap}.operator-search-wrap{width:min(100%,280px)}.operator-card-grid{grid-template-columns:1fr}.operator-add-popover{left:0;right:auto;width:min(390px,calc(100vw - 48px))}}
@media(max-width:520px){.operator-add-form-mini{grid-template-columns:1fr}.operator-mini-menu-panel{position:fixed;left:12px;right:12px;top:auto;width:auto}.operator-count-badge{display:none}}

/* V2.56 - Campi e località ultra-compatti */
.venue-ultra-card{padding:9px 11px!important}
.venue-ultra-form{display:grid;gap:6px}
.venue-ultra-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:24px}
.venue-ultra-title{display:flex;align-items:center;gap:8px;min-width:0}
.venue-ultra-title h2{margin:0!important;font-size:13px!important;line-height:1.1}
.venue-ultra-title span{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:999px;background:#e8f3fb;color:#236b9d;font-size:8px;font-weight:900;white-space:nowrap}
.venue-ultra-save{min-height:25px!important;padding:3px 9px!important;border-radius:7px!important;font-size:9px!important;line-height:1!important}
.venue-chip-list{display:flex;align-items:center;align-content:flex-start;flex-wrap:wrap;gap:5px 6px;margin:0}
.venue-chip{display:grid;grid-template-columns:15px minmax(42px,auto) 37px;align-items:center;gap:4px;min-width:0;height:29px;padding:3px 4px 3px 6px;margin:0;border:1px solid #dce6ed;border-radius:8px;background:#fff;box-shadow:0 2px 6px rgba(13,43,69,.035);cursor:default}
.venue-chip:hover{border-color:#bfd5e4;background:#fbfdff}
.venue-chip-pin{width:14px;height:14px;fill:none;stroke:#2583c5;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.venue-chip:nth-child(4n+2) .venue-chip-pin{stroke:#18a778}.venue-chip:nth-child(4n+3) .venue-chip-pin{stroke:#805bd4}.venue-chip:nth-child(4n+4) .venue-chip-pin{stroke:#ef8b2c}
.venue-chip-name{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173a59;font-size:9px;font-weight:850;letter-spacing:.01em;text-transform:uppercase}
.venue-chip-location{width:37px!important;height:21px!important;min-height:21px!important;padding:1px 2px!important;border:0!important;border-radius:999px!important;background:#e7f2fb!important;color:#1e6295!important;font-size:8px!important;font-weight:950!important;text-align:center;box-shadow:none!important;cursor:pointer}
.venue-chip-location:focus{outline:1px solid #7fb4d5!important;outline-offset:1px}
.venue-ultra-help{font-size:8.5px;color:#7b8b97;line-height:1.2;margin-top:1px}
@media(max-width:760px){.venue-ultra-card{padding:8px!important}.venue-chip-list{gap:4px}.venue-chip{grid-template-columns:14px minmax(36px,auto) 36px;height:28px;padding-left:5px}.venue-chip-name{max-width:94px;font-size:8.5px}.venue-ultra-help{display:none}}

/* V2.58 - Alert compleanni Dashboard */
.birthday-dashboard-wrap{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr);gap:12px;margin-top:16px}
.birthday-today-card{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;align-items:center;padding:14px 16px;border:1px solid #f1d494;border-radius:15px;background:linear-gradient(110deg,#fff9e9 0%,#fffdf7 58%,#f5fbff 100%);box-shadow:0 4px 14px rgba(83,61,21,.06)}
.birthday-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#fff;border:1px solid #f2dfb2;font-size:29px;box-shadow:0 3px 10px rgba(83,61,21,.06)}
.birthday-today-content{min-width:0;display:grid;gap:7px}
.birthday-kicker{font-size:9px;font-weight:950;letter-spacing:.08em;color:#a56b12}
.birthday-person-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.birthday-person-main{min-width:0;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.birthday-person-main strong{font-size:15px;color:#183b58}.birthday-person-main span{font-size:11px;color:#7c6b4f;font-weight:750}
.birthday-whatsapp-btn{flex:0 0 auto!important;min-height:31px!important;padding:6px 10px!important;border-color:#9bd8bd!important;background:#e8f8f1!important;color:#147351!important;font-size:10px!important;font-weight:850!important}
.birthday-whatsapp-btn:hover{background:#dff5eb!important;border-color:#75c9a4!important}
.birthday-upcoming-card{padding:11px 12px;border:1px solid #dce7ef;border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(13,43,69,.04)}
.birthday-upcoming-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.birthday-upcoming-head strong{font-size:12px;color:#173a59}.birthday-upcoming-head span{padding:2px 6px;border-radius:999px;background:#eef5fa;color:#6a7d8c;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.birthday-upcoming-list{display:grid;gap:4px}.birthday-upcoming-item{display:grid;grid-template-columns:42px minmax(0,1fr) 52px 58px;align-items:center;gap:6px;min-height:27px;padding:3px 4px;border-radius:8px}.birthday-upcoming-item:nth-child(odd){background:#f8fbfd}
.birthday-date-pill{display:inline-flex;align-items:center;justify-content:center;height:20px;border-radius:999px;background:#fff0cc;color:#97620e;font-size:8px;font-weight:950}.birthday-upcoming-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:850;color:#23445f}.birthday-upcoming-age{font-size:8.5px;font-weight:800;color:#71818d;text-align:right}.birthday-upcoming-days{font-size:8px;font-weight:800;color:#8a99a4;text-align:right;white-space:nowrap}
@media(max-width:1050px){.birthday-dashboard-wrap{grid-template-columns:1fr}.birthday-upcoming-card{max-width:none}}
@media(max-width:650px){.birthday-today-card{grid-template-columns:44px minmax(0,1fr);padding:11px}.birthday-icon{width:42px;height:42px;border-radius:12px;font-size:23px}.birthday-person-row{align-items:flex-start;flex-direction:column}.birthday-whatsapp-btn{width:100%}.birthday-upcoming-item{grid-template-columns:42px minmax(0,1fr) 50px}.birthday-upcoming-days{display:none}}


/* V2.59 - Compleanni configurabili e calendario */
.birthday-settings-card{padding:14px 16px!important;border-color:#eadfbf!important;background:linear-gradient(120deg,#fffdf8 0%,#fff 68%)}
.birthday-settings-form{display:grid;gap:12px}.birthday-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.birthday-settings-head h2{margin:2px 0 3px!important}.birthday-settings-eyebrow{font-size:9px;font-weight:950;letter-spacing:.08em;color:#a56b12}.birthday-settings-save{flex:0 0 auto!important}.birthday-settings-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,.7fr);gap:14px;align-items:start}.birthday-message-field textarea{min-height:76px;resize:vertical;font-size:12px;line-height:1.4}.birthday-message-preview{margin-top:8px;padding:8px 10px;border:1px dashed #e4ca8f;border-radius:10px;background:#fffaf0;display:grid;gap:3px}.birthday-message-preview span{font-size:8px;font-weight:950;color:#a56b12;text-transform:uppercase;letter-spacing:.05em}.birthday-message-preview strong{font-size:10px;color:#4d442f;white-space:pre-wrap;overflow-wrap:anywhere}.birthday-days-input{display:grid;grid-template-columns:minmax(80px,120px) auto;gap:7px;align-items:center}.birthday-days-input input{height:38px}.birthday-days-input span{font-size:11px;font-weight:800;color:#667987}.calendar-birthday-event{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:4px;margin-bottom:4px;padding:5px 6px;border:1px solid #efd597;border-radius:8px;background:#fff8e5;color:#6e4c13;min-width:0}.calendar-birthday-cake{font-size:12px}.calendar-birthday-name{font-size:9px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-birthday-age{font-size:8px;font-weight:850;color:#9a711f;white-space:nowrap}.calendar-birthday-list-card{margin-top:12px;padding:11px 12px;border:1px solid #eadfbf;border-radius:13px;background:#fffdf7}.calendar-birthday-list-head{font-size:11px;font-weight:900;color:#664b1a;margin-bottom:8px}.calendar-birthday-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.calendar-birthday-list-item{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px 8px;border-radius:8px;background:#fff;border:1px solid #efe6cf}.calendar-birthday-list-item span{font-size:8px;font-weight:900;color:#9a711f}.calendar-birthday-list-item strong{font-size:9px;color:#23445f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-birthday-list-item small{font-size:8px;color:#7d8992;font-weight:800;white-space:nowrap}
@media(max-width:900px){.birthday-settings-grid{grid-template-columns:1fr}.calendar-birthday-list-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.birthday-settings-head{flex-direction:column}.birthday-settings-save{width:100%}.calendar-birthday-list-grid{grid-template-columns:1fr}.calendar-birthday-age{display:none}}

/* V2.60 - Impostazioni a schede: grafica originale, sola riorganizzazione */
.settings-tabs-shell{margin:0 0 16px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.settings-tabs{display:flex;align-items:stretch;gap:0;overflow-x:auto;scrollbar-width:thin;background:#fff}
.settings-tab-button{appearance:none;border:0;border-right:1px solid var(--line);border-bottom:3px solid transparent;background:#fff;color:#536878;min-height:54px;padding:9px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 13px/1.15 Segoe UI,Arial,sans-serif;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.settings-tab-button:last-child{border-right:0}
.settings-tab-button:hover{background:#f7fafc;color:var(--navy)}
.settings-tab-button.active{background:#eef5f9;color:var(--navy);border-bottom-color:var(--blue)}
.settings-tab-button:focus-visible{outline:2px solid rgba(42,157,186,.45);outline-offset:-3px}
.settings-tab-icon{font-size:15px;line-height:1}
.settings-tab-panel{display:none}
.settings-tab-panel.active{display:block}
.settings-tab-panel>.card:first-child,.settings-tab-panel>.grid:first-child{margin-top:0}
.settings-tab-panel>.card:last-child{margin-bottom:0!important}
@media(max-width:760px){.settings-tabs-shell{border-radius:11px}.settings-tabs{justify-content:flex-start}.settings-tab-button{min-height:49px;padding:8px 13px;font-size:12px}.settings-tab-icon{font-size:14px}}

/* V2.61 - Modalità demo pubblica e isolata */
.user-role-badge.demo{background:#fff2cc;color:#8a5b00;border:1px solid #f0d483}
.demo-mode-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:9px 12px;border:1px solid #f0d483;border-radius:10px;background:#fff9e8;color:#72510a;font-size:12px}
.demo-mode-banner strong{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:#f2b84b;color:#fff;font-size:10px;letter-spacing:.06em}
.demo-mode-banner span{font-weight:700}

.demo-setup-page{min-height:100vh;background:linear-gradient(145deg,#0f3452,#194e73 55%,#0f3452);padding:28px 16px}
.demo-setup-shell{width:min(760px,100%);margin:0 auto}
.demo-setup-brand{display:flex;align-items:center;gap:14px;color:#fff;margin-bottom:18px}
.demo-setup-brand h1{margin:0;font-size:28px}.demo-setup-brand .subtitle{color:#bcd0df;margin-top:4px}
.demo-setup-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 18px 50px rgba(0,0,0,.2)}
.demo-setup-card h2{margin:8px 0 6px;font-size:24px;color:#173a59}
.demo-setup-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff4d8;color:#8b5d00;font-size:10px;font-weight:900;letter-spacing:.08em}
.demo-setup-form{margin-top:18px}.demo-start-btn{width:100%;min-height:46px;font-size:14px}
.demo-limit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e1e9ef}
.demo-limit-grid>div{background:#f5f8fa;border:1px solid #e0e8ee;border-radius:12px;padding:12px;text-align:center}
.demo-limit-grid strong{display:block;font-size:22px;color:#1d6fa5}.demo-limit-grid span{display:block;margin-top:3px;font-size:10px;color:#728493;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.demo-setup-footer{display:flex;align-items:center;justify-content:space-between;color:#c4d4df;margin-top:14px;font-size:11px}
.demo-setup-footer form{margin:0}

.demo-settings-grid{align-items:start}
.demo-limits-card .permission-note{font-size:11px}
.demo-limit-progress{display:grid;gap:16px;margin-top:12px}
.demo-limit-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:12px}.demo-limit-row span{color:#6e8191;font-weight:800}
.demo-meter{height:9px;border-radius:999px;background:#e7edf2;overflow:hidden}.demo-meter i{display:block;height:100%;max-width:100%;border-radius:inherit;background:#2c8ccb}
.demo-reset-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.demo-reset-card h2{margin:0 0 3px}
@media(max-width:760px){.demo-limit-grid{grid-template-columns:1fr}.demo-reset-card{align-items:flex-start;flex-direction:column}.demo-setup-card{padding:18px}.demo-setup-brand h1{font-size:23px}}


/* V2.64 - selezione ed eliminazione multipla giocatori */
.bulk-player-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 7px;padding:0 1px}
.bulk-player-toolbar .compact-sort-bar{margin:0;min-height:29px;margin-left:auto}
.bulk-delete-form{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0}
.bulk-selected-count{display:inline-flex;align-items:center;min-height:27px;padding:3px 8px;border-radius:999px;background:#eef5f9;color:#617687;font-size:10px;font-weight:900;white-space:nowrap}
.bulk-delete-submit:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.25)}
.player-select-col{width:34px!important;min-width:34px!important;text-align:center!important;padding-left:4px!important;padding-right:4px!important}
.player-select-checkbox,.player-select-master{width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;accent-color:var(--blue);cursor:pointer;vertical-align:middle}
.compact-roster-table{min-width:994px!important}
.registrations-table{min-width:1224px!important}
@media(max-width:800px){.bulk-player-toolbar{align-items:flex-start;flex-direction:column}.bulk-player-toolbar .compact-sort-bar{margin-left:0}.bulk-delete-form{width:100%}}


/* V2.65 - Coppa UISP nel calendario e statistiche separate/unite */
.badge.cup{background:#f3eafd!important;color:#6f42a5!important;border:1px solid #dbc8ef!important}
.calendar-event.cup{border-left-color:#8b5cc4;background:#f4eefb}
.calendar-event.cup .calendar-event-top span:first-child{color:#6f42a5}
.field-help{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.25}
input:disabled{background:#eef2f5!important;color:#8a99a5!important;cursor:not-allowed}
.stats-cup-control{display:flex;align-items:flex-end;gap:8px;flex-direction:column}
.stats-cup-control small{font-size:10px;color:var(--muted);font-weight:700}
.stats-cup-toggle.active{background:#6f42a5!important;border-color:#6f42a5!important;color:#fff!important;box-shadow:0 4px 12px rgba(111,66,165,.18)}
.stats-competition-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.stats-competition-team-card{padding:13px 15px!important}
.stats-competition-team-card.cup{border-color:#e0d2ef;background:#fcf9ff}
.stats-competition-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px}.stats-competition-heading strong{font-size:13px;color:var(--navy)}
.stats-competition-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.stats-competition-mini span{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 9px;border-radius:9px;background:#f4f7f9;color:#617484;font-size:10px;font-weight:800}.stats-competition-mini b{font-size:16px;color:var(--navy)}
.stats-split-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:13px 0}
.stats-split-competition{padding:14px!important}.stats-split-competition.cup{border-color:#dfd0ef;background:#fdfaff}
.stats-split-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.stats-split-head small{font-size:10px;color:var(--muted);font-weight:800}
.stats-split-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.stats-split-metrics>div{padding:9px 10px;border:1px solid #e2e9ee;border-radius:10px;background:#fff;display:grid;gap:3px}.stats-split-metrics span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.03em}.stats-split-metrics strong{font-size:20px;color:var(--navy)}.stats-split-metrics small{font-size:9px;color:#7b8b97}.stats-split-metrics .warning strong{color:#c78912}.stats-split-metrics .danger strong{color:#c84e48}
.stats-player-rate.split strong{color:#6f42a5}
@media(max-width:900px){.stats-competition-team-grid,.stats-split-player-grid{grid-template-columns:1fr}.stats-cup-control{align-items:flex-start}.stats-split-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V2.66 - Inserimento partita cliccando il giorno nella vista Mese */
.calendar-day-clickable{cursor:pointer;transition:background .12s ease,box-shadow .12s ease}
.calendar-day-clickable:hover{background:#f4f9fc;box-shadow:inset 0 0 0 1px #b9d4e6}
.calendar-day-number{gap:6px}
.calendar-day-add-hint{display:grid;place-items:center;width:20px;height:20px;margin-right:auto;border-radius:999px;color:#6f8797;background:#eef5f9;font-size:14px;font-weight:800;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}
.calendar-day-clickable:hover .calendar-day-add-hint{opacity:1;background:#dceefa;color:var(--blue)}
.calendar-day-cell.today .calendar-day-add-hint{background:#e5f1f8;color:var(--blue)}
.calendar-add-panel{position:fixed;inset:0;z-index:1200;background:rgba(8,31,49,.48);padding:28px;overflow:auto;display:flex;align-items:flex-start;justify-content:center}
.calendar-add-panel[hidden]{display:none!important}
.calendar-add-dialog{width:min(980px,100%);margin:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(9,39,62,.30);overflow:hidden}
.calendar-add-dialog .calendar-add-title{margin:0;padding:15px 18px;border-bottom:1px solid var(--line);background:#f8fbfd}
.calendar-add-dialog .calendar-add-title h2{margin:0}
.calendar-add-form{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:18px!important}
body.calendar-modal-open{overflow:hidden}
@media(max-width:780px){.calendar-add-panel{padding:12px}.calendar-add-dialog{margin:12px auto}.calendar-day-add-hint{opacity:.65}}

/* V2.68 - Marcatori rapidi compatti nella Modifica partita */
.scorer-quick-field{margin-top:2px;max-width:430px}
.scorer-quick-panel{width:100%;border:1px solid #d9e4eb;border-radius:9px;background:#f9fbfc;overflow:hidden}
.scorer-quick-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 7px;border-bottom:1px solid #e1e9ee;background:#fff}
.scorer-quick-title{display:block;margin:0;color:var(--navy);font-size:10px;font-weight:900;line-height:1}
.scorer-quick-total{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:2px 7px;border-radius:7px;background:#e9f7ef;color:#2b7655;font-size:8.5px;font-weight:800;white-space:nowrap}
.scorer-quick-total strong{font-size:11px;color:#17663f}
.scorer-quick-list{display:grid;grid-template-columns:1fr;gap:3px;padding:5px;max-height:168px;overflow:auto}
.scorer-quick-row{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:30px;padding:3px 4px;border:1px solid #e0e8ed;border-radius:6px;background:#fff}
.scorer-player-main{display:flex;align-items:center;gap:5px;min-width:0}
.scorer-player-number{display:grid;place-items:center;width:22px;height:22px;min-width:22px;border-radius:6px;background:#176aa0;color:#fff;font-size:8px;font-weight:900}
.scorer-player-text{min-width:0;display:block}
.scorer-player-text strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#183d5a;font-size:9px;line-height:1.05}
.scorer-player-text small{display:none}
.scorer-stepper{display:grid;grid-template-columns:22px 28px 22px;align-items:center;gap:2px;flex:none}
.scorer-step{display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid #d3dde5;border-radius:5px;background:#eef3f6;color:#29465d;font-size:14px;font-weight:900;line-height:1;cursor:pointer}
.scorer-step:hover{background:#dceaf3;color:#124f78}
.scorer-plus{background:#e7f2fa;color:#176aa0;border-color:#c9deed}
.scorer-goal-input{width:28px!important;height:22px!important;min-height:22px!important;padding:1px!important;text-align:center!important;border-radius:5px!important;font-size:9px!important;font-weight:900!important;color:#173a59!important;-moz-appearance:textfield}
.scorer-goal-input::-webkit-outer-spin-button,.scorer-goal-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.scorer-quick-empty{padding:10px;text-align:center;color:var(--muted);font-size:9px}
@media(max-width:900px){.scorer-quick-field{max-width:none}.scorer-quick-list{max-height:190px}}

/* V2.69 - Modifica partita: dropdown estendibili + marcatori sotto risultato */
.match-addable-select{font-weight:650}
.result-scorers-mini{display:flex;align-items:flex-start;gap:4px;min-height:16px;margin-top:4px;padding:0 2px;color:#6d7f8d;font-size:8.5px;line-height:1.25;overflow-wrap:anywhere}
.result-scorers-label{font-weight:850;color:#476478;white-space:nowrap}
#resultScorersText{font-weight:700;color:#647785}
.match-quick-add-modal{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(8,31,49,.42)}
.match-quick-add-modal[hidden]{display:none!important}
.match-quick-add-dialog{width:min(390px,100%);background:#fff;border:1px solid #d9e4eb;border-radius:14px;box-shadow:0 24px 70px rgba(9,39,62,.28);overflow:hidden}
.match-quick-add-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #e3ebf0;background:#f8fbfd;color:var(--navy)}
.match-quick-add-head strong{font-size:13px}
.match-quick-add-close{width:28px;height:28px;border:0;border-radius:8px;background:#edf3f7;color:#38566d;font-size:18px;font-weight:900;cursor:pointer}
.match-quick-add-body{display:grid;gap:6px;padding:14px}.match-quick-add-body label{font-size:10px;font-weight:850;color:#35536a}.match-quick-add-body input{min-height:39px}.match-quick-add-body small{font-size:9px;color:#7d8e9a;line-height:1.3}
.match-quick-add-actions{display:flex;justify-content:flex-end;gap:7px;padding:0 14px 14px}.match-quick-add-actions .btn{min-height:33px;padding:6px 12px;font-size:10px}
body.match-quick-add-open{overflow:hidden}
@media(max-width:700px){.result-scorers-mini{font-size:9px}.match-quick-add-modal{padding:10px}.match-quick-add-dialog{width:100%}}


/* V2.71 - menu Campi e Località ultracompatto */
.venue-db-mini{margin:0 0 16px;border:1px solid #dce6ed;border-radius:9px;background:#fff;overflow:hidden;box-shadow:0 2px 7px rgba(13,43,69,.03)}
.venue-db-mini>summary{list-style:none;min-height:34px;padding:5px 8px;display:flex;align-items:center;gap:7px;cursor:pointer;user-select:none}.venue-db-mini>summary::-webkit-details-marker{display:none}
.venue-db-mini-title{font-size:10.5px;font-weight:900;color:#173a59}.venue-db-mini-count{font-size:8px;font-weight:800;color:#6f8294;background:#f1f5f8;border-radius:999px;padding:2px 6px}.venue-db-mini-open{margin-left:auto;font-size:8.5px;font-weight:800;color:#39759f}.venue-db-mini[open] .venue-db-mini-open{font-size:0}.venue-db-mini[open] .venue-db-mini-open:after{content:'Chiudi ▴';font-size:8.5px}
.venue-db-mini-body{border-top:1px solid #e6edf2;padding:6px 7px 7px}.venue-db-mini-tabs{display:inline-flex;gap:2px;padding:2px;background:#f0f4f7;border-radius:6px;margin-bottom:5px}.venue-db-mini-tab{border:0;background:transparent;border-radius:4px;padding:3px 8px;font-size:8.5px;font-weight:900;color:#687d8c;cursor:pointer}.venue-db-mini-tab.active{background:#fff;color:#165f91;box-shadow:0 1px 3px rgba(13,43,69,.08)}
.venue-db-mini-panel{max-width:610px}.venue-db-mini-add{display:grid;grid-template-columns:minmax(140px,1.3fr) minmax(110px,1fr) 27px;gap:3px;margin-bottom:4px}.venue-db-mini-add.location-only{grid-template-columns:minmax(180px,1fr) 27px;max-width:330px}.venue-db-mini-add input,.venue-db-mini-add select,.venue-db-mini-edit input,.venue-db-mini-edit select{height:25px!important;min-height:25px!important;padding:2px 6px!important;border-radius:5px!important;font-size:8.5px!important}.venue-db-mini-add .btn{height:25px!important;min-height:25px!important;padding:1px 5px!important;font-size:11px!important;border-radius:5px!important}
.venue-db-mini-list{max-height:175px;overflow:auto;border:1px solid #e6edf2;border-radius:6px;background:#fbfdff}.venue-db-mini-row{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:2px;align-items:center;padding:2px 3px;border-bottom:1px solid #edf2f5}.venue-db-mini-row:last-child{border-bottom:0}.venue-db-mini-edit{display:grid;grid-template-columns:minmax(135px,1.25fr) minmax(105px,1fr) 24px;gap:2px;align-items:center;min-width:0}.venue-db-mini-edit.location-edit{grid-template-columns:minmax(175px,1fr) 24px;max-width:330px}.venue-db-icon{width:24px;height:24px;border:0;border-radius:5px;font-size:10px;font-weight:900;cursor:pointer}.venue-db-icon.save{background:#e6f5ed;color:#138451}.venue-db-icon.delete{background:#fff0f1;color:#c93c48}.venue-db-mini-note{margin-top:4px;color:#7b8b97;font-size:8px;line-height:1.2}.venue-db-mini-empty{padding:6px;color:#7b8b97;font-size:8.5px}@media(max-width:760px){.venue-db-mini-panel{max-width:none}.venue-db-mini-add{grid-template-columns:1fr 1fr 27px}.venue-db-mini-edit{grid-template-columns:1fr 1fr 24px}.venue-db-mini-count{display:none}}

/* V2.72 - Campi e localita: scheda dedicata, gestione completa e compatta */
.venue-manager-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 12px;padding:2px 2px 0}
.venue-manager-header h2{margin:0 0 3px;font-size:18px;color:var(--navy)}
.venue-manager-counters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.venue-manager-counters span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#eef5f9;color:#35657f;font-size:9px;font-weight:900;white-space:nowrap}
.venue-manager-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;align-items:start}
.venue-manager-card{padding:0!important;overflow:hidden;margin:0!important;border-radius:12px!important}
.venue-manager-card-head{min-height:56px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4ebf0}
.venue-manager-fields .venue-manager-card-head{background:linear-gradient(90deg,#edf6ff,#f7fbff)}
.venue-manager-locations .venue-manager-card-head{background:linear-gradient(90deg,#eefaf4,#f8fdfb)}
.venue-manager-card-head h3{margin:0 0 2px;font-size:14px;color:#173a59}.venue-manager-card-head .subtitle{font-size:9px}
.venue-manager-add{display:grid;grid-template-columns:minmax(145px,1.25fr) minmax(120px,.95fr) auto;gap:5px;padding:9px 10px;border-bottom:1px solid #edf2f5;background:#fff}
.venue-manager-add.location-only{grid-template-columns:minmax(180px,1fr) auto}
.venue-manager-add input,.venue-manager-add select,.venue-manager-row-form input,.venue-manager-row-form select{height:30px!important;min-height:30px!important;border-radius:6px!important;padding:3px 7px!important;font-size:10px!important}
.venue-manager-add .btn{height:30px!important;min-height:30px!important;padding:3px 9px!important;font-size:9px!important;border-radius:6px!important;white-space:nowrap}
.venue-manager-table-head{display:grid;align-items:center;gap:5px;min-height:27px;padding:4px 10px;background:#f3f6f8;border-bottom:1px solid #e3eaf0;color:#4f6575;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.venue-fields-head{grid-template-columns:minmax(130px,1.25fr) minmax(105px,.95fr) 58px}.venue-locations-head{grid-template-columns:minmax(160px,1fr) 58px}
.venue-manager-list{max-height:355px;overflow:auto;background:#fff;scrollbar-width:thin}
.venue-manager-row{display:grid;grid-template-columns:minmax(0,1fr) 27px;gap:3px;align-items:center;padding:3px 7px;border-bottom:1px solid #edf2f5}.venue-manager-row:last-child{border-bottom:0}
.venue-manager-row:hover{background:#fbfdff}
.venue-manager-row-form{display:grid;grid-template-columns:minmax(130px,1.25fr) minmax(105px,.95fr) 27px;gap:4px;align-items:center;min-width:0}
.venue-manager-row-form.location-form{grid-template-columns:minmax(160px,1fr) 27px}
.venue-manager-delete-form{margin:0;display:flex;align-items:center;justify-content:center}
.venue-manager-icon{width:27px;height:27px;min-width:27px;border:0;border-radius:6px;font-size:11px;font-weight:950;cursor:pointer;display:grid;place-items:center}
.venue-manager-icon.save{background:#e9f4ff;color:#1472b3}.venue-manager-icon.save:hover{background:#dceeff}
.venue-manager-icon.delete{background:#fff0f1;color:#c83c49}.venue-manager-icon.delete:hover{background:#ffe3e6}
.venue-manager-empty{padding:14px;color:#7b8b97;text-align:center;font-size:9.5px}
.venue-manager-note{margin-top:10px;padding:9px 11px;border:1px solid #dbe9f3;border-radius:9px;background:#f5faff;color:#647b8b;font-size:9px;line-height:1.35}
@media(max-width:900px){.venue-manager-grid{grid-template-columns:1fr}.venue-manager-list{max-height:300px}}
@media(max-width:620px){.venue-manager-header{display:block}.venue-manager-counters{justify-content:flex-start;margin-top:7px}.venue-manager-add{grid-template-columns:1fr}.venue-manager-add.location-only{grid-template-columns:1fr}.venue-manager-table-head{display:none}.venue-manager-row{grid-template-columns:minmax(0,1fr) 31px;padding:5px}.venue-manager-row-form{grid-template-columns:1fr 1fr 29px}.venue-manager-row-form.location-form{grid-template-columns:1fr 29px}.venue-manager-icon{width:29px;height:29px}}

/* V2.74 - Convocazioni: layout organizzativo distinto dalla Distinta */
.callups-v274-title{margin-bottom:10px}
.callups-v274-picker{padding:10px 12px;margin-bottom:10px}
.callups-v274-picker-form{display:grid;grid-template-columns:minmax(280px,620px);gap:8px}
.callups-v274-picker .field{margin:0}
.callups-v274-picker label{font-size:10px;margin-bottom:4px}
.callups-v274-picker select{height:34px;min-height:34px;padding-top:4px!important;padding-bottom:4px!important}
.callups-v274-matchbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;margin-bottom:10px;border:1px solid #d9e7f2;border-radius:13px;background:linear-gradient(90deg,#eef7ff 0,#f9fcff 62%,#fff 100%)}
.callups-v274-match-main{display:flex;align-items:center;gap:10px;min-width:0}
.callups-v274-match-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#dceeff;font-size:18px;flex:0 0 36px}
.callups-v274-match-main strong{display:block;color:var(--navy);font-size:15px;line-height:1.2}
.callups-v274-match-main span{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.callups-v274-actions{margin:0;flex-wrap:wrap;justify-content:flex-end}
.callups-v274-wa{background:#ecfbf4!important;border-color:#b9e8d1!important;color:#16714d!important}
.callups-v274-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,.75fr);gap:10px;align-items:start}
.callups-v274-roster,.callups-v274-selected,.callups-v274-summary{padding:12px!important}
.callups-v274-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.callups-v274-section-head>div{min-width:0}
.callups-v274-section-head h2{font-size:15px;margin:0;color:var(--navy)}
.callups-v274-section-head span{display:block;font-size:9.5px;color:var(--muted);margin-top:2px}
.callups-v274-section-head>.badge{font-size:10px!important;margin:0;color:inherit}
.callups-v274-soft-badge{display:inline-flex!important;align-items:center;padding:5px 8px;border-radius:999px;background:#eef6fc;color:#47718e!important;font-size:9px!important;font-weight:800;white-space:nowrap}
.callups-v274-filters{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:8px;align-items:center;padding:8px;border:1px solid #e2ebf2;border-radius:10px;background:#f8fbfd;margin-bottom:8px}
.callups-v274-search-wrap{position:relative;min-width:0}
.callups-v274-search-wrap>span{position:absolute;left:9px;top:50%;transform:translateY(-52%);font-size:16px;color:#6d8494;pointer-events:none}
.callups-v274-search-wrap input{height:32px;min-height:32px;padding:4px 8px 4px 28px!important;font-size:11px}
.callups-v274-role-filters{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.callups-v274-role-btn{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:3px 7px;border:1px solid #d7e3eb;border-radius:7px;background:#fff;color:#506575;font-size:10px;font-weight:900;cursor:pointer}
.callups-v274-role-btn small{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#edf2f6;color:#6f8290;font-size:8px}
.callups-v274-role-btn.active{background:#1976d2;border-color:#1976d2;color:#fff}
.callups-v274-role-btn.active small{background:rgba(255,255,255,.2);color:#fff}
.callups-v274-role-btn.role-p:not(.active){color:#a66b00;background:#fffaf0}.callups-v274-role-btn.role-d:not(.active){color:#187450;background:#f4fbf7}.callups-v274-role-btn.role-c:not(.active){color:#1b6bb7;background:#f2f8fe}.callups-v274-role-btn.role-a:not(.active){color:#b42318;background:#fff5f4}.callups-v274-role-btn.role-staff:not(.active){color:#5b4b91;background:#f7f5fc}
.callups-v274-only-available{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:10px;font-weight:800;color:#506575;margin:0}
.callups-v274-only-available input{width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;accent-color:#1b7f5a}
.callups-v274-table-wrap{max-height:510px;overflow:auto;border:1px solid #e3ebf1;border-radius:10px}
.callups-v274-table{font-size:10.5px!important;min-width:600px!important}
.callups-v274-table thead th{position:sticky;top:0;z-index:2;background:#f3f7fa!important;color:#536878!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.25px;padding:6px 7px!important}
.callups-v274-table td{padding:4px 7px!important;height:36px}
.callups-v274-table .callups-v274-check-col{width:34px;text-align:center!important}
.callups-v274-check{width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;accent-color:#1976d2}
.callups-v274-player-cell{display:flex;align-items:center;gap:6px;min-width:0}
.callups-v274-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:22px;border-radius:7px;background:#0f6ea8;color:#fff;font-size:9px;font-weight:950}
.callups-v274-player-cell .callup-player-name{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.callups-v274-role{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:21px;padding:0 6px;border-radius:6px;background:#eef3f7;color:#445968;font-size:9px;font-weight:950;text-transform:uppercase}
.callups-v274-role.role-p,.callups-v274-role.role-portiere{background:#fff1cf;color:#916000}.callups-v274-role.role-d,.callups-v274-role.role-difensore{background:#dcf4e8;color:#146947}.callups-v274-role.role-c,.callups-v274-role.role-centrocampista{background:#ddecfb;color:#145f9e}.callups-v274-role.role-a,.callups-v274-role.role-attaccante{background:#fde2e0;color:#a0261d}.callups-v274-role.role-dirigente,.callups-v274-role.role-staff,.callups-v274-role.role-allenatore{background:#ece8fb;color:#554394}
.callups-v274-status{height:28px!important;min-height:28px!important;padding:2px 26px 2px 7px!important;font-size:9.5px!important;border-radius:7px!important}
.callups-v274-side{display:grid;gap:10px}
.callups-v274-selected-list{display:grid;gap:5px;max-height:310px;overflow:auto;padding-right:2px}
.callups-v274-selected-item{display:grid;grid-template-columns:22px 24px minmax(0,1fr) 26px;align-items:center;gap:6px;min-height:38px;padding:4px 5px;border:1px solid #e0e8ee;border-radius:9px;background:#fff}
.callups-v274-selected-index{font-size:9px;font-weight:900;color:#7a8d9c;text-align:center}
.callups-v274-selected-item strong{display:block;font-size:10px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.callups-v274-selected-item small{display:block;font-size:8.5px;color:var(--muted);margin-top:1px}
.callups-v274-remove{width:24px;height:24px;border:0;border-radius:7px;background:#fff0ef;color:#c2332a;font-size:16px;font-weight:800;cursor:pointer}
.callups-v274-selected-empty{padding:22px 10px;text-align:center;color:#8a9aa7;font-size:10px;border:1px dashed #dbe4ea;border-radius:9px;background:#fafcfd}
.callups-v274-summary-body{display:grid;grid-template-columns:118px minmax(0,1fr);gap:13px;align-items:center}
.callups-v274-legend{display:grid;gap:7px}
.callups-v274-legend>div{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:6px;font-size:10px;color:#596e7e}
.callups-v274-legend i{width:8px;height:8px;border-radius:50%;display:block}.callups-v274-legend strong{font-size:11px;color:var(--navy)}
.legend-available{background:#1b7f5a}.legend-unavailable{background:#d18400}.legend-awaiting{background:#c89b00}.legend-injured{background:#c33}
.callups-v274-summary .callup-capacity-summary{margin-top:8px;padding-top:8px}.callups-v274-summary .callup-metric-status{min-height:0;justify-content:flex-start;text-align:left;font-size:10.5px}.callups-v274-summary .subtitle{font-size:9.5px!important}
.callups-v274-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.callups-v274-message-card{padding:11px!important}.callups-v274-message-card .section-title{margin:0 0 7px!important}.callups-v274-message-card h2{font-size:13px!important}.callups-v274-message-card .copybox{max-height:170px;overflow:auto;font-size:10px;line-height:1.4}
.callups-v274-footer-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:1180px){.callups-v274-layout{grid-template-columns:1fr}.callups-v274-side{grid-template-columns:repeat(2,minmax(0,1fr))}.callups-v274-filters{grid-template-columns:1fr}.callups-v274-only-available{justify-self:start}}
@media(max-width:760px){.callups-v274-matchbar{align-items:stretch;flex-direction:column}.callups-v274-actions{justify-content:flex-start}.callups-v274-side,.callups-v274-bottom-grid{grid-template-columns:1fr}.callups-v274-summary-body{grid-template-columns:105px minmax(0,1fr)}.callups-v274-picker-form{grid-template-columns:1fr}.callups-v274-soft-badge{display:none!important}}

/* V2.75 - Doppia interfaccia Convocazioni / Distinta */
.ui-mode-page-title{align-items:center;gap:12px}
.ui-mode-title-actions{align-items:center;justify-content:flex-end;flex-wrap:wrap}
.ui-mode-toggle{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:5px 9px;border:1px solid #cfdde7;border-radius:10px;background:#fff;color:#496274;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px rgba(13,43,69,.03)}
.ui-mode-toggle:hover{background:#f7fafc;border-color:#b9ccda}
.ui-mode-toggle-label{line-height:1}
.ui-mode-switch{position:relative;width:36px;height:20px;border-radius:999px;background:#cbd6de;transition:.18s ease;flex:0 0 36px}
.ui-mode-switch i{position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s ease}
.ui-mode-toggle.is-active{border-color:#8bbcdf;background:#eef7ff;color:#0d5f9d}
.ui-mode-toggle.is-active .ui-mode-switch{background:#1976d2}
.ui-mode-toggle.is-active .ui-mode-switch i{left:19px}
@media(max-width:760px){.ui-mode-page-title{align-items:flex-start;flex-direction:column}.ui-mode-toggle-label{display:none}.ui-mode-title-actions{width:100%;justify-content:flex-start}}

/* Distinta moderna: stessa logica, impostazione grafica tecnica/ufficiale verde */
.lineup-modern-mode .lineup-page-title{margin-bottom:10px;padding:10px 12px;border:1px solid #d8ebe1;border-radius:13px;background:linear-gradient(90deg,#f2fbf6 0,#fff 72%)}
.lineup-modern-mode .lineup-page-title h1{display:flex;align-items:center;gap:8px;color:#124b38}
.lineup-modern-mode .lineup-page-title h1:before{content:"▣";display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e0f5e9;color:#178457;font-size:17px}
.lineup-modern-mode .lineup-page-title .subtitle{color:#668176}
.lineup-modern-mode .ui-mode-toggle.is-active{border-color:#94cfad;background:#effaf4;color:#176b49}
.lineup-modern-mode .ui-mode-toggle.is-active .ui-mode-switch{background:#1b8a5a}
.lineup-modern-mode .lineup-matchbar{padding:10px 12px;margin-bottom:10px;border-color:#dcebe3;background:linear-gradient(90deg,#f3fbf6,#fff);box-shadow:none}
.lineup-modern-mode .lineup-match-summary strong{color:#124b38}
.lineup-modern-mode .formation-app{grid-template-columns:minmax(520px,1.55fr) minmax(330px,.7fr);grid-template-areas:"main roster" "main details" "preview preview";gap:10px;justify-content:stretch;align-items:start}
.lineup-modern-mode .formation-main-panel{grid-area:main;grid-column:auto;grid-row:auto;max-width:none!important;width:100%}
.lineup-modern-mode .formation-roster-panel{grid-area:roster;grid-column:auto;grid-row:auto;padding:12px;border-color:#dbe8e0}
.lineup-modern-mode .formation-details-panel{grid-area:details;grid-column:auto;grid-row:auto;position:static;padding:12px;border-color:#dbe8e0}
.lineup-modern-mode .formation-preview-panel{grid-area:preview;grid-column:auto;grid-row:auto;position:static;min-width:0;max-width:none;width:100%;border-color:#dbe8e0}
.lineup-modern-mode .formation-toolbar{border-color:#d8e9df;background:#f7fcf9}
.lineup-modern-mode .formation-selector select{border-color:#b9d8c7;color:#18523d}
.lineup-modern-mode .formation-counter.complete{background:#e3f6eb;color:#176746}
.lineup-modern-mode .formation-save-btn,.lineup-modern-mode .lineup-page-actions>.btn:first-child{background:#178457;border-color:#178457;color:#fff}
.lineup-modern-mode .formation-save-btn:hover,.lineup-modern-mode .lineup-page-actions>.btn:first-child:hover{background:#126e48}
.lineup-modern-mode .formation-panel-head h2,.lineup-modern-mode .formation-staff-title{color:#164d3a}
.lineup-modern-mode .formation-roster-list{grid-template-columns:1fr!important;gap:5px;max-height:430px;overflow:auto;padding-right:3px}
.lineup-modern-mode .formation-player-card{min-height:40px;border-color:#dde8e1;background:#fff}
.lineup-modern-mode .formation-player-card:hover{border-color:#a9cdb9;background:#f6fbf8}
.lineup-modern-mode .football-pitch{width:min(100%,650px)}
.lineup-modern-mode .football-pitch-shell{place-items:center}
.lineup-modern-mode .formation-bench-panel{max-width:none;border-color:#d8e9df}
.lineup-modern-mode .lineup-preview-summary{background:#f3fbf6;border-bottom-color:#dbeadf}
.lineup-modern-mode .lineup-preview-summary strong{color:#164d3a}
@media(max-width:1180px){.lineup-modern-mode .formation-app{grid-template-columns:1fr;grid-template-areas:"main" "roster" "details" "preview"}.lineup-modern-mode .formation-roster-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:none;overflow:visible}.lineup-modern-mode .formation-details-panel{display:block}}
@media(max-width:680px){.lineup-modern-mode .formation-roster-list{grid-template-columns:1fr!important}.lineup-modern-mode .lineup-page-title{padding:9px}.lineup-modern-mode .football-pitch{width:min(100%,500px)}}

/* V2.76 - Interfaccia moderna completa, fedele al concept approvato */
.callups-v276-title{margin-bottom:10px;padding:9px 11px;border:1px solid #d8e7f2;border-radius:13px;background:linear-gradient(90deg,#f3f9ff 0,#fff 72%)}
.callups-v276-title-main,.lineup-v276-title-main{display:flex;align-items:center;gap:10px;min-width:0}
.callups-v276-title-icon,.lineup-v276-title-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#e1efff;color:#1372d0;font-size:18px}
.callups-v276-title h1{color:#143f62}.callups-v276-title .subtitle{color:#6b8091}
.callups-v276-wa-top{background:#16a66b!important;border-color:#16a66b!important;color:#fff!important;box-shadow:0 3px 8px rgba(22,166,107,.12)}
.callups-v276-shell{display:grid;gap:9px}
.callups-v276-match-card{padding:9px 11px!important;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.7fr);gap:12px;align-items:end;border-color:#dbe7ef!important;box-shadow:none!important}
.callups-v276-match-select{display:grid;gap:3px}.callups-v276-match-select label{font-size:9px;font-weight:900;color:#5c7180}.callups-v276-match-select select{height:33px!important;min-height:33px!important;padding:4px 9px!important;font-size:10.5px!important}
.callups-v276-facts,.lineup-v276-facts{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;min-width:0}
.callups-v276-facts span,.lineup-v276-facts span{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:5px 8px;border:1px solid #e0e9ef;border-radius:8px;background:#f9fbfc;color:#405a6d;font-size:9.5px;font-weight:800;white-space:nowrap}
.callups-v276-facts b,.lineup-v276-facts b{font-size:11px;font-weight:400}
.callups-v276-toolbar{padding:8px 10px!important;display:grid;gap:7px;border-color:#dfe9f0!important;box-shadow:none!important}
.callups-v276-toolbar .callups-v274-role-filters{order:1}
.callups-v276-search-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:9px;align-items:center;order:2}
.callups-v276-search-row .callups-v274-search-wrap input{height:31px;min-height:31px}
.callups-v276-order{display:inline-flex;align-items:center;min-height:29px;padding:4px 9px;border:1px solid #dbe6ed;border-radius:7px;background:#fff;color:#506778;font-size:9px;font-weight:900;white-space:nowrap}
.callups-v276-main-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(310px,.82fr);gap:10px;align-items:start}
.callups-v276-roster-card,.callups-v276-selected-card,.callups-v276-summary-card{padding:10px!important;border-color:#dfe8ef!important;box-shadow:none!important}
.callups-v276-panel-head{margin-bottom:7px!important}.callups-v276-panel-head h2{font-size:14px!important}.callups-v276-panel-head h2 span{display:inline!important;color:#5f7687;font-size:10px!important;margin:0 0 0 4px!important}
.callups-v276-table-wrap{max-height:520px;overflow:auto;border:1px solid #e1e9ef;border-radius:9px}
.callups-v276-table{min-width:650px!important;font-size:10px!important}.callups-v276-table thead th{position:sticky;top:0;z-index:3;padding:5px 6px!important;background:#f3f7fa!important;color:#526878!important;font-size:8.5px!important;text-transform:uppercase}.callups-v276-table td{padding:3px 6px!important;height:32px!important}.callups-v276-index{width:25px;text-align:center;color:#7a8d9b;font-size:9px;font-weight:900}
.callups-v276-table .callups-v274-number{width:23px;height:20px;flex-basis:23px;font-size:8px}.callups-v276-table .callups-v274-player-cell .callup-player-name{font-size:10px}.callups-v276-table .callups-v274-status{height:25px!important;min-height:25px!important;font-size:8.8px!important}
.callups-v276-right{display:grid;gap:10px}.callups-v276-selected-card{min-height:215px}.callups-v276-selected-list{max-height:255px}.callups-v276-selected-list .callups-v274-selected-item{grid-template-columns:20px 23px minmax(0,1fr) 24px;min-height:33px;padding:3px 4px}.callups-v276-selected-list .callups-v274-selected-item strong{font-size:9.5px}.callups-v276-selected-list .callups-v274-selected-item small{font-size:8px}
.callups-v276-summary-body{grid-template-columns:105px minmax(0,1fr)!important;gap:10px!important}.callups-v276-summary-card .callup-donut{width:92px;height:92px}.callups-v276-summary-card .callup-donut-inner{width:68px;height:68px}.callups-v276-summary-card .callups-v274-legend>div{font-size:9.3px;gap:5px}.callups-v276-capacity{margin-top:7px!important;padding-top:7px!important}.callups-v276-capacity .callup-metric-status{font-size:9.5px;min-height:0!important;justify-content:flex-start}.callups-v276-capacity .subtitle{font-size:8.8px!important}
.callups-v276-tools{padding:0!important;overflow:hidden;border-color:#dfe8ef!important;box-shadow:none!important}.callups-v276-tools>summary{cursor:pointer;list-style:none;padding:8px 10px;font-size:10px;font-weight:900;color:#506777;background:#f8fafc}.callups-v276-tools>summary::-webkit-details-marker{display:none}.callups-v276-tools>summary:before{content:'＋';margin-right:6px;color:#1d73b2}.callups-v276-tools[open]>summary:before{content:'−'}.callups-v276-tools-grid{margin:0!important;padding:8px;border-top:1px solid #e5edf2}.callups-v276-tools-grid .copybox{max-height:125px!important}
.callups-v276-footer{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.callups-v276-save{background:#0f3655!important;border-color:#0f3655!important;color:#fff!important}.callups-v276-save-lineup{background:#167f55!important;border-color:#167f55!important;color:#fff!important}
@media(max-width:1080px){.callups-v276-main-grid{grid-template-columns:1fr}.callups-v276-right{grid-template-columns:repeat(2,minmax(0,1fr))}.callups-v276-match-card{grid-template-columns:1fr}.callups-v276-facts{justify-content:flex-start}}
@media(max-width:760px){.callups-v276-right,.callups-v276-search-row{grid-template-columns:1fr}.callups-v276-footer{justify-content:stretch}.callups-v276-footer .btn{flex:1}.callups-v276-title{padding:8px}.callups-v276-title-icon{width:30px;height:30px;flex-basis:30px}}

/* Distinta moderna V2.76: campo protagonista, elenco a destra, identita ufficiale verde */
.lineup-modern-mode .lineup-page-title{margin-bottom:9px!important;padding:9px 11px!important;border:1px solid #d8ebe1!important;border-radius:13px!important;background:linear-gradient(90deg,#f2fbf6 0,#fff 72%)!important;box-shadow:none!important}
.lineup-modern-mode .lineup-v276-title-icon{background:#dff4e7;color:#158457;font-size:20px}.lineup-modern-mode .lineup-page-title h1{color:#123f31!important}.lineup-modern-mode .lineup-page-title h1:before{display:none!important}.lineup-modern-mode .lineup-page-title .subtitle{color:#688176!important}.lineup-v276-back{font-size:9.5px!important}
.lineup-modern-mode .lineup-matchbar{padding:8px 10px!important;margin-bottom:9px!important;border-color:#dcebe3!important;background:#f8fcfa!important;box-shadow:none!important}.lineup-modern-mode .lineup-matchbar-form{display:grid!important;grid-template-columns:minmax(270px,.8fr) minmax(0,1.7fr)!important;gap:10px!important;align-items:end!important}.lineup-modern-mode .lineup-matchbar .field{margin:0!important}.lineup-modern-mode .lineup-matchbar label{font-size:9px!important}.lineup-modern-mode .lineup-matchbar select{height:32px!important;min-height:32px!important;padding:4px 8px!important;font-size:10px!important}.lineup-modern-mode .lineup-v276-facts{justify-content:flex-end}.lineup-modern-mode .lineup-v276-facts span{border-color:#dce9e2;background:#fff;color:#355a49}
.lineup-modern-mode .formation-app{display:grid!important;grid-template-columns:minmax(560px,1.65fr) minmax(310px,.72fr)!important;grid-template-areas:'main roster' 'main details' 'preview preview'!important;column-gap:10px!important;row-gap:10px!important;justify-content:stretch!important;align-items:start!important}
.lineup-modern-mode .formation-main-panel{grid-area:main!important;grid-column:auto!important;grid-row:auto!important;display:grid!important;gap:9px!important;width:100%!important;max-width:none!important;min-width:0!important}
.lineup-modern-mode .formation-roster-panel{grid-area:roster!important;grid-column:auto!important;grid-row:auto!important;min-width:0!important;width:100%!important;padding:10px!important;border-color:#dbe8e0!important;box-shadow:none!important}
.lineup-modern-mode .formation-details-panel{grid-area:details!important;grid-column:auto!important;grid-row:auto!important;position:static!important;display:block!important;min-width:0!important;padding:10px!important;border-color:#dbe8e0!important;box-shadow:none!important}
.lineup-modern-mode .formation-preview-panel{grid-area:preview!important;grid-column:auto!important;grid-row:auto!important;position:static!important;width:100%!important;min-width:0!important;max-width:none!important;border-color:#dbe8e0!important;box-shadow:none!important}
.lineup-modern-mode .formation-toolbar{padding:8px 10px!important;border:1px solid #d8e9df!important;border-radius:10px!important;background:#f7fcf9!important;box-shadow:none!important;gap:8px!important}.lineup-modern-mode .formation-selector label{font-size:9px!important}.lineup-modern-mode .formation-selector select{width:100px!important;height:30px!important;min-height:30px!important;padding:3px 7px!important;font-size:10px!important;border-color:#b9d8c7!important;color:#18523d!important}.lineup-modern-mode .formation-toolbar-actions .btn{padding:5px 7px!important;font-size:8.5px!important}.lineup-modern-mode .formation-counter{padding:5px 8px!important;border-radius:8px!important}.lineup-modern-mode .formation-counter strong{font-size:16px!important}.lineup-modern-mode .formation-counter span{font-size:9px!important}
.lineup-modern-mode .football-pitch-shell{place-items:center!important;padding:0!important}.lineup-modern-mode .football-pitch{width:min(100%,700px)!important;max-width:700px!important;border-radius:12px!important;box-shadow:0 7px 18px rgba(22,83,54,.12)!important}.lineup-modern-mode .formation-slot{width:108px;min-height:72px}.lineup-modern-mode .formation-slot-avatar{width:41px;height:41px}.lineup-modern-mode .formation-slot-player strong{max-width:102px;font-size:10px}
.lineup-modern-mode .formation-bench-panel{max-width:none!important;padding:9px 10px!important;border-color:#d8e9df!important;box-shadow:none!important}.lineup-modern-mode .formation-bench-head{margin-bottom:5px!important}.lineup-modern-mode .formation-bench-head h3{font-size:12px!important}.lineup-modern-mode .formation-bench-head .subtitle{font-size:8.5px!important}.lineup-modern-mode .formation-bench-strip{min-height:42px!important;padding:2px 0 3px!important;gap:5px!important}.lineup-modern-mode .formation-bench-player{grid-template-columns:22px auto 15px!important;padding:4px 6px!important}.lineup-modern-mode .formation-bench-player>span{width:22px!important;height:22px!important;font-size:9px!important}.lineup-modern-mode .formation-bench-player strong{font-size:9.5px!important}
.lineup-modern-mode .formation-panel-head{margin-bottom:7px!important}.lineup-modern-mode .formation-panel-head h2{font-size:14px!important;color:#164d3a!important}.lineup-modern-mode .formation-panel-head .subtitle{font-size:8.5px!important}.lineup-modern-mode .formation-roster-head-actions{gap:4px!important}.lineup-modern-mode .roster-columns-toggle,.lineup-modern-mode .formation-help-dot{display:none!important}.lineup-modern-mode .formation-search-wrap{margin-bottom:6px!important}.lineup-modern-mode .formation-search-wrap input{height:29px!important;min-height:29px!important;font-size:9.5px!important}.lineup-modern-mode .formation-roster-list{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;max-height:450px!important;overflow:auto!important;padding-right:2px!important}.lineup-modern-mode .formation-player-card{grid-template-columns:28px minmax(0,1fr) auto!important;min-height:34px!important;border:0!important;border-bottom:1px solid #e5ece8!important;border-radius:0!important;padding:2px 1px!important;background:#fff!important;box-shadow:none!important}.lineup-modern-mode .formation-player-card:hover{background:#f6fbf8!important}.lineup-modern-mode .formation-player-number-wrap{padding-left:0!important}.lineup-modern-mode .formation-player-number{width:25px!important;height:25px!important;font-size:9px!important;border-radius:6px!important}.lineup-modern-mode .formation-player-main{padding:3px 3px!important}.lineup-modern-mode .formation-player-main strong{font-size:9.5px!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.lineup-modern-mode .formation-player-main span:not(.formation-role-dot){font-size:7.5px!important}.lineup-modern-mode .formation-player-state{position:static!important;align-self:center!important;margin-right:2px!important;font-size:7.5px!important;padding:3px 5px!important}
.lineup-modern-mode .formation-roster-tip{display:none!important}.lineup-modern-mode .formation-detail-section{margin-bottom:7px!important;gap:3px!important}.lineup-modern-mode .formation-detail-section label{font-size:8.5px!important}.lineup-modern-mode .formation-detail-section select{height:29px!important;min-height:29px!important;padding:3px 6px!important;font-size:9px!important}.lineup-modern-mode .formation-detail-divider{margin:8px 0!important}.lineup-modern-mode .formation-staff-title{font-size:11px!important;margin-bottom:5px!important;color:#164d3a!important}.lineup-modern-mode .formation-staff-list{display:grid!important;grid-template-columns:1fr!important;gap:0!important}.lineup-modern-mode .formation-save-box{display:none!important}
.lineup-modern-mode .lineup-preview-summary{padding:9px 10px!important;background:#f3fbf6!important;border-bottom-color:#dbeadf!important}.lineup-modern-mode .lineup-preview-summary strong{font-size:12px!important;color:#164d3a!important}.lineup-modern-mode .lineup-preview-summary span{font-size:8.5px!important}.lineup-modern-mode .lineup-preview-content{padding:8px 10px 10px!important}.lineup-modern-mode .formation-preview-sheet-wrap{max-height:650px;overflow:auto}
.lineup-v276-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:10px;padding:9px 10px;border:1px solid #dce9e2;border-radius:11px;background:#f8fcfa}.lineup-v276-footer-actions .btn{font-size:9.5px!important}.lineup-v276-footer-actions .formation-save-btn{width:auto!important;background:#178457!important;border-color:#178457!important;color:#fff!important}.lineup-v276-footer-actions .btn.ok{background:#178457!important;border-color:#178457!important;color:#fff!important}
@media(max-width:1120px){.lineup-modern-mode .formation-app{grid-template-columns:1fr!important;grid-template-areas:'main' 'roster' 'details' 'preview'!important}.lineup-modern-mode .formation-roster-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:none!important;overflow:visible!important}.lineup-modern-mode .lineup-matchbar-form{grid-template-columns:1fr!important}.lineup-modern-mode .lineup-v276-facts{justify-content:flex-start}}
@media(max-width:680px){.lineup-modern-mode .formation-roster-list{grid-template-columns:1fr!important}.lineup-v276-footer-actions{justify-content:stretch}.lineup-v276-footer-actions .btn{flex:1}.lineup-modern-mode .football-pitch{width:min(100%,500px)!important}}


/* V2.77 - Anteprima distinta ingrandita in popup */
.lineup-preview-heading-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.lineup-preview-modal{position:fixed;inset:0;z-index:650;display:none;align-items:center;justify-content:center;padding:18px}
.lineup-preview-modal.open{display:flex}
.lineup-preview-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(7,25,40,.76);backdrop-filter:blur(3px);cursor:pointer}
.lineup-preview-modal-dialog{position:relative;z-index:1;width:min(1040px,96vw);height:min(94vh,1240px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:16px;box-shadow:0 28px 85px rgba(0,0,0,.38)}
.lineup-preview-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid #dce5eb;background:#fff}
.lineup-preview-modal-header>div:first-child{display:grid;gap:2px;min-width:0}.lineup-preview-modal-header strong{font-size:16px;color:#0d2b45}.lineup-preview-modal-header span{font-size:10px;color:#718294}
.lineup-preview-modal-actions{display:flex;align-items:center;gap:7px;flex:none}.lineup-preview-modal-close{width:36px;height:36px;border:0;border-radius:9px;background:#edf3f7;color:#0d2b45;font-size:25px;line-height:1;cursor:pointer}
.lineup-preview-modal-stage{flex:1;min-height:0;overflow:auto;padding:22px;background:#e6edf2}
.lineup-preview-modal-mount{width:max-content;min-width:100%;display:grid;place-items:start center}
.lineup-preview-modal-mount .official-sheet{margin:0 auto!important;transform:none!important;transform-origin:center top!important;box-shadow:0 8px 30px rgba(0,0,0,.18)!important}
body.lineup-preview-modal-open{overflow:hidden}
@media(max-width:860px){.lineup-preview-modal{padding:6px}.lineup-preview-modal-dialog{width:98vw;height:92vh}.lineup-preview-modal-stage{padding:10px}.lineup-preview-modal-mount{place-items:start}.lineup-preview-modal-header{padding:9px 10px}.lineup-preview-modal-header span{display:none}.lineup-preview-modal-actions .btn{font-size:9px!important}}


/* V2.78 - FIX REALE MAGLIE SUL CAMPO + CACHE BUSTER */
.formation-slot-avatar.formation-slot-shirt{
  position:relative!important;
  width:48px!important;
  height:43px!important;
  border:0!important;
  border-radius:5px 5px 7px 7px!important;
  display:grid!important;
  place-items:center!important;
  padding:0 0 1px!important;
  background:linear-gradient(145deg,#31b7e3,#1682bb)!important;
  color:#082b45!important;
  font-size:16px!important;
  font-weight:950!important;
  line-height:1!important;
  box-shadow:0 3px 7px rgba(0,0,0,.20)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.25)!important;
  clip-path:polygon(25% 0,39% 0,43% 9%,57% 9%,61% 0,75% 0,100% 20%,83% 43%,74% 34%,74% 100%,26% 100%,26% 34%,17% 43%,0 20%)!important;
}
.formation-slot-avatar.formation-slot-shirt.role-portiere{
  background:linear-gradient(145deg,#ffb72d,#ef8f00)!important;
  color:#4a3100!important;
}
.formation-slot-avatar.formation-slot-shirt.role-difensore,
.formation-slot-avatar.formation-slot-shirt.role-centrocampista,
.formation-slot-avatar.formation-slot-shirt.role-attaccante{
  background:linear-gradient(145deg,#31b7e3,#1682bb)!important;
  color:#082b45!important;
}
.formation-slot-player{gap:0!important}
.formation-slot-player strong{margin-top:2px!important}
.lineup-modern-mode .formation-slot-avatar.formation-slot-shirt{
  width:48px!important;
  height:43px!important;
  font-size:15px!important;
}
@media(max-width:620px){
  .formation-slot-avatar.formation-slot-shirt,
  .lineup-modern-mode .formation-slot-avatar.formation-slot-shirt{
    width:42px!important;
    height:38px!important;
    font-size:13px!important;
  }
}

/* V2.79 - WhatsApp Lab / sondaggio nativo sperimentale */
.wa-lab-card{padding:16px}.wa-lab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.wa-lab-head h2{margin:2px 0 4px}.wa-lab-connect-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:center}.wa-lab-qr{display:flex;justify-content:center;align-items:center;min-height:250px;padding:12px;border:1px solid var(--border,#dbe6ef);border-radius:14px;background:#fff}.wa-lab-qr img{width:min(300px,100%);height:auto;display:block}.wa-lab-connected{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #bfe5d3;border-radius:12px;background:#f1fbf6;margin-bottom:14px}.wa-lab-group-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.wa-lab-warning{margin-top:14px;padding:10px 12px;border-radius:10px;background:#fff7e8;border:1px solid #f3d7a0;color:#765213;font-size:12px;line-height:1.35}.wa-poll-launch{white-space:nowrap}.wa-poll-message{margin-bottom:12px}.wa-poll-modal[hidden]{display:none!important}.wa-poll-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}.wa-poll-backdrop{position:absolute;inset:0;background:rgba(9,29,45,.56);backdrop-filter:blur(2px)}.wa-poll-dialog{position:relative;z-index:1;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;padding:0;border-radius:18px}.wa-poll-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border,#dbe6ef)}.wa-poll-dialog-head h2{margin:2px 0 4px}.wa-poll-close{width:36px;height:36px;border:1px solid var(--border,#dbe6ef);border-radius:10px;background:#fff;font-size:24px;line-height:1;cursor:pointer}.wa-poll-form{padding:18px 20px}.wa-poll-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.wa-poll-info{margin-top:14px;padding:10px 12px;border-radius:10px;background:#edf9f2;border:1px solid #bfe8cf;color:#216b44;font-size:12px;font-weight:700}.wa-poll-warning{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff7e8;border:1px solid #f3d7a0;color:#765213;font-size:11px;line-height:1.35}.wa-poll-actions{justify-content:flex-end;margin-top:16px}.wa-poll-open{overflow:hidden}
@media(max-width:850px){.wa-lab-connect-grid{grid-template-columns:1fr}.wa-lab-group-form{grid-template-columns:1fr}.wa-poll-options{grid-template-columns:1fr}.wa-poll-modal{padding:8px}.wa-poll-dialog{width:100%;max-height:calc(100vh - 16px)}}


/* V2.81 - WhatsApp Lab: testo sondaggio personalizzabile */
.wa-poll-template-card{margin-top:12px;padding:12px;border:1px solid #d9e5ed;border-radius:12px;background:#fbfdff;display:grid;gap:9px}
.wa-poll-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.wa-poll-template-head strong{font-size:13px;color:#123957}
.wa-poll-template-card textarea{min-height:70px;resize:vertical}
.wa-poll-template-preview{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:8px 10px;border-radius:9px;background:#eef5fa;border:1px solid #dce8f0}
.wa-poll-template-preview>span{font-size:9px;font-weight:900;color:#547185;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding-top:2px}
.wa-poll-template-preview code{font-family:inherit;font-size:10px;line-height:1.5;color:#173b58;background:transparent;padding:0;white-space:normal}
.wa-poll-form textarea[name="poll_question"]{min-height:118px;resize:vertical;line-height:1.4}
@media(max-width:760px){.wa-poll-template-preview{grid-template-columns:1fr}.wa-poll-template-card .actions{display:grid;grid-template-columns:1fr}.wa-poll-template-card .actions .btn{width:100%}}

/* V2.83 - WhatsApp Lab: modalita risposta sondaggio */
.wa-poll-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 12px}
.wa-poll-mode-option{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #dce6ed;border-radius:11px;background:#fff;cursor:pointer;transition:.16s ease}
.wa-poll-mode-option:hover{border-color:#a8c9df;background:#fbfdff}
.wa-poll-mode-option.is-selected{border-color:#6ca9d2;background:#f0f8fd}
.wa-poll-mode-option input{margin-top:2px;accent-color:#2385c5}
.wa-poll-mode-option span{display:grid;gap:3px;min-width:0}
.wa-poll-mode-option strong{font-size:12px;color:#173a59}
.wa-poll-mode-option small{font-size:10px;line-height:1.25;color:#728392}
@media(max-width:760px){.wa-poll-mode-options{grid-template-columns:1fr}}


/* V2.84 - Zoom globale */
.app-zoom-control{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:rgba(255,255,255,.08)}
.app-zoom-btn,.app-zoom-value{height:28px;border:0;border-radius:6px;background:transparent;color:#fff;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.app-zoom-btn{width:28px;font-size:17px;line-height:1}.app-zoom-value{min-width:48px;padding:0 6px;font-size:10px}.app-zoom-btn:hover,.app-zoom-value:hover{background:rgba(255,255,255,.12)}.app-zoom-btn:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:850px){.app-zoom-value{display:none}.app-zoom-control{gap:1px}.app-zoom-btn{width:26px}}

/* V2.84 - Convocazioni moderne complete + invio WhatsApp diretto */
.wa-direct-message{margin:0 0 10px;padding:9px 11px;font-size:11px}
.wa-direct-message.error-message{background:#fde8e6;color:#9f261f}
.wa-direct-send{background:#16a66b!important;border-color:#16a66b!important;color:#fff!important}
.wa-direct-send:disabled,.callups-v276-wa-top:disabled{opacity:.45;cursor:not-allowed;filter:none!important}
.callups-v276-order{width:auto!important;min-width:132px!important;height:31px!important;min-height:31px!important;padding:4px 28px 4px 9px!important;border:1px solid #dbe6ed!important;border-radius:7px!important;background-color:#fff!important;color:#506778!important;font-size:9px!important;font-weight:900!important;cursor:pointer}
.callups-v284-selected-actions{display:flex;align-items:center;gap:5px}
.callups-v284-clear{width:27px;height:27px;display:inline-grid;place-items:center;border:1px solid #f2c9c5;border-radius:7px;background:#fff3f2;color:#b42318;cursor:pointer;font-size:12px}
.callups-v284-clear:hover{background:#ffe7e4}
.callups-v284-notes-card{padding:10px!important;border-color:#dfe8ef!important;box-shadow:none!important}
.callups-v284-notes-card textarea{min-height:72px!important;max-height:150px;padding:8px 9px!important;font-size:10px!important;line-height:1.4;background:#fbfdfe}
@media(max-width:760px){.callups-v276-order{width:100%!important}.callups-v284-notes-card{grid-column:1/-1}}

/* V2.85 - Convoca tutti i disponibili */
.callups-v285-bulk-card{padding:7px!important;border-color:#d9e6ee!important;box-shadow:none!important}
.callups-v285-bulk-toggle{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) 34px;align-items:center;gap:8px;border:0;background:transparent;padding:2px;text-align:left;cursor:pointer;color:#163a58}
.callups-v285-bulk-icon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#edf7f2;color:#1b7f5a;font-size:14px;font-weight:950}
.callups-v285-bulk-copy{display:grid;gap:2px;min-width:0}.callups-v285-bulk-copy strong{font-size:10px;line-height:1.1}.callups-v285-bulk-copy small{font-size:8px;line-height:1.25;color:#6f8291}
.callups-v285-switch{width:32px;height:18px;border-radius:999px;background:#cbd7df;position:relative;transition:.16s ease}.callups-v285-switch i{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.16);transition:.16s ease}
.callups-v285-bulk-toggle.is-active .callups-v285-switch{background:#1b8a61}.callups-v285-bulk-toggle.is-active .callups-v285-switch i{left:16px}.callups-v285-bulk-toggle.is-active .callups-v285-bulk-icon{background:#daf3e7;color:#146b49}.callups-v285-bulk-toggle.is-active .callups-v285-bulk-copy strong{color:#146b49}
.callups-v285-bulk-toggle:focus-visible{outline:2px solid #5fa7d3;outline-offset:3px;border-radius:8px}
@media(max-width:760px){.callups-v285-bulk-toggle{grid-template-columns:28px minmax(0,1fr) 34px}.callups-v285-bulk-copy small{font-size:8.5px}}

/* V2.86 - Classica: convoca tutti + moderna compatta */
.callups-v286-classic-bulk{border:1px solid #d9e6ee;border-radius:10px;padding:7px;margin-bottom:12px;background:#fff}
.callups-v286-compact-table th:nth-child(1),.callups-v286-compact-table td:nth-child(1){width:42%}
.callups-v286-compact-table th:nth-child(2),.callups-v286-compact-table td:nth-child(2){width:18%}
.callups-v286-compact-table th:nth-child(3),.callups-v286-compact-table td:nth-child(3){width:25%}
.callups-v286-compact-table th:nth-child(4),.callups-v286-compact-table td:nth-child(4){width:15%;text-align:center}
.callups-v286-compact-table .callup-player-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.callups-v286-check-label{justify-content:center}
@media(max-width:760px){.callups-v286-compact-table th:nth-child(1),.callups-v286-compact-table td:nth-child(1){width:38%}.callups-v286-compact-table th:nth-child(2),.callups-v286-compact-table td:nth-child(2){width:18%}.callups-v286-compact-table th:nth-child(3),.callups-v286-compact-table td:nth-child(3){width:28%}.callups-v286-compact-table th:nth-child(4),.callups-v286-compact-table td:nth-child(4){width:16%}.callups-v286-check-label span{display:none}}

/* V2.87 - Loghi squadre nella card Prossima partita */
.hero-matchup{display:grid;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);align-items:center;gap:16px;margin:12px 0 16px;padding:12px 10px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.hero-team{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px}
.hero-team-side{font-size:10px;font-weight:800;letter-spacing:1.1px;color:#bcd5e5}
.hero-team-logo{width:84px;height:84px;max-width:84px;max-height:84px;object-fit:contain;display:block;border-radius:18px;background:#fff;padding:7px;border:1px solid rgba(255,255,255,.55);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.hero-team-logo-fallback{display:grid;place-items:center;background:rgba(255,255,255,.14);color:#fff;border:1px dashed rgba(255,255,255,.42);font-size:24px;font-weight:900;letter-spacing:.6px}
.hero-team-name{max-width:100%;font-size:17px;line-height:1.18;font-weight:900;color:#fff;word-break:normal;overflow-wrap:anywhere}
.hero-vs-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.hero-vs{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:15px;font-weight:900;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.hero-result{font-size:13px!important;padding:5px 9px!important}
.hero-match-meta{justify-content:center;border-top:1px solid rgba(255,255,255,.14);padding-top:13px}
.hero-match-actions{justify-content:center;margin-top:14px}

/* V2.87 - Gestione scudetti avversari */
.team-badges-manager{padding:14px 16px!important}
.team-badges-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.team-badges-manager-head h2{margin:0 0 3px!important}
.team-badges-count{white-space:nowrap;background:#edf4f8;color:var(--navy);border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}
.team-badges-list{display:grid;gap:7px}
.team-badge-row{display:grid;grid-template-columns:46px minmax(150px,1fr) minmax(320px,1.8fr) auto;align-items:center;gap:10px;padding:7px 8px;border:1px solid #e1e8ed;border-radius:10px;background:#fbfcfd}
.team-badge-preview{width:42px;height:42px;border-radius:10px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;color:var(--navy);font-size:13px;font-weight:900}
.team-badge-preview img{width:100%;height:100%;object-fit:contain;padding:3px;display:block}
.team-badge-name{min-width:0;font-weight:800;color:var(--navy);overflow-wrap:anywhere}
.team-badge-upload{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:8px;min-width:0}
.team-badge-upload input[type=file]{min-width:0;padding:6px 8px;font-size:12px;background:#fff}
.team-badge-delete{margin:0}
.team-badges-empty{padding:18px;text-align:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted);background:#fafcfd}

@media(max-width:900px){
  .team-badge-row{grid-template-columns:46px minmax(0,1fr) auto}
  .team-badge-upload{grid-column:2/4;grid-template-columns:minmax(0,1fr) auto;width:100%}
  .team-badge-delete{grid-column:3;grid-row:1}
}
@media(max-width:650px){
  .hero-matchup{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:8px;padding:10px 5px 12px}
  .hero-team-logo{width:62px;height:62px;max-width:62px;max-height:62px;border-radius:14px;padding:5px}
  .hero-team-name{font-size:13px}
  .hero-vs{width:40px;height:40px;font-size:12px}
  .hero-team-side{font-size:9px}
  .team-badges-manager-head{flex-direction:column;gap:8px}
  .team-badge-row{grid-template-columns:42px minmax(0,1fr)}
  .team-badge-upload{grid-column:1/3;display:flex;flex-wrap:wrap}
  .team-badge-upload input[type=file]{flex:1 1 190px}
  .team-badge-delete{grid-column:1/3;grid-row:auto}
}

/* V2.89 - Destinazioni WhatsApp multiple */
.wa-recipient-form{margin-top:12px;padding:14px;border:1px solid #d9e5ed;border-radius:14px;background:#fbfdff}.wa-recipient-form-head{margin-bottom:12px}.wa-recipient-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wa-recipient-setting{padding:12px;border:1px solid #dce7ef;border-radius:12px;background:#fff;display:grid;gap:9px}.wa-recipient-setting-title{display:flex;gap:9px;align-items:flex-start}.wa-recipient-setting-title>span{font-size:22px;line-height:1}.wa-recipient-setting-title>div{display:grid;gap:2px}.wa-recipient-setting-title strong{font-size:12px;color:#163b59}.wa-recipient-setting-title small{font-size:9px;color:#728392;line-height:1.3}.wa-coach-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.wa-target-modal[hidden]{display:none!important}.wa-target-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:20px}.wa-target-backdrop{position:absolute;inset:0;background:rgba(8,28,44,.6);backdrop-filter:blur(3px)}.wa-target-dialog{position:relative;z-index:1;width:min(650px,calc(100vw - 28px));padding:0;overflow:hidden;border-radius:18px}.wa-target-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #dce6ed}.wa-target-dialog-head h2{margin:2px 0 4px}.wa-target-close{width:36px;height:36px;border:1px solid #dce6ed;border-radius:10px;background:#fff;font-size:20px;cursor:pointer}.wa-target-options{display:grid;gap:10px;padding:16px 18px}.wa-target-option{width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;padding:12px 14px;border:1px solid #d8e5ed;border-radius:13px;background:#fff;cursor:pointer;transition:.15s ease}.wa-target-option:hover:not(:disabled){border-color:#69a8d2;background:#f2f9fd;transform:translateY(-1px)}.wa-target-option:disabled{opacity:.48;cursor:not-allowed;background:#f4f6f8}.wa-target-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf5fb;font-size:21px}.wa-target-option>span:nth-child(2){display:grid;gap:3px}.wa-target-option strong{font-size:13px;color:#123957}.wa-target-option small{font-size:10px;color:#718493}.wa-target-option b{font-size:10px;color:#11895a;background:#eaf8f1;padding:7px 10px;border-radius:999px}.wa-target-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid #e0e9ef;background:#f8fbfd}.wa-target-foot span{font-size:9px;color:#758895}.wa-target-open{overflow:hidden}
@media(max-width:850px){.wa-recipient-settings-grid{grid-template-columns:1fr}.wa-coach-fields{grid-template-columns:1fr}}

/* V2.90 - WhatsApp QR live + popup destinatari */
.wa-lab-live-actions{justify-content:flex-start;margin-top:12px;flex-wrap:wrap}.wa-lab-error-note{margin-top:10px;padding:9px 11px;border-radius:10px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;font-size:10px;line-height:1.35;word-break:break-word}.wa-lab-qr{position:relative;overflow:hidden}.wa-lab-qr:has(img)::after{content:'QR LIVE';position:absolute;top:10px;right:10px;padding:4px 7px;border-radius:999px;background:#e8f8ef;color:#16814f;font-size:8px;font-weight:900;letter-spacing:.08em;border:1px solid #bce5cf}.wa-lab-qr .empty span{font-size:10px;color:#728392}.wa-target-dialog{box-shadow:0 28px 80px rgba(4,25,42,.32)}.wa-target-option{position:relative}.wa-target-option.is-selected{border-color:#1f90cf;background:#edf8ff;box-shadow:0 0 0 2px rgba(31,144,207,.12)}.wa-target-option.is-selected .wa-target-icon{background:#d9effb}.wa-target-option.is-selected b{color:#087247;background:#ddf7e9}.wa-target-send:disabled{opacity:.45;cursor:not-allowed}.wa-target-foot .actions{margin:0;display:flex;gap:8px;justify-content:flex-end}.wa-target-dialog-head .subtitle{max-width:520px}.wa-target-options{max-height:min(440px,55vh);overflow:auto}
@media(max-width:650px){.wa-target-modal{padding:8px}.wa-target-dialog{width:100%;max-height:calc(100vh - 16px);overflow:auto}.wa-target-foot{align-items:stretch;flex-direction:column}.wa-target-foot .actions{display:grid;grid-template-columns:1fr}.wa-target-foot .btn{width:100%}.wa-lab-live-actions{display:grid;grid-template-columns:1fr}.wa-lab-live-actions .btn{width:100%}}

/* V2.91 - Navigazione mobile: menu laterale a scomparsa */
.mobile-menu-btn{display:none;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(255,255,255,.28);border-radius:11px;background:rgba(255,255,255,.08);align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0;cursor:pointer;color:#fff}
.mobile-menu-btn span{display:block;width:19px;height:2px;border-radius:99px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.mobile-menu-btn.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mobile-menu-btn.open span:nth-child(2){opacity:0}
.mobile-menu-btn.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-nav-backdrop{display:none}

@media(max-width:1000px){
  .topbar{z-index:70}
  .mobile-menu-btn{display:inline-flex}
  .layout{grid-template-columns:1fr}
  .sidebar{
    display:block!important;position:fixed;left:0;top:64px;bottom:0;z-index:60;
    width:min(306px,88vw);padding:14px 12px 24px;background:#fff;border-right:1px solid var(--line);
    overflow-y:auto;overscroll-behavior:contain;transform:translateX(-105%);
    transition:transform .22s ease;box-shadow:14px 0 32px rgba(13,43,69,.18)
  }
  .sidebar.mobile-open{transform:translateX(0)}
  .mobile-nav-backdrop{
    display:block;position:fixed;left:0;right:0;top:64px;bottom:0;z-index:55;
    background:rgba(5,20,32,.46);backdrop-filter:blur(1px);opacity:0;pointer-events:none;
    transition:opacity .2s ease
  }
  .mobile-nav-backdrop.open{opacity:1;pointer-events:auto}
  body.mobile-nav-open{overflow:hidden}
  .nav-v253{gap:4px}
  .nav-v253 a{min-height:50px;border-radius:13px;font-size:14px}
  .nav-v253 a.active:before{left:-12px}
}

@media(max-width:650px){
  .topbar{padding:0 8px;gap:7px}
  .brand{gap:7px;min-width:0}
  .brand>span{display:none!important}
  .topbar-right{gap:5px;min-width:0}
  .app-zoom-control{display:none!important}
  .season-select select{width:auto;max-width:104px;height:36px;padding:6px 7px;font-size:11px}
  .club-switch-btn{padding:6px 7px;font-size:0;min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}
  .club-switch-btn:after{content:'⇄';font-size:18px;line-height:1}
  .logout-btn{height:36px;padding:6px 8px;font-size:11px}
  .mobile-menu-btn{width:38px;height:38px;flex-basis:38px;border-radius:10px}
  .logo.logo-image-wrap{margin-right:0!important}
  .sidebar{top:64px;width:min(292px,90vw)}
}

/* V2.92 - Tesseramenti: anteprima/stampa elenco */
@media (max-width: 980px){
  .registrations-title-actions{flex-wrap:wrap;gap:8px}
  .registrations-title-actions .btn{white-space:nowrap}
}

/* V2.95 - Loghi squadre a comparsa + rubrica WhatsApp */
.team-badges-launcher{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px!important}.team-badges-launcher h2{margin:0 0 4px!important}.team-badges-launcher-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.team-logos-modal[hidden]{display:none!important}.team-logos-modal{position:fixed;inset:0;z-index:10030;display:grid;place-items:center;padding:20px}.team-logos-backdrop{position:absolute;inset:0;background:rgba(7,27,42,.62);backdrop-filter:blur(3px)}.team-logos-dialog{position:relative;z-index:1;width:min(980px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0!important;overflow:hidden;border-radius:18px;box-shadow:0 28px 85px rgba(4,25,42,.34)}.team-logos-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #dde7ed}.team-logos-dialog-head h2{margin:2px 0 4px}.team-logos-close{width:38px;height:38px;flex:0 0 38px;border:1px solid #dce6ed;border-radius:11px;background:#fff;color:#173b57;font-size:22px;line-height:1;cursor:pointer}.team-logos-dialog-body{overflow:auto;padding:16px 18px;background:#f8fbfd}.team-logos-dialog-body .team-badges-list{gap:8px}.team-logos-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid #e0e9ef;background:#fff}.team-logos-dialog-foot>span{font-size:10px;color:#748692}.team-logos-open{overflow:hidden}

.wa-recipient-contact-info{align-content:start}.wa-contact-info-badge{padding:10px 11px;border-radius:10px;background:#eef8fe;border:1px solid #cfe8f7;color:#17425f;font-size:10px;line-height:1.35}.wa-contact-picker[hidden]{display:none!important}.wa-contact-picker{padding:14px 18px 17px;border-top:1px solid #e0e9ef;background:#f8fbfd}.wa-contact-picker-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px}.wa-contact-picker-head>div{display:grid;gap:2px}.wa-contact-picker-head strong{font-size:13px;color:#123957}.wa-contact-picker-head small{font-size:9px;color:#728492}.wa-contact-search{display:flex;align-items:center;gap:8px;padding:0 11px;height:40px;border:1px solid #cfdee8;border-radius:11px;background:#fff;margin-bottom:10px}.wa-contact-search>span{font-size:19px;color:#6f8392}.wa-contact-search input{border:0!important;outline:0!important;padding:0!important;box-shadow:none!important;background:transparent!important;width:100%;min-width:0}.wa-contact-list{display:grid;gap:7px;max-height:min(360px,42vh);overflow:auto;padding-right:3px}.wa-contact-row{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;border:1px solid #d8e5ed;border-radius:11px;background:#fff;text-align:left;cursor:pointer}.wa-contact-row:hover{border-color:#68a9d2;background:#f1f9fe}.wa-contact-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#dff3e9;color:#14744c;font-size:11px;font-weight:900}.wa-contact-copy{display:grid;gap:2px;min-width:0}.wa-contact-copy strong{font-size:12px;color:#123957;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wa-contact-copy small{font-size:9px;color:#738593}.wa-contact-row>b{font-size:9px;color:#0d7a4e;background:#e8f8f0;border-radius:999px;padding:6px 9px}.wa-contact-empty{padding:18px 12px;text-align:center;border:1px dashed #cfdee8;border-radius:11px;background:#fff;color:#708390;font-size:10px;line-height:1.4}.wa-contact-empty.is-error{border-color:#f3c7cb;background:#fff5f5;color:#9d2834}

@media(max-width:760px){.team-badges-launcher{align-items:stretch;flex-direction:column}.team-badges-launcher-actions{justify-content:space-between}.team-logos-modal{padding:7px}.team-logos-dialog{width:100%;max-height:calc(100vh - 14px)}.team-logos-dialog-head{padding:15px}.team-logos-dialog-body{padding:12px}.team-logos-dialog-foot{align-items:stretch;flex-direction:column}.team-logos-dialog-foot .btn{width:100%}.wa-contact-picker-head{grid-template-columns:1fr auto}.wa-contact-picker-head>button:first-child{grid-column:1/3;justify-self:start}.wa-contact-list{max-height:46vh}}


/* V2.98 - personalizzazione colori e icone stati Convocazioni */
.callup-theme-settings-card{padding:18px}.callup-theme-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.callup-theme-settings-head h2{margin:0 0 5px}.callup-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.callup-theme-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 100px;align-items:center;gap:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--theme-color) 28%,#dfe7ee);border-left:5px solid var(--theme-color);border-radius:11px;background:var(--theme-bg)}.callup-theme-preview{display:flex;align-items:center;gap:10px;min-width:0}.callup-theme-preview-icon{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;background:var(--theme-icon-bg);color:var(--theme-text);font-size:16px;font-weight:900}.callup-theme-preview strong{display:block;color:var(--theme-text)}.callup-theme-preview small{display:block;color:#667787;font-size:10px;margin-top:2px}.callup-theme-color-field,.callup-theme-icon-field{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px}.callup-theme-color-field span,.callup-theme-icon-field span{font-size:10px;text-transform:uppercase;letter-spacing:.35px;color:#6b7a86;font-weight:800}.callup-theme-color-field input[type=color]{height:34px;padding:3px;cursor:pointer}.callup-theme-icon-field input{height:34px;padding:5px 8px;text-align:center;font-size:16px;font-weight:900}.callup-player-name{display:inline-flex;align-items:center;gap:6px}.callup-status-icon{flex:0 0 22px}
@media(max-width:950px){.callup-theme-grid{grid-template-columns:1fr}.callup-theme-row{grid-template-columns:minmax(0,1fr) 115px 95px}}
@media(max-width:650px){.callup-theme-settings-head{flex-direction:column}.callup-theme-row{grid-template-columns:1fr 1fr}.callup-theme-preview{grid-column:1/-1}.callup-theme-color-field,.callup-theme-icon-field{grid-template-columns:1fr}.callup-theme-color-field span,.callup-theme-icon-field span{display:block}}


/* V2.99 - menu compatto a comparsa per colori stati Convocazioni */
.callup-theme-settings-card.callup-theme-compact{padding:0;overflow:visible}.callup-theme-compact-summary{min-height:56px;display:grid;grid-template-columns:34px minmax(0,1fr) auto 24px;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;list-style:none;user-select:none;border-radius:12px}.callup-theme-compact-summary::-webkit-details-marker{display:none}.callup-theme-compact-summary:hover{background:#f6fafc}.callup-theme-compact-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eef6fb;font-size:16px}.callup-theme-compact-copy{display:grid;gap:1px;min-width:0}.callup-theme-compact-copy strong{font-size:12px;color:#123957}.callup-theme-compact-copy small{font-size:9px;color:#748592;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.callup-theme-compact-badge{font-size:9px;font-weight:800;color:#1c5f88;background:#eaf5fc;border:1px solid #d2e9f7;border-radius:999px;padding:5px 9px}.callup-theme-compact-chevron{font-size:18px;color:#597181;text-align:center;transition:transform .18s ease}.callup-theme-compact[open] .callup-theme-compact-chevron{transform:rotate(180deg)}.callup-theme-compact-panel{padding:14px 16px 16px;border-top:1px solid #e3ebf0;background:#fbfdfe;border-radius:0 0 12px 12px}.callup-theme-compact-panel .callup-theme-settings-head{margin-bottom:12px}.callup-theme-compact-panel .callup-theme-settings-head h3{margin:0 0 4px;font-size:15px;color:#123957}
@media(max-width:650px){.callup-theme-compact-summary{grid-template-columns:32px minmax(0,1fr) 20px}.callup-theme-compact-badge{display:none}.callup-theme-compact-panel{padding:12px}.callup-theme-compact-copy small{white-space:normal}.callup-theme-compact-panel .callup-theme-settings-head{gap:10px}.callup-theme-compact-panel .callup-theme-settings-head .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.callup-theme-compact-panel .callup-theme-settings-head .actions .btn{width:100%}}


/* V3.00 - cronologia aggiornamenti compatta e a comparsa */
.update-history-collapsible{padding-top:0!important;border-top:0!important;border:1px solid #dfe8ee!important;border-radius:11px;background:#fbfdff;overflow:hidden}
.update-history-collapsible>summary{list-style:none;cursor:pointer;user-select:none}
.update-history-collapsible>summary::-webkit-details-marker{display:none}
.update-history-summary{min-height:38px;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#173a59;background:#f7fafc}
.update-history-summary:hover{background:#f0f6fa}
.update-history-summary-main{display:flex;align-items:center;gap:7px;min-width:0}.update-history-summary-main strong{font-size:11px}
.update-history-summary-icon{font-size:14px;line-height:1}
.update-history-summary-meta{display:flex;align-items:center;gap:7px;color:#7b8b97;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.update-history-chevron{display:inline-block;font-size:14px;line-height:1;transition:transform .18s ease}
.update-history-collapsible[open] .update-history-chevron{transform:rotate(180deg)}
.update-history-collapsible .update-history-list{padding:9px;border-top:1px solid #e4ebf0;background:#fff}
@media(max-width:600px){.update-history-summary{min-height:36px;padding:6px 8px}.update-history-summary-main strong{font-size:10px}.update-history-summary-meta{font-size:8px}.update-history-collapsible .update-history-list{padding:7px}}

/* V2.101 - Dashboard live TuttoCampo compatta / one-screen */
.dashboard-live-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:7px!important}.dashboard-live-heading h1{margin-bottom:1px}.dashboard-club-logo-live{width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important;flex-basis:58px!important}.tuttocampo-sync-box{display:flex;align-items:center;gap:10px}.tuttocampo-sync-btn{padding:8px 13px!important;font-size:11px!important;white-space:nowrap}.tuttocampo-sync-state{display:flex;align-items:center;gap:6px;font-size:10px;color:#6b7c89;white-space:nowrap}.tuttocampo-dot{width:8px;height:8px;border-radius:50%;background:#aab7c1;box-shadow:0 0 0 3px #eef3f6}.tuttocampo-sync-state.ok .tuttocampo-dot{background:#19a56b;box-shadow:0 0 0 3px #e2f7ee}.tuttocampo-sync-state.warn .tuttocampo-dot{background:#e1a323;box-shadow:0 0 0 3px #fff4d6}
.dashboard-birthday-compact{margin:5px 0 7px;border:1px solid #dbe7ef;border-radius:9px;background:#fff;box-shadow:0 3px 12px rgba(13,43,69,.04)}.dashboard-birthday-compact summary{padding:6px 10px;cursor:pointer;font-size:9px;color:#38556a}.dashboard-birthday-panel{display:flex;flex-wrap:wrap;gap:6px;padding:7px 10px;border-top:1px solid #e6edf2}.dashboard-birthday-panel .btn,.dashboard-birthday-panel .birthday-date-pill{font-size:8.5px;padding:4px 7px}
.dashboard-kpis-live{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px}.dashboard-kpi-live{height:56px;padding:8px 12px;border:1px solid #dce7ef;background:#fff;border-radius:10px;box-shadow:0 3px 12px rgba(13,43,69,.045);display:flex;align-items:center;gap:9px}.dashboard-kpi-live strong{font-size:25px;line-height:1;color:#0d2b45}.dashboard-kpi-live span{font-size:10px;color:#71808c;font-weight:600}
.dashboard-top-live-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8px;margin-bottom:8px}.dashboard-top-live-grid>.card{padding:12px 14px!important;min-height:188px}.dashboard-card-head-live{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.dashboard-card-head-live h2{margin:0;font-size:15px!important}.dashboard-card-head-live a{font-size:9.5px;text-decoration:none;color:#17699d;font-weight:700;white-space:nowrap}.hero-match-live{min-height:188px!important}.hero-matchup-live{padding:0!important;min-height:96px!important;grid-template-columns:1fr 62px 1fr!important}.hero-team-live{gap:3px!important}.hero-team-logo-live{width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important;border-radius:10px!important}.hero-team-live .hero-team-name{font-size:11px!important;line-height:1.05!important;margin-top:0!important}.hero-vs-live{width:36px!important;height:36px!important;font-size:11px!important}.hero-match-meta-live{margin:6px 0!important;padding:6px 0 0!important;gap:12px!important;font-size:10px!important}.hero-match-actions-live{margin-top:5px!important;gap:5px!important}.hero-match-actions-live .btn{padding:6px 9px!important;font-size:9.5px!important}
.dashboard-alert-card-live{display:flex;flex-direction:column}.dashboard-alert-grid-live{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;flex:1}.dashboard-alert-pill{min-height:48px;border-radius:8px;padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e4ebf0;background:#f8fafc;font-size:9.7px}.dashboard-alert-pill strong{font-size:18px;color:#17354b}.dashboard-alert-pill.danger{background:#fff3f2;border-color:#f6d3cf}.dashboard-alert-pill.warning{background:#fff8e9;border-color:#f2dfb6}.dashboard-alert-pill.money{background:#eef8ff;border-color:#d5e8f6}.dashboard-alert-pill.muted{background:#f6f6fa;border-color:#e5e3ec}.dashboard-alert-pill:last-child{grid-column:1/-1}
.dashboard-live-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:8px;align-items:stretch}.dashboard-live-card{padding:11px 13px!important;min-height:0;overflow:hidden}.dashboard-source-label{font-size:8.8px;color:#80909b;margin-top:1px}.dashboard-live-table-wrap{overflow:auto;max-height:410px}.dashboard-live-table{width:100%;border-collapse:collapse;font-size:9.4px}.dashboard-live-table thead th{position:sticky;top:0;z-index:1;background:#eef4f8;color:#456276;text-transform:uppercase;letter-spacing:.2px;font-size:8.2px;padding:5px 6px;border-bottom:1px solid #d9e5ed}.dashboard-live-table td{padding:4px 6px;border-bottom:1px solid #edf2f5;text-align:center;line-height:1.05;height:25px}.dashboard-live-table .team-cell{text-align:left;display:flex;align-items:center;gap:5px;min-width:0}.dashboard-live-table .team-cell strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-live-table .rank-cell{font-weight:800;color:#627582;width:28px}.dashboard-live-table .points-cell{font-weight:900;color:#0d2b45}.dashboard-live-table tr.is-club-row{background:#eaf4ff;box-shadow:inset 3px 0 #2b83c6}.dashboard-live-table tr.is-club-row strong,.dashboard-live-table tr.is-club-row .points-cell{color:#145f9a}.mini-team-logo-wrap{width:22px;height:22px;min-width:22px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#edf3f7;border:1px solid #dbe5ec;font-size:6.5px;font-weight:900;color:#476276}.mini-team-logo-wrap img{width:100%;height:100%;object-fit:contain;background:#fff}
.dashboard-results-list-live{display:grid;gap:2px}.dashboard-result-item-live{display:grid;grid-template-columns:38px minmax(100px,1fr) 22px 52px 22px minmax(100px,1fr);align-items:center;gap:5px;min-height:32px;padding:4px 6px;border-bottom:1px solid #edf2f5;font-size:9.6px}.dashboard-result-item-live.is-club-result{background:#eaf4ff;border-radius:6px;border-bottom-color:#d5e8f8}.result-time{color:#71818d;font-size:8.8px}.result-team{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-team-home{text-align:right}.result-team-away{text-align:left}.result-score{text-align:center;font-size:11px;background:#f0f4f7;border-radius:6px;padding:4px 2px;color:#17354b}.is-club-result .result-score{background:#fff;color:#0e609d}.dashboard-mini-footer-live{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px;padding-top:7px;border-top:1px solid #e4ebf0}.dashboard-mini-section-live{min-width:0}.dashboard-mini-title{font-size:9px;text-transform:uppercase;letter-spacing:.35px;color:#667c8c;font-weight:800;margin-bottom:3px}.dashboard-mini-row{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:22px;font-size:8.8px;padding:2px 0;border-bottom:1px dashed #edf1f4}.dashboard-mini-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-mini-row span{color:#758692;white-space:nowrap}.dashboard-live-empty{min-height:230px;display:grid;place-items:center;align-content:center;gap:5px;text-align:center;color:#758692}.dashboard-live-empty strong{font-size:14px;color:#39556a}.dashboard-live-empty span{font-size:10px;max-width:430px}.dashboard-sync-warning{margin-top:6px;padding:5px 8px;border-radius:7px;background:#fff7e6;border:1px solid #f3ddb0;color:#7c5b17;font-size:8px}
@media (min-width:1200px) and (max-height:900px){.dashboard-live-heading{margin-top:-2px}.dashboard-kpi-live{height:50px}.dashboard-top-live-grid>.card{min-height:174px}.hero-match-live{min-height:174px!important}.hero-team-logo-live{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important}.dashboard-alert-pill{min-height:43px}.dashboard-live-table-wrap{max-height:360px}.dashboard-live-table td{height:23px;padding-top:3px;padding-bottom:3px}.dashboard-result-item-live{min-height:29px}.dashboard-mini-row{min-height:20px}}
@media(max-width:980px){.dashboard-live-heading{align-items:flex-start}.tuttocampo-sync-box{align-items:flex-end;flex-direction:column}.dashboard-top-live-grid,.dashboard-live-grid{grid-template-columns:1fr}.dashboard-live-table-wrap{max-height:none}.dashboard-live-card{overflow:visible}.dashboard-results-list-live{max-height:none}.dashboard-mini-footer-live{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.dashboard-live-heading{display:grid}.tuttocampo-sync-box{align-items:flex-start}.dashboard-kpis-live{grid-template-columns:repeat(2,1fr)}.dashboard-top-live-grid>.card{min-height:auto}.dashboard-alert-grid-live{grid-template-columns:1fr}.dashboard-alert-pill:last-child{grid-column:auto}.dashboard-result-item-live{grid-template-columns:32px minmax(0,1fr) 17px 42px 17px minmax(0,1fr);font-size:7.8px}.dashboard-mini-footer-live{grid-template-columns:1fr}.standings-live-table th:nth-child(4),.standings-live-table th:nth-child(5),.standings-live-table th:nth-child(6),.standings-live-table td:nth-child(4),.standings-live-table td:nth-child(5),.standings-live-table td:nth-child(6){display:none}}

/* V2.102 - TuttoCampo Widget API settings */
.tuttocampo-settings-card{padding:0!important;overflow:hidden}.tuttocampo-settings-summary{list-style:none;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;cursor:pointer;padding:10px 12px;background:#f8fbfd}.tuttocampo-settings-summary::-webkit-details-marker{display:none}.tuttocampo-settings-summary span:nth-child(2){display:grid;gap:2px}.tuttocampo-settings-summary strong{font-size:12px}.tuttocampo-settings-summary small{font-size:9px;color:#71818d}.tuttocampo-settings-badge{font-size:8px;font-weight:800;border-radius:999px;padding:4px 7px;background:#e9f4fb;color:#17699d}.tuttocampo-settings-card[open] .tuttocampo-settings-badge{background:#e7f7ef;color:#12744f}.tuttocampo-settings-panel{padding:12px;border-top:1px solid #e3ebf0}.tuttocampo-settings-form{display:grid;gap:7px;margin-top:10px}.tuttocampo-settings-form label{font-size:10px;font-weight:800;color:#29485e}.tuttocampo-settings-form input{width:100%;padding:9px 10px;border:1px solid #cddde8;border-radius:8px;font-size:10px}.tuttocampo-settings-form .actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:2px}


/* V2.103 - WidgetV2 ufficiali TuttoCampo con fallback diretto nel browser */
.tuttocampo-embed-shell{width:100%;overflow:auto;border:1px solid #e2eaf0;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.tuttocampo-embed-standings{height:390px}.tuttocampo-embed-results{height:330px}
.tuttocampo-embed-frame{display:block;width:100%;min-width:500px;height:800px;border:0;background:#fff}
.tuttocampo-embed-results .tuttocampo-embed-frame{height:600px}
.dashboard-embed-note{margin-top:5px;font-size:8.5px;color:#78909f;text-align:right}
@media(max-width:980px){.tuttocampo-embed-shell{height:430px}.tuttocampo-embed-frame{min-width:500px}}
@media(max-width:640px){.tuttocampo-embed-shell{height:420px}.tuttocampo-embed-frame{width:500px}}

/* V2.104 - Dashboard sport-tech: hero colorata, ultime partite in elenco, stato rosa */
.dashboard-v104-heading{margin-bottom:12px}
.dashboard-kpis-v104{gap:10px;margin-bottom:12px}.dashboard-kpis-v104 .dashboard-kpi-live{height:66px;padding:10px 14px;gap:8px}.dashboard-kpis-v104 .dashboard-kpi-live strong{font-size:27px}.dashboard-kpis-v104 .dashboard-kpi-live>span:last-child{font-size:10.5px}.dashboard-kpi-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#eaf4ff;font-size:16px;flex:0 0 28px}
.dashboard-top-showcase-v104{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.95fr) minmax(0,.78fr);gap:12px;margin-bottom:12px;align-items:stretch}.dashboard-top-showcase-v104>.card{min-width:0;padding:14px 16px!important;min-height:255px}.dashboard-card-head-on-dark h2,.dashboard-card-head-on-dark a{color:#fff!important}.dashboard-card-head-on-dark a{opacity:.9}.hero-match-v104{background:linear-gradient(135deg,#0c3657 0%,#155f91 60%,#0f496f 100%);border-color:#174f75;box-shadow:0 8px 22px rgba(13,43,69,.16)}.hero-competition-v104{text-align:center;color:#cce1ef;font-size:10px;font-weight:700;margin-top:2px}.hero-date-v104{text-align:center;color:#e1edf5;font-size:10.5px;margin:5px 0 1px}.hero-matchup-v104{min-height:124px!important;margin:4px 0 2px!important;background:rgba(255,255,255,.08)!important}.hero-team-logo-v104{width:72px!important;height:72px!important;min-width:72px!important;min-height:72px!important;border-radius:12px!important}.hero-match-v104 .hero-team-name{font-size:12px!important;color:#fff}.hero-vs-v104{width:42px!important;height:42px!important;background:#fff!important;color:#14496c!important;font-size:12px!important}.hero-actions-v104{margin-top:7px!important}.hero-actions-v104 .btn{background:#fff!important;color:#123f5e!important;padding:6px 10px!important}
.dashboard-recent-card-v104,.dashboard-roster-card-v104{background:#fff}.recent-match-list-v104{display:grid;gap:0;border-top:1px solid #edf2f5}.recent-match-row-v104{display:grid;grid-template-columns:68px minmax(0,1fr) 44px 68px;align-items:center;gap:7px;min-height:47px;padding:6px 0;border-bottom:1px solid #edf2f5}.recent-match-date-v104{font-size:8.8px;color:#748692}.recent-match-teams-v104{min-width:0;display:flex;align-items:center;gap:4px;font-size:9.5px;line-height:1.15}.recent-match-teams-v104 strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-match-score-v104{text-align:center;font-size:12px;font-weight:900;color:#0d2b45;background:#eef4f8;border-radius:7px;padding:5px 2px}.recent-match-outcome-v104{text-align:center;font-size:8px!important;padding:4px 5px!important}.dashboard-live-empty-small{min-height:150px!important}
.dashboard-card-total{font-size:9px;color:#738491;font-weight:700}.roster-status-grid-v104{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.roster-status-v104{min-height:76px;border-radius:10px;border:1px solid #e1eaf0;padding:10px;display:flex;align-items:center;gap:9px}.roster-status-v104>div{display:grid;gap:2px}.roster-status-v104 span:not(.roster-status-icon-v104){font-size:9.5px;font-weight:700}.roster-status-v104 strong{font-size:24px;line-height:1}.roster-status-icon-v104{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:900}.roster-status-v104.available{background:#eaf9f2;border-color:#c7eadb;color:#0d7d56}.roster-status-v104.available .roster-status-icon-v104{background:#d1f3e3}.roster-status-v104.awaiting{background:#fff8e7;border-color:#f2dfaa;color:#9f7000}.roster-status-v104.awaiting .roster-status-icon-v104{background:#ffedb7}.roster-status-v104.unavailable{background:#fff0ef;border-color:#f1c6c2;color:#bc3438}.roster-status-v104.unavailable .roster-status-icon-v104{background:#ffd8d5}.roster-status-v104.staff{background:#f1f5f9;border-color:#dce5ec;color:#405a70}.roster-status-v104.staff .roster-status-icon-v104{background:#e0e8ef;font-size:15px}.roster-admin-strip-v104{margin-top:9px;min-height:34px;border-radius:8px;background:#f7fafc;border:1px solid #e5edf2;padding:7px 9px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;text-decoration:none;color:#486274;font-size:8.6px}.roster-admin-strip-v104 strong{text-align:right;color:#173b55;font-size:8.6px}
.dashboard-live-grid-v104{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:12px}.dashboard-live-grid-v104>.card{min-height:420px;padding:14px 16px!important}.dashboard-live-table-wrap-v104{max-height:390px}.dashboard-results-list-v104 .dashboard-result-item-live{min-height:38px;font-size:10px}.dashboard-results-list-v104 .result-score{font-size:11.5px}.tuttocampo-embed-v104{height:370px!important}
@media (min-width:1200px) and (max-height:900px){.dashboard-kpis-v104 .dashboard-kpi-live{height:58px}.dashboard-top-showcase-v104>.card{min-height:225px;padding:11px 13px!important}.hero-team-logo-v104{width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important}.hero-matchup-v104{min-height:108px!important}.recent-match-row-v104{min-height:39px}.roster-status-v104{min-height:62px;padding:7px}.roster-status-v104 strong{font-size:20px}.roster-status-icon-v104{width:29px;height:29px;font-size:17px}.dashboard-live-grid-v104>.card{min-height:360px}.dashboard-live-table-wrap-v104{max-height:335px}.dashboard-results-list-v104 .dashboard-result-item-live{min-height:33px}}
@media(max-width:1180px){.dashboard-top-showcase-v104{grid-template-columns:1fr 1fr}.dashboard-roster-card-v104{grid-column:1/-1}.roster-status-grid-v104{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){.dashboard-top-showcase-v104,.dashboard-live-grid-v104{grid-template-columns:1fr}.dashboard-roster-card-v104{grid-column:auto}.roster-status-grid-v104{grid-template-columns:repeat(2,1fr)}.dashboard-live-grid-v104>.card{min-height:auto}}
@media(max-width:640px){.dashboard-kpi-icon{display:none}.dashboard-kpis-v104 .dashboard-kpi-live{height:54px}.dashboard-top-showcase-v104>.card{min-height:auto}.recent-match-row-v104{grid-template-columns:58px minmax(0,1fr) 40px}.recent-match-outcome-v104{display:none}.roster-status-grid-v104{grid-template-columns:1fr 1fr}}

/* V2.105 - Prossima partita piu' prominente, pannelli TuttoCampo compatti */
@media (min-width:1181px){
  .dashboard-top-showcase-v104{grid-template-columns:minmax(0,1.58fr) minmax(0,.88fr) minmax(0,.70fr);gap:12px}
  .hero-match-v104{padding:16px 20px!important}
  .hero-matchup-v104{min-height:142px!important;margin:7px 0 4px!important}
  .hero-team-logo-v104{width:88px!important;height:88px!important;min-width:88px!important;min-height:88px!important}
  .hero-match-v104 .hero-team-name{font-size:13px!important;letter-spacing:.1px}
  .hero-competition-v104{font-size:10.5px}
  .hero-date-v104{font-size:11px;margin:6px 0 2px}
  .hero-vs-v104{width:46px!important;height:46px!important;font-size:13px!important}
}
.dashboard-live-grid-v104>.card{min-height:315px;padding:11px 13px!important}
.dashboard-live-grid-v104 .dashboard-card-head-live{margin-bottom:5px}
.dashboard-live-grid-v104 .dashboard-card-head-live h2{font-size:13.5px!important}
.dashboard-live-grid-v104 .dashboard-source-label{font-size:8px!important}
.dashboard-live-table-wrap-v104{max-height:270px}
.dashboard-live-grid-v104 .dashboard-live-table{font-size:8.4px}
.dashboard-live-grid-v104 .dashboard-live-table th{font-size:7.7px;padding:4px 5px}
.dashboard-live-grid-v104 .dashboard-live-table td{height:22px;padding:3px 5px}
.dashboard-live-grid-v104 .mini-team-logo-wrap{width:19px;height:19px;min-width:19px;min-height:19px}
.dashboard-results-list-v104{max-height:268px!important}
.dashboard-results-list-v104 .dashboard-result-item-live{min-height:28px!important;font-size:8.5px!important;padding-top:3px!important;padding-bottom:3px!important}
.dashboard-results-list-v104 .result-score{font-size:10px!important;min-width:38px}
.tuttocampo-embed-v104{height:275px!important}
.tuttocampo-embed-v104 .tuttocampo-embed-frame{transform:scale(.86);transform-origin:top left;width:116.3%;}
@media (min-width:1200px) and (max-height:900px){
  .hero-matchup-v104{min-height:126px!important}
  .hero-team-logo-v104{width:78px!important;height:78px!important;min-width:78px!important;min-height:78px!important}
  .dashboard-live-grid-v104>.card{min-height:292px!important}
  .dashboard-live-table-wrap-v104{max-height:245px!important}
  .dashboard-results-list-v104{max-height:245px!important}
  .tuttocampo-embed-v104{height:250px!important}
}


/* V2.106 - TuttoCampo ultra-compatto senza scroll */
.dashboard-live-grid-v104{align-items:start}
.dashboard-live-grid-v104>.card{min-height:0!important;height:auto!important;padding:9px 11px!important}
.dashboard-live-grid-v104 .dashboard-card-head-live{margin-bottom:3px!important}
.dashboard-live-grid-v104 .dashboard-card-head-live h2{font-size:12px!important;line-height:1.05!important}
.dashboard-live-grid-v104 .dashboard-card-head-live a{font-size:8px!important}
.dashboard-live-grid-v104 .dashboard-source-label{font-size:7.2px!important;line-height:1.05!important}

/* Dati letti direttamente: tutte le righe visibili, nessuna area scorrevole */
.dashboard-live-table-wrap-v104{max-height:none!important;overflow:visible!important}
.dashboard-live-grid-v104 .dashboard-live-table{font-size:7.2px!important;table-layout:auto}
.dashboard-live-grid-v104 .dashboard-live-table thead th{font-size:6.5px!important;padding:2px 3px!important;line-height:1!important}
.dashboard-live-grid-v104 .dashboard-live-table td{height:17px!important;padding:1px 3px!important;line-height:1!important}
.dashboard-live-grid-v104 .dashboard-live-table .team-cell{gap:3px!important}
.dashboard-live-grid-v104 .mini-team-logo-wrap{width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;border-radius:4px!important}
.dashboard-results-list-v104{max-height:none!important;overflow:visible!important}
.dashboard-results-list-v104 .dashboard-result-item-live{min-height:21px!important;height:21px!important;font-size:7.4px!important;padding:1px 2px!important;gap:3px!important}
.dashboard-results-list-v104 .result-score{font-size:8.5px!important;min-width:32px!important;padding:2px 3px!important}
.dashboard-results-list-v104 .result-time{font-size:7px!important}
.dashboard-results-list-v104 .result-team{line-height:1!important}

/* Fallback WidgetV2: riduce l'intero widget fino a mostrarlo per intero, senza scrollbar */
.tuttocampo-embed-v104{overflow:hidden!important;border-radius:7px!important}
.tuttocampo-embed-v104 .tuttocampo-embed-frame{transform-origin:top left!important;border:0!important;overflow:hidden!important}
.tuttocampo-embed-standings.tuttocampo-embed-v104{height:274px!important}
.tuttocampo-embed-standings.tuttocampo-embed-v104 .tuttocampo-embed-frame{height:800px!important;transform:scale(.34)!important;width:294.2%!important;min-width:0!important}
.tuttocampo-embed-results.tuttocampo-embed-v104{height:265px!important}
.tuttocampo-embed-results.tuttocampo-embed-v104 .tuttocampo-embed-frame{height:600px!important;transform:scale(.44)!important;width:227.3%!important;min-width:0!important}
.dashboard-embed-note{font-size:6.8px!important;margin-top:2px!important}

@media (min-width:1200px) and (max-height:900px){
  .dashboard-live-grid-v104>.card{min-height:0!important}
  .dashboard-live-table-wrap-v104,.dashboard-results-list-v104{max-height:none!important}
  .tuttocampo-embed-standings.tuttocampo-embed-v104{height:258px!important}
  .tuttocampo-embed-standings.tuttocampo-embed-v104 .tuttocampo-embed-frame{transform:scale(.32)!important;width:312.5%!important}
  .tuttocampo-embed-results.tuttocampo-embed-v104{height:246px!important}
  .tuttocampo-embed-results.tuttocampo-embed-v104 .tuttocampo-embed-frame{transform:scale(.41)!important;width:244%!important}
}
@media(max-width:980px){
  .dashboard-live-grid-v104>.card{padding:10px 12px!important}
  .tuttocampo-embed-standings.tuttocampo-embed-v104{height:330px!important}
  .tuttocampo-embed-standings.tuttocampo-embed-v104 .tuttocampo-embed-frame{transform:scale(.41)!important;width:244%!important}
  .tuttocampo-embed-results.tuttocampo-embed-v104{height:300px!important}
  .tuttocampo-embed-results.tuttocampo-embed-v104 .tuttocampo-embed-frame{transform:scale(.50)!important;width:200%!important}
}


/* V2.107 - Widget TuttoCampo leggibili: anteprima a dimensione naturale, senza micro-scaling */
.dashboard-live-grid-v104>.card{padding:10px 12px!important}
.dashboard-live-grid-v104 .dashboard-card-head-live h2{font-size:13px!important}
.dashboard-live-grid-v104 .dashboard-card-head-live a{font-size:8.5px!important}
.dashboard-live-grid-v104 .dashboard-source-label{font-size:7.8px!important}
/* Dati nativi: poche righe ma leggibili */
.dashboard-live-grid-v104 .dashboard-live-table{font-size:9px!important}
.dashboard-live-grid-v104 .dashboard-live-table thead th{font-size:8px!important;padding:4px 5px!important}
.dashboard-live-grid-v104 .dashboard-live-table td{height:23px!important;padding:3px 5px!important;line-height:1.1!important}
.dashboard-live-grid-v104 .dashboard-live-table .team-cell{gap:5px!important}
.dashboard-live-grid-v104 .mini-team-logo-wrap{width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;border-radius:5px!important}
.dashboard-results-list-v104 .dashboard-result-item-live{min-height:29px!important;height:29px!important;font-size:9px!important;padding:3px 4px!important;gap:4px!important}
.dashboard-results-list-v104 .result-score{font-size:10.5px!important;min-width:38px!important;padding:3px 4px!important}
.dashboard-results-list-v104 .result-time{font-size:8px!important}
/* Widget fallback: NON ridimensionare l'intera tabella. Mostra una finestra leggibile a 500px naturali. */
.tuttocampo-embed-v104{position:relative!important;overflow:hidden!important;border-radius:8px!important;background:#f6f9fb!important;display:flex!important;justify-content:center!important;align-items:flex-start!important}
.tuttocampo-embed-v104 .tuttocampo-embed-frame{position:relative!important;display:block!important;width:500px!important;min-width:500px!important;max-width:500px!important;transform:none!important;transform-origin:top center!important;border:0!important;background:#fff!important;flex:0 0 500px!important}
.tuttocampo-embed-standings.tuttocampo-embed-v104{height:278px!important}
.tuttocampo-embed-standings.tuttocampo-embed-v104 .tuttocampo-embed-frame{height:800px!important}
.tuttocampo-embed-results.tuttocampo-embed-v104{height:278px!important}
.tuttocampo-embed-results.tuttocampo-embed-v104 .tuttocampo-embed-frame{height:600px!important}
.dashboard-embed-note{font-size:7.5px!important;margin:3px 1px 0!important;color:#81909c!important;text-align:right}
@media (min-width:1200px) and (max-height:900px){
 .tuttocampo-embed-standings.tuttocampo-embed-v104,.tuttocampo-embed-results.tuttocampo-embed-v104{height:250px!important}
}
@media(max-width:980px){
 .tuttocampo-embed-v104{justify-content:flex-start!important;overflow-x:hidden!important}
 .tuttocampo-embed-v104 .tuttocampo-embed-frame{width:500px!important;min-width:500px!important;max-width:500px!important;transform:none!important}
}

/* V2.108 - Dashboard: prossima partita piu grande, widget TuttoCampo quasi quadrati e leggibili */
@media (min-width:1181px){
  .dashboard-top-showcase-v104{grid-template-columns:minmax(0,1.82fr) minmax(0,.82fr) minmax(0,.68fr);gap:14px}
  .hero-match-v104{min-height:300px!important;padding:18px 22px!important}
  .hero-matchup-v104{min-height:174px!important;margin:9px 0 6px!important}
  .hero-team-logo-v104{width:108px!important;height:108px!important;min-width:108px!important;min-height:108px!important;border-radius:15px!important}
  .hero-match-v104 .hero-team-name{font-size:14px!important;letter-spacing:.15px}
  .hero-competition-v104{font-size:11px!important}
  .hero-date-v104{font-size:11.5px!important;margin:7px 0 3px!important}
  .hero-vs-v104{width:52px!important;height:52px!important;font-size:14px!important}
  .hero-actions-v104 .btn{padding:8px 14px!important;font-size:10px!important}

  .dashboard-live-grid-v104{
    grid-template-columns:repeat(2,minmax(0,520px))!important;
    justify-content:center!important;
    align-items:start!important;
    gap:18px!important;
  }
  .dashboard-live-grid-v104>.card{
    width:100%!important;
    min-height:500px!important;
    height:500px!important;
    padding:12px 14px!important;
    overflow:hidden!important;
  }
  .dashboard-live-grid-v104 .dashboard-card-head-live{min-height:38px!important;margin-bottom:7px!important}
  .dashboard-live-grid-v104 .dashboard-card-head-live h2{font-size:14px!important}
  .dashboard-live-grid-v104 .dashboard-card-head-live a{font-size:9px!important}
  .dashboard-live-grid-v104 .dashboard-source-label{font-size:8px!important}

  .tuttocampo-embed-v104{
    width:100%!important;
    height:425px!important;
    min-height:425px!important;
    display:block!important;
    overflow:hidden!important;
    background:#fff!important;
    border-radius:8px!important;
  }
  .tuttocampo-embed-v104 .tuttocampo-embed-frame{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:800px!important;
    flex:none!important;
    transform:none!important;
    border:0!important;
  }
  .tuttocampo-embed-results.tuttocampo-embed-v104 .tuttocampo-embed-frame{height:600px!important}
  .dashboard-embed-note{font-size:7.8px!important;margin-top:4px!important}
}

@media (min-width:1181px) and (max-height:900px){
  .hero-match-v104{min-height:282px!important}
  .hero-matchup-v104{min-height:156px!important}
  .hero-team-logo-v104{width:98px!important;height:98px!important;min-width:98px!important;min-height:98px!important}
  .dashboard-live-grid-v104>.card{height:455px!important;min-height:455px!important}
  .tuttocampo-embed-v104{height:382px!important;min-height:382px!important}
}

@media (max-width:1180px) and (min-width:981px){
  .dashboard-live-grid-v104{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .dashboard-live-grid-v104>.card{min-height:430px!important}
  .tuttocampo-embed-v104{height:360px!important;display:block!important}
  .tuttocampo-embed-v104 .tuttocampo-embed-frame{width:100%!important;min-width:0!important;max-width:none!important;transform:none!important}
}

/* V2.109 - Fix reale WidgetV2: annulla i vecchi transform ad alta specificita e usa il formato nativo 500px */
@media (min-width:1181px){
  .dashboard-top-showcase-v104{grid-template-columns:minmax(0,1.95fr) minmax(0,.80fr) minmax(0,.66fr)!important;gap:14px!important}
  .hero-match-v104{min-height:315px!important;padding:19px 23px!important}
  .hero-matchup-v104{min-height:184px!important;margin:10px 0 7px!important}
  .hero-team-logo-v104{width:116px!important;height:116px!important;min-width:116px!important;min-height:116px!important}
  .hero-match-v104 .hero-team-name{font-size:14.5px!important}
  .hero-vs-v104{width:54px!important;height:54px!important;font-size:14.5px!important}

  .dashboard-live-grid-v104{
    grid-template-columns:repeat(2,minmax(0,560px))!important;
    justify-content:center!important;
    align-items:start!important;
    gap:22px!important;
  }
  .dashboard-live-grid-v104>.card{
    width:100%!important;
    height:520px!important;
    min-height:520px!important;
    padding:12px 14px!important;
    overflow:hidden!important;
  }
  .tuttocampo-embed-standings.tuttocampo-embed-v104,
  .tuttocampo-embed-results.tuttocampo-embed-v104{
    width:100%!important;
    height:440px!important;
    min-height:440px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#fff!important;
    border-radius:8px!important;
  }
  .tuttocampo-embed-standings.tuttocampo-embed-v104 .tuttocampo-embed-frame,
  .tuttocampo-embed-results.tuttocampo-embed-v104 .tuttocampo-embed-frame{
    position:static!important;
    display:block!important;
    width:500px!important;
    min-width:500px!important;
    max-width:500px!important;
    flex:0 0 500px!important;
    margin:0 auto!important;
    transform:none!important;
    transform-origin:top center!important;
    left:auto!important;
    right:auto!important;
    border:0!important;
    background:#fff!important;
  }
  .tuttocampo-embed-standings.tuttocampo-embed-v104 .tuttocampo-embed-frame{height:800px!important}
  .tuttocampo-embed-results.tuttocampo-embed-v104 .tuttocampo-embed-frame{height:600px!important}
}

@media (min-width:1181px) and (max-height:900px){
  .hero-match-v104{min-height:296px!important}
  .hero-matchup-v104{min-height:166px!important}
  .hero-team-logo-v104{width:104px!important;height:104px!important;min-width:104px!important;min-height:104px!important}
  .dashboard-live-grid-v104>.card{height:475px!important;min-height:475px!important}
  .tuttocampo-embed-standings.tuttocampo-embed-v104,
  .tuttocampo-embed-results.tuttocampo-embed-v104{height:395px!important;min-height:395px!important}
}

@media (max-width:1180px) and (min-width:981px){
  .dashboard-live-grid-v104{grid-template-columns:minmax(0,560px)!important;justify-content:center!important;gap:14px!important}
  .dashboard-live-grid-v104>.card{width:100%!important;min-height:500px!important;height:500px!important}
  .tuttocampo-embed-standings.tuttocampo-embed-v104,
  .tuttocampo-embed-results.tuttocampo-embed-v104{height:420px!important;display:flex!important;justify-content:center!important;overflow:hidden!important}
  .tuttocampo-embed-standings.tuttocampo-embed-v104 .tuttocampo-embed-frame,
  .tuttocampo-embed-results.tuttocampo-embed-v104 .tuttocampo-embed-frame{
    width:500px!important;min-width:500px!important;max-width:500px!important;transform:none!important;flex:0 0 500px!important;margin:0 auto!important
  }
}

/* V2.111 - Widget TuttoCampo completi: disposizione verticale, altezza nativa, nessun taglio interno */
.dashboard-live-grid-v104{
  grid-template-columns:minmax(0,580px)!important;
  justify-content:center!important;
  align-items:start!important;
  gap:16px!important;
}
.dashboard-live-grid-v104>.card{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  padding:12px 14px!important;
}
.tuttocampo-embed-v104{
  width:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  justify-content:center!important;
  align-items:flex-start!important;
  background:#fff!important;
}
.tuttocampo-embed-standings.tuttocampo-embed-v104{
  height:800px!important;
  min-height:800px!important;
}
.tuttocampo-embed-results.tuttocampo-embed-v104{
  height:600px!important;
  min-height:600px!important;
}
.tuttocampo-embed-v104 .tuttocampo-embed-frame{
  position:static!important;
  display:block!important;
  width:500px!important;
  min-width:500px!important;
  max-width:500px!important;
  flex:0 0 500px!important;
  margin:0 auto!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
  border:0!important;
  background:#fff!important;
}
.tuttocampo-embed-standings.tuttocampo-embed-v104 .tuttocampo-embed-frame{height:800px!important}
.tuttocampo-embed-results.tuttocampo-embed-v104 .tuttocampo-embed-frame{height:600px!important}
.dashboard-embed-note{margin-top:5px!important;text-align:center!important}

/* Percorso dati nativi: mostra tutto, senza contenitori a scorrimento */
.dashboard-live-table-wrap-v104,.dashboard-results-list-v104{max-height:none!important;overflow:visible!important}

@media(max-width:640px){
  .dashboard-live-grid-v104{grid-template-columns:minmax(0,1fr)!important}
  .dashboard-live-grid-v104>.card{padding:9px!important}
  .tuttocampo-embed-v104{justify-content:flex-start!important;overflow:hidden!important}
  .tuttocampo-embed-v104 .tuttocampo-embed-frame{
    transform:scale(.62)!important;
    transform-origin:top left!important;
    width:500px!important;min-width:500px!important;max-width:500px!important;
  }
  .tuttocampo-embed-standings.tuttocampo-embed-v104{height:496px!important;min-height:496px!important}
  .tuttocampo-embed-results.tuttocampo-embed-v104{height:372px!important;min-height:372px!important}
}

/* V2.112 - Widget TuttoCampo completi affiancati su desktop */
@media (min-width:1181px){
  .dashboard-live-grid-v104{
    grid-template-columns:repeat(2,minmax(0,580px))!important;
    justify-content:center!important;
    align-items:start!important;
    gap:18px!important;
  }
  .dashboard-live-grid-v104>.card{
    width:100%!important;
    max-width:580px!important;
    height:auto!important;
    min-height:0!important;
  }
}
@media (max-width:1180px){
  .dashboard-live-grid-v104{
    grid-template-columns:minmax(0,580px)!important;
    justify-content:center!important;
    gap:16px!important;
  }
}


/* V2.115 - Dashboard modulare stile Microsoft: drag, resize, layout personale */
.dashboard-customize-btn{margin-left:auto;white-space:nowrap}
.dashboard-edit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 14px;padding:10px 12px;border:1px solid #b9d8ea;border-radius:12px;background:#eef8fd;box-shadow:0 8px 20px rgba(15,56,84,.06)}
.dashboard-edit-toolbar[hidden]{display:none!important}
.dashboard-edit-toolbar-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.dashboard-edit-toolbar-copy strong{font-size:13px;color:#0b304b}.dashboard-edit-toolbar-copy span{font-size:10px;color:#5e7486}
.dashboard-edit-toolbar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dashboard-custom-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;gap:14px;align-items:start;margin-top:12px}
.dashboard-custom-grid>.dashboard-widget{grid-column:span var(--dashboard-span,6)!important;height:var(--dashboard-height,auto)!important;min-height:0!important;max-width:none!important;width:auto!important;margin:0!important;align-self:start!important;position:relative;box-sizing:border-box;overflow:hidden!important}
.dashboard-custom-grid>.hero-match-v104{min-height:0!important}
.dashboard-custom-grid>.dashboard-live-card{min-height:0!important;height:var(--dashboard-height,auto)!important}
.dashboard-widget-controls,.dashboard-resize-handle{display:none}
.dashboard-edit-mode .dashboard-custom-grid{padding:10px;border:1px dashed #80b9d9;border-radius:14px;background:rgba(226,242,251,.38)}
.dashboard-edit-mode .dashboard-widget{outline:2px solid rgba(33,139,200,.20);outline-offset:-2px;transition:box-shadow .12s ease,outline-color .12s ease}
.dashboard-edit-mode .dashboard-widget:hover{outline-color:#3b9bd0;box-shadow:0 8px 20px rgba(16,74,108,.14)}
.dashboard-edit-mode .dashboard-widget.is-drop-target{outline:3px solid #1fa66d;box-shadow:0 0 0 4px rgba(31,166,109,.14)}
.dashboard-edit-mode .dashboard-widget.is-dragging{opacity:.55}.dashboard-edit-mode .dashboard-widget.is-resizing{user-select:none}
.dashboard-edit-mode .dashboard-widget>*:not(.dashboard-widget-controls):not(.dashboard-resize-handle){pointer-events:none}
.dashboard-edit-mode .dashboard-widget-controls{display:flex;position:absolute;z-index:40;left:8px;top:8px;align-items:center;gap:4px;padding:4px 5px;border-radius:9px;background:rgba(7,42,66,.92);color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.16)}
.dashboard-drag-grip{display:grid;place-items:center;width:28px;height:26px;cursor:grab;font-size:18px;line-height:1}.dashboard-drag-grip:active{cursor:grabbing}
.dashboard-widget-size-label{font-size:8px;opacity:.82;min-width:54px;text-align:center;white-space:nowrap}
.dashboard-widget-mini-btn{display:grid;place-items:center;width:25px;height:25px;border:0;border-radius:6px;background:#fff;color:#0a3551;font-weight:900;font-size:16px;cursor:pointer;padding:0}.dashboard-widget-mini-btn:hover{background:#e5f4fc}
.dashboard-edit-mode .dashboard-resize-handle{display:block;position:absolute;z-index:41;right:3px;bottom:3px;width:22px;height:22px;cursor:nwse-resize;border-radius:7px;background:linear-gradient(135deg,transparent 0 43%,#1685c0 44% 54%,transparent 55% 63%,#1685c0 64% 74%,transparent 75%)}
.dashboard-custom-grid .tuttocampo-embed-v104{box-sizing:border-box!important;margin:0 auto!important}
.dashboard-custom-grid .tuttocampo-embed-v104 .tuttocampo-embed-frame{position:relative!important;left:auto!important;right:auto!important;margin:0 auto!important;border:0!important;background:#fff!important}
@media(max-width:980px){
  .dashboard-custom-grid{grid-template-columns:1fr!important;gap:12px!important}
  .dashboard-custom-grid>.dashboard-widget{grid-column:1/-1!important;height:auto!important;min-height:unset!important}
  .dashboard-edit-mode .dashboard-resize-handle,.dashboard-edit-mode .dashboard-widget-size-label,.dashboard-edit-mode .dashboard-widget-mini-btn{display:none!important}
  .dashboard-edit-toolbar{align-items:flex-start;flex-direction:column}.dashboard-edit-toolbar-actions{width:100%}
}

/* V2.116 - dashboard modular pointer controls */
.dashboard-edit-mode .dashboard-widget-controls,.dashboard-edit-mode .dashboard-resize-handle{pointer-events:auto!important}
.dashboard-drag-grip{display:flex!important;align-items:center;gap:5px;width:auto!important;min-width:78px;height:30px!important;padding:0 9px!important;border:0;border-radius:7px;background:rgba(255,255,255,.14);color:#fff;cursor:grab;font-weight:800;font-size:11px;touch-action:none;user-select:none;-webkit-user-select:none}
.dashboard-drag-grip span{font-size:9px;letter-spacing:.02em;text-transform:uppercase}
.dashboard-drag-grip:active{cursor:grabbing;background:rgba(255,255,255,.22)}
.dashboard-edit-mode .dashboard-resize-handle{display:grid!important;place-items:center;right:5px!important;bottom:5px!important;width:36px!important;height:36px!important;border:2px solid #fff!important;border-radius:9px!important;background:#1685c0!important;color:#fff!important;font-size:20px!important;line-height:1!important;cursor:nwse-resize!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;box-shadow:0 3px 10px rgba(0,0,0,.22)!important}
.dashboard-pointer-dragging,.dashboard-pointer-dragging *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}
.dashboard-pointer-resizing,.dashboard-pointer-resizing *{cursor:nwse-resize!important;user-select:none!important;-webkit-user-select:none!important}
.dashboard-edit-mode .dashboard-widget.is-dragging{opacity:.72!important;box-shadow:0 15px 35px rgba(7,42,66,.28)!important}
.dashboard-edit-mode .dashboard-widget.is-resizing{outline:3px solid #1685c0!important}

/* V2.117 - Dashboard libera su griglia 2D + TuttoCampo sempre proporzionale */
.dashboard-custom-grid{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-rows:18px!important;
  grid-auto-flow:row!important;
  column-gap:14px!important;
  row-gap:12px!important;
  align-items:stretch!important;
}
.dashboard-custom-grid>.dashboard-widget{
  grid-column:var(--dashboard-col,1) / span var(--dashboard-span,6)!important;
  grid-row:var(--dashboard-row,1) / span var(--dashboard-row-span,10)!important;
  height:auto!important;
  min-height:0!important;
  align-self:stretch!important;
  overflow:hidden!important;
}
.dashboard-edit-mode .dashboard-custom-grid{
  min-height:520px;
  background-color:rgba(226,242,251,.38)!important;
  background-image:
    linear-gradient(to right,rgba(67,145,187,.08) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(67,145,187,.07) 1px,transparent 1px)!important;
  background-size:calc((100% - 154px)/12 + 14px) 30px!important;
  padding-bottom:90px!important;
}
.dashboard-edit-mode .dashboard-widget.is-dragging{z-index:80!important;pointer-events:none!important}
.dashboard-edit-mode .dashboard-widget.is-drop-target{outline:3px solid #ef9f20!important;box-shadow:0 0 0 4px rgba(239,159,32,.16)!important}
.dashboard-custom-grid .tuttocampo-embed-v104{
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
  flex:none!important;
}
.dashboard-custom-grid .tuttocampo-embed-v104 .tuttocampo-embed-frame{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  width:500px!important;
  min-width:500px!important;
  max-width:500px!important;
  margin:0 auto!important;
  border:0!important;
  background:#fff!important;
}
@media(max-width:980px){
  .dashboard-custom-grid{display:flex!important;flex-direction:column!important;gap:12px!important}
  .dashboard-custom-grid>.dashboard-widget{grid-column:auto!important;grid-row:auto!important;height:auto!important;min-height:unset!important;width:100%!important}
  .dashboard-edit-mode .dashboard-custom-grid{background-image:none!important;padding-bottom:12px!important}
}

/* V2.121 - tre grafici stato coordinati con i colori Convocazioni */
.callup-status-metrics-section{margin-top:10px;padding-top:9px;border-top:1px solid #e3ebf0}
.callup-status-breakdown-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.callup-status-breakdown-head strong{font-size:11px;color:var(--navy)}
.callup-status-breakdown-head span{font-size:9px;font-weight:800;color:var(--muted)}
.callup-status-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:stretch}
.callup-status-metric{padding:8px 5px 9px;gap:5px;border-color:color-mix(in srgb,var(--callup-donut-color) 30%,#e2e9ef)}
.callup-status-metric .callup-metric-label{color:var(--callup-donut-color);font-size:9px}
.callup-status-metric .callup-status-single-donut{width:92px;height:92px;flex-basis:92px;--callup-fill:0%}
.callup-status-metric .callup-status-single-donut::after{inset:11px}
.callup-status-metric .callup-status-single-donut .callup-donut-inner strong{font-size:26px}
.callup-status-metric .callup-status-single-donut .callup-donut-inner span{font-size:9px}
.callup-status-metric .callup-status-single-donut .callup-donut-inner small{font-size:10px;margin-top:5px;color:var(--callup-donut-color)}
.callup-status-metric .callup-metric-status{font-size:9px;min-height:23px;color:var(--callup-donut-color)}
.classic-status-metrics{margin-top:12px;padding:10px;border:1px solid #e2e9ef;border-radius:12px;background:#f9fbfc}
.callups-v276-summary-card .callup-status-metrics-section{margin-top:8px;padding-top:8px}
.callups-v276-summary-card .callup-status-metrics-grid{gap:6px}
.callups-v276-summary-card .callup-status-metric{padding:6px 3px 7px}
.callups-v276-summary-card .callup-status-metric .callup-status-single-donut{width:70px;height:70px;flex-basis:70px}
.callups-v276-summary-card .callup-status-metric .callup-status-single-donut::after{inset:9px}
.callups-v276-summary-card .callup-status-metric .callup-status-single-donut .callup-donut-inner strong{font-size:21px}
.callups-v276-summary-card .callup-status-metric .callup-status-single-donut .callup-donut-inner span{font-size:8px}
.callups-v276-summary-card .callup-status-metric .callup-status-single-donut .callup-donut-inner small{font-size:8px;margin-top:4px}
.callups-v276-summary-card .callup-status-metric .callup-metric-label,.callups-v276-summary-card .callup-status-metric .callup-metric-status{font-size:7.8px}
@media(max-width:650px){.callup-status-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.callup-status-metric{padding:6px 2px}.callup-status-metric .callup-status-single-donut{width:76px;height:76px;flex-basis:76px}.callup-status-metric .callup-status-single-donut::after{inset:9px}.callup-status-metric .callup-status-single-donut .callup-donut-inner strong{font-size:22px}.callup-status-metric .callup-metric-label,.callup-status-metric .callup-metric-status{font-size:8px}}


/* V2.123 - Anteprima dettagli partita al passaggio del mouse nel calendario */
/* V2.124 - Zoom partita calendario al passaggio del mouse */
.calendar-match-preview{position:fixed;z-index:1200;width:min(440px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;background:#fff;border:1px solid #c7d5df;border-radius:16px;box-shadow:0 22px 58px rgba(13,43,69,.28);padding:0;color:#17354a;pointer-events:none;opacity:0;transform:scale(.97) translateY(4px);transform-origin:center;transition:opacity .14s ease,transform .14s ease}
.calendar-match-preview.month-zoom{width:min(520px,calc(100vw - 24px))}
.calendar-match-preview.week-zoom{width:min(430px,calc(100vw - 24px))}
.calendar-match-preview.open{opacity:1;transform:scale(1) translateY(0)}
.calendar-zoom-card{--zoom-accent:var(--blue);border-left:7px solid var(--zoom-accent);background:#fff;min-width:0}
.calendar-zoom-card.away{--zoom-accent:#7b61a8}.calendar-zoom-card.played,.calendar-zoom-card.outcome-win{--zoom-accent:#2d9b61}.calendar-zoom-card.outcome-draw{--zoom-accent:#7d8991}.calendar-zoom-card.outcome-loss{--zoom-accent:#d84f49}.calendar-zoom-card.cup{--zoom-accent:#8b5cc4}
.calendar-zoom-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 15px 8px;background:#f6f9fb;border-bottom:1px solid #e4ebf0;color:#607786}.calendar-zoom-eyebrow span{font-size:10px;font-weight:900;letter-spacing:.09em}.calendar-zoom-eyebrow small{font-size:9px;color:#8a99a5}
.calendar-zoom-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 5px}.calendar-zoom-badge,.calendar-zoom-status{display:inline-flex;align-items:center;min-height:27px;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.calendar-zoom-badge{background:#eaf3f9;color:#175c8f;letter-spacing:.05em}.calendar-zoom-badge.cup{background:#f1eafb;color:#6f42a5}.calendar-zoom-status{background:#f4f7f9;border:1px solid #e2e9ee;color:#607786}
.calendar-zoom-competition{text-align:center;color:#6b7e8c;font-size:11px;font-weight:800;padding:0 16px 5px}
.calendar-zoom-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;padding:9px 18px 7px;color:var(--navy)}.calendar-zoom-team{font-size:19px;line-height:1.18;overflow-wrap:anywhere}.calendar-zoom-team.home-team{text-align:right}.calendar-zoom-team.away-team{text-align:left}.calendar-zoom-score{min-width:56px;text-align:center;font-size:24px;line-height:1;font-weight:900;color:var(--zoom-accent);padding:8px 9px;border:1px solid #dbe5eb;border-radius:10px;background:#f8fafb}.calendar-zoom-vs{font-size:11px;letter-spacing:.08em;color:#7a8c98}
.calendar-match-preview.month-zoom .calendar-zoom-team{font-size:23px}.calendar-match-preview.month-zoom .calendar-zoom-score{min-width:68px;font-size:28px;padding:10px 11px}
.calendar-zoom-date-line{display:flex;align-items:center;justify-content:center;gap:12px;padding:7px 16px 13px;color:#38556a}.calendar-zoom-date-line strong{font-size:13px}.calendar-zoom-date-line span{font-size:13px;font-weight:900;color:var(--zoom-accent);background:#f2f7fa;border-radius:8px;padding:5px 8px}
.calendar-zoom-place{margin:0 15px 12px;padding:10px 12px;border-radius:10px;background:#eef5f9;border:1px solid #dae6ee;display:grid;gap:3px}.calendar-zoom-place span{font-size:9px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#6f8493}.calendar-zoom-place strong{font-size:13px;line-height:1.3;color:#18384f;overflow-wrap:anywhere}
.calendar-zoom-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 9px;padding:0 15px 15px}.calendar-zoom-detail{min-width:0;background:#f8fafb;border:1px solid #e3eaef;border-radius:9px;padding:8px 9px;display:grid;gap:3px}.calendar-zoom-detail.wide{grid-column:1/-1}.calendar-zoom-detail span{font-size:9px;line-height:1.1;font-weight:900;text-transform:uppercase;letter-spacing:.045em;color:#768996}.calendar-zoom-detail strong{font-size:12px;line-height:1.35;color:#18384f;overflow-wrap:anywhere;white-space:pre-wrap}
.calendar-match-preview.month-zoom .calendar-zoom-detail{padding:9px 10px}.calendar-match-preview.month-zoom .calendar-zoom-detail strong{font-size:13px}
@media(max-width:780px){.calendar-match-preview{display:none!important}}
@media(prefers-reduced-motion:reduce){.calendar-match-preview{transition:none}}

/* V2.129 - Ultima partita in vetrina, fix TuttoCampo e gestione loghi */
.hero-match-recent-v129{background:linear-gradient(135deg,#0b3857 0%,#15577f 54%,#0e496a 100%)}
.hero-score-v129{min-width:72px;height:52px;padding:0 12px;border-radius:16px;background:#fff;color:#103f5f;display:grid;place-items:center;font-size:24px;line-height:1;font-weight:950;letter-spacing:.6px;box-shadow:0 6px 18px rgba(4,29,47,.18)}
.hero-outcome-v129{display:inline-flex;align-items:center;justify-content:center;margin-top:7px;min-width:72px;padding:4px 8px;border-radius:999px;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.35px;background:rgba(255,255,255,.88);color:#31536a}
.hero-outcome-v129.win{background:#dcf6e8;color:#0f7b4f}.hero-outcome-v129.loss{background:#ffe4e5;color:#b4232f}.hero-outcome-v129.draw{background:#eef3f6;color:#4f6473}
.hero-scorers-v129{margin:7px auto 1px;max-width:92%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:28px;padding:5px 10px;border-radius:10px;background:rgba(255,255,255,.10);color:#edf7fc;font-size:9.5px;text-align:center;overflow:hidden}
.hero-scorers-v129 span{flex:0 0 auto;color:#cfe7f5;font-weight:800}.hero-scorers-v129 strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:900}
.team-logo-add-v129{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,2fr);gap:14px;align-items:center;margin-bottom:14px;padding:13px 14px;border:1px solid #dbe7ee;border-radius:12px;background:#fff}
.team-logo-add-v129>div{display:grid;gap:2px;color:#173b57}.team-logo-add-v129>div>span{font-size:10px;color:#728695}
.team-logo-add-form-v129{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(190px,1.2fr) auto;gap:8px;align-items:center}.team-logo-add-form-v129 input{min-width:0}.team-logo-add-form-v129 input[type=file]{font-size:11px;background:#fff}
.team-badge-row .team-badge-delete .btn{white-space:nowrap}
@media(max-width:820px){.team-logo-add-v129{grid-template-columns:1fr}.team-logo-add-form-v129{grid-template-columns:1fr}.hero-scorers-v129{max-width:100%;flex-direction:column;gap:2px}.hero-scorers-v129 strong{white-space:normal}}


/* V2.130 - Risultato grande, marcatori sotto logo e voci loghi eliminabili */
.hero-score-v129{min-width:96px!important;height:68px!important;padding:0 16px!important;border-radius:18px!important;font-size:42px!important;letter-spacing:1px!important}
.hero-team-scorers-v130{max-width:160px;margin-top:2px;padding:3px 7px;border-radius:8px;background:rgba(255,255,255,.12);color:#fff;font-size:10px;line-height:1.25;font-weight:900;text-align:center;white-space:normal;overflow-wrap:anywhere}
.hero-team-scorers-v130 span{font-size:9px}
.team-logo-entry-remove-v130{border-color:#e8c9c9!important;color:#a73b3b!important;background:#fff7f7!important}
.team-logo-hidden-v130{margin-top:14px;border:1px solid #dbe7ee;border-radius:10px;background:#f8fbfd;overflow:hidden}
.team-logo-hidden-v130 summary{cursor:pointer;padding:10px 12px;font-size:11px;font-weight:900;color:#536d7e}
.team-logo-hidden-list-v130{display:grid;gap:7px;padding:0 10px 10px}.team-logo-hidden-list-v130>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:8px;background:#fff;border:1px solid #e3ebf0}.team-logo-hidden-list-v130 span{min-width:0;font-size:11px;font-weight:800;color:#26475d;overflow-wrap:anywhere}.team-logo-hidden-list-v130 form{margin:0}
@media(max-width:820px){.hero-score-v129{min-width:76px!important;height:56px!important;font-size:32px!important;padding:0 11px!important}.hero-team-scorers-v130{max-width:125px;font-size:9px}.team-logo-hidden-list-v130>div{align-items:flex-start;flex-direction:column}}


/* V2.131 - Risultato molto grande + marcatori verticali con cognome corretto */
.hero-score-v131{min-width:132px!important;height:86px!important;padding:0 20px!important;border-radius:20px!important;font-size:60px!important;line-height:1!important;font-weight:950!important;letter-spacing:1.5px!important}
.hero-team-scorers-v131{display:flex;flex-direction:column;align-items:center;gap:1px;max-width:170px;margin-top:3px;color:#eaf6fd;font-size:8.5px;line-height:1.18;text-align:center}
.hero-team-scorers-v131>div{display:flex;align-items:center;justify-content:center;gap:4px;max-width:100%}
.hero-team-scorers-v131 span{flex:none;font-size:7.5px;opacity:.9}
.hero-team-scorers-v131 strong{min-width:0;font-size:8.5px;font-weight:850;white-space:normal;overflow-wrap:anywhere;text-transform:uppercase}
@media(max-width:820px){.hero-score-v131{min-width:98px!important;height:68px!important;padding:0 14px!important;font-size:46px!important}.hero-team-scorers-v131{max-width:130px;font-size:8px}.hero-team-scorers-v131 strong{font-size:8px}}


/* V2.132 - Risultato dashboard rifinito: una riga, leggermente piu piccolo */
.hero-match-recent-v129 .hero-matchup-v104{grid-template-columns:minmax(0,1fr) 118px minmax(0,1fr)!important}
.hero-score-v131{
  min-width:112px!important;
  width:auto!important;
  height:72px!important;
  padding:0 14px!important;
  border-radius:18px!important;
  font-size:50px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.5px!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  font-variant-numeric:tabular-nums;
}
.hero-match-recent-v129 .hero-vs-wrap{min-width:118px}
@media(max-width:820px){
  .hero-match-recent-v129 .hero-matchup-v104{grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr)!important}
  .hero-match-recent-v129 .hero-vs-wrap{min-width:92px}
  .hero-score-v131{min-width:88px!important;height:60px!important;padding:0 10px!important;font-size:40px!important;border-radius:16px!important}
}

/* V2.135 - Finanziaria: tesoreria chiara, layout gestionale bianco. */
.finx{--finx-blue:#247df2;--finx-navy:#122e54;--finx-border:#dfe9f3;--finx-green:#07875b;--finx-red:#d33e4b;--finx-muted:#70839a;color:#18314d;max-width:100%;min-width:0}
.finx *{box-sizing:border-box}
.finx-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.finx-kicker{font-size:10px;letter-spacing:.095em;color:#8798ab;font-weight:850;text-transform:uppercase}
.finx-heading h1{font-size:30px;line-height:1.1;letter-spacing:-.9px;color:#132b50;margin:5px 0 0}
.finx-heading p{font-size:12px;color:#73859b;margin:7px 0 0}
.finx-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.finx-season-pill{background:#fff;border:1px solid var(--finx-border);border-radius:9px;color:#536b87;font-size:11px;font-weight:750;padding:10px 12px;white-space:nowrap}
.finx .btn.finx-primary{background:#247df2;color:#fff;box-shadow:0 3px 9px rgba(36,125,242,.17)}
.finx .btn.secondary{background:#f0f5fc;border:1px solid #dce8f7;color:#1c4b80}
.finx-tabs{display:flex;align-items:center;gap:4px;overflow-x:auto;padding:4px;background:#fff;border:1px solid var(--finx-border);border-radius:12px;margin-bottom:15px;scrollbar-width:thin}
.finx-tab{font:inherit;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:#3e5875;white-space:nowrap;border-radius:8px;padding:11px 13px;cursor:pointer;min-height:39px}
.finx-tab.active{background:var(--finx-blue);color:#fff;box-shadow:0 2px 6px rgba(36,125,242,.22)}
.finx-tab:hover:not(.active){background:#eff5fc}
.finx-tab:focus-visible,.finx-text-button:focus-visible,.finx-edit-btn:focus-visible,.finx-delete-btn:focus-visible{outline:2px solid var(--finx-blue);outline-offset:2px}
.finx-panel[hidden],.finx-modal[hidden],.finx-filterable[hidden],.finx [data-fin-conditional][hidden]{display:none!important}
.finx-panel{animation:finx-panel-in .15s ease}
@keyframes finx-panel-in{from{opacity:.75;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.finx-audit-alert{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border:1px solid #f0d6a5;border-radius:10px;background:#fff9ec;color:#765321;font-size:11px;line-height:1.5;margin-bottom:15px}
.finx-audit-alert strong{color:#71430a}
.finx-audit-icon{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#f6cf84;color:#6e4812;font-weight:950}
.finx-flash{font-size:12px}
.finx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:13px}
.finx-kpi{min-width:0;min-height:151px;padding:16px 15px;background:#fff;border:1px solid var(--finx-border);border-radius:12px;box-shadow:0 2px 8px rgba(28,70,113,.035);display:flex;flex-direction:column;align-items:flex-start}
.finx-kpi-top{display:flex;align-items:center;gap:9px;color:#405876;font-size:11px;font-weight:850;line-height:1.25;min-height:36px}
.finx-kpi-top abbr{text-decoration:none;cursor:help;color:#99a9ba;font-size:11px}
.finx-kpi-icon{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:10px;font-size:20px;font-weight:900}
.finx-kpi-balance .finx-kpi-icon{background:#e6f9ed;color:#078e57}
.finx-kpi-income .finx-kpi-icon{background:#e9f7ef;color:#0b9a62}
.finx-kpi-expense .finx-kpi-icon{background:#ffedf0;color:#e04350}
.finx-kpi-advances .finx-kpi-icon{background:#fff1df;color:#db8c22}
.finx-kpi-value{font-size:clamp(20px,2vw,29px);font-weight:900;letter-spacing:-.75px;margin:11px 0 4px;color:#0c8d5a;white-space:nowrap;font-variant-numeric:tabular-nums}
.finx-kpi-expense .finx-kpi-value{color:#dc3343}
.finx-kpi-advances .finx-kpi-value{color:#c77d1e}
.finx-kpi-detail{font-size:10px;color:#708198;line-height:1.45}
.finx-kpi small{font-size:9px;color:#768ba1;margin-top:3px;line-height:1.3}
.finx-text-button{border:0;background:transparent;padding:4px 0 0;margin-top:auto;color:#1971df;font:inherit;font-size:10.5px;font-weight:800;cursor:pointer;text-align:left;white-space:normal}
.finx-three-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.12fr) minmax(0,1.02fr);gap:12px;margin-bottom:12px}
.finx-two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.finx-bottom-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
.finx-card{min-width:0;background:#fff;border:1px solid var(--finx-border);border-radius:12px;padding:15px;box-shadow:0 2px 8px rgba(28,70,113,.03)}
.finx-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;margin-bottom:12px}
.finx-card-heading h2{font-size:14px;line-height:1.2;font-weight:850;color:#172e50;margin:0 0 3px}
.finx-card-heading p{font-size:10px;line-height:1.4;color:#7a8da0;margin:0}
.finx-soft-label{font-size:9px;font-weight:700;border:1px solid #e4eaf0;border-radius:6px;padding:6px;color:#758ba2;white-space:nowrap}
.finx-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:9.5px;color:#637a90;margin:4px 0 8px}
.finx-dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:middle;flex-shrink:0}
.finx-chart-svg{width:100%;height:auto;display:block;min-height:150px;max-height:240px}
.finx-chart-empty{display:grid;place-items:center;text-align:center;min-height:164px;color:#94a3b3;font-size:11px;background:repeating-linear-gradient(0deg,#fff,#fff 35px,#f1f5f9 36px);border-radius:9px}
.finx-footnote{font-size:9.5px;line-height:1.5;color:#8a9bac;margin:9px 0 0}
.finx-donut-layout{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1fr);align-items:center;gap:14px;min-height:178px}
.finx-donut{aspect-ratio:1/1;width:min(100%,190px);border-radius:50%;padding:19%;display:grid;place-items:center;margin:auto}
.finx-donut>div{background:#fff;border-radius:50%;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;text-align:center;box-shadow:0 0 0 3px #fff}
.finx-donut strong{font-size:clamp(11px,1.3vw,18px);font-weight:900;letter-spacing:-.5px;white-space:nowrap;color:#173b63}
.finx-donut span{font-size:9px;color:#8a9bae}
.finx-category-legend{display:grid;gap:9px;align-content:center;min-width:0}
.finx-category-legend>div{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:10px;color:#425d79}
.finx-category-legend>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.finx-category-legend strong{font-size:10px;color:#526c86}
.finx-mini-comparison{height:183px;display:flex;align-items:flex-end;justify-content:space-around;gap:10px;border-bottom:1px solid #e7eef5;padding:7px 5px 0}
.finx-mini-season{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;height:100%;min-width:0;flex:1}
.finx-mini-season>div{height:140px;display:flex;align-items:flex-end;justify-content:center;gap:7px;width:100%;border-bottom:1px solid #d9e5f0;background:repeating-linear-gradient(0deg,transparent,transparent 34px,#f1f5fa 35px)}
.finx-mini-season i{display:block;width:min(27px,35%);border-radius:3px 3px 0 0;min-height:2px}
.finx-mini-season>span{font-size:10px;color:#667d95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.finx-lower-grid .finx-card{min-height:240px;display:flex;flex-direction:column}
.finx-person-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.finx-person-card{display:flex;gap:9px;align-items:flex-start;border:1px solid #e9eff5;border-radius:9px;padding:10px;background:#f7faff;min-width:0}
.finx-person-avatar{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#dceafd;color:#1e72d7;font-weight:900;font-size:16px}
.finx-person-card>div{min-width:0;display:flex;flex-direction:column;gap:4px}
.finx-person-card strong{font-size:10.5px;overflow-wrap:anywhere}
.finx-person-card small{font-size:9px;color:#8395a9}
.finx-person-card b{font-size:16px;color:#18395f;font-variant-numeric:tabular-nums}
.finx-status-summary{display:flex;flex-direction:column;gap:4px;padding:11px 0 12px;border-bottom:1px solid #edf1f5;margin-bottom:10px}
.finx-status-number{font-size:25px;font-weight:900;color:#193b61}
.finx-status-summary>span{font-size:10px;color:#8193a6}
.finx-progress-list{display:grid;gap:6px}
.finx-progress-list>div:not(.finx-progress-track){display:flex;justify-content:space-between;font-size:10px;color:#657c92;gap:6px}
.finx-progress-list strong{color:#254765}
.finx-progress-track{height:8px;background:#edf2f8;border-radius:999px;overflow:hidden;position:relative}
.finx-progress-track>i{display:block;height:100%;background:#287ff0;border-radius:999px}
.finx-progress-track>i.finx-over{background:#e74e5c}
.finx-budget-mini{margin:9px 0}
.finx-budget-mini>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#5b7590;margin-bottom:6px}
.finx-budget-mini strong{font-size:9px;color:#254866}
.finx-empty-inline{border:1px dashed #d5e2ee;border-radius:9px;padding:18px;color:#8295a8;font-size:11px;line-height:1.5;background:#f9fbfe;margin:8px 0 13px}
.finx-table-card{padding:14px}
.finx-table-scroll{overflow:auto;border:1px solid #e5edf4;border-radius:9px}
.finx-table{width:100%;border-collapse:collapse;min-width:560px}
.finx-table th{font-size:9px;letter-spacing:0;text-transform:none;color:#677d95;font-weight:850;background:#f4f8fc;padding:9px 8px;border-bottom:1px solid #e4ebf3}
.finx-table td{font-size:10px;color:#49637c;padding:9px 8px;border-bottom:1px solid #eef2f6;vertical-align:middle;line-height:1.4}
.finx-table td strong{font-size:10px;color:#2d4763}
.finx-table td small{display:block;color:#95a4b3;font-size:9px;margin-top:2px;max-width:230px;overflow:hidden;text-overflow:ellipsis}
.finx-table tr:last-child td{border-bottom:0}
.finx-table tr:hover td{background:#f8fbff}
.finx-table .finx-positive,.finx-positive{color:#0a9864!important}
.finx-table .finx-negative,.finx-negative{color:#d5424f!important}
.finx-nowrap{white-space:nowrap}.finx-right{text-align:right}
.finx-status{display:inline-flex;padding:4px 6px;border-radius:6px;background:#e5f7ee;color:#148456;font-size:9px;font-weight:850;white-space:nowrap}
.finx-status.planned{background:#fff4d9;color:#986d1a}
.finx-empty-cell{text-align:center!important;padding:24px!important;color:#8699ab!important}
.finx-muted{color:#91a1b2;font-size:10px}
.finx-full-card{padding:17px}
.finx-movements-head{align-items:center;flex-wrap:wrap}
.finx-filters{display:grid;grid-template-columns:minmax(170px,1fr) 210px 145px;gap:8px;margin:13px 0}
.finx-filters input,.finx-filters select{border:1px solid #dce6ef;font-size:11px;padding:9px 10px}
.finx-ledger-table{min-width:900px}
.finx-type-tag{display:inline-block;padding:4px 6px;border-radius:5px;background:#edf4fb;color:#315c86;font-size:9px;font-weight:750}
.finx-review-tag{display:inline-block;margin:4px 0 0;padding:2px 5px;border-radius:4px;background:#fff3dc;color:#9c6812;font-size:9px;font-weight:750}
.finx-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}
.finx-row-actions form{margin:0}
.finx-edit-btn{font:inherit;font-size:10px;border:1px solid #d3e3f5;color:#246bb7;background:#f4f8ff;border-radius:6px;padding:5px 7px;cursor:pointer}
.finx-delete-btn{font:inherit;font-size:18px;line-height:1;width:26px;height:26px;display:grid;place-items:center;background:#fff3f3;border:1px solid #f1d4d7;color:#b64652;border-radius:6px;cursor:pointer}
.finx-categories-layout{grid-template-columns:1fr 1fr}
.finx-large-donut{min-height:220px}
.finx-large-donut .finx-donut{width:min(100%,240px)}
.finx-category-bar{margin:15px 0}
.finx-category-bar>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#57708a;margin-bottom:7px}
.finx-category-bar strong{color:#2a4866}
.finx-inline-form{display:flex;gap:9px;align-items:end;flex-wrap:wrap;border-top:1px solid #e9eef4;padding-top:16px;margin-top:17px}
.finx-inline-form .field{flex:1;min-width:160px}
.finx-inline-form .btn{white-space:nowrap}
.finx-advance-intro,.finx-budget-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:4px 0 14px}
.finx-advance-intro h2,.finx-budget-top h2{font-size:18px;margin:0 0 4px;color:#16375b}
.finx-advance-intro p,.finx-budget-top p{font-size:11px;color:#7288a0;margin:0;line-height:1.45}
.finx-advance-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:13px}
.finx-advance-overview>div{background:#fff;border:1px solid var(--finx-border);border-radius:11px;padding:17px;display:flex;flex-direction:column;gap:7px;min-width:0}
.finx-advance-overview span{font-size:10px;color:#66819a;font-weight:800}
.finx-advance-overview strong{font-size:25px;color:#c78529;letter-spacing:-.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.finx-advance-overview small{font-size:9px;color:#91a2b3;line-height:1.35}
.finx-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.finx-person-detail{min-width:0}
.finx-person-heading{display:flex;gap:10px;align-items:center}
.finx-person-heading h3{font-size:13px;margin:0 0 2px;color:#18385b}
.finx-person-heading small{font-size:10px;color:#8398ad}
.finx-person-amount{display:block;font-size:28px;font-weight:900;color:#234569;margin:16px 0 10px}
.finx-credit-track{height:8px;border-radius:999px;background:#edf2f7;overflow:hidden;margin-bottom:13px}
.finx-credit-track i{display:block;height:100%;border-radius:999px;background:#2781f1}
.finx-credit-detail{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef2f6;font-size:10.5px;color:#6b8095}
.finx-credit-detail strong{font-size:11px;color:#2a4a6b}
.finx-person-action{border:1px solid #d8e7fa;border-radius:8px;background:#f5f9ff;color:#2877d9;padding:9px 10px;width:100%;margin-top:13px;font-size:11px;font-weight:800;cursor:pointer}
.finx-no-credit{grid-column:1/-1;max-width:650px}
.finx-no-credit h3{margin:0 0 7px}.finx-no-credit p{font-size:11px;color:#74869a;line-height:1.55}
.finx-explanation{margin-bottom:12px}
.finx-explanation h3{font-size:14px;margin:0 0 12px}
.finx-explanation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.finx-explanation-grid>div{border:1px solid #e6eef7;border-radius:8px;background:#f8fbff;padding:11px}
.finx-explanation-grid b{font-size:11px;color:#2a517a}
.finx-explanation-grid p{font-size:10.5px;line-height:1.5;color:#71879c;margin:5px 0 0}
.finx-compare-bars{display:grid;gap:14px;margin:20px 0 24px}
.finx-compare-row{display:grid;grid-template-columns:95px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:13px}
.finx-compare-row>strong{font-size:11px;color:#2d4c6c}
.finx-compare-row>div{display:grid;gap:5px}
.finx-compare-row small{font-size:9px;color:#8496aa}
.finx-budget-kpis>div strong{color:#235f96}
.finx-budget-line{padding:15px 0;border-bottom:1px solid #edf1f6}
.finx-budget-line-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;margin-bottom:8px;font-size:11px;color:#54718b}
.finx-budget-line-head strong{font-size:12px;color:#294967}
.finx-budget-line-head form{margin:0}
.finx-budget-form{max-width:780px}
.finx-registration-big{font-size:30px;font-weight:900;margin:13px 0 18px}
.finx-registration-notice{background:#f0f7ff;border:1px solid #d9e7f7;border-radius:9px;padding:12px;margin-top:18px}
.finx-registration-notice strong{font-size:11px;color:#1f5186}
.finx-registration-notice p{font-size:10.5px;line-height:1.55;color:#52738f;margin:5px 0 0}
.finx-modal-open{overflow:hidden}
.finx-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px}
.finx-modal-backdrop{position:absolute;inset:0;background:rgba(13,32,55,.58);backdrop-filter:blur(2px)}
.finx-modal-dialog{position:relative;width:min(760px,98vw);max-height:min(92vh,880px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 22px 80px rgba(12,35,65,.28);padding:20px 22px;color:#18324e}
.finx-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid #e6edf5;padding-bottom:12px;margin-bottom:14px}
.finx-modal-head h2{font-size:21px;margin:5px 0 0;color:#15345b}
.finx-modal-close{border:0;border-radius:9px;width:34px;height:34px;background:#edf3f9;color:#355674;font-size:23px;cursor:pointer}
.finx-modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.finx-modal-form .field{min-width:0}
.finx-modal-form label{font-size:11px;color:#55718c}
.finx-modal-form input,.finx-modal-form select,.finx-modal-form textarea{font-size:12px;border-color:#d6e3f0}
.finx-modal-form .finx-wide{grid-column:1/-1}
.finx-modal-form textarea{min-height:56px}
.finx-kind-hint{font-size:11px;line-height:1.5;color:#466a8e;background:#edf6ff;border:1px solid #d4e8ff;border-radius:8px;padding:10px 12px}
.finx-modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e6edf5;padding-top:13px}
@media(max-width:1360px){.finx-kpi{padding:13px 11px}.finx-kpi-value{font-size:23px}.finx-three-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.finx-compare-card{grid-column:1/-1}.finx-mini-comparison{height:140px}.finx-mini-season>div{height:105px}}
@media(max-width:1100px){.finx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finx-three-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finx-lower-grid .finx-card:last-child{grid-column:1/-1}.finx-bottom-grid{grid-template-columns:1fr}.finx-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.finx-heading h1{font-size:25px}.finx-heading-actions{justify-content:flex-start}.finx-kpis{gap:8px}.finx-kpi{min-height:138px}.finx-kpi-value{font-size:21px}.finx-kpi-top{font-size:10px}.finx-three-grid,.finx-two-grid,.finx-advance-overview,.finx-people-grid{grid-template-columns:1fr}.finx-compare-card,.finx-lower-grid .finx-card:last-child{grid-column:auto}.finx-donut-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.finx-donut{width:min(100%,170px)}.finx-filters{grid-template-columns:1fr 1fr}.finx-filters input{grid-column:1/-1}.finx-explanation-grid{grid-template-columns:1fr}.finx-compare-row{grid-template-columns:75px 1fr 1fr;gap:8px}.finx-modal-dialog{padding:16px}}
@media(max-width:430px){.finx-kpis{grid-template-columns:1fr}.finx-kpi{min-height:0}.finx-kpi-value{font-size:25px}.finx-person-list{grid-template-columns:1fr}.finx-donut-layout{grid-template-columns:1fr}.finx-donut{width:min(100%,190px)}.finx-modal-form{grid-template-columns:1fr}.finx-modal-form .finx-wide{grid-column:auto}.finx-advance-overview strong{font-size:22px}.finx-compare-row{grid-template-columns:1fr 1fr}.finx-compare-row>strong{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.finx-panel{animation:none}}
.finx-modal-form .field[hidden]{display:none!important}
/* Il tab-bar della Finanziaria scorre orizzontalmente senza allargare il viewport mobile. */
@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr)}.main{min-width:0}}
.finx-donut{padding:0;position:relative}
.finx-donut>div{position:absolute;inset:23%;width:auto;height:auto}
.finx-income-categories{margin-bottom:12px}
.finx-income-categories .finx-card-heading>strong{font-size:17px;white-space:nowrap}
.finx-income-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
@media(max-width:650px){.finx-income-category-grid{grid-template-columns:1fr}}

/* V2.136 - Editor stati convocazioni, chiaro e responsive */
.status-manager-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:4px 0 13px}
.status-manager-header h2{font-size:21px;color:#123957;margin:4px 0 4px}
.status-manager-header .subtitle{font-size:12px;line-height:1.5;max-width:720px}
.status-manager-eyebrow{color:#26719e;font-size:10px;font-weight:900;letter-spacing:1.2px}
.status-manager-explain{display:flex;align-items:center;gap:14px;padding:12px 15px;margin-bottom:14px;border:1px solid #cce3f1;border-radius:12px;background:#f0f8fe;color:#4a667a;font-size:12px;line-height:1.55}
.status-manager-explain>strong{color:#13557c;white-space:nowrap;font-size:12px}
.status-manager-grid{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(440px,1.6fr);align-items:start;gap:14px}
.status-manager-add-card,.status-manager-list-card{margin:0!important;padding:0!important;overflow:hidden;border-radius:14px!important}
.status-manager-card-title,.status-manager-list-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 17px;border-bottom:1px solid #e4ecf2;background:#f8fbfd}
.status-manager-card-title{justify-content:flex-start;background:#f1f8ff}
.status-manager-card-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#dcefff;color:#1468a1;font-size:25px;font-weight:600;flex:0 0 37px}
.status-manager-card-title h3,.status-manager-list-title h3{font-size:15px;margin:0 0 4px;color:#173b59}
.status-manager-card-title small,.status-manager-list-title small{font-size:10.5px;color:#667f90;line-height:1.4}
.status-manager-add-form{display:grid;gap:13px;padding:17px}
.status-manager-add-form label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#526d80}
.status-manager-add-form input,.status-manager-add-form select{height:39px;min-width:0;font-size:13px!important;border:1px solid #d5e3ed;border-radius:8px;padding:8px 10px;background:#fff;color:#1a3548}
.status-manager-add-form .btn{justify-self:start;min-height:38px}
.status-manager-tip{margin:0 17px 17px;padding:11px 12px;border-radius:9px;background:#f7f9fb;color:#62798a;font-size:11px;line-height:1.55}
.status-manager-count{border:1px solid #d2e8dc;background:#eaf7f0;color:#147448;font-size:10px;font-weight:900;padding:6px 9px;border-radius:999px;white-space:nowrap}
.status-manager-rows{padding:5px 13px 12px}
.status-manager-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:8px;align-items:end;padding:10px 3px;border-bottom:1px solid #edf1f5}
.status-manager-row:last-child{border-bottom:0}
.status-manager-edit-form{display:grid;grid-template-columns:minmax(155px,1.2fr) minmax(145px,.9fr) auto;gap:9px;align-items:end;min-width:0}
.status-manager-edit-form label{display:grid;gap:5px;min-width:0}
.status-manager-edit-form label>span:first-child{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:#71869a}
.status-manager-edit-form input,.status-manager-edit-form select{height:34px;min-width:0;width:100%;border:1px solid #d9e5ec;border-radius:7px;padding:6px 9px;font-size:12px!important;background:#fff;color:#1d3d51}
.status-manager-locked-group{height:34px;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:7px 8px;border:1px solid #e2e8ed;border-radius:7px;background:#f6f8fa;color:#597083;font-size:11px;white-space:nowrap;overflow:hidden}
.status-manager-save{height:34px;min-height:34px!important;padding:6px 11px!important;font-size:11px!important;white-space:nowrap}
.status-manager-remove-form{display:flex;align-items:end;justify-content:center;margin:0}
.status-manager-remove{width:30px;height:34px;border:0;border-radius:7px;background:#fff0f1;color:#bd3441;font-size:22px;line-height:1;cursor:pointer}
.status-manager-remove:hover{background:#ffe1e5}
.status-manager-used{grid-column:1/-1;color:#7b8c99;font-size:9.5px;margin-top:-2px}
.status-manager-archived{border-top:1px solid #e7edf2;padding:12px 16px;color:#526d80}
.status-manager-archived summary{font-size:11px;font-weight:800;cursor:pointer}
.status-manager-archived-list{display:grid;gap:8px;margin-top:12px}
.status-manager-archived-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;background:#f7fafc;border:1px solid #e4edf2;border-radius:9px}
.status-manager-archived-row span{display:grid;gap:3px}.status-manager-archived-row strong{font-size:12px;color:#334f62}.status-manager-archived-row small{font-size:10px;color:#71879a}
.status-manager-archived-row form{margin:0}
.status-manager-empty{padding:22px;text-align:center;color:#7a8996;font-size:12px}
.status-manager-footer-note{font-size:11px;line-height:1.6;color:#687d8b;padding:13px 4px}
.status-manager-footer-note a{color:#15648d;font-weight:800}
@media(max-width:1100px){.status-manager-grid{grid-template-columns:1fr}}
@media(max-width:680px){.status-manager-header{flex-direction:column}.status-manager-explain{display:grid;gap:4px}.status-manager-edit-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.status-manager-save{grid-column:1/-1;justify-self:start}.status-manager-rows{padding:4px 9px}.status-manager-row{grid-template-columns:minmax(0,1fr) 30px}.status-manager-edit-form input,.status-manager-edit-form select{font-size:11px!important}}
@media(max-width:410px){.status-manager-edit-form{grid-template-columns:1fr}.status-manager-group-field{grid-column:1}.status-manager-save{grid-column:1}.status-manager-card-title,.status-manager-list-title{padding:12px}}

/* V2.137 - menu a comparsa, colori e icone per ogni dicitura */
.status-manager-preview-strip{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 14px}
.status-manager-preview-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--chip-color) 32%,#e2e8ee);border-left:3px solid var(--chip-color);border-radius:999px;background:var(--chip-bg);color:var(--chip-text);font-size:11px;font-weight:800;white-space:nowrap}
.status-manager-preview-chip b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:color-mix(in srgb,var(--chip-color) 18%,white);font-size:12px}
.status-manager-preview-extra{font-size:11px;color:#6c8190;font-weight:700}
.status-manager-popup{padding:0!important;margin:0!important;overflow:hidden;border:1px solid #dce7ef!important;border-radius:15px!important}
.status-manager-popup-summary{display:grid;grid-template-columns:40px minmax(0,1fr) auto 24px;align-items:center;gap:12px;min-height:73px;padding:14px 17px;list-style:none;cursor:pointer;user-select:none;background:#f8fbfd}
.status-manager-popup-summary::-webkit-details-marker,.status-manager-add-summary::-webkit-details-marker{display:none}
.status-manager-popup-summary:hover{background:#f1f8fc}
.status-manager-popup-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e4f3fc;color:#14618d;font-size:21px}
.status-manager-popup-title{display:grid;gap:4px;min-width:0}
.status-manager-popup-title strong{font-size:15px;color:#173d59}
.status-manager-popup-title small{font-size:11px;color:#718596;line-height:1.4}
.status-manager-popup-chevron{font-size:23px;color:#638094;transition:transform .2s ease}
.status-manager-popup[open] .status-manager-popup-chevron{transform:rotate(180deg)}
.status-manager-popup-body{padding:17px;background:#fbfdff;border-top:1px solid #e1eaf0}
.status-manager-popup .status-manager-explain{margin-bottom:14px}
.status-manager-popup .status-manager-grid{grid-template-columns:minmax(260px,.73fr) minmax(540px,1.7fr);gap:13px}
.status-manager-add-card{align-self:start}
.status-manager-add-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:11px}
.status-manager-add-summary>span:nth-child(2){display:grid;gap:4px;min-width:0}
.status-manager-add-summary strong{font-size:14px;color:#173b59}
.status-manager-add-summary small{font-size:10px;color:#6c8393}
.status-manager-add-chevron{margin-left:auto;color:#587d95;font-size:20px;transition:transform .18s ease}
.status-manager-add-card[open] .status-manager-add-chevron{transform:rotate(180deg)}
.status-manager-add-form[data-theme-row]{border-left:4px solid var(--theme-color)}
.status-manager-add-appearance{display:grid;grid-template-columns:72px 86px minmax(0,1fr);align-items:end;gap:9px}
.status-manager-add-appearance label{min-width:0}
.status-manager-add-appearance input[type=color]{height:39px;padding:3px;cursor:pointer}
.status-manager-add-appearance input[type=text]{height:39px;text-align:center;font-size:17px!important;font-weight:800}
.status-manager-add-live-preview{display:inline-flex;align-items:center;gap:7px;min-height:39px;color:#657b8c;font-size:11px}
.status-manager-add-live-preview>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--theme-icon-bg);color:var(--theme-text);font-weight:900;font-size:16px}
.status-manager-list-title{flex-wrap:wrap}
.status-manager-list-title form{margin:0}
.status-manager-row[data-theme-row]{border-left:4px solid var(--theme-color);padding-left:10px;border-radius:6px;margin:4px 0;background:var(--theme-bg)}
.status-manager-row .status-manager-edit-form{grid-template-columns:minmax(150px,1.25fr) minmax(132px,1fr) 72px 66px auto;gap:8px;align-items:end}
.status-manager-name-input-wrap{display:flex;align-items:center;gap:6px;min-width:0}
.status-manager-name-input-wrap input{min-width:0;flex:1}
.status-manager-swatch{display:grid;place-items:center;flex:0 0 30px;width:30px;height:34px;border-radius:8px;background:var(--theme-icon-bg);color:var(--theme-text);font-size:16px;font-weight:900}
.status-manager-edit-form .status-manager-color-field input[type=color]{padding:2px 3px;cursor:pointer;height:34px}
.status-manager-edit-form .status-manager-icon-field input{padding:5px 3px;text-align:center;font-size:16px!important;font-weight:900}
.status-manager-archived-info{display:flex!important;align-items:center;gap:9px}
.status-manager-archived-dot{display:inline-block;width:11px;height:11px;flex:0 0 11px;border-radius:50%}
.status-manager-archived-info>span{display:grid;gap:3px}
.status-manager-footer-note{padding:12px 3px;color:#647d8e}
@media(max-width:1280px){.status-manager-popup .status-manager-grid{grid-template-columns:1fr}.status-manager-add-card{max-width:none}}
@media(max-width:780px){.status-manager-row .status-manager-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.status-manager-row .status-manager-name-field,.status-manager-row .status-manager-group-field{grid-column:1/-1}.status-manager-row .status-manager-save{grid-column:1/-1;justify-self:start}.status-manager-popup-body{padding:12px}.status-manager-list-title{align-items:flex-start}}
@media(max-width:500px){.status-manager-popup-summary{grid-template-columns:35px minmax(0,1fr) 20px;gap:9px;padding:12px}.status-manager-popup-icon{width:35px;height:35px}.status-manager-popup-summary .status-manager-count{display:none}.status-manager-popup-title strong{font-size:13px}.status-manager-popup-title small{font-size:10px}.status-manager-add-appearance{grid-template-columns:1fr 1fr}.status-manager-add-live-preview{grid-column:1/-1}.status-manager-popup-body{padding:9px}.status-manager-preview-chip{font-size:10px;padding:5px 8px}.status-manager-row[data-theme-row]{padding-left:6px}}
/* WhatsApp: keep the new SQUALIFICATI section visible in the modern panel. */
.callups-v276-tools-grid .copybox{max-height:290px!important;min-height:175px;overflow:auto}

/* V2.138: WhatsApp poll-vote import preview, both callup layouts. */
.wa-import-dialog{width:min(1140px,calc(100vw - 32px))}
.wa-import-body{padding:18px 20px}
.wa-import-toolbar{display:flex;align-items:end;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.wa-import-poll-label{display:flex;flex:1 1 340px;flex-direction:column;gap:6px;font-size:12px;font-weight:800;color:#365269}
.wa-import-poll-label select{width:100%;min-height:42px;border:1px solid #cddbe7;border-radius:10px;padding:9px;background:#fff;color:#16354f}
.wa-import-notice{padding:11px 13px;border:1px solid #dbe7f0;border-radius:11px;background:#f3f8fc;color:#365269;font-size:13px;line-height:1.5;margin-bottom:12px}
.wa-import-notice.is-error{background:#fff1ef;color:#a33d35;border-color:#f0b8b0}
.wa-import-options{padding:12px;border:1px solid #dbe7f0;border-radius:12px;background:#fbfdff;margin-bottom:14px}
.wa-import-options h3{margin:0 0 4px;font-size:15px;color:#183d5b}
.wa-import-options p{margin:0 0 12px;font-size:12px}
.wa-import-option-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}
.wa-import-option{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid #dfe8f0;border-radius:10px;background:white;font-size:12px}
.wa-import-option strong{font-size:12px;line-height:1.35}
.wa-import-option select{width:100%;padding:8px;border:1px solid #d6e3ed;border-radius:8px;background:#fff;color:#173e5b}
.wa-import-table-wrap{max-height:45vh;overflow:auto;border:1px solid #dce7ef;border-radius:12px}
.wa-import-table{width:100%;border-collapse:collapse;min-width:760px;font-size:12px}
.wa-import-table th{position:sticky;top:0;background:#eaf3fb;color:#25445f;text-align:left;padding:11px;z-index:1}
.wa-import-table td{border-bottom:1px solid #e6edf3;padding:10px;vertical-align:top}
.wa-import-table tr:last-child td{border-bottom:0}
.wa-import-table select{width:100%;min-width:130px;padding:8px;border:1px solid #cbdce8;border-radius:8px;background:#fff;color:#16354f}
.wa-import-table select:disabled{background:#f1f3f5;color:#8392a0}
.wa-import-voter{font-weight:800;color:#16354f}
.wa-import-sub{display:block;margin-top:4px;font-size:11px;color:#617c91;overflow-wrap:anywhere}
.wa-import-vote-chip{display:inline-block;padding:5px 8px;border-radius:7px;background:#edf5fd;color:#1a567f;font-weight:700;line-height:1.4}
.wa-import-warning{margin-top:14px;padding:11px 13px;background:#fff8e9;border:1px solid #f1dcae;border-radius:10px;color:#795716;font-size:12px;line-height:1.5}
@media(max-width:850px){.wa-import-dialog{width:100%;max-height:calc(100vh - 16px)}.wa-import-body{padding:12px}.wa-import-table-wrap{max-height:43vh}.wa-import-table{min-width:720px}.wa-import-toolbar .btn{flex:1}}

/* V2.139: opt-in WhatsApp historical poll recovery */
.wa-import-history{border:1px solid #cbdced;border-radius:12px;background:#f8fbff;margin-bottom:12px}
.wa-import-history summary{cursor:pointer;font-weight:800;color:#194367;padding:13px 15px;list-style-position:inside}
.wa-import-history[open] summary{border-bottom:1px solid #dbe7f0}
.wa-import-history p{padding:8px 15px 0;margin:0;color:#536c82;font-size:12px;line-height:1.5}
.wa-import-history-controls{display:flex;gap:8px;flex-wrap:wrap;padding:12px 15px 8px}
.wa-import-history-result{margin:0 15px 13px;font-size:12px;color:#32516b;background:#edf5fe;border:1px solid #d3e4f4;border-radius:8px;padding:10px}
.wa-import-history-result.is-error{background:#fff1ef;color:#a33d35;border-color:#f0b8b0}
.wa-import-history-attach{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;margin:0 15px 14px;padding-top:10px;border-top:1px solid #e0eaf2}
.wa-import-history-attach[hidden]{display:none!important}
.wa-import-history-attach label{display:flex;flex:1 1 280px;flex-direction:column;gap:5px;font-size:12px;font-weight:750;color:#32516b}
.wa-import-history-attach select{min-height:40px;max-width:100%;padding:8px;border:1px solid #bcd0df;background:#fff;border-radius:9px;color:#16354f}
@media(max-width:650px){.wa-import-history-controls .btn,.wa-import-history-attach .btn{width:100%}}


/* V2.142 - Fuori rosa emoji 🔚; preserve each club's selected color. */
.status-manager-preview-chip.status-out-roster-chip b{min-width:26px!important;width:26px!important;height:24px!important;padding:0!important;border-radius:7px!important;font-size:16px!important;letter-spacing:0}
.status-manager-row.is-out-of-roster .status-manager-swatch{min-width:34px!important;width:34px!important;height:34px!important;padding:0!important;border-radius:8px!important;font-size:18px!important}
.status-manager-row.is-out-of-roster .status-manager-name-input-wrap{min-width:0}

/* V2.143 - Distinta: posizionamento libero di ogni maglia sul campo verde */
.formation-free-hint{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid #b6dfc8;border-radius:10px;padding:10px 13px;background:#effaf3;color:#1a5b3b;font-size:12px;line-height:1.35}
.formation-free-hint strong{white-space:nowrap;font-weight:900}
.formation-free-hint span{flex:1;min-width:175px}
.football-pitch.formation-pitch-drop{box-shadow:0 0 0 4px #80d5aa,0 10px 25px rgba(13,43,69,.18)}
.football-pitch .formation-slot.occupied{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;transition:box-shadow .1s ease,background .1s ease}
.football-pitch .formation-slot.occupied.free-dragging{cursor:grabbing!important;z-index:50;opacity:.95;box-shadow:0 0 0 3px #fff,0 10px 25px rgba(0,0,0,.28);background:rgba(255,255,255,.15)}
.football-pitch .formation-slot.positioning-selected{box-shadow:0 0 0 3px #fff1a2,0 0 0 6px rgba(17,96,65,.65);background:rgba(255,255,255,.12);z-index:20}
.football-pitch .formation-slot.custom-position .formation-slot-role{background:#e0f5ed;color:#17694c}
.football-pitch .formation-slot .formation-slot-remove{touch-action:manipulation}
@media(max-width:650px){.formation-free-hint{align-items:flex-start;font-size:11px}.formation-free-hint strong{white-space:normal}.lineup-modern-mode .formation-toolbar-actions #resetPositionsBtn{min-width:110px}}
/* V2.143: nella vista moderna il campo deve essere il pannello principale.
   Le precedenti regole grid-column/row:auto sovrascrivevano grid-area e
   mettevano il campo nella colonna stretta, rendendo difficile il drag libero. */
@media(min-width:1121px){
  .lineup-modern-mode .formation-main-panel{grid-column:1!important;grid-row:1 / span 2!important}
  .lineup-modern-mode .formation-roster-panel{grid-column:2!important;grid-row:1!important}
  .lineup-modern-mode .formation-details-panel{grid-column:2!important;grid-row:2!important}
  .lineup-modern-mode .formation-preview-panel{grid-column:1 / -1!important;grid-row:3!important}
}
@media(max-width:1120px){
  .lineup-modern-mode .formation-app{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:'main' 'roster' 'details' 'preview'!important}
  .lineup-modern-mode .formation-main-panel{grid-column:1!important;grid-row:1!important}
  .lineup-modern-mode .formation-roster-panel{grid-column:1!important;grid-row:2!important}
  .lineup-modern-mode .formation-details-panel{grid-column:1!important;grid-row:3!important}
  .lineup-modern-mode .formation-preview-panel{grid-column:1!important;grid-row:4!important}
}
@media(max-width:620px){
  .lineup-modern-mode .formation-slot{width:82px;min-height:62px}
  .lineup-modern-mode .formation-slot-player{width:80px}
  .lineup-modern-mode .formation-slot-player strong{max-width:78px;font-size:9px}
  .lineup-modern-mode .formation-slot-role{right:2px;top:-2px}
  .lineup-modern-mode .formation-slot-remove{left:0;top:-3px}
}

/* V2.144 - Groups assigned to each club explicitly and independently. */
.wa-team-groups-v2144{padding:16px;border:1px solid #d2e2f1;border-radius:14px;background:#f6faff;margin:13px 0}
.wa-team-groups-heading{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin-bottom:13px;font-weight:900;color:#123956}
.wa-team-groups-heading small{font-size:11px;color:#637993;font-weight:600}
.wa-team-groups-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.wa-team-group-row{min-width:0;background:#fff;border:1px solid #d8e6ee;border-radius:13px;padding:16px;display:flex;flex-direction:column;gap:10px}
.wa-team-group-current{border-color:#25a18e;box-shadow:0 0 0 1px #25a18e25}
.wa-team-group-identity{display:flex;align-items:center;gap:12px}
.wa-team-group-identity span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}
.wa-team-group-identity strong{font-size:14px;color:#102b45}
.wa-team-group-identity small{font-size:11px;color:#687e90}
.wa-team-group-avatar{display:grid;place-items:center;background:#e1f0fc;color:#116393;border-radius:10px;font-size:12px;font-weight:900;min-width:39px;height:39px}
.wa-team-group-row label{font-size:11px;font-weight:850;color:#385879}
.wa-team-group-row select{width:100%;min-width:0;min-height:43px;border:1px solid #b7cde0;border-radius:8px;padding:8px 10px;font-size:13px;background:#fff;color:#0e2c46}
.wa-team-group-row select:focus{outline:2px solid #179283;outline-offset:2px}
.wa-team-group-status{font-size:11px;color:#58738a;overflow-wrap:anywhere}
.wa-team-groups-alert{background:#fff0ec;border:1px solid #edb09e;color:#9a311d;border-radius:9px;padding:9px 12px;margin-bottom:12px;font-size:12px;font-weight:800}
.wa-team-other-destinations{border:1px solid #d9e4ee;border-radius:12px;margin:12px 0;background:#fff}
.wa-team-other-destinations>summary{padding:13px 16px;cursor:pointer;font-size:13px;font-weight:850;color:#274c70}
.wa-team-other-destinations .wa-recipient-settings-grid{padding:6px 13px 15px}
.wa-import-group-v2144{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#eaf7f5;border:1px solid #acd9d3;border-radius:9px;color:#154d47}
.wa-import-group-v2144 div{display:flex;flex-direction:column;gap:2px;min-width:0}
.wa-import-group-v2144 small{font-weight:700;font-size:10px;letter-spacing:.02em}
.wa-import-group-v2144 strong{font-size:12px;overflow-wrap:anywhere}
.wa-import-group-v2144 a{white-space:nowrap;font-size:11px;font-weight:850;color:#086b61}
@media(max-width:750px){.wa-team-groups-grid{grid-template-columns:1fr}.wa-team-group-row{padding:12px}.wa-team-groups-v2144{padding:10px}.wa-import-group-v2144{align-items:flex-start;flex-direction:column}}

/* V2.145 - conservative poll autosync and manual-review-only UI */
.wa-poll-auto-info{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;margin-bottom:12px;background:#eaf8f2;border:1px solid #a4d8c4;border-radius:10px;color:#15644e;font-size:12px}
.wa-poll-auto-info strong{font-weight:850;white-space:nowrap}.wa-poll-auto-info span{flex:1 1 250px}.wa-poll-auto-info a{font-size:11px;color:#05665a;font-weight:800}
.wa-poll-auto-result{margin:0 0 12px;padding:12px 14px;border:1px solid #a9d9c9;background:#edf9f5;border-radius:10px;color:#175d4b;font-weight:700;font-size:12px;line-height:1.55}
.wa-poll-auto-result.is-error{color:#9c3b34;border-color:#e7b5ac;background:#fff1ed}
.wa-poll-auto-result[hidden]{display:none}
.wa-poll-show-synced{display:flex;align-items:center;gap:7px;margin:4px 0 10px;font-size:12px;font-weight:750;color:#34536d}
.wa-poll-show-synced input{width:16px;height:16px;accent-color:#07856a}
.wa-poll-synced-row{background:#f0fbf7}
.wa-poll-synced-row.is-filtered{display:none}
.wa-import-save-options{margin:10px 0 0;justify-content:flex-end}
.wa-poll-auto-settings{border:1px solid #abd9cc;background:#f6fcf9;border-radius:13px;padding:14px;margin:16px 0}
.wa-auto-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.wa-auto-team{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#fff;border:1px solid #d2e6e0;padding:13px;border-radius:11px;color:#133d33}
.wa-auto-team span:first-child{display:flex;flex-direction:column;gap:3px}.wa-auto-team small{font-size:11px;color:#597267;overflow-wrap:anywhere}
.wa-auto-team-switch{white-space:nowrap;font-size:12px;font-weight:800;color:#17694e}.wa-auto-team-switch input{accent-color:#128b69;width:17px;height:17px;vertical-align:middle;margin-right:4px}
@media(max-width:850px){.wa-auto-teams{grid-template-columns:1fr}.wa-poll-auto-info{align-items:flex-start;flex-direction:column}.wa-import-toolbar #waImportAutoSync{width:100%}}

.wa-poll-show-synced[hidden]{display:none}

/* V2.146 - Fuori rosa is a reversible sporting status, never a release. */
.badge.roster-out-badge{color:#6a319f;background:#f3eafa;border:1px solid #dbc3f0;font-weight:800;white-space:nowrap}
.roster-out-row td{background:#fbf7ff}
.roster-out-row:hover td{background:#f7efff}
.roster-out-form{display:inline-flex;margin:0}
.roster-out-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #d2b8eb;border-radius:9px;background:#f6edfc;color:#7137a3;cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap;min-height:30px}
.roster-out-toggle:has(input:checked){background:#e6d3f8;border-color:#aa7cda;color:#562284}
.roster-out-toggle input[type=checkbox]{accent-color:#8235bf;width:15px;height:15px;margin:0;cursor:pointer;flex:0 0 15px}
.roster-out-toggle:focus-within{outline:2px solid #cba8ee;outline-offset:2px}
.registration-actions{align-items:center;gap:6px;flex-wrap:wrap}
@media(max-width:650px){.roster-out-toggle{font-size:11px;padding:6px 7px}}
/* V2.153: anteprime della rosa, con colori e dimensioni della dashboard. */
button.roster-status-v104{width:100%;font-family:inherit;text-align:left;cursor:pointer;appearance:none}
button.roster-status-v104:hover{filter:brightness(.97)}
button.roster-status-v104:focus-visible{outline:3px solid #1677b5;outline-offset:3px}
.roster-preview{box-sizing:border-box;width:min(420px,calc(100vw - 24px));max-height:80vh;max-height:80dvh;padding:20px;border:1px solid #dce5ec;border-radius:16px;background:#fff;color:#173b55;box-shadow:0 16px 60px #173b5533;overflow:auto}
.roster-preview::backdrop{background:rgba(17,42,61,.38)}
.roster-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.roster-preview-head h2{font-size:18px;margin:0}
.roster-preview-close{flex-shrink:0;width:44px;height:44px;border:1px solid #dce5ec;border-radius:10px;background:#f1f5f9;color:#405a70;font-size:25px;cursor:pointer}
.roster-preview-context{font-size:12px;line-height:1.6;color:#607789;overflow-wrap:anywhere;margin:8px 0 12px}
.roster-preview-list{list-style:none;margin:0;padding:0}
.roster-preview-list li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:12px 0;border-top:1px solid #e5edf2;font-size:14px;overflow-wrap:anywhere}
.roster-preview-list li strong{min-width:0;max-width:100%}
.roster-preview-list li span,.roster-preview-empty{font-size:12px;color:#607789}
