@import url("tokens.css");
@import url("base.css");
@import url("components.css");
@import url("utilities.css");
@import url("admin.css");

/* F6 - Gestione utenti */
.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}
.role-card{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}
.role-card:hover{border-color:#aac8e8;background:#f8fbfe}
.role-card input{margin-top:3px}
.role-card span{display:grid;gap:3px}
.role-card small,.management-table td small{color:#667085}
.user-option{display:flex;align-items:center;gap:9px;margin:18px 0;font-weight:700}
.user-role-fieldset{margin:0;padding:18px;border:1px solid var(--border);border-radius:11px;background:#fff}
.user-role-fieldset legend{padding:0 7px;font-weight:800}
.management-table__actions form{display:inline-flex;margin:0}

/* F7.1 - Discipline sportive */
.sport-name{display:flex;align-items:center;gap:9px}.sport-color{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid rgba(15,23,42,.18);flex:0 0 auto}.form-field textarea{width:100%;resize:vertical;min-height:110px}
@media(max-width:720px){.page-sports .management-table td[data-label="Disciplina"]{display:block}.page-sports .sport-name{align-items:flex-start}.page-sports input[type="color"]{min-height:48px;width:100%}}

/* F7.2 - Stagioni sportive */
.page-seasons .role-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.page-seasons .check-row{display:block;margin:8px 0}
@media(max-width:720px){.page-seasons .role-list{grid-template-columns:1fr}.page-seasons .management-table td[data-label="Periodo"]{white-space:normal}}


/* F7.2.4 - Opzioni e discipline della stagione */
.page-seasons .season-section-heading{display:grid;gap:4px;margin-bottom:10px}.page-seasons .season-section-heading>span{font-weight:800}.page-seasons .season-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.page-seasons .season-option-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:11px;background:#fff;cursor:pointer}.page-seasons .season-option-card:hover{border-color:#aac8e8;background:#f8fbfe}.page-seasons .season-option-card input[type="checkbox"],.page-seasons .season-sport-card input[type="checkbox"]{width:18px!important;min-width:18px!important;height:18px;min-height:18px!important;margin:2px 0 0;padding:0;accent-color:var(--primary);flex:0 0 auto}.page-seasons .season-option-card>span,.page-seasons .season-sport-card>span{display:grid;gap:4px;min-width:0}.page-seasons .season-option-card strong,.page-seasons .season-sport-card strong{font-weight:800}.page-seasons .season-option-card small,.page-seasons .season-sport-card small{font-weight:400;color:var(--muted);line-height:1.45}.page-seasons .season-sports-fieldset{margin:0;padding:18px;border:1px solid var(--border);border-radius:11px;background:#fff}.page-seasons .season-sports-fieldset legend{padding:0 8px;font-weight:800}.page-seasons .season-fieldset-intro{margin:0 0 14px;color:var(--muted);line-height:1.5}.page-seasons .season-sport-card{min-width:0}.page-seasons .season-empty-state{grid-column:1/-1;display:grid;gap:4px;padding:16px;border:1px dashed var(--border);border-radius:10px;background:var(--surface-muted);color:var(--muted)}.page-seasons .season-empty-state strong{color:var(--text)}
@media(max-width:720px){.page-seasons .season-option-list{grid-template-columns:1fr}.page-seasons .season-option-card,.page-seasons .season-sports-fieldset{padding:14px}}

/* Competizioni collegate alle squadre */
.page-team-registrations .team-registration-competition {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
}
.page-team-registrations .team-registration-competition__name {
    display: block;
    line-height: 1.3;
}
.page-team-registrations .team-registration-competition__detail {
    display: block;
    margin: 0;
    line-height: 1.35;
    color: #667085;
}

/* F10.2.2 - Modale anagrafica persone */
.person-form-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:18px;align-items:end;padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff}
.cms-switch{display:flex;align-items:center;gap:12px;min-width:0;cursor:pointer}
.cms-switch>input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px!important}
.cms-switch__control{position:relative;flex:0 0 46px;width:46px;height:26px;border-radius:999px;background:#cbd5e1;transition:background .18s ease,box-shadow .18s ease}
.cms-switch__control:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.25);transition:transform .18s ease}
.cms-switch>input:checked+.cms-switch__control{background:var(--primary)}
.cms-switch>input:checked+.cms-switch__control:after{transform:translateX(20px)}
.cms-switch>input:focus-visible+.cms-switch__control{box-shadow:0 0 0 3px rgba(25,103,210,.22)}
.cms-switch__text{display:grid;gap:3px;min-width:0}
.cms-switch__text strong{font-weight:800}
.cms-switch__text small{color:var(--muted);line-height:1.35}
.person-status-field{margin:0}
@media (max-width:720px){.person-form-options{grid-template-columns:1fr;align-items:start}.person-status-field{width:100%}}

