@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
/* Palette e tipografia della homepage (home-coach.css), isolate al profilo. */
body.coach-profile { --navy:#142c2e; --ink:#142c2e; --blue:#405b2b; --muted:#52625e; --paper:#f7f8f2; --line:#dce1d7; --cp-lime:#d5f36b; background:var(--paper); color:var(--ink); font-family:'DM Sans',Arial,sans-serif; font-size:16px; line-height:1.6; }
.coach-profile .site-side-art { display:none; }
.coach-profile .container { width:min(1240px,calc(100% - 64px)); }
.coach-profile .page { padding:24px 0 65px; }
.coach-profile .topbar { background:var(--paper); box-shadow:none; }
.coach-profile .nav { min-height:84px; }
.coach-profile .brand { font-size:22px; }
.coach-profile .brand span { color:#597438; }
.coach-profile .portal-menu-button { border-color:#cbd3c2; background:#fff; border-radius:6px; font-size:14px; color:var(--ink); }
.coach-profile .portal-menu-button:hover { background:#edf2e3; }
.coach-profile .portal-menu__group { background:#f7f8f2; }.coach-profile .portal-menu__group h3 { background:#edf2e3; }.coach-profile .portal-menu__group a { border-color:var(--line); }.coach-profile .portal-menu__group a span { font-size:14px; }
.coach-profile :is(a,button,summary,input,select,textarea):focus-visible { outline:3px solid #6d8f32; outline-offset:4px; }
.coach-profile :is(#societa,#giocatori) { scroll-margin-top:104px; }
.cp-breadcrumb { display:flex; gap:12px; margin-bottom:24px; font-size:13px; color:var(--muted); }.cp-breadcrumb a { text-decoration:none; }.cp-breadcrumb a:hover { text-decoration:underline; }
.cp-hero { display:grid; grid-template-columns:1.25fr 1fr; background:#edf1e6; border:1px solid #dce3d3; border-radius:10px; overflow:hidden; }
.cp-hero-copy { padding:34px 38px; }
.cp-eyebrow { margin:0 0 10px; font-size:11px; font-weight:700; letter-spacing:.14em; color:#4d6537; }
.cp-hero h1 { margin:0 0 12px; font:700 clamp(48px,5vw,68px)/1.04 'Barlow Condensed','Arial Narrow',sans-serif; letter-spacing:-1px; color:var(--ink); }.cp-hero h1 span { color:#6c883f; }
.cp-welcome { margin:0 0 8px; font-size:18px; font-weight:600; line-height:1.5; }
.cp-description { margin:0 0 24px; color:var(--muted); font-size:15px; line-height:1.65; }
.cp-button { display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:12px 18px; border-radius:5px; background:var(--ink); color:#fff; font-size:14px; font-weight:600; text-decoration:none; }.cp-button:hover { background:#294b45; }.cp-button>svg:first-child { color:var(--cp-lime); }.cp-button>svg:last-child { margin-left:15px; }
.coach-profile svg { width:22px; height:22px; flex-shrink:0; vertical-align:middle; }
.cp-hero-photo { margin:0; position:relative; min-height:300px; }.cp-hero-photo img { display:block; width:100%; height:100%; position:absolute; object-fit:cover; object-position:48% 60%; }.cp-hero-photo:after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#102925d9); }.cp-hero-photo figcaption { position:absolute; z-index:1; bottom:24px; left:26px; right:20px; color:#fff; font-size:16px; font-weight:500; }
.cp-summary { display:grid; grid-template-columns:1fr 1fr 1.15fr; border:1px solid var(--line); border-radius:8px; background:#fff; margin:20px 0 38px; }
.cp-summary>div { display:flex; align-items:center; gap:15px; padding:20px 25px; min-width:0; }.cp-summary>div+div { border-left:1px solid var(--line); }.cp-summary strong { font-size:25px; line-height:1.3; display:block; }.cp-summary .cp-qualification { font-size:19px; }.cp-summary small { font-size:13px; color:var(--muted); display:block; }
.cp-icon { width:44px; height:44px; border-radius:10px; display:inline-grid; place-items:center; flex-shrink:0; }.cp-icon--green { color:#3e672a; background:#e9f2d8; }.cp-icon--blue { color:#27628a; background:#e5f1fa; }.cp-icon--orange { color:#a25120; background:#fff0dc; }.cp-icon--purple { color:#6e4b94; background:#f0eaf8; }
.cp-workspace-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }.cp-workspace-heading h2 { margin:0; font:600 38px/1.1 'Barlow Condensed','Arial Narrow',sans-serif; letter-spacing:-.5px; }.cp-workspace-heading .cp-eyebrow { margin-bottom:7px; }
.cp-account { position:relative; z-index:10; }.cp-account>summary { display:flex; align-items:center; gap:10px; padding:12px 16px; background:#fff; border:1px solid #cbd3c2; border-radius:6px; cursor:pointer; list-style:none; font-size:14px; font-weight:600; min-height:48px; }.cp-account>summary::-webkit-details-marker { display:none; }.cp-account>summary>svg { color:#765695; }.cp-account[open]>summary { border-color:#82995f; }.cp-chevron { margin-left:10px; }.cp-account[open] .cp-chevron { transform:rotate(180deg); }
.cp-account>nav { position:absolute; top:calc(100% + 9px); right:0; width:330px; padding:12px; background:#fff; border:1px solid var(--line); border-radius:9px; box-shadow:0 14px 40px #142c2e20; }.cp-account nav>p { font-size:10px; letter-spacing:.1em; font-weight:700; color:var(--muted); margin:9px 10px; }.cp-account nav>a { display:flex; gap:12px; align-items:center; padding:11px 8px; border-radius:6px; text-decoration:none; }.cp-account nav>a:hover { background:#f3f5ee; }.cp-account strong { display:block; font-size:14px; }.cp-account small { display:block; font-size:13px; color:var(--muted); }.cp-account .cp-icon { width:36px; height:36px; }
.cp-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.cp-tool-group { background:#fff; border:1px solid var(--line); border-radius:9px; min-width:0; overflow:hidden; }.cp-tool-group>header { display:flex; align-items:center; gap:13px; padding:22px; background:#fcfcf8; border-bottom:1px solid var(--line); }.cp-tool-group h3 { font-size:21px; letter-spacing:-.4px; margin:0; line-height:1.4; }.cp-tool-group header p { font-size:13px; color:var(--muted); margin:3px 0 0; }.cp-tool-group nav { padding:5px 16px; }
.cp-tool-link { display:flex; align-items:center; gap:12px; padding:18px 5px; min-height:85px; text-decoration:none; }.cp-tool-link+.cp-tool-link { border-top:1px solid #e8ebe2; }.cp-tool-link:hover { background:#f7f9f2; }.cp-link-icon { display:grid; place-items:center; flex-shrink:0; }.cp-link-icon--green { color:#50843b; }.cp-link-icon--blue { color:#33739d; }.cp-link-icon--orange { color:#b4652a; }.cp-tool-text { flex:1; min-width:0; }.cp-tool-text strong { display:block; font-size:15px; line-height:1.4; font-weight:700; color:var(--ink); }.cp-tool-text small { display:block; font-size:13px; line-height:1.5; font-weight:400; color:var(--muted); margin-top:4px; }.cp-link-arrow { color:#657658; }.cp-link-arrow svg { width:17px; }
.cp-section-nav { display:flex; gap:28px; margin:32px 0; border-bottom:1px solid var(--line); }.cp-section-nav a { display:inline-flex; align-items:center; gap:9px; padding:0 0 16px; font-size:14px; font-weight:600; text-decoration:none; }.cp-section-nav a:hover { color:#476d29; }.cp-section-nav svg { color:#5c7d3f; }
.coach-profile .profile-societies { margin:0; }.coach-profile .profile-section__heading { margin-bottom:20px; }.coach-profile .profile-section__heading h2 { font:600 32px/1.2 'Barlow Condensed','Arial Narrow',sans-serif; letter-spacing:0; margin-bottom:7px; }.coach-profile .profile-section__heading p { font-size:15px; line-height:1.6; color:var(--muted); }
.coach-profile :is(.profile-table-wrap,.player-table-wrap) { max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:8px; background:#fff; }.coach-profile :is(.profile-table,.player-table) { width:100%; min-width:600px; border-collapse:collapse; table-layout:auto; }.coach-profile .profile-table col { width:auto; }.coach-profile :is(.profile-table,.player-table) th { text-align:left; padding:15px 20px; background:#eef2e7; color:#42523d; font-size:12px; letter-spacing:.04em; font-weight:700; }.coach-profile :is(.profile-table,.player-table) td { padding:17px 20px; font-size:15px; color:var(--ink); line-height:1.55; vertical-align:middle; border-top:1px solid var(--line); overflow-wrap:anywhere; }.coach-profile .profile-table tbody tr:hover { background:#f9faf5; }.coach-profile .collaboration-card__sector { color:#456a30; background:#edf3e4; font-size:12px; padding:5px 10px; }.coach-profile .table-muted { color:var(--muted); }
.coach-profile .players-section { margin-top:34px; padding-top:30px; }.coach-profile .team-selector { max-width:760px; margin-bottom:22px; }.coach-profile label { font-size:14px; color:var(--ink); }.coach-profile input,.coach-profile select,.coach-profile textarea { font:inherit; font-size:16px; line-height:1.5; border-color:#bac7b2; color:var(--ink); border-radius:6px; background:#fff; }.coach-profile .players-list { border-radius:9px; box-shadow:none; padding:24px; }.coach-profile .players-list h3 { font-size:22px; }.coach-profile .players-list__meta { font-size:14px; }.coach-profile .players-list__empty { color:var(--muted); background:#f4f6ee; border:1px dashed #cbd6bf; padding:28px; font-size:15px; }.coach-profile .button { background:var(--cp-lime); color:var(--ink); border:1px solid transparent; border-radius:5px; font-size:14px; line-height:1.5; min-height:46px; font-family:inherit; }.coach-profile .button:hover { background:#c6e65f; }.coach-profile .button-light { background:#fff; border-color:#bdc9b4; }.coach-profile .button-light:hover { background:#edf2e3; }
.coach-profile .player-add-panel[open] { flex:1; max-width:610px; }.coach-profile .player-add-form { width:100%; box-shadow:none; background:#f7f9f1; border-color:var(--line); border-radius:7px; }.coach-profile .form-help { font-size:13px; line-height:1.6; color:var(--muted); }.coach-profile .empty-panel { border-color:#bdcbb0; background:#fff; border-radius:8px; }.coach-profile .text-link { color:#355c28; font-weight:600; }.coach-profile .text-button { color:#a43b30; margin-top:8px; }.coach-profile .footer { background:#edf1e6; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
@media(max-width:1080px) { .cp-hero-copy { padding:28px; }.cp-tool-group>header { padding:19px 16px; }.cp-tool-group nav { padding:5px 12px; }.cp-tool-link { gap:9px; }.cp-tool-text strong { font-size:14px; }.cp-tool-text small { font-size:13px; }.cp-link-arrow { display:none; } }
@media(max-width:820px) { .coach-profile .container { width:calc(100% - 36px); }.cp-hero { grid-template-columns:1.3fr .8fr; }.cp-hero-copy { padding:25px; }.cp-description br { display:none; }.cp-tools { grid-template-columns:1fr; gap:16px; }.cp-tool-group nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:8px 18px; }.cp-tool-link+.cp-tool-link { border-top:0; }.cp-tool-link { align-items:start; }.cp-link-icon { margin-top:3px; }.cp-summary>div { padding:18px 14px; gap:10px; }.cp-summary .cp-qualification { font-size:16px; }.cp-summary small { font-size:12px; } }
@media(max-width:600px) { .coach-profile .nav { min-height:75px; gap:12px; }.coach-profile .brand { font-size:17px; }.coach-profile .portal-menu-button { font-size:12px; padding:10px; gap:7px; }.coach-profile .page { padding-top:18px; }.cp-breadcrumb { margin-bottom:16px; }.cp-hero { grid-template-columns:1fr; }.cp-hero-copy { padding:25px 23px; }.cp-hero h1 { font-size:54px; }.cp-welcome { font-size:17px; }.cp-description { font-size:15px; }.cp-hero-photo { min-height:175px; }.cp-hero-photo img { object-position:center 57%; }.cp-hero-photo figcaption { bottom:15px; left:23px; font-size:14px; }.cp-summary { grid-template-columns:1fr 1fr; margin-bottom:30px; }.cp-summary>div { padding:16px; }.cp-summary>div:last-child { grid-column:1 / -1; border-left:0; border-top:1px solid var(--line); }.cp-summary strong { font-size:22px; }.cp-summary .cp-qualification { font-size:17px; }.cp-summary small { font-size:13px; }.cp-summary .cp-icon { width:34px; height:34px; }.cp-workspace-heading { align-items:stretch; flex-direction:column; gap:16px; }.cp-workspace-heading h2 { font-size:34px; }.cp-account>summary { justify-content:flex-start; }.cp-chevron { margin-left:auto; }.cp-account>nav { width:100%; position:static; margin-top:8px; box-shadow:none; }.cp-tool-group>header { padding:20px; }.cp-tool-group nav { display:block; padding:2px 19px; }.cp-tool-link { align-items:center; min-height:85px; gap:13px; }.cp-tool-link+.cp-tool-link { border-top:1px solid #e8ebe2; }.cp-tool-text strong { font-size:16px; }.cp-tool-text small { font-size:14px; }.cp-tool-group h3 { font-size:23px; }.cp-tool-group header p { font-size:14px; }.cp-link-arrow { display:block; }.cp-section-nav { gap:16px; flex-wrap:wrap; margin:27px 0; }.cp-section-nav a { font-size:13px; padding-bottom:12px; gap:6px; }.coach-profile .players-list { padding:18px; }.coach-profile .player-add-panel[open] { max-width:none; }.coach-profile .players-list__empty { padding:20px; }.coach-profile .cp-button { gap:8px; font-size:13px; padding:12px; }.cp-button>svg:last-child { margin-left:0; } }
.coach-profile .profile-table td, .coach-profile .player-table td { text-align:left; }
@media(prefers-reduced-motion:reduce) { .coach-profile * { scroll-behavior:auto!important; transition:none!important; } }
.account-page .page { max-width:1040px; }
.account-page-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:8px 0 28px; }
.account-page-intro h1 { margin:0 0 8px; font:700 clamp(44px,5vw,62px)/1.04 'Barlow Condensed','Arial Narrow',sans-serif; letter-spacing:-1px; color:var(--ink); }
.account-page-intro h1 span { color:#6c883f; }
.account-page-intro>div>p:last-child { margin:0; color:var(--muted); }
.account-card { margin:0; padding:26px; border:1px solid var(--line); border-radius:9px; background:#fff; }
.account-card__heading { display:flex; align-items:flex-start; gap:14px; padding-bottom:20px; margin-bottom:4px; border-bottom:1px solid var(--line); }
.account-card__heading h2 { margin:0; font:600 30px/1.15 'Barlow Condensed','Arial Narrow',sans-serif; color:var(--ink); }
.account-card__heading p { margin:4px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.account-card__heading .cp-eyebrow { margin:0 0 3px; font-size:10px; }
.account-card form { margin-top:18px; }.account-card .button { width:100%; margin-top:8px; }
.account-danger-link { margin:24px 0 0; text-align:right; font-size:13px; }.account-danger-link a { color:#9c3e31; font-weight:700; text-decoration:none; }.account-danger-link a:hover { text-decoration:underline; }
.account-card--danger { border-color:#e5c8bd; }.account-card--danger .account-card__heading { border-color:#ead8d1; }.account-card--danger .cp-eyebrow { color:#9c3e31; }
.account-card--danger .text-button { color:#9c3e31; border:1px solid #d6a89b; border-radius:5px; background:#fff8f5; padding:12px 16px; font:600 14px 'DM Sans',Arial,sans-serif; cursor:pointer; }.account-card--danger .text-button:hover { background:#ffede7; }
@media(max-width:600px) { .account-page-intro { align-items:stretch; flex-direction:column; gap:16px; }.account-page-intro .button { align-self:flex-start; }.account-card { padding:20px; } }