.media-center__toolbar-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.media-maintenance-results{display:grid;gap:.75rem;margin-top:1rem}.media-maintenance-result{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--cms-border,#d9e1ec);border-radius:.75rem;background:#fff}.media-maintenance-result strong{font-size:1.05rem}@media(max-width:767px){.media-center__toolbar-actions{width:100%}.media-center__toolbar-actions .button{flex:1 1 100%;justify-content:center}}

/* F19.1 - Impostazioni del sito */
.settings-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem}.settings-nav__item{display:flex;align-items:center;gap:.65rem;min-height:52px;padding:.8rem .9rem;border:1px solid var(--border-color,#d8dee8);border-radius:12px;background:#fff;color:inherit;text-decoration:none}.settings-nav__item i{width:1.2rem;text-align:center}.settings-nav__item small{margin-left:auto;font-size:.68rem;color:#687386}.settings-nav__item.is-active{border-color:var(--brand-primary,#c8102e);box-shadow:0 0 0 2px rgba(200,16,46,.08)}.settings-nav__item.is-disabled{opacity:.62;cursor:not-allowed}.settings-form{display:grid;gap:1rem}.settings-section{margin:0}.settings-stack{display:grid;gap:1rem}.settings-field__switch{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid #e7ebf0}.settings-field__switch>div{display:grid;gap:.2rem}.settings-field__switch small{color:#687386}.settings-savebar{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid #d8dee8;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 -8px 24px rgba(20,31,52,.08);backdrop-filter:blur(8px)}.settings-savebar>div{display:grid;gap:.2rem}.settings-savebar span{font-size:.86rem;color:#687386}.settings-savebar .button{display:inline-flex;align-items:center;gap:.5rem}.settings-empty-state{text-align:center;padding:3rem 1rem;border:1px dashed #bcc6d4;border-radius:14px;background:#fff}.settings-empty-state i{font-size:2rem;margin-bottom:.75rem}@media(max-width:767px){.settings-nav{grid-template-columns:1fr 1fr}.settings-savebar{align-items:stretch;flex-direction:column}.settings-savebar .button{justify-content:center;width:100%}}@media(max-width:401px){.settings-nav{grid-template-columns:1fr}}

/* F19.5 - Social, Contatti e Google Maps */
.settings-map-preview{min-height:340px;overflow:hidden;border:1px solid #d8dee8;border-radius:14px;background:#eef2f7}.settings-map-preview iframe{display:block;width:100%;height:380px;border:0}.settings-map-preview .settings-empty-state{min-height:340px;border:0;border-radius:0}.settings-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.settings-overview-card{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.9rem;padding:1rem;border:1px solid #d8dee8;border-radius:14px;background:#fff}.settings-overview-card>i{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#f1f5f9}.settings-overview-card>div{display:grid;gap:.2rem}.settings-overview-card>a,.settings-overview-card>.settings-card-actions{grid-column:2}.settings-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}@media(max-width:767px){.settings-overview-grid{grid-template-columns:1fr}.settings-map-preview iframe{height:320px}}@media(max-width:401px){.settings-map-preview iframe{height:280px}.settings-overview-card{grid-template-columns:1fr}.settings-overview-card>a,.settings-overview-card>.settings-card-actions{grid-column:1}}

/* F19.8.3 API Foundation */
.settings-permissions{display:flex;flex-wrap:wrap;gap:12px 20px;padding:12px 0}.settings-permissions label{display:inline-flex;align-items:center;gap:8px}.settings-api-output{max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:16px;border:1px solid #d9dee7;border-radius:8px;background:#f7f8fa;font-family:Consolas,Monaco,monospace;font-size:13px}.page-api-settings code{word-break:break-all}@media(max-width:767px){.settings-permissions{display:grid;grid-template-columns:1fr}.settings-api-output{max-height:320px}}

/* F19.9.1 - Setup Wizard framework */
.page-setup-wizard .admin-content{max-width:1480px}.setup-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:24px;border:1px solid var(--cms-border,#dfe4ea);border-radius:18px;background:#fff}.setup-hero__content h2{margin:3px 0 8px}.setup-hero__content p:last-child{margin-bottom:0;color:#64748b}.setup-score{min-width:190px;text-align:right}.setup-score strong{display:block;font-size:34px;line-height:1;color:var(--cms-primary,#c8102e)}.setup-score span{display:block;margin-top:7px;color:#64748b;font-size:13px}.setup-progress{height:10px;margin:14px 0 22px;overflow:hidden;border-radius:999px;background:#e9eef4}.setup-progress>span{display:block;height:100%;border-radius:inherit;background:var(--cms-primary,#c8102e);transition:width .25s ease}.setup-layout{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:22px}.setup-steps{display:flex;flex-direction:column;gap:7px}.setup-step{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.setup-step:hover{border-color:#b8c3d1;box-shadow:0 4px 15px rgba(15,23,42,.06);transform:translateY(-1px)}.setup-step.is-current{border-color:var(--cms-primary,#c8102e);box-shadow:0 0 0 2px rgba(200,16,46,.08)}.setup-step.is-completed .setup-step__index{background:#16803d;color:#fff}.setup-step.is-future{opacity:.72}.setup-step__index{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#edf1f5;font-size:12px;font-weight:800}.setup-step__text{display:flex;min-width:0;flex-direction:column}.setup-step__text strong{font-size:14px}.setup-step__text small{margin-top:2px;color:#64748b;line-height:1.35}.setup-stage{min-width:0;padding:28px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}.setup-stage__head{display:flex;gap:16px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid #edf1f5}.setup-stage__head h2{margin:3px 0 7px}.setup-stage__head p:last-child{margin:0;color:#64748b}.setup-stage__icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:14px;background:rgba(200,16,46,.08);color:var(--cms-primary,#c8102e);font-size:19px}.setup-welcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.setup-check-card{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:start;padding:16px;border:1px solid #e5eaf0;border-radius:14px}.setup-check-card>i{margin-top:3px;color:#64748b}.setup-check-card div{display:flex;flex-direction:column}.setup-check-card div span{margin-top:3px;color:#64748b;font-size:13px}.setup-check-card__status{padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800}.setup-check-card__status.is-ok{background:#e8f7ee;color:#12652f}.setup-placeholder{display:flex;min-height:280px;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.setup-placeholder>span{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:#f1f5f9;color:#64748b;font-size:24px}.setup-placeholder h3{margin:14px 0 6px}.setup-placeholder p{max-width:620px;margin:0;color:#64748b}.setup-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.setup-actions--split{justify-content:space-between}@media(max-width:1024px){.setup-layout{grid-template-columns:270px minmax(0,1fr)}.setup-welcome-grid{grid-template-columns:1fr}}@media(max-width:767px){.setup-hero{align-items:flex-start;flex-direction:column}.setup-score{min-width:0;text-align:left}.setup-layout{display:block}.setup-steps{margin-bottom:16px;flex-direction:row;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}.setup-step{min-width:220px;scroll-snap-align:start}.setup-step__text small{display:none}.setup-stage{padding:18px}.setup-stage__head{gap:11px}.setup-actions--split{align-items:stretch;flex-direction:column-reverse}.setup-actions .button{justify-content:center;width:100%}}@media(max-width:402px){.setup-hero{padding:18px}.setup-stage{padding:15px}.setup-stage__icon{flex-basis:40px;width:40px;height:40px}.setup-step{min-width:195px}}

/* F19.9.2 - Setup Wizard: diagnostica iniziale e società */
.setup-diagnostics-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 14px;padding:16px 18px;border:1px solid #dce5ef;border-radius:14px;background:#f8fafc}.setup-diagnostics-summary>div{display:grid;gap:3px}.setup-diagnostics-summary>div span{color:#64748b;font-size:13px}.setup-diagnostics-summary>span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.setup-diagnostics-summary.is-ready{border-color:#bfe5cd;background:#f2fbf5}.setup-diagnostics-summary.is-ready>span{background:#dff4e7;color:#12652f}.setup-diagnostics-summary.is-warning{border-color:#f0d7aa;background:#fffaf1}.setup-diagnostics-summary.is-warning>span{background:#fff0d0;color:#8a5a0a}.setup-welcome-grid--diagnostics{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-check-card__status.is-error{background:#fde8e8;color:#a11b1b}.setup-organization-form{margin-top:22px}.setup-organization-form .cms-form-section{margin:0}.setup-organization-form .form-field small{display:block;margin-top:5px;color:#64748b;font-size:12px;line-height:1.4}@media(max-width:1024px){.setup-welcome-grid--diagnostics{grid-template-columns:1fr}}@media(max-width:767px){.setup-diagnostics-summary{align-items:flex-start;flex-direction:column}.setup-diagnostics-summary>span{align-self:flex-start}}
.setup-branding-form,.setup-icons{margin-top:22px}.setup-brand-preview{display:flex;align-items:center;gap:16px;margin:22px 0;padding:16px;border:1px solid #dfe6ee;border-radius:14px;background:#f8fafc}.setup-brand-preview__logo{display:grid;place-items:center;flex:0 0 82px;width:82px;height:82px;padding:8px;border:1px solid #dce4ec;border-radius:16px;background:#fff}.setup-brand-preview__logo img{max-width:100%;max-height:100%;object-fit:contain}.setup-brand-preview>div:last-child{display:grid;gap:4px}.setup-brand-preview p{margin:0;color:#64748b}.setup-palette-grid{margin:18px 0}.setup-palette-form .branding-palette-swatches{margin:12px 0}.setup-icons .branding-icon-grid{margin:20px 0}.setup-icons-complete{margin-top:8px}@media(max-width:767px){.setup-brand-preview{align-items:flex-start}.setup-palette-grid{grid-template-columns:1fr}.setup-icons .branding-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* F19.9.5 - Setup Wizard: Email, SEO, riepilogo e Configuration Score */
.setup-email-form,.setup-seo-form{margin-top:22px}.setup-email-form .cms-form-section,.setup-seo-form .cms-form-section{margin:0}.setup-email-form .form-field small,.setup-seo-form .form-field small{display:block;margin-top:5px;color:#64748b;font-size:12px;line-height:1.4}.setup-seo-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.setup-seo-preview-grid .seo-preview{min-width:0}.setup-seo-preview-grid .seo-preview img{display:block;width:100%;max-height:180px;object-fit:cover}.setup-summary-score{display:grid;gap:12px;margin:22px 0;padding:22px;border:1px solid #dce5ef;border-radius:16px;background:#f8fafc}.setup-summary-score>div:first-child{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.setup-summary-score>div:first-child>span{font-size:12px;font-weight:800;letter-spacing:.08em;color:#64748b}.setup-summary-score strong{font-size:34px;line-height:1;color:var(--cms-primary,#c8102e)}.setup-summary-score small{color:#475569;font-weight:700}.setup-summary-score__bar{height:10px;overflow:hidden;border-radius:999px;background:#e7edf3}.setup-summary-score__bar>span{display:block;height:100%;border-radius:inherit;background:var(--cms-primary,#c8102e)}.setup-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.setup-summary-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:15px;border:1px solid #e2e8f0;border-radius:14px}.setup-summary-item>i{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f1f5f9;color:#64748b}.setup-summary-item>div{display:grid;gap:2px}.setup-summary-item span{font-size:12px;color:#64748b}.setup-summary-item.is-ok{border-color:#bfe5cd;background:#f6fcf8}.setup-summary-item.is-ok>i{background:#dff4e7;color:#12652f}.setup-summary-item.is-missing{border-color:#f0d7aa;background:#fffaf1}.setup-summary-item.is-missing>i{background:#fff0d0;color:#8a5a0a}.setup-summary-complete{margin-top:18px}.setup-summary-complete-form{margin-top:8px}@media(max-width:767px){.setup-seo-preview-grid,.setup-summary-grid{grid-template-columns:1fr}.setup-summary-score>div:first-child{align-items:flex-start;flex-direction:column;gap:5px}}

/* F19.11 - Centro Diagnostica */
.diagnostics-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px solid var(--border-color,#dfe3e8);border-radius:14px;background:#fff;margin-bottom:20px}.diagnostics-hero h2{margin:4px 0 8px}.diagnostics-hero p{margin-bottom:0}.diagnostics-scope-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.diagnostics-scope-grid article{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #dfe3e8;border-radius:12px;background:#fff}.diagnostics-scope-grid i{font-size:22px}.diagnostics-summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px;border-radius:14px;border:1px solid #dfe3e8;background:#fff;margin-bottom:16px}.diagnostics-summary.is-ok{border-left:5px solid #2e7d32}.diagnostics-summary.is-warning{border-left:5px solid #b26a00}.diagnostics-summary.is-error{border-left:5px solid #b42318}.diagnostics-summary__main{display:flex;flex-direction:column;gap:3px}.diagnostics-summary__main>span{font-size:12px;font-weight:700;letter-spacing:.08em}.diagnostics-summary__main>strong{font-size:24px}.diagnostics-summary__counts{display:flex;gap:10px;flex-wrap:wrap}.diagnostics-summary__counts span{padding:8px 12px;border-radius:999px;background:#f3f5f7;font-size:13px}.diagnostics-summary__counts .is-ok{background:#eaf6ec}.diagnostics-summary__counts .is-warning{background:#fff4dc}.diagnostics-summary__counts .is-error{background:#fdecec}.diagnostics-toolbar{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:16px}.diagnostics-list{display:grid;gap:12px}.diagnostics-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border:1px solid #dfe3e8;border-radius:12px;background:#fff}.diagnostics-item__icon{font-size:22px}.diagnostics-item--ok .diagnostics-item__icon{color:#2e7d32}.diagnostics-item--warn .diagnostics-item__icon{color:#b26a00}.diagnostics-item--error .diagnostics-item__icon{color:#b42318}.diagnostics-item__meta{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:.06em}.diagnostics-item__meta span{color:#65707d}.diagnostics-item__body h3{margin:4px 0}.diagnostics-item__body p{margin:0;color:#5a6572}.diagnostics-item__action{white-space:nowrap}@media(max-width:900px){.diagnostics-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostics-hero,.diagnostics-summary{align-items:flex-start;flex-direction:column}.diagnostics-item{grid-template-columns:auto minmax(0,1fr)}.diagnostics-item__action{grid-column:2}}@media(max-width:520px){.diagnostics-scope-grid{grid-template-columns:1fr}.diagnostics-item{grid-template-columns:1fr}.diagnostics-item__action{grid-column:1}.diagnostics-item__action .button{width:100%}}
