
/* ===== SOURCE: style.css ===== */
:root{--bg:#07111f;--panel:#10223b;--panel2:#162d4d;--ink:#edf5ff;--muted:#9eb0c6;--blue:#41a5ff;--gold:#f3be45;--red:#ef6a6a;--green:#56c596;--line:#294460}*{box-sizing:border-box}body{margin:0;background:linear-gradient(145deg,#08121f,#10243a 55%,#0b1929);color:var(--ink);font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}a{color:inherit}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;padding:0 5%;min-height:68px;background:rgba(5,12,22,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{text-decoration:none;font-size:1.45rem;font-weight:900;letter-spacing:.17em;color:var(--gold)}.nav{margin-left:auto;display:flex;align-items:center;gap:.2rem}.nav a,.nav button{display:block;border:0;background:none;color:var(--muted);text-decoration:none;padding:.7rem .8rem;font:inherit;cursor:pointer}.nav-form{margin:0}.menu-button{display:none;margin-left:auto;background:var(--panel);color:#fff;border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem}.container{width:min(1180px,92%);margin:2rem auto}.hero{padding:clamp(2rem,6vw,5rem);border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 80% 15%,rgba(65,165,255,.23),transparent 34%),var(--panel);margin-bottom:1.5rem}.hero h1{font-size:clamp(2.3rem,7vw,5rem);line-height:.95;margin:0 0 1rem}.hero p{max-width:650px;color:var(--muted);font-size:1.1rem}.eyebrow{color:var(--gold);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.card{grid-column:span 4;background:rgba(16,34,59,.94);border:1px solid var(--line);border-radius:15px;padding:1.2rem}.card.wide{grid-column:span 8}.card.full{grid-column:1/-1}.card h2,.card h3{margin-top:0}.stat{font-size:2rem;font-weight:800;color:var(--gold)}.muted,.empty{color:var(--muted)}.table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:var(--panel)}th,td{padding:.75rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{background:var(--panel2);color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}tbody tr:hover{background:#142a47}.rank{font-weight:800;color:var(--gold)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:.35rem;color:var(--muted);font-weight:650}input,select,textarea{width:100%;border:1px solid var(--line);background:#091827;color:#fff;border-radius:9px;padding:.7rem;font:inherit}input:focus,select:focus{outline:2px solid var(--blue);border-color:transparent}.button,button.button{display:inline-block;background:var(--blue);color:#04101c;border:0;border-radius:9px;padding:.72rem 1rem;text-decoration:none;font-weight:800;cursor:pointer}.button.secondary{background:var(--panel2);color:#fff;border:1px solid var(--line)}.button.danger{background:var(--red);color:#200}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.alert{padding:.9rem 1rem;border-radius:10px;margin:1rem 0}.alert.success{background:rgba(86,197,150,.18);border:1px solid var(--green)}.alert.error{background:rgba(239,106,106,.18);border:1px solid var(--red)}.badge{display:inline-block;padding:.2rem .48rem;border-radius:99px;background:var(--panel2);color:var(--muted);font-size:.78rem}.team-title{display:flex;align-items:center;gap:.8rem}.team-logo{width:48px;height:48px;object-fit:contain;border-radius:50%;background:#fff}.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.tabs a{padding:.55rem .8rem;border:1px solid var(--line);border-radius:99px;text-decoration:none;color:var(--muted)}.tabs a.active{background:var(--blue);color:#04101c;border-color:var(--blue)}.install{width:min(780px,92%);margin:5vh auto}.install .card{display:block}.lineup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.player-check{display:flex;gap:.6rem;align-items:center;background:#091827;padding:.6rem;border-radius:8px}.player-check input{width:auto}footer{text-align:center;color:var(--muted);padding:3rem 0 1rem}@media(max-width:800px){.menu-button{display:block}.nav{display:none;position:absolute;left:0;right:0;top:68px;flex-direction:column;align-items:stretch;background:#07111f;padding:1rem 5%;border-bottom:1px solid var(--line)}.nav.open{display:flex}.card,.card.wide{grid-column:1/-1}.form-grid,.lineup-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.container{width:min(94%,700px)}th,td{padding:.62rem}.hero{padding:2rem}}


/* ===== SOURCE: pwa.css ===== */
.install-app{border:1px solid #aa917d!important;border-radius:8px!important;background:#f2ebe5!important;color:#574a40!important;font-weight:800!important}.ios-install-help{position:fixed;z-index:9999;inset:0;display:grid;place-items:end center;padding:18px;background:#0008}.ios-install-help[hidden]{display:none}.ios-install-card{width:min(440px,100%);box-sizing:border-box;padding:22px;border-radius:18px;background:#f7f3ef;color:#443b34;box-shadow:0 15px 50px #0005}.ios-install-card h2{margin:0 0 .7rem}.ios-install-card p{line-height:1.45}.ios-install-card ol{padding-left:1.3rem;line-height:1.7}.ios-install-card button{width:100%;margin-top:.6rem}@media(display-mode:standalone){.install-app{display:none!important}body{overscroll-behavior-y:none}.site-header{padding-top:max(.65rem,env(safe-area-inset-top))}}


/* ===== SOURCE: lineup.css ===== */
.player-check {
    background: #fff;
    color: #12233a;
    border: 1px solid #d8e0e8;
    padding: .75rem;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
}
.player-check:hover { border-color: var(--blue); background: #f7fbff; }
.player-check:has(input:checked) { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(65, 165, 255, .25); }
.player-check input { accent-color: var(--blue); }
.player-role { display:inline-flex; align-items:center; justify-content:center; min-width:2rem; height:2rem; padding:0 .45rem; border-radius:6px; background:#162d4d; color:#fff; font-weight:900; }
.player-details { display:grid; line-height:1.25; }
.player-details small { color:#607087; margin-top:.2rem; }
.lineup-role { margin: 1.5rem 0 2rem; }
.lineup-role h2 { color: var(--gold); border-bottom: 1px solid var(--line); padding-bottom: .45rem; }
.lineup-choice { width:auto; min-width:145px; margin-left:auto; background:#eef3f8; color:#12233a; }
.player-check.selected { border-color:var(--blue); box-shadow:0 0 0 2px rgba(65,165,255,.25); }
.module-choice{max-width:260px;margin:1rem 0}.lineup-counter{position:sticky;top:78px;z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1rem 0;padding:.8rem;border-radius:10px;background:#162d4d;color:#fff}.lineup-counter>div{display:flex;gap:.65rem;align-items:center;justify-content:center;flex-wrap:wrap}.lineup-counter span{padding:.2rem .45rem;border-radius:6px;background:#0b1b2e}.lineup-counter i{font-style:normal}
@media(max-width:600px){.player-check{flex-wrap:wrap}.lineup-choice{width:100%;margin-left:0}.lineup-counter{top:72px;grid-template-columns:1fr}.lineup-counter>div{justify-content:flex-start}}
.match-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1rem 0 2rem}.match-selector a{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.45rem;text-align:center;min-height:105px;padding:1.8rem .7rem .8rem;border:1px solid #345372;border-radius:14px;background:linear-gradient(145deg,#162d4d,#0b1b2e);color:#fff;text-decoration:none;box-shadow:0 7px 18px rgba(0,0,0,.2);transition:transform .18s,border-color .18s,box-shadow .18s}.match-selector a:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 10px 24px rgba(0,0,0,.3)}.match-selector a small{position:absolute;top:.45rem;left:0;right:0;color:var(--muted);font-size:.65rem;font-weight:800;letter-spacing:.13em}.match-selector a span{font-weight:800;line-height:1.15}.match-selector a b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gold);color:#162033;font-size:.68rem}.match-selector a.active{border-color:var(--blue);background:linear-gradient(145deg,#206db0,#16466e);box-shadow:0 0 0 2px rgba(65,165,255,.22),0 10px 25px rgba(0,0,0,.3)}.match-selector a.active small{color:#dcefff}.fixture-title{text-align:center;margin:1.5rem 0}.fixture-title span{color:var(--gold);padding:0 .6rem}.submitted-lineups{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem}.submitted-lineups .lineup-sheet{grid-column:auto;width:100%;margin:0}.submitted-players{display:grid;gap:.45rem}.submitted-players>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.55rem;background:#fff;color:#12233a;border-radius:8px}.submitted-players small{color:#607087}@media(max-width:850px){.match-selector{grid-template-columns:1fr 1fr}.submitted-lineups{grid-template-columns:1fr}}@media(max-width:500px){.match-selector{grid-template-columns:1fr}.submitted-players>div{grid-template-columns:auto 1fr}.submitted-players small{grid-column:2}}
.match-selector .match-team{display:flex;min-width:0;flex-direction:column;align-items:center;gap:.35rem;font-weight:400}.match-selector .match-team>span{font-weight:400;font-size:.82rem;overflow-wrap:normal;word-break:normal}.match-team img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.lineup-team-title{display:flex;align-items:center;gap:.7rem}.lineup-team-title img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.18))}.lineup-team-title span{font-weight:600}
.empty-submitted>div{border:1px dashed #c8c8c8;background:#f4f4f2;color:#777}.empty-submitted>div>span:nth-child(2){font-weight:500}.empty-submitted small{color:#999}


/* ===== SOURCE: theme-soft.css ===== */
:root {
    --bg: #e9e9e9;
    --panel: #ffffff;
    --panel2: #eeeeee;
    --ink: #303030;
    --muted: #707070;
    --blue: #b46b38;
    --gold: #9b672d;
    --red: #c65c52;
    --green: #4f8b69;
    --line: #d4d4d4;
}

html {
    overflow-y: scroll;
    scrollbar-gutter: stable;
}

body {
    background: linear-gradient(145deg, #a9a9a9, #c2c2bf 55%, #b0b0b0);
    color: var(--ink);
}

.container {
    min-height: calc(100vh - 150px);
}

.site-header {
    background: rgba(42, 42, 42, .97);
    border-bottom-color: #4b4b4b;
}
.brand { color:#f1f1f1;text-shadow:0 2px 1px #000,0 0 10px rgba(226,176,110,.28);letter-spacing:.08em;white-space:nowrap; }
.brand span { color:#e2b06e;font-weight:950; }
.nav a, .nav button { color: #d0d0d0; }
.nav a:hover, .nav a.active, .nav button:hover { color: #fff; }
.menu-button { background: #444; border-color: #666; }

.hero {
    background: radial-gradient(circle at 80% 15%, rgba(180,107,56,.12), transparent 34%), #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.07);
}
.page-logo { display:flex;justify-content:center;margin:0 auto 1.5rem;padding:clamp(1.2rem,4vw,2.5rem);border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 80% 15%,rgba(180,107,56,.12),transparent 34%),#fff;box-shadow:0 8px 24px rgba(0,0,0,.07); }
.page-logo img { display:block;width:min(500px,100%);height:auto; }
.home-hero { text-align:center;padding:clamp(1.5rem,4vw,2.7rem); }
.home-hero p { margin:1rem auto 0; }
.team-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}.team-tabs a{display:flex;min-width:0;align-items:center;justify-content:center;gap:.45rem;padding:.55rem .45rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:#555;text-decoration:none;white-space:nowrap;font-weight:500;box-shadow:0 3px 10px rgba(0,0,0,.07)}.team-tabs a.active{background:#b46b38;color:#fff;border-color:#b46b38}.team-tabs img{width:34px;height:34px;object-fit:contain;flex:0 0 auto}.team-tabs span{min-width:0;font-size:.82rem}.roster-heading{display:flex;align-items:center;gap:1rem;margin:0 0 1rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.06)}.roster-heading img{width:82px;height:82px;object-fit:contain}.roster-heading span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.roster-heading h2{margin:.05rem 0;font-weight:650}.roster-heading small{color:var(--muted)}.roster-table th:not(:nth-child(2)):not(:nth-child(3)),.roster-table td:not(:nth-child(2)):not(:nth-child(3)){text-align:center}.roster-table tbody tr{border-left:4px solid transparent}.roster-table tbody tr.role-p{border-left-color:#f9a825}.roster-table tbody tr.role-d{border-left-color:#2e7d32}.roster-table tbody tr.role-c{border-left-color:#0277bd}.roster-table tbody tr.role-a{border-left-color:#c62828}
.calendar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}.calendar-match{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.45rem;min-height:185px;padding:2.5rem .75rem 1rem;border:1px solid #cbc4bc;border-radius:16px;background:linear-gradient(155deg,#fff,#e8e5e1);box-shadow:0 8px 20px rgba(0,0,0,.14);overflow:hidden}.calendar-match::after{content:'';position:absolute;inset:auto -20% -65% 35%;height:130px;background:rgba(180,107,56,.09);border-radius:50%;pointer-events:none}.match-round{position:absolute;top:0;left:0;right:0;padding:.5rem;text-align:center;background:#4a4a4a;color:#eee;font-size:.68rem;font-weight:700;letter-spacing:.04em}.calendar-team{display:flex;min-width:0;flex-direction:column;align-items:center;gap:.45rem;text-align:center;z-index:1}.calendar-team img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.2))}.calendar-team span{font-size:.78rem;font-weight:550;line-height:1.15}.calendar-score{display:grid;place-items:center;min-width:34px;height:34px;padding:0 .35rem;border-radius:50%;background:#b46b38;color:#fff;font-size:.72rem;font-weight:900;z-index:1}.calendar-score.played{min-width:48px;border-radius:9px;font-size:1rem}
.standings-wrap{box-shadow:0 7px 20px rgba(0,0,0,.12)}.standings-table th,.standings-table td{text-align:center}.standings-table thead tr:first-child th{background:#474747;color:#eee;border-right:1px solid #606060}.standings-table thead tr:first-child th:nth-child(2),.standings-table thead tr:first-child th:nth-child(4),.standings-table thead tr:first-child th:nth-child(6){color:#e2b06e;letter-spacing:.08em}.standings-table th:nth-child(2),.standings-table td:nth-child(2),.standings-table th:nth-child(3),.standings-table td:nth-child(3){text-align:left}.standing-team{display:flex;align-items:center;gap:.55rem;min-width:170px;white-space:nowrap;font-weight:650}.standing-team img{width:38px;height:38px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.16))}.standings-table tbody tr.ranking-winner{background:#e0f1e4;box-shadow:inset 6px 0 #2e8b4b}.standings-table tbody tr.ranking-bottom{background:#f4dfdf;box-shadow:inset 6px 0 #bc4545}.standings-table tbody tr.ranking-winner:hover{background:#d5eadb}.standings-table tbody tr.ranking-bottom:hover{background:#ecd2d2}
.auth-card{max-width:560px;margin:2rem auto!important}.auth-link{text-align:center;margin:1rem 0 0}.auth-link a{color:#9b672d;font-weight:700}.admin-password-reset{display:flex;align-items:center;gap:.45rem;min-width:330px}.admin-password-reset input{min-width:180px}.admin-password-reset .button{white-space:nowrap;padding:.65rem .8rem}
.admin-notice{padding:.8rem 1rem;border-left:5px solid #b46b38;border-radius:8px;background:#f3ece6;color:#5f4938}.admin-team-tabs{margin-bottom:1.4rem}
.card { background: rgba(255,255,255,.97); box-shadow: 0 5px 16px rgba(0,0,0,.06); }
.table-wrap { background:#fff; }
table { background:#fff; }
th { background:#ededeb; color:#343434; }
tbody tr:hover { background:#f6f0e9; }

input, select, textarea {
    background:#fafafa;
    color:#2f2f2f;
    border-color:#cfcfcf;
}
input:focus, select:focus { outline-color:#c68a5d; }
.button, button.button { background:#b46b38; color:#fff; }
.button.secondary { background:#ece7e1; color:#3b3b3b; border-color:#ccc3ba; }
.badge { background:#ece8e3; color:#5b5148; }
.tabs a { background:#fff; color:#626262; }
.tabs a.active { background:#b46b38; color:#fff; border-color:#b46b38; }
.alert.success { background:#e6f0e9; }
.alert.error { background:#f5e7e5; }

.site-footer {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:1.25rem;
    margin:2rem 0 0;
    padding:1.15rem 1.3rem;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px 16px 0 0;
    background:linear-gradient(135deg,#303030,#414141);
    color:#e7e7e7;
    box-shadow:0 -4px 18px rgba(0,0,0,.1);
    text-align:left;
}
.site-footer__identity { display:flex;align-items:center;gap:.7rem;min-width:0; }
.site-footer__identity>span:last-child { display:flex;min-width:0;flex-direction:column;line-height:1.25; }
.site-footer__identity strong { color:#f3f3f3;font-size:.82rem;letter-spacing:.025em; }
.site-footer__identity small { color:#aaa;font-size:.66rem; }
.site-footer__mark { display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border:1px solid rgba(226,176,110,.55);border-radius:10px;background:rgba(226,176,110,.12);color:#e2b06e;font-size:1rem;font-weight:950; }
.site-footer__legal { color:#bdbdbd;font-size:.7rem;text-align:center;white-space:nowrap; }
.site-footer__legal span { margin:0 .4rem;color:#777; }
.site-footer__version { justify-self:end;padding:.3rem .55rem;border:1px solid #5d5d5d;border-radius:99px;background:#292929;color:#d7b382;font-size:.64rem;font-weight:750;letter-spacing:.035em;white-space:nowrap; }

.lineup-counter { background:#3f3f3f; }
.lineup-counter span { background:#565656; }
.player-role { background:#595959; }
.match-selector a {
    background:linear-gradient(145deg,#ffffff,#eceae7);
    color:#373737;
    border-color:#d3cdc6;
    box-shadow:0 6px 16px rgba(0,0,0,.09);
}
.match-selector a:hover { border-color:#b46b38; }
.match-selector a b { background:#c79059; color:#fff; }
.match-selector a.active {
    background:linear-gradient(145deg,#c58a5c,#a96233);
    border-color:#9c582d;
    color:#fff;
}

@media(max-width:1050px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.nav{background:#303030;border-bottom-color:#555}.brand{font-size:1.05rem;letter-spacing:.035em}.page-logo{margin-bottom:1rem;padding:1rem}.roster-heading img{width:64px;height:64px}.team-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.calendar-grid{grid-template-columns:1fr}.team-tabs{grid-template-columns:1fr 1fr}.team-tabs a{justify-content:flex-start}.team-tabs img{width:30px;height:30px}.team-tabs span{font-size:.76rem}}

@media(max-width:480px){.site-footer{gap:.8rem;padding:1rem}.site-footer__identity small{display:none}.site-footer__legal{font-size:.66rem}.site-footer__legal span{display:none}.site-footer__legal{display:flex;flex-direction:column;gap:.1rem}}
.import-preview{display:grid;gap:.65rem;margin:1rem 0}.import-match{display:grid;grid-template-columns:1fr auto 1fr;gap:.6rem;align-items:center;padding:.8rem;border-radius:9px;background:#f5f3f0;text-align:center}.import-match span{font-size:1.25rem;font-weight:900;color:#9b672d}.import-match small{color:#707070}@media(max-width:600px){.import-match{grid-template-columns:1fr auto 1fr;font-size:.85rem}}

/* V2.24 - messaggi di conferma/errore sempre leggibili */
.alert.success,
.alert.error {
    color:#111 !important;
}
.alert.success strong,
.alert.error strong,
.alert.success a,
.alert.error a {
    color:#111 !important;
}


/* ===== SOURCE: lineup-builder.css ===== */
.lineup-builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem;align-items:start}
.roster-panel,.selected-panel{padding:1rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.75)}
.lineup-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-height:48px;margin-bottom:.7rem}.lineup-panel-heading h2{margin:0}.lineup-panel-heading .module-choice{display:flex;grid-template-columns:auto 100px;align-items:center;gap:.5rem;max-width:none;margin:0;color:#555;white-space:nowrap}.lineup-panel-heading .module-choice select{min-width:100px;padding:.5rem}.round-summary{display:flex;align-items:center;gap:.25rem .4rem;flex-wrap:wrap;padding:.45rem .65rem;border:1px solid #d8c9bb;border-radius:8px;background:#f3ece6;color:#665344;font-size:.78rem;line-height:1.25}.round-summary strong{color:#4a3a2d}.round-summary small{flex-basis:100%;color:#76685d}
.module-buttons{display:flex;flex-wrap:wrap;gap:.35rem;max-width:330px}.module-buttons button{padding:.45rem .65rem;border:1px solid #c9b7a7;border-radius:8px;background:#f3ece6;color:#5b493b;font-weight:800;cursor:pointer}.module-buttons button.active{border-color:#9b672d;background:#9b672d;color:#fff;box-shadow:0 2px 7px #0002}.module-choice.has-buttons select{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.module-choice.has-buttons{display:block}.module-choice.has-buttons>span{display:block;margin-bottom:.35rem}
.roster-role h3{margin:1rem 0 .45rem;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:.3rem}
.roster-player,.selected-player{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;margin:.4rem 0;padding:.6rem;border:1px solid #d5d5d5;border-radius:9px;background:#fff;color:#262626;text-align:left}.roster-player{grid-template-columns:auto minmax(100px,1fr) auto auto}
.roster-player{cursor:pointer}
.roster-player:hover{border-color:var(--blue);background:#faf4ef}
.roster-player.is-selected,.roster-player:disabled{cursor:not-allowed;opacity:.62;border-color:#9b672d;background:#e5ddd4;box-shadow:inset 4px 0 #9b672d}.roster-player.is-selected>b,.roster-player:disabled>b{background:#777}.roster-player.is-selected>b::after,.roster-player:disabled>b::after{content:'✓';font-size:.85rem}.roster-player.is-selected>b,.roster-player:disabled>b{font-size:0}
.roster-player>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-size:1.15rem}
.player-details{min-width:0}.player-lofe-summary{display:grid;grid-template-columns:repeat(4,minmax(28px,1fr));gap:3px;padding:3px;border:1px solid #ddd2c8;border-radius:9px;background:#f4f0ec}.player-lofe-summary>span{display:grid;place-items:center;min-width:31px;padding:2px 3px;border-radius:6px;background:#fff;line-height:1}.player-lofe-summary small{margin-bottom:3px;color:#8a7767;font-size:.53rem;font-weight:900}.player-lofe-summary b{color:#453a31;font-size:.7rem}.player-lofe-stats{align-self:center;grid-column:2;grid-row:1/3;padding:.3rem .5rem;border:1px solid #ddd2c8;border-radius:8px;background:#f4f0ec;color:#5d5045;font-size:.62rem;font-weight:800;white-space:nowrap}.selected-player .player-details{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.5rem}.selected-player .player-details>strong,.selected-player .player-details>small{grid-column:1}
.selection-number{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ece7e1;color:#555;font-weight:800}
.selected-player{grid-template-columns:auto auto 1fr auto}
.selected-player.starter-row{border-left:4px solid #9b672d}
.selected-player.bench-row{border-left:4px solid #777}
.role-p .player-role{background:#f9a825;color:#2c2200}
.role-d .player-role{background:#2e7d32;color:#fff}
.role-c .player-role{background:#0277bd;color:#fff}
.role-a .player-role{background:#c62828;color:#fff}
.role-free .player-role{background:#808080;color:#fff}
.roster-role.role-p h3{color:#9a6500}.roster-role.role-d h3{color:#2e7d32}.roster-role.role-c h3{color:#0277bd}.roster-role.role-a h3{color:#c62828}
.selected-player.empty-slot{border-style:dashed;background:#f4f4f2;color:#777;min-height:57px}
.selected-player.empty-slot .player-details strong{color:#666}.selected-player.empty-slot .player-details small{color:#929292}
.order-actions{display:flex;gap:.2rem}
.order-actions button{width:28px;height:28px;border:0;border-radius:5px;background:#ece7e1;color:#333;cursor:pointer;font-weight:900}
.order-actions button:last-child{background:#f2dddd;color:#933}
.selection-divider{margin:.5rem 0;padding:.45rem .6rem;border-radius:7px;background:#9b672d;color:#fff;font-weight:800}
.lineup-submit{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.lineup-submit .button{min-width:180px}
.bench-divider{display:none}
.starter-row+.bench-row{position:relative;margin-top:3.2rem}
.starter-row+.bench-row::before{content:'Panchina · posizioni 12–19';position:absolute;left:-4px;right:0;top:-2.65rem;padding:.45rem .6rem;border-radius:7px;background:#626262;color:#fff;font-weight:800}
@media(max-width:850px){.lineup-builder{grid-template-columns:1fr}.roster-panel,.selected-panel{padding:.75rem}}
@media(max-width:520px){.lineup-panel-heading,.selected-heading{align-items:flex-start;flex-direction:column}.lineup-panel-heading .module-choice{width:100%;grid-template-columns:auto 1fr}.lineup-panel-heading .module-choice select{width:100%}.round-summary{width:100%}.roster-player{grid-template-columns:auto minmax(90px,1fr) auto}.roster-player>b{grid-column:3}.player-lofe-summary{grid-column:2/4;width:100%}.selected-player{grid-template-columns:auto auto 1fr}.selected-player .player-details{grid-template-columns:1fr}.selected-player .player-lofe-stats{grid-column:1;grid-row:auto;margin-top:.25rem;width:max-content}.order-actions{grid-column:2/4;justify-content:flex-end}.lineup-counter{position:static}}
.lineup-opponent{width:100%;margin:0 0 .8rem;padding:.65rem .75rem;border:1px solid #d8c9bb;border-radius:10px;background:linear-gradient(155deg,#fff,#e8e5e1);text-align:center;box-shadow:0 3px 10px #0001}.lineup-opponent>small{display:block;margin-bottom:.4rem;color:#80654e;font-size:.68rem;font-weight:800;letter-spacing:.08em}.lineup-opponent>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.55rem}.lineup-opponent span{display:flex;min-width:0;align-items:center;justify-content:center;gap:.4rem;color:#414141;font-size:.78rem;font-weight:700;line-height:1.1}.lineup-opponent img{width:34px;height:34px;object-fit:contain}.lineup-opponent b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#9b672d;color:#fff;font-size:.68rem}


/* ===== SOURCE: live.css ===== */
.live-status{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:.85rem 1rem;border-left:5px solid #b46b38;border-radius:10px;background:#f3ece6}.live-status>div{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.live-status small{flex-basis:100%;margin-left:18px;color:#76685d}.live-dot{width:10px;height:10px;border-radius:50%;background:#8e969d;box-shadow:none}.live-dot.is-on{background:#25a55f;box-shadow:0 0 0 4px rgba(37,165,95,.18)}.live-dot.is-off{background:#8e969d;box-shadow:none}.api-usage{margin-left:auto;padding:.35rem .6rem;border-radius:8px;background:#fff;color:#665344;font-size:.8rem;font-weight:700}.live-status form{margin:0}.live-selector a b{width:auto;min-width:42px;padding:0 .4rem;border-radius:8px;font-size:.9rem}.live-lineups{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:1rem}.live-team{overflow:hidden;border:1px solid #c9c2bb;border-radius:15px;background:#f8f8f7;box-shadow:0 7px 20px #0002}.live-team>header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#454545;color:#fff}.live-team>header img{width:58px;height:58px;object-fit:contain}.live-team h2{margin:0;font-size:1.1rem}.live-team header small{color:#ccc}.live-team>header>strong{margin-left:auto;color:#e8b276;font-size:1.65rem}.live-players{padding:.65rem}.live-player{display:grid;grid-template-columns:auto 1fr auto 48px;align-items:center;gap:.55rem;margin:.4rem 0;padding:.55rem;border:1px solid #ddd;border-radius:8px;background:#fff}.live-player>span:nth-child(2) small{display:block;color:#777}.live-player.bench-player{opacity:.68;background:#eee}.live-events{color:#6d533e;font-size:.78rem;font-weight:800}.live-vote{display:grid;place-items:center;min-height:34px;border-radius:7px;background:#ece7e1;color:#4b4138;font-size:1.05rem}.empty-live{margin:1rem;padding:2rem;border:1px dashed #bbb;border-radius:10px;text-align:center;color:#777}@media(max-width:900px){.live-lineups{grid-template-columns:1fr}}@media(max-width:600px){.live-status{align-items:flex-start;flex-wrap:wrap}.api-usage{margin-left:0}.live-player{grid-template-columns:auto 1fr 45px}.live-events{grid-column:2}.live-team>header{align-items:flex-start}.live-team>header img{width:45px;height:45px}}
.home-live{margin:0 0 1.5rem}.home-live-heading{display:flex;align-items:center;justify-content:center;gap:.7rem;margin:0 0 .7rem;color:#4b4138}.home-live-heading small{padding:.25rem .55rem;border-radius:999px;background:#e7ded5;color:#705b49}.home-live-selector{margin-top:0;margin-bottom:0}.home-live-selector a{min-height:118px}@media(max-width:600px){.home-live-heading{flex-wrap:wrap}.home-live-heading small{flex-basis:auto}}
.live-status{border:1px solid #c9c2bb;border-left:5px solid #b46b38;background:linear-gradient(155deg,#fff,#e8e5e1);box-shadow:0 5px 16px rgba(0,0,0,.08)}
.home-live-status{margin-bottom:.75rem}.home-live-status+.home-live-selector{margin-top:0}

/* V10 - Titolari/Panchina e sostituzioni live dinamiche */
.live-section{padding:.7rem}.live-section+.live-section{padding-top:0}.live-section-title{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:.15rem 0 .45rem;padding:.48rem .62rem;border-radius:8px;background:#e8ebf2;color:#2d334c}.live-section-title strong{font-size:.84rem;text-transform:uppercase;letter-spacing:.07em}.live-section-title span{font-size:.72rem;font-weight:700;color:#697087}.live-section-title.bench-title{background:#ececec;color:#555}.live-section-title.bench-title span{color:#777}.live-section .live-players{padding:0}.live-player.live-substitute{border-color:#8eb89c;background:#eef8f1;box-shadow:inset 4px 0 0 #5e9b72}.live-player.live-substitute>span:nth-child(2) small{color:#477a58;font-weight:700}.live-player.live-replaced{opacity:.82;border-style:dashed;background:#f1f1f1}.live-player.live-replaced>span:nth-child(2) small{color:#8a5d5d;font-weight:700}.live-starting-section .live-player{opacity:1}.live-bench-section{border-top:1px solid #d7d9df}.live-bench-section .live-player:not(.live-replaced){opacity:.72}.live-team .live-section-title+ .live-players .live-player:first-child{margin-top:0}
@media(max-width:600px){.live-section{padding:.55rem}.live-section-title{margin-bottom:.35rem;padding:.42rem .52rem}.live-section-title strong{font-size:.76rem}.live-section-title span{font-size:.66rem}.live-player{margin:.28rem 0;padding:.48rem;gap:.45rem}.live-player>span:nth-child(2) b{font-size:.86rem}.live-player>span:nth-child(2) small{font-size:.67rem}.live-vote{min-height:30px;font-size:.92rem}}

/* V11 - regole gol storiche Legalofe + leggibilità nomi squadre */
.live-selector a,.live-selector a:visited{color:#1f2435!important}.live-selector a.active,.live-selector a.active:visited{color:#fff!important}.live-selector .match-team>span{color:#1f2435!important;font-weight:700!important}.live-selector a.active .match-team>span{color:#fff!important}.mobile-match-choice{color:#1f2435!important}.mobile-match-choice select{color:#1f2435!important;background:#fff!important;font-weight:700}.live-threshold-goal{display:inline-block;padding:.08rem .3rem;border-radius:999px;background:#dff3e5;color:#287143;font-weight:900}.live-threshold-own-goal{display:inline-block;padding:.08rem .3rem;border-radius:999px;background:#f5dddd;color:#9a3b3b;font-weight:900}.live-rules-note{margin:1rem 0;padding:.75rem .9rem;border:1px solid #cfd4df;border-radius:10px;background:#f7f8fb;color:#343a52;font-size:.8rem}.live-rules-note span{display:block;margin-top:.25rem;color:#697087}.live-team>header h2{color:#fff!important}.live-team>header small{color:#e2e5ee!important}
@media(max-width:600px){.live-selector .match-team>span{font-size:.8rem!important}.live-rules-note{font-size:.74rem}.live-threshold-goal,.live-threshold-own-goal{font-size:.7rem}}

/* V12 - righe giocatori uniformate a Invia formazione */
.page-live .live-team{border:1px solid var(--lofe-table-border,#185884)!important;box-shadow:var(--lofe-table-shadow,0 4px 12px rgba(0,0,0,.16))!important}
.page-live .live-section{padding:0!important;background:#fff!important}
.page-live .live-section+.live-section{padding-top:0!important}
.page-live .live-section-title,.page-live .live-section-title.bench-title{margin:0!important;padding:.4rem .72rem!important;border:0!important;border-bottom:1px solid rgba(24,88,132,.42)!important;border-radius:0!important;background:#0A2C46!important;color:#fff!important}
.page-live .live-section-title strong,.page-live .live-section-title span,.page-live .live-section-title.bench-title strong,.page-live .live-section-title.bench-title span{color:#fff!important;font-weight:600!important}
.page-live .live-players{padding:0!important}
.page-live .live-player{grid-template-columns:30px minmax(0,1fr) auto 48px!important;gap:.45rem!important;width:100%!important;min-height:42px!important;margin:0!important;padding:.38rem .65rem!important;border:0!important;border-bottom:1px solid rgba(20,92,139,.22)!important;border-radius:0!important;box-shadow:none!important;color:#142332!important;opacity:1!important}
.page-live .live-player:nth-child(odd){background:#fff!important}
.page-live .live-player:nth-child(even){background:#edf2f6!important}
.page-live .live-player:last-child{border-bottom:0!important}
.page-live .live-player .player-role{min-width:26px!important;width:26px!important;height:25px!important;padding:0 .3rem!important;border-radius:3px!important;font-size:.67rem!important;font-weight:700!important}
.page-live .live-player>span:nth-child(2){min-width:0!important;display:flex!important;flex-direction:column!important;gap:.08rem!important}
.page-live .live-player>span:nth-child(2) b{color:#142332!important;font-size:.78rem!important;font-weight:620!important;line-height:1.2!important}
.page-live .live-player>span:nth-child(2) small{margin:0!important;color:#61717f!important;font-size:.63rem!important;font-weight:400!important;line-height:1.2!important}
.page-live .live-events{color:#3f5261!important;font-size:.7rem!important;font-weight:650!important;white-space:nowrap!important}
.page-live .live-vote{min-width:44px!important;min-height:29px!important;padding:0 .35rem!important;border:1px solid rgba(20,92,139,.28)!important;border-radius:3px!important;background:#dfe7ed!important;color:#142332!important;font-size:.72rem!important;font-weight:650!important}
.page-live .live-player.live-substitute{background:#eaf4ee!important;box-shadow:inset 4px 0 #5e9b72!important}
.page-live .live-player.live-replaced{background:#eef1f3!important;border-bottom-style:dashed!important}
.page-live .live-bench-section{border-top:1px solid rgba(24,88,132,.42)!important}
@media(max-width:600px){.page-live .live-player{grid-template-columns:26px minmax(0,1fr) 42px!important;padding:.34rem .5rem!important}.page-live .live-events{grid-column:2!important;white-space:normal!important}.page-live .live-vote{grid-column:3!important;grid-row:1/3!important;min-width:40px!important;font-size:.66rem!important}.page-live .live-player .player-role{min-width:24px!important;width:24px!important;height:24px!important}}

/* V13 - posizioni visibili anche senza formazione inviata */
.page-live .live-empty-player{min-height:42px!important;background:#f8fafb!important;color:#6d7a84!important}
.page-live .live-empty-player:nth-child(even){background:#edf2f6!important}
.page-live .live-empty-player .player-role{border:1px dashed #aebbc5!important;background:#e2e8ed!important;color:#6d7a84!important}
.page-live .live-empty-player>span:nth-child(2) b{color:#536472!important;font-weight:500!important}
.page-live .live-empty-player>span:nth-child(2) small{color:#7a8791!important}
.page-live .live-empty-player .live-vote{background:#eef2f5!important;color:#7a8791!important}


/* ===== SOURCE: home-dashboard.css ===== */
.home-team-logos{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:.55rem;margin:0 0 1rem;padding:.8rem;border:1px solid #c9c2bb;border-radius:14px;background:#fff;box-shadow:0 5px 16px #0001}.home-team-logos a{display:flex;min-width:0;flex-direction:column;align-items:center;gap:.35rem;color:#4a4a4a;text-align:center;text-decoration:none}.home-team-logos img{width:52px;height:52px;object-fit:contain;transition:transform .18s}.home-team-logos a:hover img{transform:translateY(-3px) scale(1.06)}.home-team-logos span{max-width:100%;font-size:.68rem;line-height:1.05}
.home-old-dashboard{display:grid;grid-template-columns:minmax(0,2fr) minmax(315px,1fr);align-items:start;gap:1rem;margin:1rem 0}.home-main-column,.home-side-column{display:grid;gap:1rem}.home-box{overflow:hidden;padding:1rem;border:1px solid #c9c2bb;border-radius:14px;background:#fff;box-shadow:0 5px 16px #0001}.home-box>header{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin:-1rem -1rem .8rem;padding:.7rem 1rem;background:#494949;color:#fff}.home-box h2{margin:0;font-size:1.05rem}.home-box>header span,.home-box>header a{color:#e5b47b;font-size:.72rem;text-decoration:none}.home-empty{margin:.5rem 0;color:#777;font-size:.85rem;font-style:italic}
.home-results{display:grid}.home-results a{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;padding:.55rem .2rem;border-bottom:1px solid #e3dfdb;color:#444;text-decoration:none}.home-results a:last-child{border-bottom:0}.home-results a>b{min-width:52px;padding:.35rem;border-radius:8px;background:#9b672d;color:#fff;text-align:center}.home-result-team{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;font-weight:650;text-align:right}.home-result-team.away{justify-content:flex-start;text-align:left}.home-result-team img{width:38px;height:38px;object-fit:contain}.home-result-team.away img{order:2}
.home-live-box{margin-bottom:1rem}.home-live-box h2{display:flex;align-items:center;gap:.55rem}.home-live-box .live-dot{width:9px;height:9px;flex:0 0 auto}.home-live-footer{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;margin:.65rem -1rem -1rem;padding:.6rem 1rem;border-top:1px solid #ddd;background:#f0ece8;color:#75685e;font-size:.72rem}.home-live-footer>a{color:#8f592f;font-weight:800;text-decoration:none}.home-live-footer form{margin:0}.home-live-footer .button{min-height:0;padding:.35rem .55rem;font-size:.7rem}
.home-live{margin:0 0 1rem;padding:1rem;border:1px solid #c9c2bb;border-radius:16px;background:#fff;box-shadow:0 6px 18px #0002}.home-live-heading{display:flex;align-items:center;gap:.8rem;margin-bottom:.85rem}.home-live-heading h2{display:flex;align-items:center;gap:.5rem;margin:0;color:#3e3e3e}.live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#e43d3d;box-shadow:0 0 0 5px #e43d3d20}.home-live-heading>span{color:#777;font-size:.75rem}.home-live-heading>a{margin-left:auto;color:#8f592f;font-size:.8rem;font-weight:800;text-decoration:none}.home-live-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.home-live-selector>a{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.35rem;min-height:125px;padding:.7rem;border:1px solid #185884;border-radius:12px;background:linear-gradient(150deg,#fff,#eeeae6);color:#3f3f3f;text-align:center;text-decoration:none}.home-live-selector>a>span{display:flex;min-width:0;flex-direction:column;align-items:center;gap:.3rem}.home-live-selector img{width:46px;height:46px;object-fit:contain}.home-live-selector strong{max-width:100%;font-size:.65rem;line-height:1.1}.home-live-selector b{padding:.38rem .45rem;border-radius:8px;background:#9b672d;color:#fff;white-space:nowrap}.home-live-refresh{display:flex;justify-content:flex-end;margin:.75rem 0 0}.home-live-refresh .button{min-height:0;padding:.38rem .65rem;font-size:.72rem}.home-live-mobile{display:none}
.top-flop-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.top-flop-grid>div{padding:.7rem;border-radius:10px;background:#f4f2ef}.top-flop-grid h3{margin:0 0 .45rem;color:#755039;font-size:.9rem}.top-flop-grid p{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;margin:0;padding:.38rem 0;border-bottom:1px solid #ddd;font-size:.78rem}.top-flop-grid p:last-child{border-bottom:0}.top-flop-grid p small,.scorers-list small{display:block;color:#888}.top-flop-grid p>b{font-size:1rem}.player-role.role-p{background:#f9a825;color:#2c2200}.player-role.role-d{background:#2e7d32;color:#fff}.player-role.role-c{background:#0277bd;color:#fff}.player-role.role-a{background:#c62828;color:#fff}
.scorers-list{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.scorers-list>div{display:grid;grid-template-columns:24px auto 1fr auto;align-items:center;gap:.45rem;padding:.45rem 0;border-bottom:1px solid #e0ddd9;font-size:.8rem}.scorers-list>div>b{color:#9b672d;text-align:center}.scorers-list>div>strong{white-space:nowrap}
.deadline-box{text-align:center;background:linear-gradient(155deg,#fff,#e8e5e1)}.deadline-box h2{color:#4b4138}.deadline-box>strong{display:block;margin:.5rem 0;color:#9b672d;font-size:1.35rem}.deadline-box>small{display:block;margin-bottom:.7rem;color:#777}.deadline-box .button{font-size:.8rem}
.next-turn-list a{display:grid;grid-template-columns:1fr 24px auto 24px 1fr;align-items:center;gap:.25rem;padding:.42rem 0;border-bottom:1px solid #e3dfdb;color:#444;text-decoration:none;font-size:.72rem}.next-turn-list a:last-child{border-bottom:0}.next-turn-list a>span:first-child{text-align:right}.next-turn-list i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;font-style:normal;font-weight:900}.next-turn-list i.sent{background:#368b51}.next-turn-list i.missing{background:#bd4848}
.mini-standing>div{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,27px);align-items:center;gap:.25rem;padding:.35rem 0;border-bottom:1px solid #e3dfdb;font-size:.7rem;text-align:center}.mini-standing>div>span{display:flex;min-width:0;align-items:center;gap:.35rem;text-align:left}.mini-standing img{width:25px;height:25px;object-fit:contain}.mini-standing em{width:17px;color:#8c684a;font-style:normal;font-weight:800}.mini-standing-head{color:#777;font-weight:800}.mini-standing-head>span{padding-left:42px}.mini-standing strong{color:#9b672d}
.big-match-box>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;text-align:center}.big-match-box>div>span{display:flex;min-width:0;flex-direction:column;align-items:center;gap:.25rem}.big-match-box img{width:62px;height:62px;object-fit:contain}.big-match-box>div>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#9b672d;color:#fff;font-size:.7rem}.big-match-box small{color:#777}.big-match-box p{margin:.7rem 0 0;text-align:center;color:#777;font-size:.75rem}
.top-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.team-performance{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center}.team-performance h2{color:#4b4138;font-size:.9rem}.team-performance img{width:65px;height:65px;object-fit:contain}.team-performance>span{color:#9b672d;font-weight:800}.team-performance>small{color:#777}.home-summary{margin-top:1rem}
@media(max-width:1050px){.home-team-logos{grid-template-columns:repeat(5,minmax(0,1fr))}.home-old-dashboard{grid-template-columns:1fr}.home-side-column{grid-template-columns:1fr 1fr}.home-side-column>.home-box:nth-child(3),.home-side-column>.big-match-box,.home-side-column>.top-team-grid{grid-column:span 1}}
@media(max-width:700px){.home-live-desktop{display:none}.home-live-mobile{display:block}.home-team-logos{grid-template-columns:repeat(5,minmax(0,1fr));padding:.6rem}.home-team-logos img{width:42px;height:42px}.home-old-dashboard,.home-side-column{grid-template-columns:1fr}.home-side-column>*{grid-column:1!important}.top-flop-grid,.scorers-list{grid-template-columns:1fr}.home-results a{gap:.3rem;font-size:.72rem}.home-result-team{flex-direction:column}.home-result-team.away img{order:0}.top-team-grid{grid-template-columns:1fr 1fr}}


/* ===== SOURCE: player-data.css ===== */
.player-data-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.25rem 1.4rem;border:1px solid #bdb7b0;border-radius:15px;background:linear-gradient(135deg,#f7f5f2,#dedbd6);box-shadow:0 5px 16px #0002}.player-data-heading span{color:#8a623b;font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.player-data-heading h1{margin:.15rem 0;color:#3f3c39;font-size:1.9rem}.player-data-heading p{margin:0;color:#6c6863}.player-data-heading>strong{padding:.55rem .85rem;border-radius:99px;background:#494949;color:#fff;white-space:nowrap}.quotations-heading>strong{background:#9b672d}.quotation-note{margin-bottom:1rem;padding:.75rem 1rem;border-left:4px solid #9b672d;border-radius:8px;background:#f4eee7;color:#5e5145}.player-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr auto auto;align-items:end;gap:.65rem;margin-bottom:1rem;padding:1rem;border:1px solid #c9c2bb;border-radius:14px;background:#fff}.player-filters label{gap:.25rem;color:#5e5a56;font-size:.75rem}.player-filters input,.player-filters select{min-height:42px;background:#f4f2ef;color:#3f3c39;border-color:#c9c2bb}.player-filters .button{min-height:42px;text-align:center}.player-data-table table{background:#fff}.player-data-table th{text-align:center}.player-data-table th:nth-child(2),.player-data-table th:nth-child(3),.player-data-table th:nth-child(4),.player-data-table td:nth-child(2),.player-data-table td:nth-child(3),.player-data-table td:nth-child(4){text-align:left}.player-data-table td{text-align:center}.player-data-table tbody tr{border-left:5px solid transparent}.player-data-table tbody tr.role-p{border-left-color:#f9a825}.player-data-table tbody tr.role-d{border-left-color:#2e7d32}.player-data-table tbody tr.role-c{border-left-color:#0277bd}.player-data-table tbody tr.role-a{border-left-color:#c62828}.player-data-table .player-role{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:50%;font-weight:900}.player-data-table tr.role-p .player-role{background:#f9a825;color:#2c2200}.player-data-table tr.role-d .player-role{background:#2e7d32;color:#fff}.player-data-table tr.role-c .player-role{background:#0277bd;color:#fff}.player-data-table tr.role-a .player-role{background:#c62828;color:#fff}.player-data-table a{color:#755039;text-decoration:none}.quotation-value{display:inline-block;min-width:42px;padding:.25rem .5rem;border-radius:8px;background:#9b672d;color:#fff;font-weight:900}@media(max-width:1050px){.player-filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.player-data-heading{align-items:flex-start;flex-direction:column}.player-filters{grid-template-columns:1fr 1fr}.player-filters label:first-of-type{grid-column:1/-1}.player-data-table{font-size:.75rem}}@media(max-width:450px){.player-filters{grid-template-columns:1fr}.player-filters label:first-of-type{grid-column:auto}}

/* V3 - intestazione e listone uniformati alle altre pagine */
.page-statistiche .player-data-intro{margin:0 0 14px!important;color:#c8d4de!important;font-size:13px!important;font-weight:400!important}
.page-statistiche .player-filters{border:1px solid var(--lofe-table-border,#185884)!important;background:#fff!important;box-shadow:var(--lofe-table-shadow,0 4px 12px rgba(0,0,0,.16))!important}
.page-statistiche .player-filters label{color:#263746!important;font-weight:600!important}
.page-statistiche .player-filters input,.page-statistiche .player-filters select{background:#f5f8fa!important;color:#172833!important;border-color:rgba(24,88,132,.42)!important;font-weight:500!important}
.page-statistiche .player-data-table{border:1px solid var(--lofe-table-border,#185884)!important;box-shadow:var(--lofe-table-shadow,0 4px 12px rgba(0,0,0,.16))!important}
.page-statistiche .player-data-table table{background:#fff!important}
.page-statistiche .player-data-table tbody tr{border-left:0!important}
.page-statistiche .player-data-table tbody tr:nth-child(odd){background:#fff!important}
.page-statistiche .player-data-table tbody tr:nth-child(even){background:#edf2f6!important}
.page-statistiche .player-data-table tbody td{padding:.38rem .55rem!important;border-color:rgba(20,92,139,.22)!important;color:#142332!important;font-size:.78rem!important;font-weight:400!important}
.page-statistiche .player-data-table tbody td:nth-child(2) strong{color:#142332!important;font-size:.78rem!important;font-weight:620!important}
.page-statistiche .player-data-table .player-role{width:26px!important;height:25px!important;border-radius:3px!important;font-size:.67rem!important;font-weight:700!important}
.page-statistiche .player-data-table a{color:#145c8b!important;font-weight:550!important}
.page-statistiche .quotation-value{min-width:38px!important;padding:.22rem .4rem!important;border-radius:3px!important;background:#0A2C46!important;color:#fff!important;font-size:.72rem!important;font-weight:700!important}
.page-statistiche .free-player{color:#61717f!important;font-weight:500!important}
@media(max-width:700px){.page-statistiche .player-data-intro{font-size:12px!important}.page-statistiche .player-data-table tbody td{padding:.34rem .42rem!important;font-size:.72rem!important}}


/* ===== SOURCE: combined-player.css ===== */
.combined-player-filters {
    grid-template-columns: 1.15fr 1fr 1fr .65fr .85fr 1fr auto auto;
}

.free-player {
    display: inline-block;
    padding: .2rem .5rem;
    border-radius: 99px;
    background: #e8e5e1;
    color: #6a625a;
    font-size: .72rem;
    font-weight: 800;
}

@media (max-width: 1150px) {
    .combined-player-filters { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 700px) {
    .combined-player-filters { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 450px) {
    .combined-player-filters { grid-template-columns: 1fr; }
}


/* ===== SOURCE: standings-groups.css ===== */
/* V3.15: testata Classifica con la stessa resa grafica del Calendario. */
.page-classifica .standings-calendar-head {
  margin: .25rem 0 .8rem;
  padding: .8rem 1rem;
  border: 1px solid #59617e;
  border-radius: 12px;
  background: #2d334c;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .16);
}
.page-classifica .standings-calendar-head small {
  display: block;
  margin: 0 0 .16rem;
  color: #dfe2ec !important;
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.page-classifica .standings-calendar-head h1 {
  margin: 0;
  color: #ffffff !important;
  font-size: 1.28rem;
  font-weight: 650;
  line-height: 1.2;
}
.page-classifica .standings-calendar-head p {
  margin: .22rem 0 0;
  color: #e3e5ed !important;
  font-size: .75rem;
}

@media (max-width: 700px) {
  .page-classifica .standings-calendar-head {
    padding: .68rem .75rem;
    border-radius: 10px;
  }
  .page-classifica .standings-calendar-head h1 { font-size: 1.08rem; }
}

@media (min-width: 701px) {
  /* V3.09: contenitore coerente con i riquadri della Home. */
  .page-classifica .standings-wrap {
    border: 1px solid #0d5f92 !important;
    border-radius: 14px !important;
    box-shadow: 0 7px 18px rgba(0, 0, 0, .20) !important;
  }

  .standings-table {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed !important;
    width: 100% !important;
  }

  /* Larghezze strutturali: il browser non può più ridistribuire MI. */
  .page-classifica .standings-table col.standing-col-pos { width: 4% !important; }
  .page-classifica .standings-table col.standing-col-team { width: 14% !important; }
  .page-classifica .standings-table col.standing-col-manager { width: 11% !important; }
  .page-classifica .standings-table col.standing-col-points { width: 4% !important; }
  .page-classifica .standings-table col.standing-col-match { width: 3% !important; }
  .page-classifica .standings-table col.standing-col-mi { width: 2.5% !important; }
  .page-classifica .standings-table col.standing-col-goals { width: 3% !important; }
  .page-classifica .standings-table col.standing-col-total { width: 6.5% !important; }

  /* MI compatta e totali più ariosi. */
  .page-classifica .standings-table th:nth-child(14),
  .page-classifica .standings-table td:nth-child(14) {
    padding-right: .08rem !important;
    padding-left: .08rem !important;
  }

  .page-classifica .standings-table th:nth-child(n+21):nth-child(-n+23),
  .page-classifica .standings-table td:nth-child(n+21):nth-child(-n+23) {
    padding-right: .3rem !important;
    padding-left: .3rem !important;
  }

  /* Inizio di ogni blocco: CV, FV, V, MI, CF, FF, F e Media. */
  .standings-table thead tr:last-child > :nth-child(5),
  .standings-table thead tr:last-child > :nth-child(8),
  .standings-table thead tr:last-child > :nth-child(11),
  .standings-table thead tr:last-child > :nth-child(14),
  .standings-table thead tr:last-child > :nth-child(15),
  .standings-table thead tr:last-child > :nth-child(17),
  .standings-table thead tr:last-child > :nth-child(19),
  .standings-table thead tr:last-child > :nth-child(21),
  .standings-table tbody tr > :nth-child(5),
  .standings-table tbody tr > :nth-child(8),
  .standings-table tbody tr > :nth-child(11),
  .standings-table tbody tr > :nth-child(14),
  .standings-table tbody tr > :nth-child(15),
  .standings-table tbody tr > :nth-child(17),
  .standings-table tbody tr > :nth-child(19),
  .standings-table tbody tr > :nth-child(21) {
    border-left: 1px solid #d2d2d2;
  }

  /* Leggera alternanza cromatica tra i gruppi. */
  .standings-table tbody tr > :nth-child(n+5):nth-child(-n+7),
  .standings-table tbody tr > :nth-child(n+11):nth-child(-n+13),
  .standings-table tbody tr > :nth-child(n+15):nth-child(-n+16),
  .standings-table tbody tr > :nth-child(n+19):nth-child(-n+20) {
    background-color: rgba(90,90,90,.025);
  }

  .standings-table thead tr:last-child th {
    padding-top: .82rem;
    padding-bottom: .82rem;
  }

  .standings-table thead tr:last-child th:nth-child(n+5) {
    font-size: .76rem;
    letter-spacing: .04em;
  }

  /* Mantiene visibili i colori di prima e ultima posizione. */
  .standings-table tbody tr.ranking-winner > td {
    background-color: #e0f1e4;
  }
  .standings-table tbody tr.ranking-bottom > td {
    background-color: #f4dfdf;
  }

  /* V3.11: testo leggibile sulle righe evidenziate. */
  .page-classifica .standings-table tbody tr.ranking-winner > td {
    background: #dcefe3 !important;
    color: #102b25 !important;
  }
  .page-classifica .standings-table tbody tr.ranking-bottom > td {
    background: #f3dddd !important;
    color: #3b2024 !important;
  }
  .page-classifica .standings-table tbody tr.ranking-winner > td *,
  .page-classifica .standings-table tbody tr.ranking-bottom > td * {
    color: inherit !important;
  }
  .page-classifica .standings-table tbody tr.ranking-winner > td.rank {
    color: #17613c !important;
  }
  .page-classifica .standings-table tbody tr.ranking-bottom > td.rank {
    color: #8c2f3b !important;
  }

  /* V3.12: righe normali alternate bianco / grigio chiaro. */
  .page-classifica .standings-table tbody tr:not(.ranking-winner):not(.ranking-bottom):nth-child(odd) > td {
    background: #ffffff !important;
    color: #14283a !important;
  }
  .page-classifica .standings-table tbody tr:not(.ranking-winner):not(.ranking-bottom):nth-child(even) > td {
    background: #eef3f7 !important;
    color: #14283a !important;
  }
  .page-classifica .standings-table tbody tr:not(.ranking-winner):not(.ranking-bottom) > td * {
    color: inherit !important;
  }
  .page-classifica .standings-table tbody tr:not(.ranking-winner):not(.ranking-bottom) > td.rank {
    color: #2d4d68 !important;
  }
  .page-classifica .standings-table tbody tr:not(.ranking-winner):not(.ranking-bottom):hover > td {
    background: #e2ebf2 !important;
  }

  /* Stacchi netti per MI e per il blocco Med./Min./Max. */
  .page-classifica .standings-table thead tr:last-child > :nth-child(14),
  .page-classifica .standings-table tbody tr > :nth-child(14) {
    border-left: 1px solid #9db0bf !important;
    border-right: 1px solid #9db0bf !important;
  }
  .page-classifica .standings-table thead tr:last-child > :nth-child(21),
  .page-classifica .standings-table tbody tr > :nth-child(21) {
    border-left: 1px solid #9db0bf !important;
  }
}


/* ===== SOURCE: mobile.css ===== */
/* Legalofe mobile build 20260914-v4 */
@media (max-width: 700px) {
  html { width: 100%; height: auto; min-height: 100%; overflow-x: clip; overflow-y: auto; }
  body { width: 100%; height: auto!important; min-height: 100dvh; overflow-x: clip; overflow-y: visible!important; touch-action: pan-y; font-size: 14px; -webkit-text-size-adjust: 100%; }
  main, .container { height: auto!important; min-height: 0; overflow: visible; }
  .site-header { min-height: calc(58px + env(safe-area-inset-top, 0px)); padding: env(safe-area-inset-top, 0px) 12px 0; }
  .brand { max-width: calc(100% - 76px); overflow: hidden; font-size: 1rem; letter-spacing: .025em; white-space: nowrap; text-overflow: ellipsis; }
  .menu-button { min-width: 58px; min-height: 40px; font-size: .86rem; }
  .nav { top: calc(58px + env(safe-area-inset-top, 0px)); max-height: calc(100dvh - 58px - env(safe-area-inset-top, 0px)); padding: .55rem 12px calc(1rem + env(safe-area-inset-bottom, 0px)); overflow-y: auto; -webkit-overflow-scrolling: touch; box-shadow: 0 12px 25px #0005; }
  .nav a, .nav button { width: 100%; min-height: 44px; padding: .7rem .8rem; border-bottom: 1px solid #ffffff18; text-align: left; }
  .nav-form { width: 100%; }
  .install-app { margin-top: .35rem; text-align: center!important; }

  .container { width: calc(100% - 20px); margin: 10px auto 0; }
  .page-logo { margin: 0 0 10px; padding: 10px; border-radius: 12px; }
  .page-logo img { width: min(310px, 92%); margin: auto; }
  h1 { margin-top: .65rem; font-size: clamp(1.4rem, 7vw, 1.8rem); line-height: 1.15; }
  h2 { font-size: 1.12rem; }
  .card, .home-box { padding: .8rem; border-radius: 11px; }
  .grid { gap: .7rem; }
  .button, button.button { min-height: 44px; }
  input, select, textarea { min-height: 44px; font-size: 16px; }

  .home-live { margin-bottom: .8rem; }
  .home-live-heading { gap: .4rem; text-align: center; }
  .home-live-selector, .match-selector { grid-template-columns: 1fr; gap: .55rem; }
  .home-live-selector a, .match-selector a { min-height: 88px; padding: 1.55rem .65rem .55rem; }
  .match-selector .match-team { flex-direction: row; justify-content: center; }
  .match-selector .match-team img { width: 38px; height: 38px; }
  .home-old-dashboard, .home-main-column, .home-side-column { gap: .7rem; }
  .home-box>header { margin: -.8rem -.8rem .65rem; padding: .62rem .8rem; }
  .home-team-logos { grid-template-columns: repeat(5, minmax(0,1fr)); gap: .35rem; padding: .5rem; }
  .home-team-logos img { width: 36px; height: 36px; }
  .home-team-logos span { font-size: .58rem; }
  .home-result-team img { width: 32px; height: 32px; }
  .home-live-box { margin-bottom: .7rem; }
  .home-live-footer { margin: .55rem -.8rem -.8rem; padding: .55rem .8rem; }

  .tabs { flex-wrap: nowrap; gap: .35rem; padding-bottom: .35rem; overflow-x: auto; scrollbar-width: thin; }
  .tabs a { flex: 0 0 auto; min-height: 40px; padding: .48rem .7rem; }
  .team-tabs { gap: .45rem; }
  .team-tabs a { min-width: 0; padding: .45rem .3rem; white-space: normal; line-height: 1.1; }
  .team-tabs img { width: 29px; height: 29px; }

  .table-wrap, .standings-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  table { width: max-content; min-width: 100%; }
  th, td { padding: .5rem .42rem; }
  .standing-team { min-width: 112px; }
  .player-data-heading { padding: .85rem; }
  .player-data-heading h1 { font-size: 1.45rem; }
  .player-data-heading>strong { padding: .4rem .65rem; font-size: .75rem; }
  .player-filters, .combined-player-filters { grid-template-columns: 1fr; padding: .75rem; }
  .player-filters label:first-of-type { grid-column: auto; }

  .calendar-grid, .old-calendar-grid { grid-template-columns: 1fr; gap: .7rem; }
  .calendar-match { min-height: 145px; padding-top: 2.2rem; }
  .calendar-team img { width: 50px; height: 50px; }
  .next-calendar-round>header { padding: .7rem .8rem; }
  .old-calendar-games a { padding: .58rem .5rem; }

  .lineup-counter { margin: .65rem 0; padding: .55rem; gap: .45rem; }
  .lineup-counter>div { gap: .3rem; }
  .lineup-counter span { padding: .17rem .32rem; font-size: .72rem; }
  .roster-panel, .selected-panel { padding: .55rem; }
  .roster-player, .selected-player { gap: .4rem; padding: .48rem; }
  .roster-player { grid-template-columns: auto minmax(0,1fr) auto; }
  .roster-player>b { grid-column: 3; grid-row: 1; }
  .player-lofe-summary { grid-column: 2/4; width: 100%; }
  .selected-player .player-details { grid-template-columns: 1fr; }
  .selected-player .player-lofe-stats { grid-column: 1; grid-row: auto; margin-top: .2rem; white-space: normal; }
  .order-actions { grid-column: 2/4; justify-content: flex-end; }
  .order-actions button { width: 34px; height: 34px; }
  .lineup-opponent { padding: .55rem; }
  .lineup-opponent span { flex-direction: column; font-size: .7rem; }

  .live-status { gap: .55rem; padding: .7rem; }
  .live-team>header { padding: .7rem; }
  .live-team>header>strong { font-size: 1.3rem; }
  .live-players { padding: .4rem; }
  .live-player { gap: .38rem; padding: .45rem; }
  .submitted-lineups { gap: .7rem; }
  .submitted-lineups .lineup-team-title { padding: .7rem; }
  .fixture-title { margin: 1rem 0; font-size: 1.05rem; }

  .form-grid { gap: .7rem; }
  .auth-card { margin: .75rem auto!important; }
  .welcome-president { padding: .85rem; }
  .welcome-president h1 { font-size: 1.3rem; }
  .push-box { align-items: stretch; padding: .7rem; }
  .push-box span { flex-basis: 100%; }
  footer { padding: 1.7rem 0 calc(1rem + env(safe-area-inset-bottom)); }
}

@media (max-width: 380px) {
  .container { width: calc(100% - 12px); }
  .home-team-logos { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .team-tabs { grid-template-columns: 1fr; }
  .player-lofe-summary small { font-size: .5rem; }
  .player-lofe-summary b { font-size: .65rem; }
}

/* Migliorie di leggibilita per le pagine dati su smartphone. */
@media (max-width: 700px) {
  /* Classifica: posizione e squadra restano visibili mentre scorrono i dati. */
  .standings-wrap { position: relative; }
  .standings-table thead tr:last-child th:first-child,
  .standings-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 4;
    width: 42px;
    min-width: 42px;
    background: #fff;
    box-shadow: none;
  }
  .standings-table thead tr:last-child th:nth-child(2),
  .standings-table td:nth-child(2) {
    position: sticky;
    left: 42px;
    z-index: 3;
    min-width: 145px;
    max-width: 145px;
    background: #fff;
    border-right: 1px solid #d5d5d5;
    box-shadow: none;
  }
  .standings-table thead tr:first-child { display: none; }
  .standings-table thead tr:last-child th:first-child,
  .standings-table thead tr:last-child th:nth-child(2) { z-index: 6; background: #ededeb; color: #343434; }
  .standings-table thead tr:last-child th:nth-child(3) { min-width: 92px; max-width: 92px; font-size: 0; white-space: nowrap; }
  .standings-table thead tr:last-child th:nth-child(3)::after { content: 'F. Presidente'; font-size: .62rem; letter-spacing: .01em; }
  .standings-table .standing-team { min-width: 0; white-space: normal; line-height: 1.05; }
  .standings-table .standing-team img { width: 30px; height: 30px; }
  .standings-table tbody tr:nth-child(even) td:first-child,
  .standings-table tbody tr:nth-child(even) td:nth-child(2) { background: #f6f6f5; }
  .standings-table tbody tr.ranking-winner td:first-child,
  .standings-table tbody tr.ranking-winner td:nth-child(2) { background: #e0f1e4; }
  .standings-table tbody tr.ranking-bottom td:first-child,
  .standings-table tbody tr.ranking-bottom td:nth-child(2) { background: #f4dfdf; }

  /* Statistiche: ruolo e giocatore restano ancorati a sinistra. */
  .combined-player-table { position: relative; }
  .combined-player-table th:first-child,
  .combined-player-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 4;
    width: 40px;
    min-width: 40px;
    background: #fff;
    text-align: center;
  }
  .combined-player-table th:nth-child(2),
  .combined-player-table td:nth-child(2) {
    position: sticky;
    left: 40px;
    z-index: 3;
    min-width: 145px;
    max-width: 145px;
    overflow: hidden;
    background: #fff;
    text-overflow: ellipsis;
    box-shadow: 5px 0 8px -6px #0008;
  }
  .combined-player-table thead th:first-child,
  .combined-player-table thead th:nth-child(2) { z-index: 6; background: #474747; color: #fff; }
  .combined-player-table tbody tr:nth-child(even) td:first-child,
  .combined-player-table tbody tr:nth-child(even) td:nth-child(2) { background: #f7f4f0; }

  /* Rose: un solo selettore sostituisce la griglia delle dieci squadre. */
  .team-tabs.mobile-team-tabs-hidden { display: none!important; }
  .mobile-team-select-wrap { display: grid; gap: .35rem; margin: 0 0 .8rem; padding: .7rem; border: 1px solid #cfc7bf; border-radius: 10px; background: #fff; }
  .mobile-team-select-wrap span { color: #705643; font-size: .7rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
  .mobile-team-select { min-height: 46px; background: #fafafa; font-weight: 750; }

  /* Live: righe giocatore piu corte, nome prioritario e valori allineati. */
  .live-team>header { padding: .55rem .65rem; }
  .live-players { padding: .3rem; }
  .live-player { min-height: 42px; padding: .32rem .4rem; gap: .3rem; line-height: 1.05; }
  .live-player .player-role { width: 23px; min-width: 23px; height: 23px; padding: 0; font-size: .62rem; }
  .live-player strong { font-size: .76rem; }
  .live-player small { font-size: .58rem; }
  .live-player>span:last-child,
  .live-player>b:last-child { min-width: 38px; font-size: .72rem; text-align: right; }

  /* Live e formazioni inviate: una squadra alla volta come nelle app mobile. */
  .mobile-lineup-switcher { display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin:.65rem 0;padding:.3rem;border:1px solid #ccc3ba;border-radius:11px;background:#e7e2dd; }
  .mobile-lineup-switcher button { min-width:0;min-height:42px;padding:.45rem .5rem;border:0;border-radius:8px;background:transparent;color:#665d56;font:inherit;font-size:.72rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .mobile-lineup-switcher button.active { background:#454545;color:#fff;box-shadow:0 3px 8px #0002; }
  .live-lineups .mobile-lineup-hidden,
  .submitted-lineups .mobile-lineup-hidden { display:none!important; }
  .live-lineups,.submitted-lineups { display:block; }
  .submitted-lineups .lineup-sheet { border-radius:12px; }
  .submitted-lineups .lineup-team-title { min-height:58px;padding:.5rem .65rem; }
  .submitted-lineups .lineup-team-title img { width:42px;height:42px; }
  .submitted-lineups .lineup-team-title span { font-size:.9rem; }
  .submitted-lineups .lineup-sheet>p { margin:.5rem; }
  .submitted-lineups .lineup-sheet>h3 { margin:.55rem .45rem .25rem;padding:.3rem .48rem;font-size:.7rem; }
  .submitted-lineups .submitted-players { margin:0 .4rem .5rem;gap:.22rem; }
  .submitted-lineups .submitted-players>div { min-height:40px;padding:.34rem .42rem;gap:.4rem;border-radius:7px;box-shadow:none; }
  .submitted-lineups .submitted-players strong { min-width:0;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .submitted-lineups .submitted-players small { font-size:.59rem; }

  /* Confronto compatto e speculare ispirato alla leggibilita del live mobile. */
  .mobile-lineup-switcher { display:none!important; }
  .live-lineups[data-versus-table="ready"],.submitted-lineups[data-versus-table="ready"] { display:none!important; }
  .mobile-versus-sheet { margin:.55rem -.15rem 1rem;overflow:hidden;border:1px solid #d7dde6;border-radius:10px;background:#f8fafc;box-shadow:0 4px 12px #0001; }
  .mobile-versus-header { display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:.25rem;padding:.55rem;background:#fff;border-bottom:1px solid #dfe4eb; }
  .mobile-versus-header>span { color:#9b672d;font-size:.67rem;font-weight:900;text-align:center; }
  .mobile-versus-team { display:flex;min-width:0;align-items:center;gap:.35rem; }
  .mobile-versus-team.right { justify-content:flex-end;text-align:right; }
  .mobile-versus-team img { width:32px;height:32px;object-fit:contain;flex:0 0 auto; }
  .mobile-versus-team strong { min-width:0;overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap; }
  .mobile-versus-modules { display:grid;grid-template-columns:1fr 54px 1fr;align-items:center;padding:.38rem .5rem;background:#edf1f7;text-align:center; }
  .mobile-versus-modules span { justify-self:start;padding:.18rem .45rem;border-radius:99px;background:#fff;color:#496989;font-size:.65rem;font-weight:850; }
  .mobile-versus-modules span:last-child { justify-self:end; }
  .mobile-versus-modules b { font-size:.67rem; }
  .mobile-versus-divider { padding:.2rem .5rem;background:#ded8d1;color:#66584c;font-size:.6rem;font-weight:900;letter-spacing:.08em;text-align:center;text-transform:uppercase; }
  .mobile-versus-row { display:grid;grid-template-columns:minmax(0,1fr) 38px 38px minmax(0,1fr);min-height:48px;align-items:stretch;border-bottom:1px solid #e2e6ec;background:#fff; }
  .mobile-versus-row:last-child { border-bottom:0; }
  .mobile-player { display:flex;min-width:0;flex-direction:column;justify-content:center;padding:.3rem .42rem;border-left:4px solid #aaa;line-height:1.08; }
  .mobile-player.right { border-right:4px solid #aaa;border-left:0;text-align:right; }
  .mobile-player strong { overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap; }
  .mobile-player small { min-height:.65rem;overflow:hidden;color:#7d8793;font-size:.55rem;text-overflow:ellipsis;white-space:nowrap; }
  .mobile-value { display:grid;place-items:center;align-self:center;min-height:32px;margin:0 2px;border-radius:6px;background:#e9eef5;color:#303942;font-size:.72rem;font-weight:850; }
  .role-left-p .mobile-player.left,.role-right-p .mobile-player.right{border-color:#f3a712}.role-left-d .mobile-player.left,.role-right-d .mobile-player.right{border-color:#55bf24}.role-left-c .mobile-player.left,.role-right-c .mobile-player.right{border-color:#2475df}.role-left-a .mobile-player.left,.role-right-a .mobile-player.right{border-color:#d44a44}
  .match-selector a.mobile-match-loading { opacity:.65;pointer-events:none; }
  .match-selector a.mobile-match-loading::after { content:'Caricamento…';position:absolute;inset:auto .35rem .2rem;color:#8f592f;font-size:.55rem;font-weight:800;text-align:center; }
  .mobile-versus-sheet { scroll-margin-top:82px; }

  /* Invio formazione: piu spazio ai nomi e comandi sempre raggiungibili. */
  .lineup-builder { gap: .75rem; }
  .roster-panel, .selected-panel { padding: .5rem; }
  .roster-role h3 { margin: .65rem 0 .3rem; }
  .roster-player, .selected-player { min-height: 48px; margin: .28rem 0; padding: .4rem; border-radius: 8px; }
  .roster-player { grid-template-columns: auto minmax(0,1fr) auto; }
  .roster-player .player-details strong,
  .selected-player .player-details strong { font-size: .82rem; line-height: 1.05; }
  .roster-player .player-details small,
  .selected-player .player-details small { font-size: .63rem; }
  .player-lofe-summary { grid-column: 2/4; display: flex; gap: 3px; overflow-x: auto; padding: 3px; }
  .player-lofe-summary>span { flex: 1 0 38px; min-width: 38px; }
  .selected-player .player-lofe-stats { width: 100%; overflow-x: auto; padding: .25rem .4rem; font-size: .58rem; }
  .lineup-submit { position: sticky; bottom: env(safe-area-inset-bottom, 0px); z-index: 8; margin: .65rem -.5rem -.5rem; padding: .65rem; background: rgba(255,255,255,.96); box-shadow: 0 -5px 14px #0002; }
  .lineup-submit .button { width: 100%; min-height: 48px; }
}


/* Invio formazione mobile: selettori compatti, senza modificare il builder desktop. */
.mobile-lineup-picker { display: none; }
@media (max-width: 700px) {
  /* Nasconde esclusivamente il logo principale di Legalofe e rimuove il suo ingombro. */
  .page-logo { display: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }

  .page-formazione .lineup-counter,
  .page-formazione form > .muted,
  .page-formazione .lineup-builder { display: none !important; }
  .page-formazione .mobile-lineup-picker { display: grid; gap: .8rem; margin: .7rem 0 1rem; }
  .page-formazione .mobile-module-choice,
  .page-formazione .mobile-player-field { display: grid; gap: .28rem; color: #4b4b4b; font-weight: 800; }
  .page-formazione .mobile-module-choice { padding: .75rem; border: 1px solid #cfc7bf; border-radius: 11px; background: #fff; }
  .page-formazione .mobile-module-label { display: flex; align-items: center; gap: .5rem; }
  .page-formazione .mobile-side-badge { display: inline-flex; align-items: center; min-height: 22px; padding: .15rem .48rem; border-radius: 999px; background: #4f5359; color: #fff; font-size: .68rem; letter-spacing: .04em; }
  .page-formazione .mobile-lineup-section { padding: .75rem; border: 1px solid #cfc7bf; border-radius: 11px; background: #fff; box-shadow: 0 4px 14px #0001; }
  .page-formazione .mobile-lineup-section h2 { margin: 0 0 .6rem; color: #333; }
  .page-formazione .mobile-player-selects { display: grid; gap: .55rem; }
  .page-formazione .mobile-player-field > span { font-size: .72rem; letter-spacing: .02em; }
  .page-formazione .mobile-player-field select,
  .page-formazione .mobile-module-choice select { min-height: 46px; background: #e3e3e3; color: #1f1f1f; border-color: #b8b8b8; font-weight: 700; }
  .page-formazione .mobile-player-controls { display: grid; grid-template-columns: minmax(0,1fr) 44px; gap: .42rem; align-items: stretch; }
  .page-formazione .mobile-player-clear { min-height: 46px; border: 1px solid #b7b7b7; border-radius: 8px; background: #d0d0d0; color: #333; font-size: 1.35rem; font-weight: 900; line-height: 1; }
  .page-formazione .mobile-player-clear:disabled { opacity: .32; }
  .page-formazione .mobile-player-clear:not(:disabled):active { transform: scale(.97); }
  .page-formazione .mobile-player-field.role-p select { border-left: 4px solid #d3a528; }
  .page-formazione .mobile-player-field.role-d select { border-left: 4px solid #4d8ed8; }
  .page-formazione .mobile-player-field.role-c select { border-left: 4px solid #58a66b; }
  .page-formazione .mobile-player-field.role-a select { border-left: 4px solid #c65d5d; }
  .page-formazione .mobile-player-field.role-free select { border-left: 4px solid #888; }
  .page-formazione form > .lineup-submit-mobile { display: block; }
  .page-formazione form::after { content: ''; display: block; }
  .page-formazione .mobile-lineup-picker + .lineup-builder + * { display: initial; }
  .page-formazione form > .mobile-lineup-picker::after { content: 'Compila tutti i 19 posti e usa il pulsante “Invia formazione” qui sotto.'; display: block; color: #6b625b; font-size: .76rem; }
  .page-formazione form > .mobile-lineup-picker { position: relative; padding-bottom: 58px; }
  .page-formazione form > .mobile-lineup-picker::before { content: 'Invia formazione'; position: absolute; left: 0; right: 0; bottom: 0; min-height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 9px; background: #3478e5; color: #fff; font-weight: 900; pointer-events: none; }
  .page-formazione form:has(.mobile-lineup-picker) #submit-lineup { display: block !important; position: absolute; width: calc(100% - 1.5rem); height: 46px; margin-top: -66px; opacity: 0; z-index: 2; }
}


/* Mobile V3: interfaccia essenziale. Desktop invariato. */
.mobile-welcome-first,.mobile-match-choice,.mobile-standings-simple{display:none}
@media (max-width:700px){
  /* Niente immagini nella versione mobile, inclusi loghi squadra e immagini calendario. */
  body img{display:none!important}
  .mobile-welcome-first{display:block!important;margin:0 0 .65rem;padding:.65rem .75rem}
  .mobile-welcome-first h1{margin:.12rem 0;font-size:1.08rem}
  .mobile-welcome-first p{margin:.12rem 0 0;font-size:.72rem}
  .home-old-dashboard .welcome-president{display:none!important}
  .home-live-mobile{margin-bottom:.65rem}
  .home-live-mobile>header{margin:-.8rem -.8rem .35rem;padding:.48rem .65rem}
  .mobile-live-simple a{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.35rem;min-height:36px;padding:.3rem .2rem;font-size:.72rem}
  .mobile-live-simple a span:last-child{text-align:right}
  .mobile-live-simple a b{font-size:.78rem}
  .home-live-footer{justify-content:flex-end;margin:.35rem -.8rem -.8rem;padding:.4rem .65rem}
  .home-live-footer>a{font-size:.7rem}
  .deadline-box{padding:.58rem .7rem}
  .deadline-box h2{margin:0 0 .2rem;font-size:.9rem}
  .deadline-box strong{font-size:.88rem}
  .deadline-box small{display:none}
  .deadline-box .button{min-height:38px;margin-top:.35rem;padding:.4rem .65rem;font-size:.72rem}

  /* Classifica mobile: solo PG, punti, V/N/P e gol totali. */
  .page-classifica .standings-wrap{display:none!important}
  .mobile-standings-simple{display:block;overflow-x:auto;margin-top:.55rem}
  .mobile-standings-simple table{width:100%;min-width:520px;border-collapse:collapse;font-size:.68rem}
  .mobile-standings-simple th,.mobile-standings-simple td{padding:.4rem .3rem;text-align:center}
  .mobile-standings-simple th:nth-child(2),.mobile-standings-simple td:nth-child(2){text-align:left;min-width:118px}
  .mobile-standings-simple tbody tr.ranking-winner{background:#e0f1e4}
  .mobile-standings-simple tbody tr.ranking-bottom{background:#f4dfdf}

  /* Calendario piu basso e testuale. */
  .page-calendario .calendar-match{min-height:82px;padding:1.5rem .45rem .45rem}
  .page-calendario .calendar-team{gap:.15rem}
  .page-calendario .calendar-team strong{font-size:.72rem}
  .page-calendario .old-calendar-games a{min-height:36px;padding:.35rem .42rem;font-size:.7rem}

  /* Live/Formazioni inviate: una sola scelta partita invece di cinque schede. */
  .mobile-match-choice{display:grid;gap:.28rem;margin:.55rem 0;padding:.55rem .65rem;border:1px solid #cfc7bf;border-radius:9px;background:#fff}
  .mobile-match-choice>span{font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
  .mobile-match-choice select{min-height:40px;padding:.35rem .45rem;background:#e1e1e1;font-size:.75rem;font-weight:750}
  .page-live>.container .match-selector,.page-live .match-selector,.page-formazioni .match-selector{display:none!important}
  .page-live .live-status{padding:.5rem .6rem}
  .page-live .live-status small,.page-live .api-usage{font-size:.58rem}
  .page-formazioni .fixture-title{margin:.5rem 0;font-size:.88rem}

  /* Invio formazione ancora piu compatto. */
  .page-formazione h1{margin:.35rem 0;font-size:1.15rem}
  .page-formazione .mobile-lineup-picker{gap:.45rem!important;margin:.4rem 0 .65rem!important;padding-bottom:50px!important}
  .page-formazione .mobile-module-choice{padding:.48rem!important}
  .page-formazione .mobile-module-choice select{min-height:38px!important}
  .page-formazione .mobile-lineup-section{padding:.48rem!important}
  .page-formazione .mobile-lineup-section h2{margin:0 0 .35rem!important;font-size:.88rem}
  .page-formazione .mobile-player-selects{gap:.3rem!important}
  .page-formazione .mobile-player-field{grid-template-columns:68px minmax(0,1fr);align-items:center;gap:.3rem!important}
  .page-formazione .mobile-player-field>span:first-child{font-size:.6rem!important;line-height:1.05}
  .page-formazione .mobile-player-controls{grid-template-columns:minmax(0,1fr) 34px!important;gap:.25rem!important}
  .page-formazione .mobile-player-field select{min-height:36px!important;height:36px;padding:.2rem .35rem;font-size:.68rem!important}
  .page-formazione .mobile-player-clear{min-height:36px!important;height:36px;font-size:1rem!important}
  .page-formazione form>.mobile-lineup-picker::after{font-size:.62rem!important}
  .page-formazione form>.mobile-lineup-picker::before{min-height:40px!important}
  .page-formazione form:has(.mobile-lineup-picker) #submit-lineup{height:40px!important;margin-top:-58px!important}
}

/* Legalofe mobile build: 2026.09.14-v4 */


/* Legalofe mobile V5: ulteriore compattazione e rifinitura grafica. */
.mobile-deadline-quick{display:none}
@media (max-width:700px){
  /* Scadenza subito sotto il benvenuto, senza pulsante Schiera formazione. */
  .mobile-deadline-quick{display:flex!important;align-items:center;justify-content:space-between;gap:.6rem;margin:-.25rem 0 .65rem;padding:.5rem .7rem;border:1px solid #cbd9e8;border-radius:9px;background:#edf6ff;box-shadow:none}
  .mobile-deadline-quick span{font-size:.68rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;color:#4a6680}
  .mobile-deadline-quick strong{font-size:.78rem;color:#263d52;white-space:nowrap}
  .home-old-dashboard .deadline-box{display:none!important}

  /* Live home: nomi perfettamente allineati, font leggermente maggiore e risultato celestino. */
  .mobile-live-simple a{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)!important;gap:.4rem!important;min-height:42px!important;padding:.35rem .25rem!important;font-size:.78rem!important}
  .mobile-live-simple a span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750;line-height:1.1}
  .mobile-live-simple a span:first-child{text-align:left}
  .mobile-live-simple a span:last-child{text-align:right}
  .mobile-live-simple a b{display:flex;align-items:center;justify-content:center;min-height:28px;padding:.2rem .35rem;border:1px solid #b9d8ef;border-radius:7px;background:#dff1ff;color:#274d69;font-size:.84rem!important;font-weight:900;white-space:nowrap}

  /* Classifica: entra nello schermo senza scroll orizzontale. */
  .mobile-standings-simple{overflow:hidden!important;width:100%}
  .mobile-standings-simple table{width:100%!important;min-width:0!important;table-layout:fixed;font-size:.59rem!important}
  .mobile-standings-simple th,.mobile-standings-simple td{padding:.34rem .08rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-standings-simple th:first-child,.mobile-standings-simple td:first-child{width:6%}
  .mobile-standings-simple th:nth-child(2),.mobile-standings-simple td:nth-child(2){width:31%!important;min-width:0!important;padding-left:.18rem!important;text-align:left}
  .mobile-standings-simple th:nth-child(3),.mobile-standings-simple td:nth-child(3){width:8%}
  .mobile-standings-simple th:nth-child(4),.mobile-standings-simple td:nth-child(4){width:9%}
  .mobile-standings-simple th:nth-child(n+5),.mobile-standings-simple td:nth-child(n+5){width:7.65%}

  /* Invio formazione: selezioni più pulite e gradevoli, mantenendo l'ingombro ridotto. */
  .page-formazione .mobile-lineup-section{border-color:#d7dde4!important;border-radius:13px!important;background:#f7f9fb!important;box-shadow:0 3px 10px #0000000d!important}
  .page-formazione .mobile-lineup-section h2{padding-bottom:.3rem;border-bottom:1px solid #dde4eb;color:#34485a!important}
  .page-formazione .mobile-player-field{grid-template-columns:62px minmax(0,1fr)!important;padding:.16rem .2rem;border-radius:8px;background:#fff}
  .page-formazione .mobile-player-field>span:first-child{padding-left:.15rem;color:#5b6772;font-weight:850!important}
  .page-formazione .mobile-player-field select{border:1px solid #c7d0d9!important;border-left-width:4px!important;border-radius:8px!important;background:#edf1f4!important;color:#202a33!important;box-shadow:inset 0 1px 2px #0000000a;font-weight:750!important}
  .page-formazione .mobile-player-field select:focus{outline:2px solid #9fc5e3;outline-offset:1px;background:#fff!important}
  .page-formazione .mobile-player-clear{border-color:#cbd2d9!important;border-radius:8px!important;background:#e3e8ec!important;color:#56616b!important}
  .page-formazione .mobile-player-clear:not(:disabled){background:#dbe9f4!important;color:#315a78!important}
  .page-formazione .mobile-module-choice{border-color:#d2dae2!important;border-radius:12px!important;background:#f4f7f9!important}
  .page-formazione .mobile-module-choice select{border:1px solid #c6d0d9!important;border-radius:8px!important;background:#e7edf2!important}
}
/* Legalofe mobile build: 2026.09.14-v5 */


/* ===== SOURCE: calendar-standings-fix.css ===== */
/* Ripristino grafico Calendario e compattazione Classifica. */

/* Nasconde solo i titoli principali richiesti, su desktop e mobile. */
.page-classifica main.container > h1,
.page-calendario main.container > h1,
.page-rose main.container > h1,
.page-formazioni main.container > h1,
.page-formazione main.container > h1 {
  display: none;
}

.page-classifica main.container > .tabs,
.page-calendario main.container > .tabs,
.page-formazioni main.container > .tabs {
  margin-top: .25rem;
}

/* Riquadro iniziale riservato al presidente/amministratore. */
.welcome-president {
  position: relative;
  overflow: hidden;
  padding: 1.15rem 1.25rem;
  border: 1px solid #c9c2bb;
  border-left: 5px solid #b46b38;
  border-radius: 14px;
  background: linear-gradient(135deg, #fff 0%, #f2ede8 100%);
  box-shadow: 0 5px 16px rgba(0, 0, 0, .09);
}
.welcome-president::after {
  content: '';
  position: absolute;
  right: -36px;
  bottom: -54px;
  width: 145px;
  height: 145px;
  border-radius: 50%;
  background: rgba(180, 107, 56, .09);
  pointer-events: none;
}
.welcome-president > div { position: relative; z-index: 1; }
.welcome-president small { color: #8f592f; font-size: .68rem; font-weight: 900; letter-spacing: .09em; }
.welcome-president h1 { margin: .22rem 0 .25rem; color: #443b35; font-size: 1.55rem; line-height: 1.15; }
.welcome-president p { margin: 0; color: #71675f; font-size: .86rem; }
.welcome-president p strong { color: #8f592f; }

/* Blocco superiore del calendario: prossimo turno. */
.next-calendar-round {
  overflow: hidden;
  margin: .8rem 0 1rem;
  border: 1px solid #c9c2bb;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .1);
}
.next-calendar-round > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem 1rem;
  background: #494949;
  color: #fff;
}
.next-calendar-round > header div { display: flex; align-items: baseline; gap: .55rem; }
.next-calendar-round > header span { color: #e2b06e; font-size: .72rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.next-calendar-round > header strong { font-size: 1rem; }
.next-calendar-round > header small { color: #ddd; font-size: .72rem; }
.next-calendar-matches {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .65rem;
  padding: .8rem;
  background: #eeeae6;
}
.next-calendar-matches > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: .35rem;
  min-width: 0;
  min-height: 122px;
  padding: .65rem .45rem;
  border: 1px solid #d4cec8;
  border-radius: 12px;
  background: linear-gradient(150deg, #fff, #f5f2ef);
  color: #403b37;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 3px 9px rgba(0, 0, 0, .06);
}
.next-calendar-matches > a:hover { border-color: #b46b38; transform: translateY(-1px); }
.next-calendar-matches > a > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  font-size: .67rem;
  font-weight: 750;
  line-height: 1.08;
}
.next-calendar-matches > a > span.away img { order: -1; }
.next-calendar-matches img {
  display: block;
  width: 46px;
  height: 46px;
  max-width: 46px;
  max-height: 46px;
  object-fit: contain;
}
.next-calendar-matches b {
  display: grid;
  place-items: center;
  min-width: 32px;
  height: 32px;
  padding: 0 .25rem;
  border-radius: 50%;
  background: #b46b38;
  color: #fff;
  font-size: .66rem;
}

.old-calendar-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.old-calendar-card {
  overflow: hidden;
  border: 1px solid #d3cec8;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .09);
}

.old-calendar-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  padding: .72rem .85rem;
  background: #4a4a4a;
  color: #fff;
}

.old-calendar-card > header strong { font-size: .95rem; }
.old-calendar-card > header span { color: #e2b06e; font-size: .68rem; text-align: right; }
.old-calendar-card.current-round { border-color: #b46b38; box-shadow: 0 7px 19px rgba(180, 107, 56, .2); }
.old-calendar-card.current-round > header { background: #70513d; }

.old-calendar-date {
  padding: .48rem .85rem;
  border-bottom: 1px solid #e5e1dd;
  background: #eeeae6;
  color: #6d6259;
  font-size: .72rem;
  font-weight: 700;
}

.old-calendar-games { padding: .32rem .55rem .55rem; }
.old-calendar-games a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
  align-items: center;
  gap: .35rem;
  min-height: 43px;
  padding: .48rem .35rem;
  border-bottom: 1px solid #ece8e4;
  color: #3e3935;
  text-decoration: none;
}
.old-calendar-games a:last-child { border-bottom: 0; }
.old-calendar-games a:hover { background: #f7f3ef; }
.old-calendar-games a span { min-width: 0; font-size: .76rem; font-weight: 650; line-height: 1.15; }
.old-calendar-games a span:last-child { text-align: right; }
.old-calendar-games a b {
  display: grid;
  place-items: center;
  min-width: 30px;
  min-height: 27px;
  padding: 0 .2rem;
  border-radius: 7px;
  background: #b46b38;
  color: #fff;
  font-size: .76rem;
}

@media (min-width: 701px) {
  .standings-table th,
  .standings-table td { padding: .48rem .25rem; font-size: .73rem; }

  .standings-table thead tr:last-child th { padding: .56rem .22rem; font-size: .7rem; }
  .standings-table .standing-team { min-width: 122px; gap: .32rem; }
  .standings-table .standing-team img { width: 29px; height: 29px; }
  .standings-table th:nth-child(3),
  .standings-table td:nth-child(3) { width: 108px; max-width: 108px; overflow: hidden; text-overflow: ellipsis; }
  .standings-table th:nth-child(n+4),
  .standings-table td:nth-child(n+4) { min-width: 27px; }
}

@media (max-width: 1050px) and (min-width: 701px) {
  .old-calendar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .next-calendar-matches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .old-calendar-grid { grid-template-columns: 1fr; gap: .75rem; }
  .old-calendar-card > header { padding: .65rem .72rem; }
  .old-calendar-games { padding: .25rem .4rem .45rem; }
  .old-calendar-games a { min-height: 40px; padding: .42rem .25rem; }
  .welcome-president { padding: .85rem .9rem; border-left-width: 4px; }
  .welcome-president h1 { font-size: 1.3rem; }
  .next-calendar-round { margin-top: .55rem; border-radius: 12px; }
  .next-calendar-round > header { align-items: flex-start; padding: .68rem .75rem; }
  .next-calendar-round > header div { flex-direction: column; gap: .1rem; }
  .next-calendar-round > header small { max-width: 48%; text-align: right; }
  .next-calendar-matches { grid-template-columns: 1fr; gap: .45rem; padding: .55rem; }
  .next-calendar-matches > a { min-height: 66px; padding: .42rem .55rem; }
  .next-calendar-matches > a > span { flex-direction: row; justify-content: flex-start; text-align: left; font-size: .72rem; }
  .next-calendar-matches > a > span.away { flex-direction: row-reverse; text-align: right; }
  .next-calendar-matches > a > span.away img { order: initial; }
  .next-calendar-matches img { width: 36px; height: 36px; max-width: 36px; max-height: 36px; flex: 0 0 36px; }
  .next-calendar-matches b { min-width: 30px; height: 30px; }
}


/* ===== SOURCE: player-profile.css ===== */
.profile-trigger{cursor:pointer}.profile-trigger:hover td{filter:brightness(.97)}.profile-trigger td:nth-child(2) strong::after{content:'  ⓘ';color:#a66537;font-size:.75rem}.player-profile-row>td{padding:0!important;background:#eeeae6!important}.player-profile-card{margin:.55rem;padding:1rem;border:1px solid #c9c2bb;border-left:4px solid #b46b38;border-radius:12px;background:#fff;box-shadow:0 5px 15px #0001}.player-profile-card>header{margin:-1rem -1rem .8rem;padding:.7rem 1rem;border-radius:8px 8px 0 0;background:#494949;color:#fff}.player-profile-card h3{margin:.12rem 0;font-size:1.15rem}.player-profile-card header small{color:#e2b06e;font-weight:850;letter-spacing:.08em}.player-profile-card header span{font-size:.75rem;color:#ddd}.player-profile-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.player-profile-grid p{margin:0;padding:.58rem;border-radius:8px;background:#f2efec}.player-profile-grid small,.player-profile-grid b{display:block}.player-profile-grid small{color:#776a60;font-size:.64rem;text-transform:uppercase}.player-profile-grid b{margin-top:.12rem;color:#3f3935;font-size:.82rem}.profile-updated{display:block;margin-top:.65rem;color:#888}.player-profile-card.loading,.player-profile-card.error{text-align:center}.player-api-admin details{margin-top:1rem}@media(max-width:700px){.player-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-profile-card{margin:.4rem;padding:.75rem}.player-profile-card>header{margin:-.75rem -.75rem .65rem;padding:.65rem .75rem}.player-profile-grid p{padding:.48rem}.player-profile-grid b{font-size:.76rem}}


/* ===== SOURCE: admin-menu.css ===== */
.admin-control-center{display:grid;grid-template-columns:1.25fr 1fr 1.25fr;gap:.8rem;margin:0 0 1rem;padding:.8rem;border:1px solid #c9c2bb;border-radius:14px;background:#eeeae6;box-shadow:0 5px 15px #0001}.admin-control-center section{min-width:0}.admin-control-center h2{margin:0 0 .45rem;color:#74523d;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.admin-control-links{display:grid;gap:.35rem}.admin-control-links a{display:flex;min-width:0;flex-direction:column;gap:.08rem;padding:.48rem .58rem;border:1px solid #d8d1ca;border-radius:8px;background:#fff;color:#46403b;text-decoration:none}.admin-control-links a:hover{border-color:#b46b38;background:#faf6f2}.admin-control-links a.active{border-color:#9b672d;background:#70513d;color:#fff;box-shadow:inset 4px 0 #e2b06e}.admin-control-links strong{font-size:.76rem}.admin-control-links small{overflow:hidden;color:#82776f;font-size:.61rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.admin-control-links a.active small{color:#eaded5}@media(max-width:900px){.admin-control-center{grid-template-columns:1fr 1fr}.admin-control-center section:last-child{grid-column:1/-1}.admin-control-center section:last-child .admin-control-links{grid-template-columns:1fr 1fr}}@media(max-width:700px){.admin-control-center{display:flex;gap:.65rem;padding:.65rem;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.admin-control-center section{flex:0 0 82%;scroll-snap-align:start}.admin-control-center section:last-child .admin-control-links{grid-template-columns:1fr}.admin-control-links a{min-height:48px;justify-content:center}.admin-control-links strong{font-size:.8rem}.admin-control-links small{white-space:normal}}

/* Tema Legalofe celeste */
:root{--blue:#3478e5;--gold:#2e6fcf;--line:#cbd8e8}body{background:linear-gradient(145deg,#c9d7e8,#e5edf6 55%,#c4d4e7)}.site-header{background:rgba(38,91,169,.97);border-bottom-color:#6d9ee5}.brand span{color:#dcecff}.nav a,.nav button{color:#dbe9fb}.nav a:hover,.nav a.active,.nav button:hover{color:#fff}.menu-button{background:#22579f;border-color:#79a7e8}.button,button.button{background:#3478e5}.button.secondary{background:#e8f1fc;color:#28568e;border-color:#b9cde6}.tabs a.active,.team-tabs a.active{background:#3478e5;border-color:#3478e5}.badge{background:#e4effc;color:#2d5f9c}.page-logo,.hero{background:radial-gradient(circle at 80% 15%,rgba(52,120,229,.13),transparent 34%),#fff}.match-selector a.active{background:linear-gradient(145deg,#4b91ed,#2868c8);border-color:#2f76d8}.match-selector a:hover{border-color:#4b91ed}.match-selector a b{background:#3478e5;color:#fff}.live-status,.admin-notice{border-left-color:#3478e5;background:#eef5fe}.live-team>header,.submitted-lineups .lineup-team-title{background:#2f69bc}.submitted-lineups .lineup-sheet>h3{background:#3478e5}.submitted-lineups .badge{background:#e4effc;color:#2d5f9c}.admin-control-center h2{color:#3267a7}.admin-control-links a:hover{border-color:#3478e5;background:#f3f8fe}.admin-control-links a.active{border-color:#2866bc;background:#3478e5;box-shadow:inset 4px 0 #a9d2ff}.site-footer{background:linear-gradient(135deg,#214d8e,#3274cf)}.site-footer__version{border-color:#78a7e8;background:#1e4b89;color:#e4f1ff}
.formations-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding:.55rem;border:1px solid #bfd0e5;border-radius:12px;background:#edf5fe}.formations-toolbar>.tabs{margin:0}.formations-round-picker{display:flex;align-items:center;gap:.5rem;color:#3267a7}.formations-round-picker>span{font-size:.72rem;font-weight:850;text-transform:uppercase}.formations-round-picker select{min-width:145px;background:#fff;border-color:#b9cde6;color:#284b76;font-weight:800}.page-formazioni .fixture-title{display:none}@media(max-width:600px){.formations-toolbar{align-items:stretch;flex-direction:column}.formations-toolbar>.tabs{display:grid;grid-template-columns:1fr 1fr}.formations-toolbar>.tabs a{text-align:center}.formations-round-picker{display:grid;grid-template-columns:auto 1fr}.formations-round-picker select{min-width:0}.page-formazioni .match-selector{margin-top:.55rem}}

/* Blu ufficiale ricavato dal riferimento mobile Fantacalcio.it: #336FE7. */
:root{--blue:#336fe7;--gold:#336fe7;--line:#c8d5ea}
body{background:linear-gradient(145deg,#c5d2e5,#e8eef7 55%,#bdcce2)}
.site-header{background:#336fe7;border-bottom-color:#78a1f0}.brand,.brand span{color:#fff;text-shadow:0 2px 5px #173c8270}.nav a,.nav button{color:#e5edff}.nav a.active,.nav a:hover,.nav button:hover{color:#fff;background:#245dca}.menu-button{background:#245dca;border-color:#8baff2}
.button,button.button,.tabs a.active,.team-tabs a.active{background:#336fe7!important;border-color:#336fe7!important;color:#fff!important}.button:hover,button.button:hover{background:#245dca!important}.button.secondary{background:#edf3ff!important;border-color:#b8caeb!important;color:#224d98!important}
th,.standings-table thead tr:first-child th{background:#173c82;color:#fff;border-color:#31599b}.standings-table thead tr:first-child th:nth-child(2),.standings-table thead tr:first-child th:nth-child(4),.standings-table thead tr:first-child th:nth-child(6){color:#d9e7ff}
.match-selector a{border-color:#b7c9e8;background:linear-gradient(145deg,#fff,#edf3fc)}.match-selector a.active{background:linear-gradient(145deg,#477fec,#245dca);border-color:#1e55be}.match-selector a b,.calendar-score{background:#336fe7;color:#fff}
.live-status,.admin-notice{border-left-color:#336fe7;background:#edf3ff}.live-team>header,.submitted-lineups .lineup-team-title,.lineup-counter{background:#173c82}.submitted-lineups .lineup-sheet>h3{background:#336fe7}.badge,.submitted-lineups .badge{background:#e3ecff;color:#204d9e}
.formations-toolbar{border-color:#b9cae8;background:#edf3ff}.formations-round-picker,.admin-control-center h2{color:#2457ab}.formations-round-picker select{border-color:#b5c7e7;color:#173c82}
.admin-control-links a:hover{border-color:#336fe7;background:#f0f5ff}.admin-control-links a.active{border-color:#1f57bd;background:#336fe7;box-shadow:inset 4px 0 #b7d0ff}.admin-control-links a.active small{color:#e8efff}
.mobile-versus-modules{background:#edf3ff}.mobile-versus-modules span{color:#2457ab}.mobile-value,.live-vote{background:#e5ecf7;color:#182a46}
.site-footer{background:linear-gradient(135deg,#102a5c,#245dca)}.site-footer__mark{border-color:#8db2f4;background:#ffffff12;color:#fff}.site-footer__version{border-color:#6f9dec;background:#173c82;color:#e7efff}

/* Colore definitivo fornito dal presidente: blu ardesia #2D334C. */
:root{--blue:#2d334c;--gold:#2d334c;--line:#d0d3dc}
body{background:linear-gradient(145deg,#c7c9d0,#e8e9ec 55%,#c4c6ce)}
.site-header{background:#2d334c;border-bottom-color:#59617e}.brand,.brand span{color:#fff;text-shadow:0 2px 5px #10131f80}.nav a,.nav button{color:#dfe2ec}.nav a.active,.nav a:hover,.nav button:hover{color:#fff;background:#414a6b}.menu-button{background:#414a6b;border-color:#737d9f}
.button,button.button,.tabs a.active,.team-tabs a.active{background:#2d334c!important;border-color:#2d334c!important;color:#fff!important}
th,.standings-table thead tr:first-child th{background:#2d334c;color:#fff;border-color:#4c5470}.standings-table thead tr:first-child th:nth-child(2),.standings-table thead tr:first-child th:nth-child(4),.standings-table thead tr:first-child th:nth-child(6){color:#e2e5ef}
.match-selector a.active{background:linear-gradient(145deg,#4a536f,#2d334c);border-color:#242a40}.match-selector a b,.calendar-score{background:#2d334c}.live-status,.admin-notice{border-left-color:#2d334c;background:#f0f1f5}.live-team>header,.submitted-lineups .lineup-team-title,.lineup-counter{background:#2d334c}.submitted-lineups .lineup-sheet>h3{background:#414a6b}.badge,.submitted-lineups .badge{background:#e8eaf0;color:#2d334c}
.formations-toolbar{border-color:#c8ccd8;background:#f0f1f5}.formations-round-picker,.admin-control-center h2{color:#414a6b}.formations-round-picker select{border-color:#c7cbd6;color:#2d334c}.admin-control-links a:hover{border-color:#59617e;background:#f3f4f7}.admin-control-links a.active{border-color:#242a40;background:#2d334c;box-shadow:inset 4px 0 #8c95b5}
.mobile-versus-modules{background:#eef0f5}.mobile-versus-modules span{color:#414a6b}.site-footer{background:linear-gradient(135deg,#202538,#2d334c)}.site-footer__mark{border-color:#737d9f}.site-footer__version{border-color:#59617e;background:#202538;color:#eceef5}


/* ===== SOURCE: admin-unified.css ===== */
/* Amministrazione: pagina unica per calendario, scadenze e formazioni automatiche. */
body[class*="page-admin"] main.container>h1,body[class*="page-admin"] main.container>.card h1,body[class*="page-admin"] main.container>.card h2,body[class*="page-admin"] main.container>.card h3,.admin-area main.container>h1,.admin-area main.container>.card h1,.admin-area main.container>.card h2,.admin-area main.container>.card h3,.page-admin-giornate main.container h1,.page-admin-giornate main.container h2,.page-admin-giornate main.container h3{color:#f5f8ff!important}
.admin-unified-heading{margin:0 0 1rem;padding:1.15rem 1.3rem;border:1px solid #337eaa;border-radius:14px;background:#082c47;color:#fff}.admin-unified-heading span{color:#a9d8f2;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-unified-heading h1{margin:.15rem 0;color:#fff!important;font-size:1.7rem}.admin-unified-heading p{margin:0;color:#d9edf8}
.admin-unified-section{margin-bottom:.8rem;border:1px solid #2d7099;border-radius:13px;background:#082b46;color:#eef8ff;overflow:hidden}.admin-unified-section>summary{display:flex;flex-direction:column;gap:.12rem;padding:1rem 1.15rem;background:#0b3657;cursor:pointer}.admin-unified-section>summary strong{color:#fff;font-size:1rem}.admin-unified-section>summary small{color:#b9d3e4}.admin-unified-content{padding:1rem}.admin-unified-content label{color:#d8e8f2}.admin-unified-content .muted{color:#b7cede}.admin-round-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.admin-round-grid .card{grid-column:auto!important}.admin-round-grid .card h3{color:#fff!important}.admin-unified-content .deadline-row strong{color:#fff}.admin-unified-content input,.admin-unified-content select{border-color:#397ba3;background:#061e32;color:#fff}
@media(max-width:900px){.admin-round-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.admin-round-grid{grid-template-columns:1fr}.admin-unified-section>summary small{line-height:1.3}}


/* ===== SOURCE: mobile-v36.css ===== */
/* Legalofe V36: campi larghi, modulo scuro e posizione mobile stabile. */
.mobile-lineup-submit{display:none}
@media (max-width:700px){
  body.page-home .home-live-box{margin-bottom:14px!important}
  body.page-home section.home-old-dashboard{margin-top:0!important;padding-top:0!important}

  body.page-formazione .mobile-player-field{grid-template-columns:28px minmax(0,1fr)!important;gap:.2rem!important}
  body.page-formazione .mobile-player-field>span:first-child{display:grid!important;grid-template-columns:26px!important;place-items:center!important;padding:0!important;font-size:0!important;overflow:visible!important}
  body.page-formazione .mobile-player-field>span:first-child::before{display:none!important;content:none!important}
  body.page-formazione .mobile-player-field>span:first-child::after{display:grid!important;place-items:center!important;width:25px!important;height:25px!important;border-radius:6px!important;color:#fff!important;font-size:.68rem!important;font-weight:900!important}
  body.page-formazione .mobile-player-field.role-p>span:first-child::after{content:'P';background:#d3a528!important;color:#302400!important}
  body.page-formazione .mobile-player-field.role-d>span:first-child::after{content:'D';background:#4d8ed8!important}
  body.page-formazione .mobile-player-field.role-c>span:first-child::after{content:'C';background:#58a66b!important}
  body.page-formazione .mobile-player-field.role-a>span:first-child::after{content:'A';background:#c65d5d!important}
  body.page-formazione .mobile-player-field.role-free>span:first-child::after{content:'·';background:#7c8791!important}
  body.page-formazione .mobile-player-controls{width:100%!important;grid-template-columns:minmax(0,1fr) 34px!important}

  body.page-formazione .mobile-module-choice{border-color:#185884!important;background:#0b2b43!important;box-shadow:0 4px 12px rgba(0,0,0,.16)!important}
  body.page-formazione .mobile-module-label{color:#fff!important}
  body.page-formazione .mobile-module-choice select{border-color:#2879a8!important;background:#123653!important;color:#fff!important}

  body.page-formazione form>.mobile-lineup-picker{padding-bottom:0!important;margin-bottom:10px!important}
  body.page-formazione form>.mobile-lineup-picker::before,
  body.page-formazione form>.mobile-lineup-picker::after{display:none!important;content:none!important}
  body.page-formazione .mobile-lineup-submit{display:block!important;position:relative!important;width:100%!important;min-height:48px!important;margin:0 0 18px!important;opacity:1!important;z-index:1!important;border-radius:9px!important;background:#3478e5!important;color:#fff!important;font-size:.9rem!important;font-weight:900!important;pointer-events:auto!important}
}


/* ===== SOURCE: site-footer.css ===== */
.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.25rem;margin:2rem 0 0;padding:1.15rem 1.3rem;border:1px solid rgba(255,255,255,.12);border-radius:16px 16px 0 0;background:linear-gradient(135deg,#303030,#414141);color:#e7e7e7;box-shadow:0 -4px 18px rgba(0,0,0,.1);text-align:left}
.site-footer__identity{display:flex;align-items:center;gap:.7rem;min-width:0}.site-footer__identity>span:last-child{display:flex;min-width:0;flex-direction:column;line-height:1.25}.site-footer__identity strong{color:#f3f3f3;font-size:.82rem;letter-spacing:.025em}.site-footer__identity small{color:#aaa;font-size:.66rem}.site-footer__mark{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border:1px solid rgba(226,176,110,.55);border-radius:10px;background:rgba(226,176,110,.12);color:#e2b06e;font-size:1rem;font-weight:950}.site-footer__legal{color:#bdbdbd;font-size:.7rem;text-align:center;white-space:nowrap}.site-footer__legal span{margin:0 .4rem;color:#777}.site-footer__version{justify-self:end;padding:.3rem .55rem;border:1px solid #5d5d5d;border-radius:99px;background:#292929;color:#d7b382;font-size:.64rem;font-weight:750;letter-spacing:.035em;white-space:nowrap}
@media(max-width:800px){.site-footer{grid-template-columns:1fr auto}.site-footer__legal{grid-column:1/-1;grid-row:2;text-align:left;white-space:normal}.site-footer__version{grid-column:2;grid-row:1}}
@media(max-width:480px){.site-footer{gap:.8rem;padding:1rem}.site-footer__identity small{display:none}.site-footer__legal{display:flex;flex-direction:column;gap:.1rem;font-size:.66rem}.site-footer__legal span{display:none}}


/* ===== SOURCE: legalofe-navy.css ===== */
/* Tema definitivo Legalofe. Caricato per ultimo per eliminare i vecchi accenti marroni. */
:root{--blue:#2d334c!important;--gold:#2d334c!important;--line:#d0d3dc!important;--panel2:#eef0f5!important}
body{background:linear-gradient(145deg,#bcc2ca,#e2e5e9 55%,#b9c0c8)!important}
.site-header{background:#2d334c!important;border-bottom-color:#59617e!important}.brand,.brand span{color:#fff!important;text-shadow:0 2px 5px #10131f80!important}.nav a,.nav button{color:#dfe2ec!important}.nav a.active,.nav a:hover,.nav button:hover{color:#fff!important;background:#414a6b!important}.menu-button{background:#414a6b!important;border-color:#737d9f!important}
.button,button.button,.tabs a.active,.team-tabs a.active,.module-buttons button.active{background:#2d334c!important;border-color:#2d334c!important;color:#fff!important}.button:hover,button.button:hover{background:#414a6b!important}.button.secondary{background:#eef0f5!important;border-color:#c8ccd8!important;color:#2d334c!important}
th,.standings-table thead tr:first-child th{background:#2d334c!important;color:#fff!important;border-color:#4c5470!important}.standings-table thead tr:first-child th:nth-child(2),.standings-table thead tr:first-child th:nth-child(4),.standings-table thead tr:first-child th:nth-child(6){color:#e2e5ef!important}
.page-logo,.hero{background:radial-gradient(circle at 80% 15%,rgba(45,51,76,.13),transparent 34%),#fff!important}.eyebrow,.stat,.rank,.roster-role h3,.lineup-role h2{color:#2d334c!important}
.match-selector a,.home-live-selector>a{border-color:#c8ccd8!important;background:linear-gradient(145deg,#fff,#f0f1f5)!important}.match-selector a:hover,.home-live-selector>a:hover{border-color:#59617e!important}.match-selector a.active{background:linear-gradient(145deg,#4a536f,#2d334c)!important;border-color:#242a40!important}.match-selector a b,.home-live-selector b,.home-results a>b,.calendar-score,.big-match-box>div>b{background:#2d334c!important;color:#fff!important}
.live-status,.admin-notice,.quotation-note{border-left-color:#2d334c!important;background:#f0f1f5!important;color:#3c4257!important}.live-team>header,.submitted-lineups .lineup-team-title,.lineup-counter,.match-round,.old-calendar-card.current-round>header{background:#2d334c!important}.submitted-lineups .lineup-sheet>h3,.selection-divider{background:#414a6b!important}.badge,.submitted-lineups .badge,.quotation-value{background:#e8eaf0!important;color:#2d334c!important}
.home-live-footer{background:#eef0f5!important}.home-live-footer>a,.home-live-heading>a,.auth-link a,.welcome-president small,.welcome-president p strong,.deadline-box>strong,.mini-standing strong,.team-performance>span,.import-match span,.profile-trigger td:nth-child(2) strong::after{color:#2d334c!important}.deadline-box,.lineup-opponent{background:linear-gradient(155deg,#fff,#eef0f5)!important}.lineup-opponent b{background:#2d334c!important}.lineup-opponent>small{color:#414a6b!important}
.roster-player.is-selected,.roster-player:disabled{border-color:#59617e!important;background:#e8eaf0!important;box-shadow:inset 4px 0 #2d334c!important}.selected-player.starter-row{border-left-color:#2d334c!important}.module-buttons button{border-color:#c8ccd8!important;background:#eef0f5!important;color:#2d334c!important}
.player-profile-card{border-left-color:#2d334c!important}.player-profile-card>header{background:#2d334c!important}.player-profile-card header small,.player-data-heading span{color:#dfe2ec!important}.quotations-heading>strong{background:#2d334c!important}.player-data-table a{color:#2d334c!important}
.calendar-match::after{background:rgba(45,51,76,.07)!important}.next-calendar-matches>a:hover,.old-calendar-card.current-round{border-color:#59617e!important}.old-calendar-card.current-round{box-shadow:0 7px 19px rgba(45,51,76,.2)!important}.next-calendar-round>header span,.old-calendar-card>header span{color:#dfe2ec!important}
.formations-toolbar{border-color:#c8ccd8!important;background:#f0f1f5!important}.formations-round-picker,.admin-control-center h2{color:#414a6b!important}.formations-round-picker select{border-color:#c7cbd6!important;color:#2d334c!important}.admin-control-links a:hover{border-color:#59617e!important;background:#f3f4f7!important}.admin-control-links a.active{border-color:#242a40!important;background:#2d334c!important;box-shadow:inset 4px 0 #8c95b5!important}.admin-control-links a.active small{color:#eceef5!important}
.mobile-versus-sheet{border-color:#c9cdd8!important}.mobile-versus-header{border-bottom-color:#d5d8e0!important}.mobile-versus-header>span{color:#2d334c!important}.mobile-versus-modules{background:#eef0f5!important}.mobile-versus-modules span{color:#414a6b!important}.mobile-versus-divider{background:#dfe1e7!important;color:#2d334c!important}.mobile-value,.live-vote{background:#e5e7ed!important;color:#202538!important}
.site-footer{background:linear-gradient(135deg,#202538,#2d334c)!important}.site-footer__mark{border-color:#737d9f!important;background:#ffffff12!important;color:#fff!important}.site-footer__version{border-color:#59617e!important;background:#202538!important;color:#eceef5!important}
@media(max-width:800px){.nav{background:#2d334c!important}}

/* Testate di contesto: colore campione fornito (#082C47) e bordo coordinato. */
.page-context-heading,.standings-title-card{border-color:#082c47!important;background:#082c47!important;box-shadow:0 6px 18px rgba(8,44,71,.2)!important}
.page-context-heading>header,.standings-title-card>header{border:0!important;background:#082c47!important}

/* Correzioni complete rilevate dagli screenshot reali. */
h1,h2,h3,.deadline-box h2,.team-performance h2{color:#202538}
.welcome-president{border-color:#c9ccd5!important;border-left-color:#2d334c!important;background:linear-gradient(135deg,#fff 0%,#f0f1f5 100%)!important}.welcome-president::after{background:rgba(45,51,76,.07)!important}.welcome-president h1{color:#202538!important}.welcome-president small,.welcome-president p strong{color:#2d334c!important}
.home-box>header,.next-calendar-round>header,.old-calendar-card>header{background:#2d334c!important}.home-box>header h2,.home-box>header strong,.next-calendar-round>header strong,.old-calendar-card>header strong{color:#fff!important}.home-box>header span,.home-box>header a,.next-calendar-round>header span,.next-calendar-round>header small,.old-calendar-card>header span{color:#e3e5ed!important}
.next-calendar-matches{background:#e8e9ed!important}.next-calendar-matches>a{border-color:#d0d3dc!important;background:linear-gradient(150deg,#fff,#f2f3f6)!important;color:#202538!important}.next-calendar-matches b,.old-calendar-games a b{background:#2d334c!important;color:#fff!important}.old-calendar-date{background:#eceef2!important;color:#4d5369!important}.old-calendar-games a:hover{background:#f1f2f5!important}
.home-live-heading h2,.home-box h2{color:#202538}.home-live-heading>a,.home-live-footer>a{color:#2d334c!important}.deadline-box>strong{color:#2d334c!important}.mini-standing em{color:#414a6b!important}.top-flop-grid h3{color:#2d334c!important}

/* Formazioni inviate: stessa resa visiva delle schede giocatore del Live. */
.submitted-lineups .lineup-team-title{min-height:90px!important;padding:1rem!important;background:#2d334c!important}.submitted-lineups .lineup-team-title span{color:#fff!important;font-size:1.1rem!important;font-weight:800!important}.submitted-lineups .lineup-team-title img{width:58px!important;height:58px!important}.submitted-lineups .lineup-sheet>p{padding:0 .15rem}.submitted-lineups .lineup-sheet>h3{padding:.5rem .65rem!important;background:#2d334c!important;color:#fff!important;font-size:.86rem!important}
.submitted-lineups .submitted-players{gap:.4rem!important}.submitted-lineups .submitted-players>div{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-items:center!important;min-height:61px!important;padding:.5rem .6rem!important;border:1px solid #d7d9df!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important}.submitted-lineups .submitted-players .player-role{grid-column:1!important;grid-row:1/3!important}.submitted-lineups .submitted-players strong{grid-column:2!important;grid-row:1!important;color:#111a2d!important;font-size:.84rem!important}.submitted-lineups .submitted-players small{grid-column:2!important;grid-row:2!important;color:#7a7f8d!important;font-size:.67rem!important;text-align:left!important}
.submitted-lineups .submitted-players:last-of-type>div{background:#f0f1f4!important;opacity:.72}.submitted-lineups .badge{padding:.3rem .55rem!important}
@media(max-width:700px){.mobile-versus-sheet .mobile-versus-header{background:#2d334c!important}.mobile-versus-sheet .mobile-versus-team strong,.mobile-versus-sheet .mobile-versus-header>span{color:#fff!important}.mobile-versus-row .mobile-player strong{color:#111a2d!important}}

/* Formazioni inviate: testata unica identica al linguaggio grafico del Live. */
.submitted-lineups .lineup-sheet[data-live-header="ready"]{overflow:hidden!important;padding:0!important;border:1px solid #c9ccd5!important;border-radius:15px!important;background:#f8f8f9!important}.submitted-lineups .lineup-sheet[data-live-header="ready"]>.lineup-team-title{display:flex!important;min-height:108px!important;margin:0!important;padding:1rem!important;border-radius:0!important;background:#2d334c!important}.formation-team-identity{display:flex;min-width:0;flex:1;flex-direction:column;justify-content:center;gap:.2rem}.formation-team-identity>span{color:#fff!important;font-size:1.08rem!important;font-weight:850!important}.formation-live-meta{display:flex!important;align-items:center!important;gap:.45rem!important;margin:0!important;padding:0!important;color:#dfe2ec!important;font-size:.68rem!important}.formation-live-meta .badge{padding:0!important;background:transparent!important;color:#dfe2ec!important;font-size:.68rem!important}.formation-section-hidden{display:none!important}.submitted-lineups .lineup-sheet[data-live-header="ready"]>.submitted-players{margin:.7rem!important}.submitted-lineups .lineup-sheet[data-live-header="ready"]>.formation-bench-list{margin-top:0!important;padding-top:.7rem!important;border-top:1px solid #d7d9df!important}.submitted-lineups .lineup-sheet[data-live-header="ready"]>.formation-bench-list::before{content:'Panchina';display:block;grid-column:1/-1;margin:-.15rem 0 .15rem;color:#6f7482;font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:700px){.submitted-lineups .lineup-sheet[data-live-header="ready"]>.lineup-team-title{min-height:76px!important;padding:.65rem!important}.formation-team-identity>span{font-size:.86rem!important}.formation-live-meta,.formation-live-meta .badge{font-size:.58rem!important}}

/* Tipografia più leggera e leggibile. */
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;font-weight:400!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1{font-weight:700!important;letter-spacing:-.02em}h2,h3{font-weight:650!important;letter-spacing:-.01em}p,small,.muted,label{font-weight:400}
.brand{font-weight:750!important}.nav a,.nav button,.menu-button{font-weight:550!important}.button,button.button{font-weight:650!important}.tabs a,.team-tabs a{font-weight:550!important}.tabs a.active,.team-tabs a.active{font-weight:650!important}
th{font-weight:650!important;letter-spacing:.025em!important}.standing-team,.home-result-team,.calendar-team span,.match-team span,.next-calendar-matches span,.old-calendar-games span{font-weight:550!important}.rank,.stat,.calendar-score,.home-results a>b,.live-vote,.mobile-value{font-weight:700!important}
.welcome-president small,.eyebrow,.formations-round-picker>span,.admin-control-center h2{font-weight:650!important;letter-spacing:.055em!important}.welcome-president h1{font-weight:650!important}.home-box>header span,.home-live-heading>span{font-weight:400!important}
.admin-control-links strong,.admin-control-links a.active strong{font-weight:600!important}.admin-control-links small{font-weight:400!important}.badge{font-weight:550!important}
.roster-player .player-details strong,.selected-player .player-details strong,.submitted-players strong,.live-player b,.mobile-player strong,.formation-team-identity>span{font-weight:600!important}.player-role{font-weight:700!important}.module-buttons button{font-weight:600!important}.selection-divider{font-weight:650!important}
.site-footer__identity strong{font-weight:600!important}.site-footer__version{font-weight:550!important}


/* ===== SOURCE: legalofe-v2-ui.css ===== */
/* Legalofe V2 UI - solo interfaccia, nessuna logica di gioco */
:root{--v2nav:#071c33;--v2nav2:#0b2b4d;--v2blue:#1687ef;--v2line:#24496b}
.site-header{min-height:64px!important;padding:0 3.5%!important;background:linear-gradient(90deg,var(--v2nav),#092641)!important;border-bottom:1px solid #1d527d!important}
.brand-v2{display:flex!important;align-items:center;gap:.65rem;letter-spacing:.045em!important;color:#fff!important;font-size:1.2rem!important}
.brand-v2 img{width:39px;height:39px;object-fit:contain}.brand-v2 strong{color:#fff}.nav{width:100%;margin-left:2rem!important}.nav-spacer{flex:1}.nav-profile{margin-left:auto}.nav a,.nav button{border-radius:7px!important}.nav a.active{background:#ffffff12!important;color:#fff!important}.page-logo{display:none!important}
/* PWA/notifiche: nessun messaggio sul desktop */
@media(min-width:801px){.install-app,.push-box,.ios-install-help{display:none!important}}
/* Login */
.login-card-v2{max-width:480px!important;margin:4rem auto!important;padding:2rem!important;text-align:left}.login-brand{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin-bottom:1.2rem;color:#fff;font-size:1.25rem;letter-spacing:.05em}.login-brand img{width:62px;height:62px}.login-card-v2 h1{text-align:center;margin-bottom:.25rem}.login-subtitle{text-align:center;color:var(--muted);margin-top:0;margin-bottom:1.5rem}.password-entry{position:relative;display:block}.password-entry input{padding-right:3.1rem}.password-eye{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.35rem;height:2.35rem;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#fff;cursor:pointer;font-size:1rem}.remember-login{display:flex!important;align-items:center!important;gap:.55rem!important;grid-column:1/-1!important;grid-template-columns:auto 1fr!important}.remember-login input{width:17px!important;height:17px!important;margin:0!important}.remember-login span{color:var(--muted)}.login-card-v2 .button{min-height:46px}.login-card-v2 .auth-link{text-align:center;margin-bottom:0}
/* Admin: giornata e squadra raggruppate */
.admin-lineup-filters{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(220px,1fr);gap:1rem;margin:1rem 0 1.4rem;padding:1rem;border:1px solid #cdd5df;border-radius:13px;background:#f7f9fc}.admin-lineup-filters label{color:#30394a}.admin-lineup-filters select{background:#fff!important;color:#202b3b!important;border-color:#c8d1dd!important}
/* Formazioni inviate desktop: modulo leggero e data leggibile */
.page-formazioni .submitted-lineups .badge{padding:.18rem .46rem!important;border:1px solid #cfd4dd!important;background:#f1f3f6!important;color:#4a5261!important;font-size:.68rem!important;font-weight:650!important;box-shadow:none!important}.page-formazioni .submitted-lineups .muted{color:#fff!important;opacity:.84!important;font-size:.68rem!important}.page-formazioni .formation-live-meta,.page-formazioni .formation-live-meta .badge{font-weight:500!important}.page-formazioni .formation-live-meta small{color:#fff!important}
/* Footer */
.site-footer-v2{display:grid!important;grid-template-columns:1fr auto auto;align-items:center;gap:1.4rem;margin-top:3rem!important;padding:1.4rem 1.6rem!important;border-top:1px solid #285477!important;background:linear-gradient(90deg,#061a2d,#092b49)!important;text-align:left!important}.site-footer-v2 .site-footer__identity{display:flex;align-items:center;gap:.7rem}.site-footer-v2 .site-footer__identity img{width:44px;height:44px}.site-footer-v2 .site-footer__identity span{display:grid}.site-footer-v2 .site-footer__identity strong{color:#fff;letter-spacing:.05em}.site-footer-v2 .site-footer__identity small{color:#9eb0c6}.site-footer-v2 .site-footer__legal{color:#b7c6d6}.site-footer-v2 .site-footer__version{white-space:nowrap}
@media(max-width:800px){.brand-v2 img{width:34px;height:34px}.brand-v2{font-size:1rem!important}.nav{width:auto;margin-left:auto!important}.nav-spacer{display:none}.nav-profile{margin-left:0}.admin-lineup-filters{grid-template-columns:1fr}.site-footer-v2{grid-template-columns:1fr;text-align:center!important}.site-footer-v2 .site-footer__identity{justify-content:center}.login-card-v2{margin:1rem auto!important;padding:1.2rem!important}}


/* V2.1 - rifiniture richieste */
/* Menu desktop tutto a destra, vicino a Profilo / Esci */
@media(min-width:801px){
  .site-header .nav{width:auto!important;margin-left:auto!important;justify-content:flex-end!important;gap:.08rem!important}
  .site-header .nav-spacer{display:none!important}
  .site-header .nav-profile{margin-left:.7rem!important;border-left:1px solid rgba(255,255,255,.18)!important;padding-left:1rem!important}
  .site-header .nav a,.site-header .nav button{font-size:.84rem!important;padding:.62rem .62rem!important}
  /* Sul computer non mostrare nessun comando/informazione PWA o push */
  #push-box,.push-box,#enable-push,#push-status,#install-app,.install-app,.desktop-pwa-hidden,.ios-install-help{display:none!important;visibility:hidden!important}
}
@media(pointer:fine) and (min-width:700px){#push-box,.push-box,#install-app,.install-app,.ios-install-help{display:none!important}}

/* Nuovo marchio Lega L.O.F.E. - monogramma originale, senza vecchio slogan */
.brand-v2{gap:.72rem!important;letter-spacing:0!important;text-transform:none!important}
.brand-v2 strong{font-size:1.08rem!important;font-weight:750!important;letter-spacing:.025em!important;white-space:nowrap}
.lofe-mark{width:46px;height:46px;flex:0 0 46px;display:flex;align-items:center;justify-content:center;gap:1px;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:radial-gradient(circle at 35% 28%,#287fc4,#0b3157 68%);box-shadow:inset 0 0 0 3px rgba(255,255,255,.10),0 2px 8px rgba(0,0,0,.22);color:#fff;font-style:normal}
.lofe-mark b{font-size:.61rem;line-height:1;font-weight:900}.lofe-mark i{font-size:.43rem;line-height:1;font-style:normal;opacity:.8}
.lofe-mark-footer{width:44px;height:44px;flex-basis:44px}
.site-footer-v2 .site-footer__identity .lofe-mark{width:44px!important;height:44px!important}

/* Formazioni inviate: intestazione blu più leggera */
.page-formazioni .submitted-lineups .lineup-team-title span,
.page-formazioni .formation-team-identity>span{font-weight:600!important;letter-spacing:.01em!important}
.page-formazioni .submitted-lineups .lineup-sheet>h3{font-weight:600!important;letter-spacing:.025em!important;text-transform:none!important}
.page-formazioni .formation-live-meta,
.page-formazioni .formation-live-meta .badge{font-weight:400!important;opacity:.92!important}
.page-formazioni .submitted-lineups .submitted-players strong{font-weight:600!important}
.page-formazioni .submitted-lineups .badge{font-weight:500!important}

@media(max-width:800px){
 .lofe-mark{width:38px;height:38px;flex-basis:38px}.lofe-mark b{font-size:.52rem}.lofe-mark i{font-size:.35rem}
 .brand-v2 strong{font-size:.92rem!important}
}

/* ===== V2.3 - Hero Presidente compatto ===== */
@media (min-width: 769px) {
  .lofe-president-hero {
    position:relative; min-height:150px; margin:0 0 18px; overflow:hidden;
    border:0; border-radius:0;
    background:url('legalofe-stadium-hero.jpg') center center/cover no-repeat;
    box-shadow:0 8px 22px rgba(0,0,0,.22);
  }
  .lofe-president-hero__shade {position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,17,34,.55),rgba(2,20,39,.05) 52%,rgba(2,17,34,.35));}
  .lofe-president-hero__content {position:relative;z-index:2;min-height:150px;display:flex;flex-direction:column;justify-content:center;padding:18px 48px;color:#fff;}
  .lofe-president-hero__content h1 {margin:0 0 2px;font-size:30px;line-height:1.08;font-weight:700;color:#fff;}
  .lofe-president-hero__content .lofe-hero-tagline {margin:0 0 9px;font-size:17px;line-height:1.25;color:#fff;}
  .lofe-president-hero__content .lofe-hero-season {display:flex;align-items:center;gap:18px;margin:0;font-size:13px;color:#f2f7fc;}
  .lofe-hero-season span {display:block;width:40px;height:3px;background:#fff;border-radius:3px;}
  .lofe-president-hero__quote {position:absolute;z-index:2;right:48px;top:50%;transform:translateY(-50%);text-align:right;font-size:17px;line-height:1.35;font-style:italic;color:#fff;}
  .lofe-president-hero__quote span {display:block;width:40px;height:3px;margin:11px 0 0 auto;background:#fff;border-radius:3px;}
  .home-old-dashboard .welcome-president {display:none!important;}
}
@media (max-width:768px){.lofe-president-hero{display:none!important;}}

/* ===== V2.7 - Hero a tutta larghezza + presidente collegato ===== */
@media (min-width:769px){
  .lofe-president-hero{
    width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    min-height:190px!important;
    margin-top:0!important;
    margin-bottom:18px!important;
    background-image:url('legalofe-stadium-hero.jpg')!important;
    background-position:center center!important;
    background-size:cover!important;
    border-radius:0!important;
  }
  .lofe-president-hero__shade{background:linear-gradient(90deg,rgba(2,17,34,.60),rgba(2,20,39,.04) 48%,rgba(2,17,34,.42))!important}
  .lofe-president-hero__content{min-height:190px!important;padding-left:max(48px,calc((100vw - 1280px)/2 + 24px))!important;padding-right:48px!important}
  .lofe-president-hero__content h1{font-size:28px!important;font-weight:700!important;margin:0 0 3px!important}
  .lofe-president-hero__content .lofe-hero-user{margin:0 0 9px!important;color:#fff!important;font-size:20px!important;line-height:1.15!important;font-weight:600!important}
  .lofe-president-hero__content .lofe-hero-season{font-size:13px!important}
  .lofe-president-hero__quote{right:max(48px,calc((100vw - 1280px)/2 + 24px))!important;font-size:17px!important}
  /* Il vecchio riquadro di benvenuto nei contenuti resta nascosto: il saluto è già nell'hero. */
  .home-old-dashboard .welcome-president{display:none!important}
}

/* ===== V2.8 - Tema blu globale Legalofe ===== */
:root{--lofe-bg:#03182a;--lofe-bg2:#05223a;--lofe-panel:#062a47;--lofe-panel2:#083657;--lofe-line:#0d5b8d;--lofe-text:#f4f8fc;--lofe-muted:#b7c8d8;--lofe-accent:#168cff}
html,body{background:#05243c!important;color:var(--lofe-text)!important}
.container{width:min(1080px,94%)!important;background:transparent!important}
.card,.home-box,.table-wrap,.roster-heading,.page-logo,.lineup-sheet,.profile-card,.admin-card{background:linear-gradient(145deg,rgba(7,43,72,.98),rgba(3,28,49,.98))!important;border-color:rgba(24,140,210,.48)!important;color:var(--lofe-text)!important;box-shadow:0 7px 18px rgba(0,0,0,.20)!important}
table,.table-wrap table{background:#05243c!important;color:var(--lofe-text)!important}
thead th,th{background:#073353!important;color:#fff!important;border-color:#174b6b!important}
td{border-color:rgba(80,139,177,.25)!important;color:#edf5fb!important}
tbody tr:nth-child(even){background:rgba(255,255,255,.025)!important}tbody tr:hover{background:rgba(22,140,255,.09)!important}
.muted,.empty,small{color:var(--lofe-muted)}
input,select,textarea{background:#031d32!important;border-color:#24536f!important;color:#fff!important}
.tabs a,.team-tabs a{background:#062b48!important;border-color:#174f73!important;color:#dceaf5!important}.tabs a.active,.team-tabs a.active{background:#168cff!important;color:#fff!important}
.button,button.button{background:#087ff0!important;color:#fff!important;border-color:#168cff!important}.button.secondary{background:#0a3452!important;color:#fff!important;border-color:#245b7e!important}

/* Home: lo stadio parte immediatamente sotto il menu. */
@media(min-width:769px){
 body.page-home .container{margin-top:0!important}
 .lofe-president-hero{margin-top:0!important;margin-bottom:14px!important}
 .home-main,.home-old-dashboard,.home-live{background:transparent!important}
 .home-live-selector>a,.home-results a,.next-turn-list a,.mini-standing>div,.top-flop-grid>div,.deadline-box,.next-calendar-matches>a{background:linear-gradient(145deg,#073150,#05243d)!important;border-color:#145f8d!important;color:#fff!important}
 .home-live-footer,.next-calendar-matches,.old-calendar-date{background:#062842!important;color:#dce9f3!important}
}

/* Rimuove i fondi bianchi del vecchio tema anche nelle altre pagine. */
.page-logo,.hero,.roster-heading,.deadline-box,.lineup-opponent,.submitted-lineups .submitted-players>div,.submitted-lineups .lineup-sheet[data-live-header="ready"],.calendar-match,.team-tabs a,.tabs a{background-color:#062842!important;background-image:linear-gradient(145deg,#073150,#05243d)!important;color:#fff!important}
.roster-heading h2,.roster-heading span,.roster-heading small,.calendar-team span,.submitted-lineups .submitted-players strong,.submitted-lineups .submitted-players small{color:#eef6fc!important}
.calendar-match{border-color:#145f8d!important}.calendar-match::after{background:rgba(22,140,255,.08)!important}
.standings-table tbody tr.ranking-winner{background:rgba(31,174,92,.18)!important}.standings-table tbody tr.ranking-bottom{background:rgba(230,57,70,.18)!important}

@media(max-width:800px){.container{width:min(94%,700px)!important}}

/* ===== V2.9 - Home: leggibilità e tabelle compatte ===== */
@media (min-width:769px){
  /* Parte centrale più leggibile e bilanciata */
  body.page-home .home-old-dashboard{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:12px!important;
  }
  body.page-home .home-main-column,
  body.page-home .home-side-column{gap:12px!important}
  body.page-home .home-box{
    background:linear-gradient(145deg,#072d4b 0%,#041f35 100%)!important;
    border:1px solid #0d5f92!important;
    color:#f5f9fd!important;
  }
  body.page-home .home-box h2,
  body.page-home .home-box strong,
  body.page-home .home-box span,
  body.page-home .home-box b{color:#f5f9fd}
  body.page-home .home-box>header span,
  body.page-home .home-box>header a{color:#69c2ff!important}

  /* LIVE: elimina l'alone/cerchio esterno, resta solo il punto rosso */
  body.page-home .live-dot{
    width:9px!important;height:9px!important;border-radius:50%!important;
    background:#ff3b46!important;box-shadow:none!important;border:0!important;
  }

  /* Invio formazione: maggiore contrasto, senza pulsante nella Home */
  body.page-home .deadline-box{padding:14px 16px!important}
  body.page-home .deadline-box h2{color:#fff!important}
  body.page-home .deadline-box>strong{color:#ffd166!important;font-weight:800!important}
  body.page-home .deadline-box>small{color:#dce9f4!important;opacity:1!important;margin-bottom:0!important}
  body.page-home .deadline-box .button{display:none!important}

  /* Prossimo turno e Classifica: il contenuto usa tutta la larghezza del riquadro */
  body.page-home .home-side-column .next-turn-list,
  body.page-home .home-side-column .mini-standing{
    margin-left:-1rem!important;margin-right:-1rem!important;margin-bottom:-1rem!important;
    width:calc(100% + 2rem)!important;
  }
  body.page-home .home-side-column .next-turn-list a{
    padding:.48rem 1rem!important;
    grid-template-columns:minmax(0,1fr) 24px auto 24px minmax(0,1fr)!important;
    column-gap:.38rem!important;
  }
  body.page-home .home-side-column .mini-standing>div{
    padding:.38rem 1rem!important;
    grid-template-columns:minmax(0,1fr) repeat(4,32px)!important;
    column-gap:.35rem!important;
  }
  body.page-home .home-side-column .mini-standing-head>span{padding-left:42px!important}

  /* Risultati: righe più chiare e meno vuoto laterale */
  body.page-home .home-results{margin:0 -1rem -1rem!important;width:calc(100% + 2rem)!important}
  body.page-home .home-results a{padding:.55rem 1rem!important}
}

@media (max-width:768px){
  body.page-home .live-dot{box-shadow:none!important;border:0!important}
  body.page-home .deadline-box h2{color:#fff!important}
  body.page-home .deadline-box>strong{color:#ffd166!important}
  body.page-home .deadline-box>small{color:#dce9f4!important}
  body.page-home .deadline-box .button{display:none!important}
}


/* ===== V2.10 / V30 - Logo LF, Live pulito, Home più ariosa ===== */
.brand-v2{display:flex!important;align-items:center!important;gap:0!important}
.brand-v2 .lofe-logo-img{display:block!important;width:178px!important;height:64px!important;max-width:none!important;object-fit:contain!important;box-shadow:none!important;border:0!important}
.site-footer__identity .lofe-logo-img{display:block!important;width:156px!important;height:auto!important;box-shadow:none!important;border:0!important}

@media (min-width:769px){
  /* Più respiro al centro: blocchi Home leggermente più stretti e centrati */
  body.page-home .home-live-desktop,
  body.page-home .home-old-dashboard{width:94%!important;margin-left:auto!important;margin-right:auto!important}

  /* LIVE: testo molto leggibile, nessun bordo/riquadro oro o giallo */
  body.page-home .home-live,
  body.page-home .home-live-heading,
  body.page-home .home-live-heading h2,
  body.page-home .home-live-heading a{border-color:#126da5!important;outline:0!important;box-shadow:none!important}
  body.page-home .home-live-heading h2{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.55)!important}
  body.page-home .home-live-heading>a{color:#6dccff!important;font-weight:800!important;background:transparent!important;border:0!important;text-decoration:none!important}
  body.page-home .home-live-heading>a:hover{color:#fff!important}
  body.page-home .live-dot{background:#16d778!important;border:0!important;outline:0!important;box-shadow:none!important}
  body.page-home .home-live-selector>a{border:1px solid #145f8d!important;outline:0!important;box-shadow:none!important}
  body.page-home .home-live-selector>a:hover{border-color:#2a9ee8!important;background:linear-gradient(145deg,#0a3a5d,#062b48)!important}

  /* Tabelle laterali più compatte senza togliere spazio ai nomi */
  body.page-home .home-side-column .next-turn-list a{font-size:.91rem!important;padding:.42rem .8rem!important}
  body.page-home .home-side-column .mini-standing>div{font-size:.90rem!important;padding:.34rem .8rem!important}
}

@media(max-width:768px){
  .brand-v2 .lofe-logo-img{width:142px!important;height:auto!important}
  .site-footer__identity .lofe-logo-img{width:135px!important}
  body.page-home .home-live-heading h2{color:#fff!important}
  body.page-home .home-live-heading>a,.home-live-footer a{color:#6dccff!important;font-weight:800!important}
  body.page-home .live-dot{background:#16d778!important;box-shadow:none!important;border:0!important}
}

/* V3.25: blu notte originale, alleggerito e meno intenso. */
html,
html body,
html body[class],
body.page-home{
  background:linear-gradient(145deg,#0c283d 0%,#16374d 52%,#0e2b40 100%) fixed!important;
}


/* V65 - sfondo generale uniforme: usa il tono chiaro gia presente nel tema. */
html,
html body,
html body[class],
body.page-home{
  background:#16374d!important;
  background-image:none!important;
}
@media(max-width:800px){
  html,html body,html body[class],body.page-home{
    background:#16374d!important;
    background-image:none!important;
  }
}


/* ===== SOURCE: legalofe-column-headings.css ===== */
/* Colore unico per le sole intestazioni del sito. Caricato per ultimo. */
:root{--lofe-column-heading:#082c47;--lofe-column-heading-line:#1b4966}

/* Blu notte generale meno intenso rispetto al tema originale. */
html,
html body,
body.page-home{
  background:linear-gradient(145deg,#153247 0%,#1f4257 52%,#18364b 100%)!important;
  background-attachment:fixed!important;
}

table thead th,
.standings-table thead tr:first-child th{
  background:var(--lofe-column-heading)!important;
  border-color:var(--lofe-column-heading-line)!important;
  color:#fff!important;
}

.page-context-heading,
.standings-title-card{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.page-context-heading>header,
.standings-title-card>header{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.home-box>header,
.next-calendar-round:not(.page-context-heading):not(.standings-title-card)>header,
.old-calendar-card>header,
.live-team>header,
.submitted-lineups .lineup-team-title,
.submitted-lineups .lineup-sheet>h3,
.player-profile-card>header,
.mobile-versus-header,
.lineup-counter,
.match-round,
.selection-divider{
  background:var(--lofe-column-heading)!important;
  border-color:var(--lofe-column-heading-line)!important;
  color:#fff!important;
}

.page-context-heading>header strong,
.standings-title-card>header strong{
  color:#edf2f6!important;
  font-weight:600!important;
  text-shadow:none!important;
}

.page-context-heading>header span,
.standings-title-card>header span{
  color:#c8d4de!important;
  font-weight:600!important;
  text-shadow:none!important;
}

.page-context-heading>header small,
.standings-title-card>header small{
  color:#b8c7d3!important;
  font-weight:400!important;
  text-shadow:none!important;
}

/* Calendario: prossimo turno più leggero e partite chiare con testo scuro. */
.page-calendario .next-calendar-round:not(.page-context-heading)>header span{
  color:#c8d4de!important;
  font-weight:550!important;
  text-shadow:none!important;
}

.page-calendario .next-calendar-round:not(.page-context-heading)>header strong{
  color:#edf2f6!important;
  font-weight:550!important;
  text-shadow:none!important;
}

.page-calendario .next-calendar-round:not(.page-context-heading)>header small{
  color:#b8c7d3!important;
  font-weight:400!important;
  text-shadow:none!important;
}

.page-calendario .next-calendar-matches{
  gap:1px!important;
  padding:1px!important;
  border-top:1px solid #dce3eb!important;
  background:#dce3eb!important;
}

.page-calendario .next-calendar-matches>a{
  border:0!important;
  border-radius:0!important;
  background:#f6f9fb!important;
  color:#111820!important;
  box-shadow:none!important;
}

.page-calendario .next-calendar-round:not(.page-context-heading),
.page-calendario .old-calendar-card{
  border:1px solid #185884!important;
  border-radius:14px!important;
  box-shadow:none!important;
}

.page-calendario .old-calendar-card>header{
  border-bottom:1px solid rgba(110,197,233,.42)!important;
}

.page-calendario .old-calendar-date{
  border-bottom:0!important;
}

.page-calendario .old-calendar-games>a{
  border-bottom:1px solid #dce3eb!important;
}

.page-calendario .old-calendar-games>a:last-child{
  border-bottom:0!important;
}

.page-calendario .next-calendar-matches>a span{
  color:#111820!important;
  font-weight:500!important;
}

.page-calendario .next-calendar-matches>a b{
  background:#edf1f4!important;
  color:#111820!important;
  font-weight:500!important;
  letter-spacing:0!important;
}

/* Calendario: punteggi meno marcati nelle giornate. */
.page-calendario .old-calendar-games a b,
.page-calendario .calendar-score{
  font-weight:550!important;
  letter-spacing:0!important;
}

/* Classifica: stesso bordo esterno azzurro dei riquadri della Home. */
.page-classifica .standings-wrap{
  border:1px solid #185884!important;
  border-radius:14px!important;
  box-shadow:none!important;
}

.page-classifica .standings-table thead th{
  border-color:#7893a7!important;
}

.page-classifica .standings-table tbody td{
  border-right:0!important;
  border-bottom:1px solid #dce3eb!important;
}

.page-classifica .standings-table tbody tr:last-child>td{
  border-bottom:0!important;
}

.page-classifica .standings-table tbody tr:not(.ranking-winner):not(.ranking-bottom):nth-child(odd)>td{
  background:#f6f9fb!important;
}

.page-classifica .standings-table tbody tr:not(.ranking-winner):not(.ranking-bottom):nth-child(even)>td{
  background:#e7eef3!important;
}

/* Gli stacchi tra MI e Totali restano sottili e coerenti. */
.page-classifica .standings-table thead tr:last-child>:nth-child(14),
.page-classifica .standings-table tbody tr>:nth-child(14),
.page-classifica .standings-table thead tr:last-child>:nth-child(21),
.page-classifica .standings-table tbody tr>:nth-child(21){
  border-left-color:#b8c7d3!important;
  border-right-color:#b8c7d3!important;
}

/* Home: righe alternate come nel prospetto di riferimento. */
body.page-home .home-results>a:nth-child(odd),
body.page-home .home-topflop-columns>div>.home-player-row:nth-of-type(odd),
body.page-home .home-scorers-table>.home-scorer-row:nth-child(odd){
  background:#fff!important;
  color:#17283b!important;
}

body.page-home .home-results>a:nth-child(even),
body.page-home .home-topflop-columns>div>.home-player-row:nth-of-type(even),
body.page-home .home-scorers-table>.home-scorer-row:nth-child(even){
  background:#eef3f7!important;
  color:#17283b!important;
}

/* Cannonieri: specificità maggiore rispetto alle card dei calciatori. */
body.page-home .home-box.home-scorers-box .home-scorers-table>.home-scorer-row.home-player-row-card:nth-child(odd){
  background:#fff!important;
  color:#17283b!important;
}

body.page-home .home-box.home-scorers-box .home-scorers-table>.home-scorer-row.home-player-row-card:nth-child(even){
  background:#eef3f7!important;
  color:#17283b!important;
}

/* Componente condiviso: card partita Home + Calendario desktop.
   Centralizza i valori senza modificare la resa grafica approvata. */
:root{
  --lofe-match-grid-gap:.75rem;
  --lofe-match-grid-bg:#0f3147;
  --lofe-match-card-min-h:100px;
  --lofe-match-card-border:#2b6d93;
  --lofe-match-card-border-hover:#59617e;
  --lofe-match-card-radius:10px;
  --lofe-match-card-bg:linear-gradient(145deg,#fff 0%,#f1f5f8 100%);
  --lofe-match-card-text:#1f2435;
  --lofe-match-card-shadow:0 3px 9px rgba(1,28,45,.16);
  --lofe-match-team-font:.66rem;
  --lofe-match-logo-size:32px;
  --lofe-match-score-width:44px;
  --lofe-match-score-height:32px;
  --lofe-match-score-bg:#2d334c;
  --lofe-match-score-font:.76rem;
}

/* Home Live e Calendario: card nello stesso stile del selettore Live. */
body.page-home .home-live-selector,
.page-calendario .next-calendar-matches{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:var(--lofe-match-grid-gap)!important;
  padding:.8rem!important;
  background:transparent!important;
  border-top:0!important;
}

.page-calendario .next-calendar-matches{
  background:var(--lofe-match-grid-bg)!important;
}

body.page-home .home-live-selector{
  border-radius:0 0 14px 14px!important;
  background:var(--lofe-match-grid-bg)!important;
}

body.page-home .home-live{
  overflow:hidden!important;
  background:var(--lofe-match-grid-bg)!important;
}

body.page-home .home-live-selector>a,
.page-calendario .next-calendar-matches>a{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  grid-template-areas:
    'home score'
    'away score'!important;
  align-items:center!important;
  column-gap:.55rem!important;
  row-gap:.2rem!important;
  min-height:var(--lofe-match-card-min-h)!important;
  padding:1.55rem .62rem .55rem!important;
  border:1px solid var(--lofe-match-card-border)!important;
  border-radius:var(--lofe-match-card-radius)!important;
  background:var(--lofe-match-card-bg)!important;
  color:var(--lofe-match-card-text)!important;
  box-shadow:var(--lofe-match-card-shadow)!important;
  text-align:left!important;
  text-decoration:none!important;
  transition:transform .22s ease-out,background .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}

body.page-home .home-live-selector>a::before,
.page-calendario .next-calendar-matches>a::before{
  content:'PROVVISORIO';
  position:absolute;
  top:.5rem;
  left:.62rem;
  color:#686b76;
  font-size:.55rem;
  font-weight:700;
  letter-spacing:.1em;
}

body.page-home .home-live-selector>a>span,
.page-calendario .next-calendar-matches>a>span{
  display:flex!important;
  grid-area:home;
  min-width:0!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.4rem!important;
  color:var(--lofe-match-card-text)!important;
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif!important;
  font-size:var(--lofe-match-team-font)!important;
  font-weight:550!important;
  line-height:1!important;
  text-align:left!important;
  white-space:nowrap!important;
  text-rendering:optimizeLegibility;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

body.page-home .home-live-selector>a>span:last-of-type,
.page-calendario .next-calendar-matches>a>span:last-of-type{
  grid-area:away;
  flex-direction:row!important;
  justify-content:flex-start!important;
  text-align:left!important;
}

body.page-home .home-live-selector>a>span strong{
  color:inherit!important;
  font-size:inherit!important;
  font-weight:500!important;
  line-height:inherit!important;
}

body.page-home .home-live-selector img,
.page-calendario .next-calendar-matches img{
  width:var(--lofe-match-logo-size)!important;
  height:var(--lofe-match-score-height)!important;
  flex:0 0 var(--lofe-match-logo-size)!important;
  object-fit:contain!important;
}

body.page-home .home-live-selector>a>b,
.page-calendario .next-calendar-matches>a>b{
  display:grid!important;
  grid-area:score;
  place-items:center!important;
  align-self:center!important;
  min-width:var(--lofe-match-score-width)!important;
  height:var(--lofe-match-score-height)!important;
  padding:0 .3rem!important;
  border-radius:7px!important;
  background:var(--lofe-match-score-bg)!important;
  color:#fff!important;
  font-size:var(--lofe-match-score-font)!important;
  font-weight:600!important;
}

body.page-home .home-live-selector>a:hover,
.page-calendario .next-calendar-matches>a:hover{
  border-color:var(--lofe-match-card-border-hover)!important;
  transform:translateY(-2px);
}

@media(hover:hover){
  body.page-home .home-live-selector>a:hover{
    border-color:#3c789a!important;
    background:linear-gradient(145deg,#f8fafb,#e9eff3)!important;
    box-shadow:0 7px 15px rgba(1,28,45,.2)!important;
    transform:translateY(-3px)!important;
  }

  body.page-home .home-live-selector>a:hover::before,
  body.page-home .home-live-selector>a:hover>span{
    color:var(--lofe-match-card-text)!important;
  }

  body.page-home .home-live-selector>a:hover>span strong{
    color:var(--lofe-match-card-text)!important;
  }
}

body.page-home .home-live-selector>a:focus-visible{
  border-color:#3c789a!important;
  outline:2px solid rgba(174,181,191,.55)!important;
  outline-offset:2px!important;
  background:linear-gradient(145deg,#f8fafb,#e9eff3)!important;
  transform:translateY(-2px)!important;
}

body.page-home .home-live-selector>a:focus-visible::before,
body.page-home .home-live-selector>a:focus-visible>span{
  color:var(--lofe-match-card-text)!important;
}

body.page-home .home-live-selector>a:focus-visible>span strong{
  color:var(--lofe-match-card-text)!important;
}

/* Live e Formazioni inviate: stesso selettore compatto di Home e Calendario. */
.page-live .live-selector,
.page-formazioni .match-selector{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:.75rem!important;
}

.page-live .live-selector>a,
.page-formazioni .match-selector>a{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  grid-template-areas:
    'home score'
    'away score'!important;
  align-items:center!important;
  column-gap:.55rem!important;
  row-gap:.2rem!important;
  min-height:100px!important;
  padding:1.55rem .62rem .55rem!important;
  border:1px solid #2b6d93!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,#fff 0%,#f1f5f8 100%)!important;
  color:#1f2435!important;
  box-shadow:0 3px 9px rgba(1,28,45,.16)!important;
  text-align:left!important;
  transition:transform .22s ease-out,background .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}

.page-live .live-selector>a>small,
.page-formazioni .match-selector>a>small{
  top:.5rem!important;
  right:auto!important;
  left:.62rem!important;
  color:#686b76!important;
  font-size:.55rem!important;
  font-weight:700!important;
  letter-spacing:.1em!important;
}

.page-live .live-selector>a>.match-team,
.page-formazioni .match-selector>a>.match-team{
  display:flex!important;
  grid-area:home;
  min-width:0!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.4rem!important;
  color:#1f2435!important;
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif!important;
  font-size:.66rem!important;
  font-weight:550!important;
  line-height:1!important;
  text-align:left!important;
  white-space:nowrap!important;
}

.page-live .live-selector>a>.match-team:last-of-type,
.page-formazioni .match-selector>a>.match-team:last-of-type{
  grid-area:away;
}

.page-live .live-selector .match-team>span,
.page-formazioni .match-selector .match-team>span{
  color:#1f2435!important;
  font-size:inherit!important;
  font-weight:600!important;
  line-height:inherit!important;
  white-space:nowrap!important;
}

.page-live .live-selector .match-team img,
.page-formazioni .match-selector .match-team img{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  object-fit:contain!important;
}

.page-live .live-selector>a>b,
.page-formazioni .match-selector>a>b{
  display:grid!important;
  grid-area:score;
  place-items:center!important;
  align-self:center!important;
  width:auto!important;
  min-width:44px!important;
  height:32px!important;
  padding:0 .3rem!important;
  border-radius:7px!important;
  background:#2d334c!important;
  color:#fff!important;
  font-size:.76rem!important;
  font-weight:600!important;
}

.page-live .live-selector>a.active,
.page-formazioni .match-selector>a.active{
  border-color:#2b6d93!important;
  background:linear-gradient(145deg,#f4f8fa,#dde9f0)!important;
  color:#1f2435!important;
  box-shadow:0 0 0 2px rgba(43,109,147,.18),0 5px 12px rgba(1,28,45,.18)!important;
}

.page-live .live-selector>a.active>small,
.page-formazioni .match-selector>a.active>small,
.page-live .live-selector>a.active .match-team>span,
.page-formazioni .match-selector>a.active .match-team>span{
  color:#1f2435!important;
}

@media(hover:hover){
  .page-live .live-selector>a:hover,
  .page-formazioni .match-selector>a:hover{
    border-color:#3c789a!important;
    background:linear-gradient(145deg,#f8fafb,#e9eff3)!important;
    box-shadow:0 7px 15px rgba(1,28,45,.2)!important;
    transform:translateY(-3px)!important;
  }

  .page-live .live-selector>a:hover>small,
  .page-formazioni .match-selector>a:hover>small,
  .page-live .live-selector>a:hover .match-team>span,
  .page-formazioni .match-selector>a:hover .match-team>span{
    color:#1f2435!important;
  }
}

@media(max-width:1050px){
  body.page-home .home-live-selector,
  .page-calendario .next-calendar-matches,
  .page-live .live-selector,
  .page-formazioni .match-selector{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:700px){
  body.page-home .home-live-selector,
  .page-calendario .next-calendar-matches,
  .page-live .live-selector,
  .page-formazioni .match-selector{
    grid-template-columns:1fr!important;
    gap:.42rem!important;
  }

  body.page-home .home-live-selector>a,
  .page-calendario .next-calendar-matches>a,
  .page-live .live-selector>a,
  .page-formazioni .match-selector>a{
    min-height:96px!important;
    padding:1.55rem .65rem .55rem!important;
  }
}

/* Rose: foto calciatore e righe alternate come nelle tabelle Home. */
.page-rose .roster-table tbody tr.roster-row-odd>td{
  background:#fff!important;
  color:#17283b!important;
}

.page-rose .roster-table tbody tr.roster-row-even>td{
  background:#eef3f7!important;
  color:#17283b!important;
}

.page-rose .roster-player-identity{
  display:flex;
  align-items:center;
  gap:.65rem;
  min-width:0;
}

.page-rose .roster-player-face{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:1px solid #d5dee6;
  border-radius:50%;
  background:#eef2f5;
  object-fit:cover;
}

.page-rose .roster-player-identity strong{
  color:#17283b!important;
  font-weight:550!important;
}

.page-rose .player-profile-card>header h3{
  color:#fff!important;
}

/* Bordo unico delle tabelle: blu petrolio campionato dal riferimento. */
:root{
  --lofe-table-border:#185884;
  --lofe-table-border-soft:rgba(24,88,132,.42);
  --lofe-table-shadow:0 4px 12px rgba(0,0,0,.16);
}

.table-wrap,
.standings-wrap,
.page-classifica .standings-wrap,
.page-calendario .next-calendar-round:not(.page-context-heading),
.page-calendario .old-calendar-card,
body.page-home .home-box:has(.home-results),
body.page-home .home-box:has(.home-topflop-columns),
body.page-home .home-box:has(.mini-standing),
body.page-home .home-box:has(.next-turn-list),
body.page-home .home-box.home-scorers-box{
  border:1px solid var(--lofe-table-border)!important;
  box-shadow:var(--lofe-table-shadow)!important;
}

table thead th,
table tbody td,
.standings-table thead th,
.standings-table tbody td,
.page-classifica .standings-table thead th,
.page-classifica .standings-table tbody td{
  border-color:var(--lofe-table-border-soft)!important;
}

body.page-home .home-results>a,
body.page-home .home-topflop-columns>div>.home-player-row,
body.page-home .home-scorers-table>.home-scorer-row,
body.page-home .mini-standing>div,
body.page-home .next-turn-list>a,
.page-calendario .old-calendar-card>header,
.page-calendario .old-calendar-games>a{
  border-color:var(--lofe-table-border-soft)!important;
}

/* Mantiene sottili anche gli stacchi MI/Totali della classifica. */
.page-classifica .standings-table thead tr:last-child>:nth-child(14),
.page-classifica .standings-table tbody tr>:nth-child(14),
.page-classifica .standings-table thead tr:last-child>:nth-child(21),
.page-classifica .standings-table tbody tr>:nth-child(21){
  border-left-color:var(--lofe-table-border-soft)!important;
  border-right-color:var(--lofe-table-border-soft)!important;
}

/* Home: stesso bordo e stessa ombra su ogni colonna/riquadro. */
body.page-home .home-box,
body.page-home .home-live-desktop{
  border:1px solid var(--lofe-table-border)!important;
  box-shadow:var(--lofe-table-shadow)!important;
}

/* Prevale sulle regole molto specifiche del tema Home. */
html body.page-home main.container .home-box.home-box,
html body.page-home main.container .home-live.home-live-desktop{
  border:1px solid var(--lofe-table-border)!important;
  box-shadow:var(--lofe-table-shadow)!important;
}

/* Invia formazione: stessi bordi petrolio delle tabelle del sito. */
html body.page-formazione main.container .lineup-counter,
html body.page-formazione main.container .lineup-opponent,
html body.page-formazione main.container .lineup-builder>.roster-panel,
html body.page-formazione main.container .lineup-builder>.selected-panel,
html body.page-formazione main.container .admin-lineup-filters,
html body.page-formazione main.container .mobile-module-choice,
html body.page-formazione main.container .mobile-lineup-section{
  border:1px solid var(--lofe-table-border)!important;
  box-shadow:var(--lofe-table-shadow)!important;
}

html body.page-formazione main.container .roster-player{
  border-color:var(--lofe-table-border-soft)!important;
}

html body.page-formazione main.container .selected-player{
  border-top-color:var(--lofe-table-border-soft)!important;
  border-right-color:var(--lofe-table-border-soft)!important;
  border-bottom-color:var(--lofe-table-border-soft)!important;
}

html body.page-formazione main.container .roster-role h3,
html body.page-formazione main.container .lineup-submit,
html body.page-formazione main.container .mobile-lineup-section h2{
  border-color:var(--lofe-table-border-soft)!important;
}

html body.page-formazione main.container .round-summary,
html body.page-formazione main.container .player-lofe-summary,
html body.page-formazione main.container .player-lofe-stats{
  border-color:var(--lofe-table-border-soft)!important;
}

/* Invia formazione: incontro su fondo bianco con testi neri. */
html body.page-formazione main.container .lineup-opponent{
  overflow:hidden!important;
  padding:.65rem 0 0!important;
  background:#fff!important;
  background-image:none!important;
  color:#111820!important;
}

html body.page-formazione main.container .lineup-opponent>small,
html body.page-formazione main.container .lineup-opponent span{
  color:#111820!important;
}

html body.page-formazione main.container .lineup-opponent>small{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0 .75rem .55rem!important;
  background:#fff!important;
  color:#111820!important;
}

html body.page-formazione main.container .lineup-opponent>div{
  grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr)!important;
  gap:0!important;
  width:100%!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid rgba(20,92,139,.16)!important;
  border-radius:0!important;
  background:#fff!important;
}

html body.page-formazione main.container .lineup-opponent>div>span{
  align-self:stretch!important;
  min-height:78px!important;
  width:100%!important;
  min-width:0!important;
  padding:.65rem .75rem!important;
  background:#f5f8fa!important;
}

html body.page-formazione main.container .lineup-opponent>div>b{
  align-self:center!important;
  justify-self:center!important;
}

/* Invia formazione: righe dei giocatori estese da bordo a bordo. */
html body.page-formazione main.container .lineup-builder .roster-player,
html body.page-formazione main.container .lineup-builder .selected-player{
  width:calc(100% + 2rem)!important;
  margin-right:-1rem!important;
  margin-left:-1rem!important;
  border-radius:0!important;
  background:#f8fafc!important;
  color:#111820!important;
}

html body.page-formazione main.container .lineup-builder .roster-player:hover{
  background:#f1f5f8!important;
}

html body.page-formazione main.container .lineup-builder .roster-player.is-selected,
html body.page-formazione main.container .lineup-builder .roster-player:disabled{
  background:#eef3f7!important;
}

html body.page-formazione main.container .lineup-builder .roster-player strong,
html body.page-formazione main.container .lineup-builder .selected-player strong{
  color:#111820!important;
}

html body.page-formazione main.container .lineup-builder .roster-player small,
html body.page-formazione main.container .lineup-builder .selected-player small{
  color:#5b6772!important;
}

@media(max-width:850px){
  html body.page-formazione main.container .lineup-builder .roster-player,
  html body.page-formazione main.container .lineup-builder .selected-player{
    width:calc(100% + 1.5rem)!important;
    margin-right:-.75rem!important;
    margin-left:-.75rem!important;
  }
}

html body.page-formazione main.container .lineup-opponent b{
  border:1px solid var(--lofe-table-border-soft)!important;
  background:#eef3f7!important;
  color:#111820!important;
}

/* Home: result rows are light, so team names must remain dark and readable. */
html body.page-home main.container .home-results > a .home-result-team,
html body.page-home main.container .home-results > a .home-result-team *{
  color:#17283b!important;
}

/* Home Live: red status dot until the round is actually started. */
html body.page-home main.container .live-dot{
  background:#e43d3d!important;
  box-shadow:none!important;
}


/* ===== SOURCE: formazione-sails.css ===== */
/*
 * Invia formazione - impianto desktop ispirato alla pagina Sails storica.
 * La logica di selezione resta in formazione.php; qui cambia solo la grafica.
 */

body.page-formazione .lineup-page-context > header small {
  display: flex;
  align-items: center;
  gap: .75rem;
}

body.page-formazione .lineup-page-context > header small b,
body.page-formazione .lineup-page-context > header small em {
  color: inherit;
  font-size: inherit;
  font-style: normal;
  font-weight: 450;
}

body.page-formazione .lineup-page-context > header small em {
  padding-left: .75rem;
  border-left: 1px solid rgba(184, 199, 211, .45);
}

@media (min-width: 851px) {
  body.page-formazione main.container {
    max-width: 1380px;
  }

  body.page-formazione main.container > h1 {
    margin-bottom: .85rem;
    color: #dce7ef;
    font-size: clamp(1.55rem, 2.1vw, 2.1rem);
    font-weight: 650;
  }

  body.page-formazione .lineup-counter {
    position: sticky !important;
    top: 78px;
    z-index: 30;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    overflow: hidden;
    margin: .75rem 0;
    padding: 0;
    border-radius: 5px;
    background: #fff !important;
    color: #142332 !important;
  }

  body.page-formazione .lineup-counter > div {
    min-height: 42px;
    padding: .5rem .75rem;
    justify-content: flex-start;
    gap: .35rem;
  }

  body.page-formazione .lineup-counter > div + div {
    border-left: 1px solid rgba(20, 92, 139, .34);
  }

  body.page-formazione .lineup-counter strong {
    margin-right: .25rem;
    color: #0b304b !important;
    font-size: .8rem;
    letter-spacing: .035em;
    text-transform: uppercase;
  }

  body.page-formazione .lineup-counter span {
    padding: .22rem .4rem;
    border: 1px solid #d4dee6;
    border-radius: 3px;
    background: #eef3f7 !important;
    color: #263746 !important;
    font-size: .75rem;
    font-weight: 600;
  }

  body.page-formazione .lineup-counter b,
  body.page-formazione .lineup-counter i {
    color: #0b304b !important;
    font-weight: 750;
  }

  body.page-formazione .lineup-opponent {
    margin-bottom: .85rem !important;
    border-radius: 5px !important;
  }

  body.page-formazione .lineup-opponent > small {
    padding-top: .1rem !important;
    font-size: .7rem !important;
    letter-spacing: .06em !important;
  }

  body.page-formazione .lineup-opponent > div > span {
    min-height: 60px !important;
    font-size: .8rem !important;
    font-weight: 600 !important;
  }

  body.page-formazione .lineup-opponent img {
    width: 40px;
    height: 40px;
  }

  /* Le proporzioni 62,5 / 35 riprendono la tabella desktop Sails. */
  body.page-formazione .lineup-builder {
    grid-template-columns: minmax(0, 1.785fr) minmax(350px, 1fr);
    gap: 2.5%;
    align-items: start;
  }

  body.page-formazione .lineup-builder > .roster-panel,
  body.page-formazione .lineup-builder > .selected-panel {
    overflow: hidden;
    padding: 0;
    border-radius: 5px;
    background: #fff;
  }

  body.page-formazione .lineup-builder > .selected-panel {
    position: sticky;
    top: 76px;
  }

  body.page-formazione .lineup-panel-heading {
    min-height: 48px;
    margin: 0;
    padding: .55rem .75rem;
    border-bottom: 1px solid #185884;
    background: #0b304b;
    color: #fff;
  }

  body.page-formazione .lineup-panel-heading h2 {
    color: #fff;
    font-size: .98rem;
    font-weight: 650;
    letter-spacing: .012em;
  }

  body.page-formazione .lineup-panel-heading .module-choice {
    color: #e7eef4;
    font-size: .72rem;
    font-weight: 600;
  }

  body.page-formazione .lineup-panel-heading .module-choice select {
    min-width: 88px;
    padding: .36rem 1.7rem .36rem .5rem;
    border: 1px solid #a9bbc9;
    border-radius: 3px;
    background-color: #fff;
    color: #101820;
    font-size: .75rem;
  }

  body.page-formazione .round-summary {
    max-width: 230px;
    padding: 0;
    border: 0 !important;
    background: transparent;
    color: #dce7ef;
    font-size: .67rem;
    justify-content: flex-end;
    text-align: right;
  }

  body.page-formazione .round-summary strong,
  body.page-formazione .round-summary small {
    color: #fff;
  }

  body.page-formazione .roster-role {
    margin: 0;
  }

  body.page-formazione .roster-role h3 {
    margin: 0;
    padding: .36rem .72rem;
    border: 0 !important;
    border-bottom: 1px solid rgba(24,88,132,.42) !important;
    background: #dbe5ec;
    color: #203344 !important;
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .055em;
    text-transform: uppercase;
  }

  html body.page-formazione main.container .lineup-builder .roster-player,
  html body.page-formazione main.container .lineup-builder .selected-player {
    width: 100% !important;
    min-height: 42px;
    margin: 0 !important;
    padding: .38rem .65rem;
    border: 0 !important;
    border-bottom: 1px solid rgba(20, 92, 139, .22) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #142332 !important;
  }

  body.page-formazione .roster-role .roster-player:nth-of-type(odd),
  body.page-formazione #selected-players .selected-player:nth-child(odd) {
    background: #fff !important;
  }

  body.page-formazione .roster-role .roster-player:nth-of-type(even),
  body.page-formazione #selected-players .selected-player:nth-child(even) {
    background: #edf2f6 !important;
  }

  html body.page-formazione .lineup-builder .roster-player:hover {
    background: #e2eaf0 !important;
    color: #101820 !important;
  }

  html body.page-formazione .lineup-builder .roster-player.is-selected,
  html body.page-formazione .lineup-builder .roster-player:disabled {
    opacity: .66;
    background: #d8e1e8 !important;
    box-shadow: inset 4px 0 #145c8b !important;
  }

  body.page-formazione .roster-player {
    grid-template-columns: 30px minmax(135px, 1fr) auto 25px;
    gap: .45rem;
  }

  body.page-formazione .selected-player {
    grid-template-columns: 24px 30px minmax(0, 1fr) auto;
    gap: .4rem;
  }

  body.page-formazione .player-role {
    min-width: 26px;
    height: 25px;
    padding: 0 .3rem;
    border-radius: 3px;
    font-size: .67rem;
  }

  body.page-formazione .player-details strong {
    color: #142332 !important;
    font-size: .78rem;
    font-weight: 620;
  }

  body.page-formazione .player-details small {
    margin-top: .08rem;
    color: #61717f !important;
    font-size: .63rem;
  }

  body.page-formazione .player-lofe-summary {
    gap: 1px;
    padding: 1px;
    border: 1px solid #d4dee6 !important;
    border-radius: 3px;
    background: #dfe7ed;
  }

  body.page-formazione .player-lofe-summary > span {
    min-width: 30px;
    padding: 2px;
    border-radius: 1px;
  }

  body.page-formazione .player-lofe-summary small {
    margin-bottom: 2px;
    font-size: .48rem;
  }

  body.page-formazione .player-lofe-summary b {
    font-size: .64rem;
  }

  body.page-formazione .roster-player > b {
    width: 23px;
    height: 23px;
    border-radius: 3px;
    background: #145c8b;
    font-size: .95rem;
  }

  body.page-formazione .selection-number {
    width: 22px;
    height: 22px;
    border-radius: 3px;
    background: #d8e1e8;
    color: #233746;
    font-size: .67rem;
  }

  body.page-formazione .selected-player.starter-row,
  body.page-formazione .selected-player.bench-row {
    border-left: 0 !important;
  }

  body.page-formazione .selected-player.empty-slot {
    min-height: 42px;
    border-bottom-style: dashed !important;
  }

  body.page-formazione .player-lofe-stats {
    display: none;
  }

  body.page-formazione .order-actions {
    gap: 2px;
  }

  body.page-formazione .order-actions button {
    width: 23px;
    height: 23px;
    border: 1px solid #c4d0d9;
    border-radius: 3px;
    background: #f6f8fa;
    color: #263746;
    font-size: .68rem;
  }

  body.page-formazione .order-actions button:last-child {
    border-color: #d8b5b5;
    background: #f8eaea;
    color: #8f2e2e;
  }

  body.page-formazione .selection-divider {
    margin: 0;
    padding: .36rem .72rem;
    border: 0 !important;
    border-bottom: 1px solid rgba(24,88,132,.42) !important;
    border-radius: 0;
    background: #dbe5ec !important;
    color: #203344 !important;
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .055em;
    text-transform: uppercase;
  }

  body.page-formazione .lineup-bench-divider {
    display: block;
    width: 100%;
    border-top: 1px solid rgba(20, 92, 139, .3);
    border-bottom: 1px solid rgba(20, 92, 139, .3);
  }

  body.page-formazione .starter-row + .bench-row {
    margin-top: 0 !important;
  }

  body.page-formazione .starter-row + .bench-row::before {
    content: none !important;
    display: none !important;
  }

  body.page-formazione .lineup-submit {
    margin: 0;
    padding: .72rem;
    border-top: 1px solid rgba(20, 92, 139, .34) !important;
    background: #edf2f6;
  }

  body.page-formazione .lineup-submit .button {
    min-width: 165px;
    padding: .58rem .9rem;
    border-radius: 3px;
    background: #0b304b;
    font-size: .76rem;
    font-weight: 650;
  }
}

@media (max-width: 700px) {
  body.page-formazione .lineup-page-context > header small {
    align-items: flex-end;
    flex-direction: column;
    gap: .15rem;
  }

  body.page-formazione .lineup-page-context > header small em {
    padding-left: 0;
    border-left: 0;
  }
}

/* Il selettore mobile resta quello già ottimizzato per 11 + 8 giocatori. */
@media (max-width: 850px) {
  body.page-formazione .mobile-lineup-picker {
    border-radius: 6px;
  }
}


/* ===== SOURCE: legalofe-global-radius.css ===== */
/* Smussamento unico del sito: lo stesso raggio leggero di Invia formazione. */
:root {
  --lofe-panel-radius: 5px;
}

html body[class^="page-"] main.container :is(
  .hero,
  .page-logo,
  .card,
  .table-wrap,
  .standings-wrap,
  .standings-title-card,
  .home-team-logos,
  .home-box,
  .home-live,
  .home-live-desktop,
  .calendar-match,
  .next-calendar-round,
  .old-calendar-card,
  .match-selector > a,
  .lineup-sheet,
  .lineup-counter,
  .lineup-opponent,
  .lineup-builder > .roster-panel,
  .lineup-builder > .selected-panel,
  .live-status,
  .live-team,
  .live-rules-note,
  .result-scoreboard,
  .result-team-card,
  .result-rules,
  .results-match-selector > a,
  .player-data-heading,
  .player-filters,
  .roster-heading,
  .team-tabs > a,
  .admin-control-center,
  .admin-control-links > a,
  .formations-toolbar,
  .admin-lineup-filters,
  .quotation-admin,
  .combined-player-filters,
  .deadline-box,
  .season-card,
  .season-import,
  .auth-card,
  .login-card-v2,
  .mobile-versus-sheet,
  .mobile-lineup-section,
  .mobile-module-choice,
  .mobile-match-choice
) {
  border-radius: var(--lofe-panel-radius) !important;
}

/* I bordi delle tabelle devono tagliare correttamente testata e ultima riga. */
html body[class^="page-"] main.container :is(
  .table-wrap,
  .standings-wrap,
  .home-box,
  .old-calendar-card,
  .next-calendar-round,
  .lineup-sheet,
  .live-team,
  .result-team-card
) {
  overflow: hidden;
}

html body[class^="page-"] main.container .site-footer {
  border-radius: var(--lofe-panel-radius) var(--lofe-panel-radius) 0 0 !important;
}


/* ===== SOURCE: formazioni-sails.css ===== */
/* Formazioni inviate: stessa grammatica grafica di Invia formazione. */
html body.page-formazioni main.container .submitted-lineups {
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

/* Selettori Apertura/Chiusura e giornata senza il vecchio riquadro bianco. */
html body.page-formazioni main.container .formations-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .75rem !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.page-formazioni main.container .formations-toolbar > .tabs {
  margin: 0 !important;
}

html body.page-formazioni main.container .formations-toolbar > .tabs a {
  border-radius: 999px !important;
}

html body.page-formazioni main.container .formations-round-picker {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  margin: 0 !important;
  color: #dce7ef !important;
}

html body.page-formazioni main.container .formations-round-picker > span {
  color: #dce7ef !important;
  font-size: .72rem;
  font-weight: 650 !important;
  letter-spacing: .055em !important;
}

html body.page-formazioni main.container .formations-round-picker select {
  min-width: 145px;
  border: 1px solid #9fb4c4 !important;
  border-radius: 5px !important;
  background: #fff !important;
  background-image: none !important;
  color: #17283b !important;
  color-scheme: light;
  font-weight: 650 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #17283b !important;
}

html body.page-formazioni main.container .formations-round-picker select option {
  background: #fff !important;
  color: #111820 !important;
}

html body.page-formazioni main.container .lineup-sheet {
  overflow: hidden;
  padding: 0;
  border: 1px solid #185884 !important;
  border-radius: 5px !important;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .16) !important;
  grid-column: auto !important;
  width: 100%;
  min-width: 0;
}

html body.page-formazioni main.container .lineup-team-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .75rem !important;
  min-height: 58px !important;
  margin: 0;
  padding: .55rem .75rem !important;
  border-bottom: 1px solid #185884;
  background: #0b304b !important;
  color: #fff !important;
}

html body.page-formazioni main.container .lineup-team-title > span:first-child {
  color: #fff !important;
  font-size: .98rem !important;
  font-weight: 650 !important;
}

html body.page-formazioni main.container .submitted-heading-meta {
  display: flex !important;
  min-width: 0;
  align-items: center !important;
  justify-content: flex-end;
  gap: .28rem .42rem;
  margin-left: auto;
  color: #dce7ef !important;
  font-size: .67rem !important;
  font-weight: 500 !important;
  line-height: 1.2;
  text-align: right;
}

html body.page-formazioni main.container .submitted-heading-meta strong,
html body.page-formazioni main.container .submitted-heading-meta small {
  color: #fff !important;
  font-size: inherit;
  white-space: nowrap;
}

html body.page-formazioni main.container .lineup-sheet > .empty,
html body.page-formazioni main.container .submitted-lineup-meta {
  margin: 0;
  padding: .58rem .72rem;
  border-bottom: 1px solid rgba(20, 92, 139, .25);
  background: #fff;
  color: #455565;
}

html body.page-formazioni main.container .submitted-lineup-meta .badge {
  border-radius: 3px;
  background: #e3eaf0 !important;
  color: #203344 !important;
  font-weight: 700;
}

html body.page-formazioni main.container .lineup-sheet > h3 {
  margin: 0;
  padding: .36rem .72rem;
  border: 0;
  border-bottom: 1px solid rgba(24,88,132,.42);
  background: #dbe5ec !important;
  color: #203344 !important;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .055em;
  text-transform: uppercase;
}

html body.page-formazioni main.container .submitted-players {
  display: grid !important;
  gap: 0 !important;
  margin: 0 !important;
}

html body.page-formazioni main.container .submitted-players > div {
  display: grid !important;
  grid-template-columns: 28px 38px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: .5rem !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: .32rem .65rem !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(20, 92, 139, .22) !important;
  border-radius: 0 !important;
  box-shadow: none;
  color: #142332;
}

html body.page-formazioni main.container .submitted-players > div:nth-child(odd) {
  background: #fff !important;
}

html body.page-formazioni main.container .submitted-players > div:nth-child(even) {
  background: #edf2f6 !important;
}

html body.page-formazioni main.container .submitted-players > div:last-child {
  border-bottom: 0 !important;
}

html body.page-formazioni main.container .submitted-player-face {
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid #cfd9e1;
  border-radius: 50%;
  background: #eef2f5;
  object-fit: cover;
}

html body.page-formazioni main.container .submitted-player-main {
  display: contents !important;
}

html body.page-formazioni main.container .submitted-player-main strong {
  grid-column: 3 !important;
  grid-row: 1 !important;
  overflow: hidden;
  color: #142332 !important;
  font-size: .78rem;
  font-weight: 620;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html body.page-formazioni main.container .submitted-players > div > small {
  grid-column: 3 !important;
  grid-row: 2 !important;
  color: #61717f !important;
  font-size: .63rem;
  text-align: left;
  white-space: nowrap;
}

html body.page-formazioni main.container .submitted-players .player-role {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 26px;
  height: 25px;
  padding: 0 .3rem;
  border-radius: 3px;
  font-size: .67rem;
}

html body.page-formazioni main.container .empty-submitted > div {
  grid-template-columns: 28px minmax(0, 1fr) auto;
  min-height: 42px;
}

html body.page-formazioni main.container .empty-submitted > div > span:nth-child(2) {
  color: #536472;
  font-size: .76rem;
}

html body.page-formazioni main.container .empty-submitted small {
  color: #84919b;
  font-size: .64rem;
}

@media (max-width: 850px) {
  html body.page-formazioni main.container .submitted-lineups {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  html body.page-formazioni main.container .formations-toolbar {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  html body.page-formazioni main.container .formations-round-picker {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  html body.page-formazioni main.container .formations-round-picker select {
    min-width: 0;
  }

  html body.page-formazioni main.container .lineup-team-title {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: .25rem !important;
  }

  html body.page-formazioni main.container .submitted-heading-meta {
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
    text-align: left;
  }

  html body.page-formazioni main.container .submitted-players > div {
    grid-template-columns: 26px minmax(0, 1fr) !important;
  }

  html body.page-formazioni main.container .submitted-players > div > small {
    grid-column: 2 !important;
    grid-row: 2 !important;
    padding-left: 42px;
    text-align: left;
  }

  html body.page-formazioni main.container .empty-submitted > div {
    grid-template-columns: 28px minmax(0, 1fr) auto !important;
  }

  html body.page-formazioni main.container .empty-submitted > div > small {
    grid-column: 3 !important;
    grid-row: 1 !important;
    padding-left: 0;
  }
}


/* ===== SOURCE: auth-readable.css ===== */
/* Login e Profilo: contrasto coerente con i pannelli blu notte del sito. */
html body.page-login main.container .login-card-v2,
html body.page-profilo main.container .auth-card {
  border: 1px solid #1b5f89 !important;
  background: linear-gradient(145deg, #0b3552, #062842) !important;
  color: #f6f9fc !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .24) !important;
}

html body.page-login main.container .login-card-v2 h1,
html body.page-profilo main.container .auth-card h1 {
  color: #fff !important;
  font-weight: 650 !important;
  text-shadow: none !important;
}

html body.page-login main.container .login-brand,
html body.page-login main.container .login-brand strong {
  color: #fff !important;
}

html body.page-login main.container .login-subtitle,
html body.page-login main.container .remember-login span,
html body.page-profilo main.container .auth-card > .muted,
html body.page-profilo main.container .auth-card label small {
  color: #d5e1ea !important;
  opacity: 1 !important;
}

html body.page-login main.container .login-card-v2 label,
html body.page-profilo main.container .auth-card label {
  color: #eef5fa !important;
  font-weight: 550 !important;
}

html body.page-login main.container .login-card-v2 input:not([type="checkbox"]),
html body.page-profilo main.container .auth-card input {
  border: 1px solid #91aabe !important;
  background: #fff !important;
  color: #14283a !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #14283a !important;
}

html body.page-login main.container .login-card-v2 input:focus,
html body.page-profilo main.container .auth-card input:focus {
  border-color: #79c8f8 !important;
  outline: 2px solid rgba(121, 200, 248, .34) !important;
}

html body.page-login main.container .password-eye,
html body.page-profilo main.container .password-eye {
  color: #18354b !important;
}

html body.page-login main.container .auth-link a {
  color: #b9e2fb !important;
  font-weight: 550 !important;
  text-decoration-color: rgba(185, 226, 251, .6);
}

html body.page-login main.container .login-card-v2 .button,
html body.page-profilo main.container .auth-card .button {
  border: 1px solid #7cbfe8 !important;
  background: #e9f3f9 !important;
  color: #082c47 !important;
}

html body.page-login main.container .login-card-v2 .button:hover,
html body.page-profilo main.container .auth-card .button:hover {
  background: #fff !important;
}


/* ===== SOURCE: role-edge-lines.css ===== */
:root{--role-p:#d29b1d;--role-d:#27895b;--role-c:#3478b9;--role-a:#bd4a4a;--role-free:#aebbc5}

/* Il ruolo è indicato da una linea verticale sul bordo, non da P/D/C/A. */
.page-formazione .roster-player>.player-role,
.page-formazione .selected-player>.player-role,
.page-formazioni .submitted-players>div>.player-role,
.page-live .live-player>.player-role,
.page-rose .roster-table td:first-child .player-role,
.page-statistiche .player-data-table td:first-child .player-role,
.page-probabili-formazioni .prob-player-row>.role,
.page-probabili-formazioni .fantasy-player-row>.role,
.page-probabili-formazioni .prob-bench-grid .role{display:none!important}

.page-formazione .roster-player,.page-formazione .selected-player,
.page-formazioni .submitted-players>div,.page-live .live-player,
.page-probabili-formazioni .prob-player-row,.page-probabili-formazioni .fantasy-player-row,
.page-probabili-formazioni .prob-bench-grid>div{border-left:4px solid var(--role-free)!important}
.page-formazione .role-p,.page-formazioni .role-p,.page-live .role-p{--role-edge:var(--role-p)}
.page-formazione .role-d,.page-formazioni .role-d,.page-live .role-d{--role-edge:var(--role-d)}
.page-formazione .role-c,.page-formazioni .role-c,.page-live .role-c{--role-edge:var(--role-c)}
.page-formazione .role-a,.page-formazioni .role-a,.page-live .role-a{--role-edge:var(--role-a)}
.page-formazione .roster-player[class*="role-"],.page-formazione .selected-player[class*="role-"],
.page-formazioni .submitted-players>div[class*="role-"],.page-live .live-player[class*="role-"]{border-left-color:var(--role-edge,var(--role-free))!important}

/* Invia formazione. */
html body.page-formazione main.container .lineup-builder .roster-player,
html body.page-formazione main.container .lineup-builder .selected-player{width:100%!important;margin:0!important}
html body.page-formazione main.container .lineup-builder .player-lofe-summary{grid-column:auto!important;grid-row:auto!important}

/* Invio formazione: qui manteniamo anche la sigla del ruolo. */
html body.page-formazione main.container .lineup-builder .roster-player>.player-role,
html body.page-formazione main.container .lineup-builder .selected-player>.player-role{display:grid!important}
html body.page-formazione main.container .lineup-builder .roster-player{grid-template-columns:30px minmax(135px,1fr) auto 25px!important}
html body.page-formazione main.container .lineup-builder .selected-player{grid-template-columns:24px 30px minmax(0,1fr) auto!important}

/* Formazioni inviate: colonne compilata/vuota della stessa altezza. */
html body.page-formazioni main.container .submitted-lineups{align-items:stretch!important}
html body.page-formazioni main.container .lineup-sheet{height:100%!important}
html body.page-formazioni main.container .submitted-players>div{grid-template-columns:38px minmax(0,1fr)!important;grid-template-rows:auto auto!important;min-height:48px!important}
html body.page-formazioni main.container .submitted-player-face{grid-column:1!important;grid-row:1/3!important}
html body.page-formazioni main.container .submitted-player-main strong{grid-column:2!important;grid-row:1!important}
html body.page-formazioni main.container .submitted-players>div>small{grid-column:2!important;grid-row:2!important}
html body.page-formazioni main.container .empty-submitted>div{grid-template-columns:28px minmax(0,1fr) auto!important;min-height:48px!important}
html body.page-formazioni main.container .submitted-players>div.role-p{border-left-color:var(--role-p)!important;box-shadow:inset 4px 0 var(--role-p)!important}
html body.page-formazioni main.container .submitted-players>div.role-d{border-left-color:var(--role-d)!important;box-shadow:inset 4px 0 var(--role-d)!important}
html body.page-formazioni main.container .submitted-players>div.role-c{border-left-color:var(--role-c)!important;box-shadow:inset 4px 0 var(--role-c)!important}
html body.page-formazioni main.container .submitted-players>div.role-a{border-left-color:var(--role-a)!important;box-shadow:inset 4px 0 var(--role-a)!important}

/* Live. */
.page-live .live-player{grid-template-columns:minmax(0,1fr) auto 48px!important}
.page-live .live-player>span:nth-child(2){grid-column:1!important;grid-row:1!important}
.page-live .live-player .live-events{grid-column:2!important;grid-row:1!important}
.page-live .live-player .live-vote{grid-column:3!important;grid-row:1!important}
.page-live .live-empty-player{border-left-color:var(--role-free)!important}

/* Risultati: la prima colonna diventa la linea del ruolo. */
.page-risultati .result-player-head,.page-risultati .result-player{grid-template-columns:minmax(0,1fr) 42px minmax(72px,.7fr) 44px!important}
.page-risultati .result-player-head::before,.page-risultati .result-player::before{display:none!important;content:none!important}
.page-risultati .result-player{border-left:4px solid var(--role-free)!important}
.page-risultati .result-player.role-p{border-left-color:var(--role-p)!important}
.page-risultati .result-player.role-d{border-left-color:var(--role-d)!important}
.page-risultati .result-player.role-c{border-left-color:var(--role-c)!important}
.page-risultati .result-player.role-a{border-left-color:var(--role-a)!important}

/* Rose e Statistiche. */
.page-rose .roster-table th:first-child,.page-rose .roster-table td:first-child,
.page-statistiche .player-data-table th:first-child,.page-statistiche .player-data-table td:first-child{width:6px!important;min-width:6px!important;padding:0!important;font-size:0!important}
.page-rose .roster-table tr.role-p>td:first-child,.page-statistiche .player-data-table tr.role-p>td:first-child{border-left:4px solid var(--role-p)!important}
.page-rose .roster-table tr.role-d>td:first-child,.page-statistiche .player-data-table tr.role-d>td:first-child{border-left:4px solid var(--role-d)!important}
.page-rose .roster-table tr.role-c>td:first-child,.page-statistiche .player-data-table tr.role-c>td:first-child{border-left:4px solid var(--role-c)!important}
.page-rose .roster-table tr.role-a>td:first-child,.page-statistiche .player-data-table tr.role-a>td:first-child{border-left:4px solid var(--role-a)!important}

/* Probabili formazioni. */
.page-probabili-formazioni .prob-player-head,.page-probabili-formazioni .prob-player-row{grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) 100px!important}
.page-probabili-formazioni .prob-player-head>span:first-child,.page-probabili-formazioni .fantasy-player-head>span:first-child{display:none!important}
.page-probabili-formazioni .fantasy-player-head,.page-probabili-formazioni .fantasy-player-row{grid-template-columns:minmax(150px,1.35fr) 82px minmax(150px,1fr)!important}
.page-probabili-formazioni :is(.prob-player-row,.fantasy-player-row,.prob-bench-grid>div):has(.role-p){border-left-color:var(--role-p)!important}
.page-probabili-formazioni :is(.prob-player-row,.fantasy-player-row,.prob-bench-grid>div):has(.role-d){border-left-color:var(--role-d)!important}
.page-probabili-formazioni :is(.prob-player-row,.fantasy-player-row,.prob-bench-grid>div):has(.role-c){border-left-color:var(--role-c)!important}
.page-probabili-formazioni :is(.prob-player-row,.fantasy-player-row,.prob-bench-grid>div):has(.role-a){border-left-color:var(--role-a)!important}

@media(max-width:800px){
  .page-live .live-player{grid-template-columns:minmax(0,1fr) 42px!important}
  .page-live .live-player>span:nth-child(2){grid-column:1!important;grid-row:1!important}
  .page-live .live-player .live-events{grid-column:1!important;grid-row:2!important}
  .page-live .live-player .live-vote{grid-column:2!important;grid-row:1/3!important}
  .page-probabili-formazioni .prob-player-row{grid-template-columns:minmax(0,1fr) auto!important}
  .page-probabili-formazioni .prob-player-row .prob-status{grid-column:1!important}
  .page-probabili-formazioni .prob-player-row .prob-chance{grid-column:2!important}
  .page-probabili-formazioni .fantasy-player-row{grid-template-columns:minmax(120px,1fr) 62px!important}
  .page-probabili-formazioni .fantasy-player-info{grid-column:1/3!important}
  .page-risultati .result-player-head,.page-risultati .result-player{grid-template-columns:minmax(0,1fr) 36px minmax(48px,.55fr) 40px!important}
}


/* ===== SOURCE: mobile-blue-contrast.css ===== */
/* Legalofe: contrasto del tema blu esclusivamente su smartphone e tablet. */
@media (max-width: 800px) {
  :root {
    --mobile-blue-panel: #0a3554;
    --mobile-blue-row: #0c4165;
    --mobile-blue-row-alt: #104b72;
    --mobile-blue-border: rgba(93, 174, 226, .42);
    --mobile-text: #f5f9fd;
    --mobile-muted: #bed0df;
  }

  html body main.container {
    color: var(--mobile-text) !important;
  }

  html body main.container :is(
    .card,
    .home-box,
    .table-wrap,
    .standings-wrap,
    .calendar-match,
    .old-calendar-card,
    .roster-panel,
    .selected-panel,
    .lineup-sheet,
    .live-team,
    .prob-team-card,
    .prob-page-head,
    .player-data-heading,
    .combined-player-filters,
    .rose-roster-panel,
    .team-honours-card,
    .profile-card,
    .auth-card,
    .mobile-standings-simple,
    .mobile-team-select-wrap,
    .mobile-match-choice,
    .mobile-lineup-section,
    .mobile-module-choice
  ) {
    border-color: var(--mobile-blue-border) !important;
    background: linear-gradient(145deg, #0b3b5e, var(--mobile-blue-panel)) !important;
    color: var(--mobile-text) !important;
  }

  html body main.container :is(
    .card,
    .home-box,
    .calendar-match,
    .old-calendar-card,
    .roster-panel,
    .selected-panel,
    .lineup-sheet,
    .live-team,
    .prob-team-card,
    .prob-page-head,
    .player-data-heading,
    .combined-player-filters,
    .rose-roster-panel,
    .team-honours-card,
    .profile-card,
    .auth-card,
    .mobile-team-select-wrap,
    .mobile-match-choice,
    .mobile-lineup-section,
    .mobile-module-choice
  ) :is(h1, h2, h3, h4, p, label, strong, b, span, a) {
    color: var(--mobile-text) !important;
  }

  html body main.container :is(
    .card,
    .home-box,
    .calendar-match,
    .old-calendar-card,
    .roster-panel,
    .selected-panel,
    .lineup-sheet,
    .live-team,
    .prob-team-card,
    .prob-page-head,
    .player-data-heading,
    .rose-roster-panel,
    .team-honours-card,
    .profile-card,
    .auth-card
  ) :is(small, .muted, .empty) {
    color: var(--mobile-muted) !important;
  }

  /* Colonne, righe e schede dati restano blu con caratteri chiari. */
  html body main.container table,
  html body main.container table tbody tr,
  html body main.container table tbody td,
  html body main.container :is(
    .home-results > a,
    .home-player-row,
    .home-scorer-row,
    .mini-standing > div,
    .next-turn-list > a,
    .old-calendar-games > a,
    .roster-player,
    .selected-player,
    .submitted-players > div,
    .live-player,
    .prob-player-row,
    .fantasy-player-row,
    .rose-player-row,
    .mobile-versus-row
  ) {
    border-color: var(--mobile-blue-border) !important;
    background: var(--mobile-blue-row) !important;
    color: var(--mobile-text) !important;
  }

  html body main.container table tbody tr:nth-child(even),
  html body main.container table tbody tr:nth-child(even) td,
  html body main.container :is(
    .home-results > a:nth-child(even),
    .home-player-row:nth-child(even),
    .home-scorer-row:nth-child(even),
    .mini-standing > div:nth-child(even),
    .next-turn-list > a:nth-child(even),
    .old-calendar-games > a:nth-child(even),
    .roster-player:nth-child(even),
    .selected-player:nth-child(even),
    .submitted-players > div:nth-child(even),
    .live-player:nth-child(even),
    .prob-player-row:nth-child(even),
    .fantasy-player-row:nth-child(even),
    .rose-player-row:nth-child(even),
    .mobile-versus-row:nth-child(even)
  ) {
    background: var(--mobile-blue-row-alt) !important;
  }

  html body main.container table :is(th, td, a, span, strong, b, small),
  html body main.container :is(
    .home-results,
    .home-topflop-columns,
    .home-scorers-table,
    .mini-standing,
    .next-turn-list,
    .old-calendar-games,
    .roster-player,
    .selected-player,
    .submitted-players,
    .live-player,
    .prob-player-row,
    .fantasy-player-row,
    .rose-player-row,
    .mobile-versus-row
  ) :is(a, span, strong, b, small) {
    color: var(--mobile-text) !important;
  }

  html body main.container :is(
    .home-results,
    .home-topflop-columns,
    .home-scorers-table,
    .mini-standing,
    .next-turn-list,
    .old-calendar-games,
    .roster-player,
    .selected-player,
    .submitted-players,
    .live-player,
    .prob-player-row,
    .fantasy-player-row,
    .rose-player-row,
    .mobile-versus-row
  ) small {
    color: var(--mobile-muted) !important;
  }

  html body main.container table thead th,
  html body main.container :is(
    .home-box > header,
    .old-calendar-card > header,
    .next-calendar-round > header,
    .lineup-team-title,
    .live-team > header,
    .prob-team-title,
    .rose-roster-heading,
    .mobile-versus-header
  ) {
    border-color: var(--mobile-blue-border) !important;
    background: #082f4d !important;
    color: #fff !important;
  }

  html body main.container :is(
    .home-box > header,
    .old-calendar-card > header,
    .next-calendar-round > header,
    .lineup-team-title,
    .live-team > header,
    .prob-team-title,
    .rose-roster-heading,
    .mobile-versus-header
  ) * {
    color: #fff !important;
  }

  /* Evidenziazioni classifica coerenti con il fondo scuro. */
  html body main.container table tbody tr.ranking-winner,
  html body main.container table tbody tr.ranking-winner td {
    background: #154d45 !important;
    color: #effff8 !important;
  }
  html body main.container table tbody tr.ranking-bottom,
  html body main.container table tbody tr.ranking-bottom td {
    background: #573644 !important;
    color: #fff4f5 !important;
  }

  /* Campi e menu: fondo blu più chiaro e testo bianco. */
  html body main.container :is(input, select, textarea) {
    border-color: #39759c !important;
    background: #0a3a5d !important;
    color: #fff !important;
  }
  html body main.container select option {
    background: #092f4d !important;
    color: #fff !important;
  }
  html body main.container :is(input, textarea)::placeholder {
    color: #b7c9d8 !important;
  }

  /* Valori compatti e pulsanti secondari non devono tornare scuri. */
  html body main.container :is(
    .mobile-value,
    .live-vote,
    .player-lofe-summary,
    .player-lofe-summary > span,
    .player-lofe-stats,
    .rose-player-stats,
    .rose-player-stats > span,
    .selection-number,
    .api-usage
  ) {
    border-color: #39759c !important;
    background: #0b456d !important;
    color: #fff !important;
  }
  html body main.container :is(
    .mobile-value,
    .live-vote,
    .player-lofe-summary,
    .player-lofe-stats,
    .rose-player-stats,
    .api-usage
  ) * {
    color: #fff !important;
  }
}

/* Blocco risultati duplicato solo per la sequenza mobile Home. */
.home-results-mobile { display: none !important; }
.result-mobile-team-title { display: none !important; }

@media (max-width: 800px) {
  /* Home: Live, Risultati, quindi Prossimo turno. */
  html body.page-home main.container .home-results-mobile {
    display: block !important;
    margin: 0 0 .7rem !important;
  }
  html body.page-home main.container .home-results-mobile .home-results {
    display: grid !important;
    grid-template-columns: 1fr !important;
    margin: 0 !important;
    width: 100% !important;
  }
  html body.page-home main.container .home-results-mobile,
  html body.page-home main.container .home-results-mobile .home-results {
    border-color: var(--mobile-blue-border) !important;
    background: #062a47 !important;
    box-shadow: none !important;
  }
  html body.page-home main.container .home-results-mobile .home-results > a {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .4rem !important;
    min-height: 42px !important;
    padding: .42rem .55rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--mobile-blue-border) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  html body.page-home main.container .home-results-mobile .home-results > a:nth-child(even) {
    background: rgba(255, 255, 255, .035) !important;
  }
  html body.page-home main.container .home-results-mobile .home-results > a:last-child {
    border-bottom: 0 !important;
  }
  html body.page-home main.container .home-results-mobile .home-result-team {
    min-width: 0 !important;
    overflow: hidden !important;
    color: #f5f9fd !important;
    font-size: .73rem !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  html body.page-home main.container .home-results-mobile .home-result-team.away {
    text-align: right !important;
  }
  html body.page-home main.container .home-results-mobile .home-results > a > b,
  html body.page-home main.container .mobile-live-simple > a > b {
    display: grid !important;
    min-width: 54px !important;
    min-height: 28px !important;
    place-items: center !important;
    padding: .2rem .35rem !important;
    border: 1px solid #b9d8ef !important;
    border-radius: 7px !important;
    background: #dff1ff !important;
    color: #111 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }
  html body.page-home main.container .home-top-player-card {
    display: none !important;
  }

  /* Calendario: il prossimo turno diventa una lista verticale senza scorrimento. */
  html body.page-calendario main.container .next-calendar-round:not(.page-context-heading) {
    overflow: visible !important;
  }
  html body.page-calendario main.container .next-calendar-matches {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
    padding: .35rem .5rem !important;
  }
  html body.page-calendario main.container .next-calendar-matches > a {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: .48rem .25rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--mobile-blue-border) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  html body.page-calendario main.container .next-calendar-matches > a:last-child {
    border-bottom: 0 !important;
  }
  html body.page-calendario main.container .next-calendar-matches > a > span,
  html body.page-calendario main.container .next-calendar-matches > a > span.away {
    display: block !important;
    overflow: hidden !important;
    color: #f5f9fd !important;
    font-size: .74rem !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  html body.page-calendario main.container .next-calendar-matches > a > span:first-child {
    text-align: left !important;
  }
  html body.page-calendario main.container .next-calendar-matches > a > span.away {
    text-align: right !important;
  }
  html body.page-calendario main.container .next-calendar-matches b {
    min-width: 36px !important;
    height: 28px !important;
    border-radius: 7px !important;
    background: #dff1ff !important;
    color: #111 !important;
  }

  /* Rose: niente albo d'oro su mobile e più spazio per i nomi. */
  html body.page-rose main.container .team-honours-card {
    display: none !important;
  }
  html body.page-rose main.container .rose-content-layout {
    display: block !important;
  }
  html body.page-rose main.container .rose-player-row {
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: .45rem !important;
    min-height: 54px !important;
    padding: .42rem .5rem !important;
  }
  html body.page-rose main.container .rose-player-face {
    display: none !important;
  }
  html body.page-rose main.container .rose-player-name {
    grid-column: 2 !important;
    min-width: 0 !important;
  }
  html body.page-rose main.container .rose-player-name strong {
    overflow: visible !important;
    color: #fff !important;
    font-size: .86rem !important;
    line-height: 1.18 !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  html body.page-rose main.container .rose-player-name small {
    color: #bed0df !important;
    font-size: .66rem !important;
  }
  html body.page-rose main.container .rose-player-stats {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  /* Risultati: due formazioni affiancate e compatte, come Live/Formazioni inviate. */
  html body.page-risultati main.container .result-lineups {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .35rem !important;
    width: 100% !important;
  }
  html body.page-risultati main.container .result-team-card {
    min-width: 0 !important;
    border-color: var(--mobile-blue-border) !important;
    border-radius: 9px !important;
    background: #062a47 !important;
    box-shadow: none !important;
  }
  html body.page-risultati main.container .result-mobile-team-title {
    display: flex !important;
    min-height: 48px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .12rem !important;
    padding: .42rem .25rem !important;
    border-bottom: 1px solid var(--mobile-blue-border) !important;
    background: #041f35 !important;
    text-align: center !important;
  }
  html body.page-risultati main.container .result-mobile-team-title strong {
    width: 100% !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: .72rem !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  html body.page-risultati main.container .result-mobile-team-title small {
    color: #a9c9dd !important;
    font-size: .56rem !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }
  html body.page-risultati main.container .result-player-head {
    display: none !important;
  }
  html body.page-risultati main.container .result-player {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) 34px !important;
    grid-template-rows: minmax(25px, auto) auto !important;
    gap: .1rem .24rem !important;
    min-height: 48px !important;
    padding: .34rem .28rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--mobile-blue-border) !important;
    border-radius: 0 !important;
    background: #083657 !important;
  }
  html body.page-risultati main.container .result-player:nth-child(even) {
    background: #0a3d61 !important;
  }
  html body.page-risultati main.container .result-player:last-child {
    border-bottom: 0 !important;
  }
  html body.page-risultati main.container .result-player::before {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    width: 21px !important;
    height: 21px !important;
    font-size: .58rem !important;
  }
  html body.page-risultati main.container .result-player-identity {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    align-self: center !important;
  }
  html body.page-risultati main.container .result-player-identity strong {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: .64rem !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  html body.page-risultati main.container .result-player-face,
  html body.page-risultati main.container .rp-vote {
    display: none !important;
  }
  html body.page-risultati main.container .rp-events {
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
    gap: 2px !important;
  }
  html body.page-risultati main.container .rp-events em {
    padding: 1px 2px !important;
    font-size: .55rem !important;
  }
  html body.page-risultati main.container .result-player > b {
    display: grid !important;
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    min-width: 32px !important;
    min-height: 25px !important;
    padding: 0 2px !important;
    border-color: #b9d8ef !important;
    border-radius: 6px !important;
    background: #dff1ff !important;
    color: #111 !important;
    font-size: .62rem !important;
  }
  html body.page-risultati main.container .result-team-total {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .15rem !important;
    padding: .42rem .3rem !important;
    border-color: var(--mobile-blue-border) !important;
    background: #041f35 !important;
    text-align: center !important;
  }
  html body.page-risultati main.container .result-team-total span {
    color: #bcd1df !important;
    font-size: .55rem !important;
  }
  html body.page-risultati main.container .result-team-total strong {
    color: #fff !important;
    font-size: .9rem !important;
  }
  html body.page-risultati main.container .result-bench summary {
    padding: .48rem .3rem !important;
    background: #092f4d !important;
    color: #fff !important;
    font-size: .63rem !important;
    text-align: center !important;
  }
}

/* V8 - Rifinitura Home e tabellini Risultati esclusivamente mobile. */
@media (max-width: 800px) {
  /* Tutte le liste della Home arrivano fino ai bordi interni della card. */
  html body.page-home main.container :is(
    .home-results,
    .next-turn-list,
    .mini-standing,
    .home-scorers-table
  ) {
    box-sizing: border-box !important;
    width: calc(100% + 1.6rem) !important;
    margin-right: -.8rem !important;
    margin-bottom: -.8rem !important;
    margin-left: -.8rem !important;
    padding: 0 !important;
    background: var(--mobile-blue-panel) !important;
  }
  html body.page-home main.container :is(
    .home-results > a,
    .next-turn-list > a,
    .mini-standing > div,
    .home-scorers-table > div,
    .home-player-row
  ) {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid var(--mobile-blue-border) !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    background: var(--mobile-blue-row) !important;
    box-shadow: none !important;
    color: #fff !important;
  }
  html body.page-home main.container :is(
    .home-results > a,
    .next-turn-list > a,
    .mini-standing > div,
    .home-scorers-table > div,
    .home-player-row
  ):not(:first-child) {
    border-top: 0 !important;
  }
  html body.page-home main.container :is(
    .home-results > a:nth-child(even),
    .next-turn-list > a:nth-child(even),
    .mini-standing > div:nth-child(even),
    .home-scorers-table > div:nth-child(even),
    .home-player-row:nth-child(even)
  ) {
    background: var(--mobile-blue-row-alt) !important;
  }
  html body.page-home main.container :is(
    .home-results > a,
    .home-results > a *,
    .next-turn-list > a span,
    .mini-standing > div *,
    .home-scorers-table > div *
  ) {
    color: #fff !important;
  }
  html body.page-home main.container .home-results-mobile .home-results > a > b {
    border-color: #185884 !important;
    background: #0b456d !important;
    color: #fff !important;
  }

  /* Tabellino: ruolo, nome, voto, eventi e fantavoto su una riga ordinata. */
  html body.page-risultati main.container .result-player {
    grid-template-columns: 20px minmax(0, 1fr) 28px 36px 32px !important;
    grid-template-rows: minmax(38px, auto) !important;
    gap: .14rem !important;
    min-height: 46px !important;
    padding: .25rem .2rem !important;
    background: var(--mobile-blue-row) !important;
  }
  html body.page-risultati main.container .result-player:nth-child(even) {
    background: var(--mobile-blue-row-alt) !important;
  }
  html body.page-risultati main.container .result-player::before {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    width: 19px !important;
    height: 21px !important;
  }
  html body.page-risultati main.container .result-player-identity {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    text-align: left !important;
  }
  html body.page-risultati main.container .result-player-identity strong {
    text-align: left !important;
  }
  html body.page-risultati main.container .rp-vote {
    display: grid !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    place-items: center !important;
    min-width: 0 !important;
    color: #fff !important;
    font-size: .61rem !important;
    font-weight: 700 !important;
    text-align: center !important;
  }
  html body.page-risultati main.container .rp-events {
    display: flex !important;
    grid-column: 4 !important;
    grid-row: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1px !important;
    overflow: hidden !important;
  }
  html body.page-risultati main.container .rp-events em {
    min-width: 0 !important;
    padding: 1px !important;
    background: transparent !important;
    font-size: .57rem !important;
    line-height: 1 !important;
  }
  html body.page-risultati main.container .rp-events em small {
    font-size: .48rem !important;
  }
  html body.page-risultati main.container .result-player > b {
    grid-column: 5 !important;
    grid-row: 1 !important;
    min-width: 30px !important;
    min-height: 25px !important;
    font-size: .59rem !important;
  }
}

/* V116 - Live mobile: stessa resa approvata per Partite giocate. */
@media (max-width:800px){
  main.container .live-lineups .live-player,
  main.container .live-lineups .live-player:nth-child(odd),
  main.container .live-lineups .live-player:nth-child(even),
  main.container .live-lineups .live-player.live-substitute,
  main.container .live-lineups .live-player.live-replaced{
    background:#fff!important;
    color:#111!important;
    box-shadow:none!important;
  }

  main.container .live-lineups .live-player .player-role{
    display:none!important;
  }

  main.container .live-lineups .live-player>span:nth-child(2){
    min-width:0!important;
    padding-left:.35rem!important;
  }

  main.container .live-lineups .live-player>span:nth-child(2)>b,
  main.container .live-lineups .live-player>span:nth-child(2)>b *,
  main.container .live-lineups .live-player .live-mobile-surname{
    color:#111!important;
    font-size:.91rem!important;
    font-weight:400!important;
    line-height:1.15!important;
  }

  main.container .live-lineups .live-player>span:nth-child(2)>small,
  main.container .live-lineups .live-player>span:nth-child(2)>small *,
  main.container .live-lineups .live-mobile-team-only{
    color:#263746!important;
    font-size:.60rem!important;
    font-weight:400!important;
  }

  main.container .live-lineups .live-player .live-events{
    color:#111!important;
    font-weight:400!important;
  }

  main.container .live-lineups .live-player .live-vote{
    min-width:46px!important;
    padding:.46rem .34rem!important;
    border:1px solid #b9d8ef!important;
    border-radius:6px!important;
    background:#dff1ff!important;
    color:#111!important;
    font-size:1.08rem!important;
    font-weight:400!important;
    line-height:1!important;
    text-align:center!important;
  }
}



/* ===== SOURCE: view.php inline header/mobile rules (centralized in v118) ===== */
@media(min-width:769px){
body.page-home .lofe-president-hero{display:block!important;position:relative!important;width:100%!important;height:210px!important;min-height:210px!important;margin:0!important;padding:0!important;overflow:hidden!important;background-image:url('legalofe-stadium-hero.jpg?v=33')!important;background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important;color:#fff!important;box-shadow:0 8px 22px rgba(0,0,0,.22)!important}
body.page-home .lofe-president-hero__shade{position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(90deg,rgba(2,17,34,.62),rgba(2,20,39,.03) 50%,rgba(2,17,34,.48))!important}
body.page-home .lofe-president-hero__content{position:relative!important;z-index:2!important;height:210px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:0 max(48px,calc((100vw - 1280px)/2 + 24px))!important;color:#fff!important}
body.page-home .lofe-president-hero__content h1{margin:0 0 4px!important;color:#fff!important;font-size:30px!important;line-height:1.1!important;font-weight:700!important}
body.page-home .lofe-president-hero__content .lofe-hero-user{margin:0 0 8px!important;color:#fff!important;font-size:24px!important;line-height:1.1!important;font-weight:700!important}
body.page-home .lofe-president-hero__content .lofe-hero-season{margin:0!important;color:#fff!important;font-size:14px!important}
body.page-home .lofe-president-hero__quote{display:block!important;position:absolute!important;z-index:3!important;right:max(48px,calc((100vw - 1280px)/2 + 24px))!important;top:50%!important;transform:translateY(-50%)!important;text-align:right!important;color:#fff!important;font-size:18px!important;line-height:1.4!important;font-style:italic!important}
body.page-home .lofe-president-hero__quote span{display:block!important;width:42px!important;height:3px!important;margin:10px 0 0 auto!important;background:#fff!important}
body.page-home main.container{margin-top:0!important}
}
@media(max-width:768px){body.page-home .lofe-president-hero{display:none!important}}
@media(max-width:800px){
html{background:#031d32!important;background-image:none!important}body{background:#16374d!important;background-image:none!important}
html body .site-header{box-sizing:border-box!important;min-height:74px!important;height:74px!important;padding:8px 14px!important;background:#031d32!important;background-image:none!important;border-bottom:1px solid #31556d!important;box-shadow:none!important;align-items:center!important}
html body .site-header .brand{display:flex!important;align-items:center!important;height:58px!important;margin:0!important;padding:0!important}
html body .site-header .brand picture{display:flex!important;align-items:center!important;height:58px!important;margin:0!important;padding:0!important}
html body .site-header .lofe-logo-img{display:block!important;width:auto!important;max-width:188px!important;height:54px!important;object-fit:contain!important;opacity:1!important;filter:none!important}
html body .site-header .menu-button{align-self:center!important;margin:0 0 0 auto!important;padding:.52rem .72rem!important;border:1px solid #46687d!important;border-radius:9px!important;background:#031d32!important;color:#fff!important;box-shadow:none!important}
html body .site-header .nav,html body .site-header .nav.open{top:74px!important;background:#031d32!important;background-image:none!important;border-bottom-color:#31556d!important}
}
@supports(-webkit-touch-callout:none){@media(max-width:800px){
html body .site-header{height:calc(74px + env(safe-area-inset-top))!important;min-height:calc(74px + env(safe-area-inset-top))!important;padding:env(safe-area-inset-top) 14px 0!important}
html body .nav{top:calc(74px + env(safe-area-inset-top))!important;max-height:calc(100dvh - 74px - env(safe-area-inset-top))!important}
}}

/* v123: keep the mobile menu reachable in short viewports and enlarge its trigger. */
@media(max-width:800px){
  html body .site-header .menu-button{min-height:44px!important;min-width:58px!important}
  html body .site-header .nav{max-height:calc(100dvh - 74px - env(safe-area-inset-top, 0px))!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
}

/* v124: the Home uses its compact Live card across the whole mobile breakpoint. */
@media (max-width:800px){
  html body.page-home main.container .home-live-desktop{display:none!important}
  html body.page-home main.container .home-live-mobile{display:block!important}
}

/* v125: Live mobile uses the same match picker and versus table styling as Results. */
@media(max-width:700px){
  html body.page-live main.container .mobile-match-choice{
    display:grid!important;gap:.28rem!important;margin:0 0 .7rem!important;padding:.58rem .65rem!important;
    border:1px solid rgba(93,174,226,.52)!important;border-radius:9px!important;background:#062a47!important;
  }
  html body.page-live main.container .mobile-match-choice>span{
    color:#fff!important;font-size:.65rem!important;font-weight:850!important;letter-spacing:.04em!important;text-transform:uppercase!important;
  }
  html body.page-live main.container .mobile-match-choice select{
    width:100%!important;min-height:44px!important;padding:.35rem .48rem!important;
    border:1px solid #185884!important;border-radius:7px!important;background:#0b456d!important;color:#fff!important;font-size:.78rem!important;font-weight:750!important;
  }
  html body.page-live main.container .mobile-versus-sheet{
    margin:.55rem 0 1rem!important;overflow:hidden!important;border:1px solid rgba(93,174,226,.52)!important;
    border-radius:8px!important;background:#062a47!important;box-shadow:none!important;
  }
  html body.page-live main.container .mobile-versus-header{
    display:grid!important;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)!important;
    align-items:center!important;gap:.25rem!important;padding:.55rem!important;
    border-bottom:1px solid rgba(93,174,226,.52)!important;background:#082f4d!important;
  }
  html body.page-live main.container .mobile-versus-header>span{
    color:#b9d8ef!important;font-size:.67rem!important;font-weight:900!important;text-align:center!important;
  }
  html body.page-live main.container .mobile-versus-team{display:flex!important;min-width:0!important;align-items:center!important}
  html body.page-live main.container .mobile-versus-team.right{justify-content:flex-end!important;text-align:right!important}
  html body.page-live main.container .mobile-versus-team img{display:none!important}
  html body.page-live main.container .mobile-versus-team strong{
    min-width:0!important;overflow:hidden!important;color:#fff!important;font-size:.72rem!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  html body.page-live main.container .mobile-versus-modules{
    display:grid!important;grid-template-columns:1fr 54px 1fr!important;align-items:center!important;
    padding:.38rem .5rem!important;border-bottom:1px solid rgba(93,174,226,.52)!important;
    background:#041f35!important;text-align:center!important;
  }
  html body.page-live main.container .mobile-versus-modules span{
    justify-self:start!important;padding:.18rem .42rem!important;border:1px solid #185884!important;
    border-radius:99px!important;background:#0b456d!important;color:#fff!important;font-size:.6rem!important;font-weight:850!important;
  }
  html body.page-live main.container .mobile-versus-modules span:last-child{justify-self:end!important}
  html body.page-live main.container .mobile-versus-modules b{color:#fff!important;font-size:.62rem!important;white-space:nowrap!important}
  html body.page-live main.container .mobile-versus-divider{
    padding:.25rem .5rem!important;border-bottom:1px solid rgba(93,174,226,.52)!important;
    background:#0b456d!important;color:#fff!important;font-size:.6rem!important;font-weight:900!important;
    letter-spacing:.08em!important;text-align:center!important;text-transform:uppercase!important;
  }
  html body.page-live main.container .mobile-versus-row,
  html body.page-live main.container .mobile-versus-row:nth-of-type(even){
    display:grid!important;grid-template-columns:minmax(0,1fr) 46px 46px minmax(0,1fr)!important;
    min-height:52px!important;align-items:stretch!important;border-bottom:1px solid rgba(93,174,226,.52)!important;background:#fff!important;
  }
  html body.page-live main.container .mobile-versus-row:last-child{border-bottom:0!important}
  html body.page-live main.container .mobile-versus-row .mobile-player{
    display:flex!important;min-width:0!important;flex-direction:column!important;justify-content:center!important;
    padding:.3rem .38rem!important;border-left:4px solid #8b99a5!important;line-height:1.08!important;text-align:left!important;
  }
  html body.page-live main.container .mobile-versus-row .mobile-player.right{
    border-right:4px solid #8b99a5!important;border-left:0!important;text-align:right!important;
  }
  html body.page-live main.container .mobile-versus-row .mobile-player strong{
    overflow:hidden!important;color:#111!important;font-size:.90rem!important;font-weight:400!important;
    line-height:1.15!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  html body.page-live main.container .mobile-versus-row .mobile-player small{
    min-height:.7rem!important;overflow:hidden!important;color:#263746!important;font-size:.68rem!important;
    text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  html body.page-live main.container .mobile-versus-row .mobile-live-events.has-events{
    display:block!important;margin-top:2px!important;overflow:hidden!important;color:#263746!important;
    font-size:.68rem!important;font-weight:400!important;line-height:1.1!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  html body.page-live main.container .mobile-versus-row .mobile-value{
    display:flex!important;min-width:0!important;flex-direction:column!important;align-items:center!important;
    justify-content:center!important;align-self:center!important;min-height:34px!important;margin:0 2px!important;
    padding:3px 2px!important;border:1px solid #b9d8ef!important;border-radius:6px!important;
    background:#dff1ff!important;color:#111!important;font-size:1.08rem!important;font-weight:400!important;line-height:1!important;
  }
  html body.page-live main.container .role-left-p .mobile-player.left,
  html body.page-live main.container .role-right-p .mobile-player.right{border-color:#d29b1d!important}
  html body.page-live main.container .role-left-d .mobile-player.left,
  html body.page-live main.container .role-right-d .mobile-player.right{border-color:#27895b!important}
  html body.page-live main.container .role-left-c .mobile-player.left,
  html body.page-live main.container .role-right-c .mobile-player.right{border-color:#3478b9!important}
  html body.page-live main.container .role-left-a .mobile-player.left,
  html body.page-live main.container .role-right-a .mobile-player.right{border-color:#bd4a4a!important}
}

/* v126: solid white player fields in Live on phones; expected Gazzetta notice is hidden. */
@media(max-width:700px){
  html body.page-live main.container .alert.live-votes-pending{display:none!important}
  html body.page-live main.container .mobile-versus-sheet .mobile-versus-row,
  html body.page-live main.container .mobile-versus-sheet .mobile-versus-row:nth-child(even),
  html body.page-live main.container .mobile-versus-sheet .mobile-versus-row:nth-of-type(even),
  html body.page-live main.container .mobile-versus-sheet .mobile-versus-row .mobile-player,
  html body.page-live main.container .mobile-versus-sheet .mobile-versus-row .mobile-player.right,
  html body.page-live main.container .live-lineups .live-player,
  html body.page-live main.container .live-lineups .live-player:nth-child(even),
  html body.page-live main.container .live-lineups .live-player.live-substitute,
  html body.page-live main.container .live-lineups .live-player.live-replaced{
    background:#fff!important;background-image:none!important;box-shadow:none!important;
  }
}

/* v127: white match fields for Prossimo turno on phones, in Calendar and Home. */
@media(max-width:700px){
  html body.page-calendario.mobile-calendar-v17 main.container .next-calendar-round .mobile-next-round-list>a,
  html body.page-calendario.mobile-calendar-v17 main.container .next-calendar-round .mobile-next-round-list>a:nth-child(even){
    background:#fff!important;background-image:none!important;color:#111!important;box-shadow:none!important;
  }
  html body.page-calendario.mobile-calendar-v17 main.container .next-calendar-round .mobile-next-round-list>a>span{
    color:#111!important;font-weight:400!important;
  }
  html body.page-home.mobile-layout-v10 main.container .home-side-column .home-box .next-turn-list>a[href*="page=formazioni"],
  html body.page-home.mobile-layout-v10 main.container .home-side-column .home-box .next-turn-list>a[href*="page=formazioni"]:nth-child(even){
    background:#fff!important;background-image:none!important;color:#111!important;box-shadow:none!important;
  }
  html body.page-home.mobile-layout-v10 main.container .home-side-column .home-box .next-turn-list>a[href*="page=formazioni"]>span,
  html body.page-home.mobile-layout-v10 main.container .home-side-column .home-box .next-turn-list>a[href*="page=formazioni"]>b{
    color:#111!important;font-weight:400!important;
  }
}

/* v128: white player rows on the page reached from Prossimo turno. */
@media(max-width:700px){
  html body.page-formazioni main.container .submitted-lineups .submitted-players>div,
  html body.page-formazioni main.container .submitted-lineups .submitted-players>div:nth-child(odd),
  html body.page-formazioni main.container .submitted-lineups .submitted-players>div:nth-child(even),
  html body.page-formazioni main.container .mobile-versus-sheet .mobile-versus-row,
  html body.page-formazioni main.container .mobile-versus-sheet .mobile-versus-row:nth-child(even),
  html body.page-formazioni main.container .mobile-versus-sheet .mobile-versus-row:nth-of-type(even),
  html body.page-formazioni main.container .mobile-versus-sheet .mobile-versus-row .mobile-player{
    background:#fff!important;background-image:none!important;box-shadow:none!important;
  }
  html body.page-formazioni main.container .mobile-versus-sheet .mobile-versus-row .mobile-player strong{
    color:#111!important;font-weight:400!important;
  }
  html body.page-formazioni main.container .mobile-versus-sheet .mobile-versus-row .mobile-player small{color:#263746!important}
}

/* v129: Formazioni inviate uses the same mobile match and player table styling as Live and Results. */
@media(max-width:700px){
  html body.page-formazioni main.container .mobile-match-choice{
    display:grid!important;gap:.28rem!important;margin:0 0 .7rem!important;padding:.58rem .65rem!important;
    border:1px solid rgba(93,174,226,.52)!important;border-radius:9px!important;background:#062a47!important;
  }
  html body.page-formazioni main.container .mobile-match-choice>span{
    color:#fff!important;font-size:.65rem!important;font-weight:850!important;letter-spacing:.04em!important;text-transform:uppercase!important;
  }
  html body.page-formazioni main.container .mobile-match-choice select{
    width:100%!important;min-height:44px!important;padding:.35rem .48rem!important;
    border:1px solid #185884!important;border-radius:7px!important;background:#0b456d!important;color:#fff!important;font-size:.78rem!important;font-weight:750!important;
  }
  html body.page-formazioni main.container .mobile-versus-sheet{
    margin:.55rem 0 1rem!important;overflow:hidden!important;border:1px solid rgba(93,174,226,.52)!important;
    border-radius:10px!important;background:#062a47!important;box-shadow:none!important;
  }
  html body.page-formazioni main.container .mobile-versus-header{
    display:grid!important;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)!important;
    align-items:center!important;gap:.25rem!important;padding:.55rem!important;
    border-bottom:1px solid rgba(93,174,226,.52)!important;background:#082f4d!important;
  }
  html body.page-formazioni main.container .mobile-versus-header>span{
    color:#b9d8ef!important;font-size:.67rem!important;font-weight:900!important;text-align:center!important;
  }
  html body.page-formazioni main.container .mobile-versus-team{display:flex!important;min-width:0!important;align-items:center!important}
  html body.page-formazioni main.container .mobile-versus-team.right{justify-content:flex-end!important;text-align:right!important}
  html body.page-formazioni main.container .mobile-versus-team img{display:none!important}
  html body.page-formazioni main.container .mobile-versus-team strong{
    min-width:0!important;overflow:hidden!important;color:#fff!important;font-size:.72rem!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  html body.page-formazioni main.container .mobile-versus-modules{
    display:grid!important;grid-template-columns:1fr 54px 1fr!important;align-items:center!important;
    padding:.38rem .5rem!important;border-bottom:1px solid rgba(93,174,226,.52)!important;
    background:#041f35!important;text-align:center!important;
  }
  html body.page-formazioni main.container .mobile-versus-modules span{
    justify-self:start!important;padding:.18rem .42rem!important;border:1px solid #185884!important;
    border-radius:99px!important;background:#0b456d!important;color:#fff!important;font-size:.6rem!important;font-weight:850!important;
  }
  html body.page-formazioni main.container .mobile-versus-modules span:last-child{justify-self:end!important}
  html body.page-formazioni main.container .mobile-versus-modules b{color:#fff!important;font-size:.62rem!important;white-space:nowrap!important}
  html body.page-formazioni main.container .mobile-versus-divider{
    padding:.25rem .5rem!important;border-bottom:1px solid rgba(93,174,226,.52)!important;
    background:#0b456d!important;color:#fff!important;font-size:.6rem!important;font-weight:900!important;
    letter-spacing:.08em!important;text-align:center!important;text-transform:uppercase!important;
  }
  html body.page-formazioni main.container .mobile-versus-row,
  html body.page-formazioni main.container .mobile-versus-row:nth-of-type(even){
    display:grid!important;grid-template-columns:minmax(0,1fr) 46px 46px minmax(0,1fr)!important;
    min-height:52px!important;align-items:stretch!important;border-bottom:1px solid rgba(93,174,226,.52)!important;background:#fff!important;
  }
  html body.page-formazioni main.container .mobile-versus-row:last-child{border-bottom:0!important}
  html body.page-formazioni main.container .mobile-versus-row .mobile-player{
    display:flex!important;min-width:0!important;flex-direction:column!important;justify-content:center!important;
    padding:.3rem .38rem!important;border-left:4px solid #8b99a5!important;line-height:1.08!important;text-align:left!important;
  }
  html body.page-formazioni main.container .mobile-versus-row .mobile-player.right{
    border-right:4px solid #8b99a5!important;border-left:0!important;text-align:right!important;
  }
  html body.page-formazioni main.container .mobile-versus-row .mobile-player strong{
    overflow:hidden!important;color:#111!important;font-size:.90rem!important;font-weight:400!important;
    line-height:1.15!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  html body.page-formazioni main.container .mobile-versus-row .mobile-player small{
    min-height:.7rem!important;overflow:hidden!important;color:#263746!important;font-size:.68rem!important;
    text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  html body.page-formazioni main.container .mobile-versus-row .mobile-live-events.has-events{
    display:block!important;margin-top:2px!important;overflow:hidden!important;color:#263746!important;
    font-size:.68rem!important;font-weight:400!important;line-height:1.1!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  html body.page-formazioni main.container .mobile-versus-row .mobile-value{
    display:flex!important;min-width:0!important;flex-direction:column!important;align-items:center!important;
    justify-content:center!important;align-self:center!important;min-height:34px!important;margin:0 2px!important;
    padding:3px 2px!important;border:1px solid #b9d8ef!important;border-radius:6px!important;
    background:#dff1ff!important;color:#111!important;font-size:1.08rem!important;font-weight:400!important;line-height:1!important;
  }
  html body.page-formazioni main.container .role-left-p .mobile-player.left,
  html body.page-formazioni main.container .role-right-p .mobile-player.right{border-color:#d29b1d!important}
  html body.page-formazioni main.container .role-left-d .mobile-player.left,
  html body.page-formazioni main.container .role-right-d .mobile-player.right{border-color:#27895b!important}
  html body.page-formazioni main.container .role-left-c .mobile-player.left,
  html body.page-formazioni main.container .role-right-c .mobile-player.right{border-color:#3478b9!important}
  html body.page-formazioni main.container .role-left-a .mobile-player.left,
  html body.page-formazioni main.container .role-right-a .mobile-player.right{border-color:#bd4a4a!important}
}


/* v130: on phones, use the same control style for round and match selection. */
@media (max-width: 700px) {
  html body.page-formazioni main.container .formations-round-picker {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .28rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: .58rem .65rem !important;
    border: 1px solid rgba(93,174,226,.52) !important;
    border-radius: 9px !important;
    background: #062a47 !important;
  }
  html body.page-formazioni main.container .formations-round-picker > span {
    color: #fff !important;
    font-size: .65rem !important;
    font-weight: 850 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }
  html body.page-formazioni main.container .formations-round-picker select {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: .35rem .48rem !important;
    border: 1px solid #185884 !important;
    border-radius: 7px !important;
    background: #0b456d !important;
    background-image: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    color-scheme: dark !important;
    font-size: .78rem !important;
    font-weight: 750 !important;
  }
  html body.page-formazioni main.container .formations-round-picker select option {
    background: #0b456d !important;
    color: #fff !important;
  }
  html body.page-formazioni main.container .page-context-heading > header {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .1rem !important;
  }
  html body.page-formazioni main.container .page-context-heading > header div > span {
    display: none !important;
  }
  html body.page-formazioni main.container .page-context-heading > header > small {
    order: -1 !important;
    max-width: none !important;
    color: #edf2f6 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-align: left !important;
  }
}

/* v131: display the Serie A matchday as the mobile Results heading. */
@media (max-width: 700px) {
  html body.page-risultati main.container .results-title-card > header {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .1rem !important;
  }
  html body.page-risultati main.container .results-title-card > header div > span {
    display: none !important;
  }
  html body.page-risultati main.container .results-title-card > header > small {
    order: -1 !important;
    max-width: none !important;
    color: #edf2f6 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-align: left !important;
  }
}

/* v134: Calendario mobile consolidated in the bundle.
   One source of truth: no page-local mobile CSS. Matches Home Live/Results rows. */
.mobile-next-round-list { display: none !important; }
.calendar-heading-mobile { display: none !important; }

@media (max-width: 800px) {
  html body.page-calendario main.container .next-calendar-round:not(.page-context-heading) .next-calendar-matches {
    display: none !important;
  }
  html body.page-calendario main.container .next-calendar-round:not(.page-context-heading),
  html body.page-calendario main.container .old-calendar-card {
    overflow: hidden !important;
    border: 1px solid var(--mobile-blue-border, rgba(93,174,226,.52)) !important;
    border-radius: 10px !important;
    background: #062a47 !important;
    box-shadow: none !important;
  }
  html body.page-calendario main.container .next-calendar-round:not(.page-context-heading) > header,
  html body.page-calendario main.container .old-calendar-card > header {
    border-bottom: 1px solid var(--mobile-blue-border, rgba(93,174,226,.52)) !important;
    background: #082f4d !important;
    color: #fff !important;
  }
  html body.page-calendario main.container .mobile-next-round-list {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #062a47 !important;
  }
  html body.page-calendario main.container .mobile-next-round-list > a,
  html body.page-calendario main.container .old-calendar-games > a {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 58px minmax(0,1fr) !important;
    align-items: center !important;
    gap: .4rem !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: .42rem .55rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--mobile-blue-border, rgba(93,174,226,.52)) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    text-decoration: none !important;
  }
  html body.page-calendario main.container .mobile-next-round-list > a:nth-child(even),
  html body.page-calendario main.container .old-calendar-games > a:nth-child(even) {
    background: rgba(255,255,255,.035) !important;
  }
  html body.page-calendario main.container .mobile-next-round-list > a:last-child,
  html body.page-calendario main.container .old-calendar-games > a:last-child {
    border-bottom: 0 !important;
  }
  html body.page-calendario main.container .mobile-next-round-list > a > span,
  html body.page-calendario main.container .old-calendar-games > a > span {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: #f5f9fd !important;
    font-size: .73rem !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  html body.page-calendario main.container .mobile-next-round-list .mobile-next-home,
  html body.page-calendario main.container .old-calendar-games > a > span:first-child {
    text-align: right !important;
  }
  html body.page-calendario main.container .mobile-next-round-list .mobile-next-away,
  html body.page-calendario main.container .old-calendar-games > a > span:last-child {
    text-align: left !important;
  }
  html body.page-calendario main.container .mobile-next-round-list > a > b,
  html body.page-calendario main.container .old-calendar-games > a > b {
    display: grid !important;
    width: auto !important;
    min-width: 54px !important;
    min-height: 28px !important;
    place-items: center !important;
    padding: .2rem .35rem !important;
    border: 1px solid #b9d8ef !important;
    border-radius: 7px !important;
    background: #dff1ff !important;
    color: #111 !important;
    font-size: .73rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }
  html body.page-calendario main.container .old-calendar-date {
    border-bottom: 1px solid var(--mobile-blue-border, rgba(93,174,226,.52)) !important;
    background: #082f4d !important;
    color: #c8d4de !important;
  }
  html body.page-calendario main.container .old-calendar-games {
    padding: 0 !important;
    background: #062a47 !important;
  }

  /* Mobile page title: current Serie A matchday only. */
  html body.page-calendario main.container .page-context-heading > header,
  html body.page-calendario main.container .page-context-heading > header div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .1rem !important;
  }
  html body.page-calendario main.container .page-context-heading .calendar-heading-desktop,
  html body.page-calendario main.container .page-context-heading > header > small {
    display: none !important;
  }
  html body.page-calendario main.container .page-context-heading .calendar-heading-mobile {
    display: block !important;
    color: #edf2f6 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
  }
}

/* v135: full mobile calendar formatting.
   Apply the same Live/Results row treatment to every calendar round, not only Next Round. */
@media (max-width: 800px) {
  html body.page-calendario main.container .old-calendar-grid {
    display: block !important;
    width: 100% !important;
    margin: .7rem 0 0 !important;
    padding: 0 !important;
  }

  html body.page-calendario main.container .old-calendar-grid > .old-calendar-card {
    display: block !important;
    width: 100% !important;
    margin: 0 0 .7rem !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--mobile-blue-border, rgba(93,174,226,.52)) !important;
    border-radius: 10px !important;
    background: #062a47 !important;
    box-shadow: none !important;
  }

  html body.page-calendario main.container .old-calendar-grid > .old-calendar-card > header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .55rem !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: .48rem .6rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--mobile-blue-border, rgba(93,174,226,.52)) !important;
    border-radius: 0 !important;
    background: #082f4d !important;
  }

  html body.page-calendario main.container .old-calendar-grid > .old-calendar-card > header > strong {
    color: #fff !important;
    font-size: .82rem !important;
    font-weight: 750 !important;
    line-height: 1.1 !important;
  }

  html body.page-calendario main.container .old-calendar-grid > .old-calendar-card > header > span {
    color: #c8d4de !important;
    font-size: .66rem !important;
    font-weight: 650 !important;
    line-height: 1.1 !important;
    text-align: right !important;
  }

  html body.page-calendario main.container .old-calendar-grid .old-calendar-date {
    margin: 0 !important;
    padding: .34rem .6rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--mobile-blue-border, rgba(93,174,226,.52)) !important;
    background: #082f4d !important;
    color: #c8d4de !important;
    font-size: .65rem !important;
    font-weight: 650 !important;
    line-height: 1.1 !important;
    text-align: left !important;
  }

  html body.page-calendario main.container .old-calendar-grid .old-calendar-games {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #062a47 !important;
  }

  html body.page-calendario main.container .old-calendar-grid .old-calendar-games > a {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 54px minmax(0,1fr) !important;
    align-items: center !important;
    gap: .4rem !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: .42rem .55rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--mobile-blue-border, rgba(93,174,226,.52)) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    text-decoration: none !important;
  }

  html body.page-calendario main.container .old-calendar-grid .old-calendar-games > a:nth-child(even) {
    background: rgba(255,255,255,.035) !important;
  }

  html body.page-calendario main.container .old-calendar-grid .old-calendar-games > a:last-child {
    border-bottom: 0 !important;
  }

  html body.page-calendario main.container .old-calendar-grid .old-calendar-games > a > span {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: #f5f9fd !important;
    font-size: .73rem !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.page-calendario main.container .old-calendar-grid .old-calendar-games > a > span:first-child {
    text-align: right !important;
  }

  html body.page-calendario main.container .old-calendar-grid .old-calendar-games > a > span:last-child {
    text-align: left !important;
  }

  html body.page-calendario main.container .old-calendar-grid .old-calendar-games > a > b {
    display: grid !important;
    width: auto !important;
    min-width: 54px !important;
    min-height: 28px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: .2rem .35rem !important;
    border: 1px solid #b9d8ef !important;
    border-radius: 7px !important;
    background: #dff1ff !important;
    color: #111 !important;
    font-size: .73rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* Slightly smaller Apertura - N giornata label in Next Round. */
  html body.page-calendario main.container .next-calendar-round:not(.page-context-heading) > header strong {
    font-size: .80rem !important;
    line-height: 1.12 !important;
  }
}

/* v137: mobile calendar uses the original round markup only.
   Keep each matchday as a clearly separated card; no duplicate mobile lists. */
@media (max-width: 800px) {
  html body.page-calendario main.container .old-calendar-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
    width: 100% !important;
    margin: .8rem 0 0 !important;
    padding: 0 !important;
  }

  html body.page-calendario main.container .old-calendar-grid > .old-calendar-card {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--mobile-blue-border, rgba(93,174,226,.52)) !important;
    border-radius: 10px !important;
    background: #062a47 !important;
    box-shadow: none !important;
  }

  html body.page-calendario main.container .old-calendar-grid .old-calendar-games {
    display: block !important;
  }

  html body.page-calendario main.container .old-calendar-grid > .old-calendar-card + .old-calendar-card {
    margin-top: 0 !important;
  }

  html body.page-calendario main.container .next-calendar-round:not(.page-context-heading) > header strong {
    font-size: .74rem !important;
    line-height: 1.1 !important;
  }
}


/* ========================================================================== 
   v138 - SHARED MOBILE MATCH COMPONENT
   One authoritative style for Home next turn + Calendar next turn + all
   Calendar rounds. Future visual changes to match rows should be made here.
   ========================================================================== */
@media (max-width: 800px) {
  /* Shared list containers */
  html body.page-home main.container .next-turn-list,
  html body.page-calendario main.container .mobile-next-round-list,
  html body.page-calendario main.container .old-calendar-games {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  /* Shared match row */
  html body.page-home main.container .next-turn-list > a[href*="page=formazioni"],
  html body.page-calendario main.container .mobile-next-round-list > a,
  html body.page-calendario main.container .old-calendar-games > a {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 58px minmax(0,1fr) !important;
    align-items: center !important;
    gap: .42rem !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: .48rem .58rem !important;
    border: 0 !important;
    border-bottom: 1px solid #c5e2f3 !important;
    border-radius: 0 !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #111 !important;
    text-decoration: none !important;
  }

  html body.page-home main.container .next-turn-list > a[href*="page=formazioni"]:nth-child(even),
  html body.page-calendario main.container .mobile-next-round-list > a:nth-child(even),
  html body.page-calendario main.container .old-calendar-games > a:nth-child(even) {
    background: #fff !important;
  }

  html body.page-home main.container .next-turn-list > a[href*="page=formazioni"]:last-child,
  html body.page-calendario main.container .mobile-next-round-list > a:last-child,
  html body.page-calendario main.container .old-calendar-games > a:last-child {
    border-bottom: 0 !important;
  }

  /* Shared team names */
  html body.page-home main.container .next-turn-list > a[href*="page=formazioni"] > span,
  html body.page-calendario main.container .mobile-next-round-list > a > span,
  html body.page-calendario main.container .old-calendar-games > a > span {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: #111 !important;
    font-size: .78rem !important;
    font-weight: 400 !important;
    line-height: 1.16 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.page-home main.container .next-turn-list > a[href*="page=formazioni"] > span:first-child,
  html body.page-calendario main.container .mobile-next-round-list > a > span:first-child,
  html body.page-calendario main.container .old-calendar-games > a > span:first-child {
    text-align: right !important;
  }

  html body.page-home main.container .next-turn-list > a[href*="page=formazioni"] > span:last-child,
  html body.page-calendario main.container .mobile-next-round-list > a > span:last-child,
  html body.page-calendario main.container .old-calendar-games > a > span:last-child {
    text-align: left !important;
  }

  /* Shared VS / score pill */
  html body.page-home main.container .next-turn-list > a[href*="page=formazioni"] > b,
  html body.page-calendario main.container .mobile-next-round-list > a > b,
  html body.page-calendario main.container .old-calendar-games > a > b {
    box-sizing: border-box !important;
    display: grid !important;
    width: auto !important;
    min-width: 58px !important;
    min-height: 32px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: .22rem .38rem !important;
    border: 1px solid #b9d8ef !important;
    border-radius: 8px !important;
    background: #dff1ff !important;
    color: #111 !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* Calendar cards stay distinct; only their match rows share Home styling. */
  html body.page-calendario main.container .old-calendar-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
  }

  html body.page-calendario main.container .old-calendar-card,
  html body.page-calendario main.container .next-calendar-round:not(.page-context-heading) {
    overflow: hidden !important;
    border: 1px solid var(--mobile-blue-border, rgba(93,174,226,.52)) !important;
    border-radius: 10px !important;
  }

  /* Requested smaller competition / fantasy-round label in Next Round. */
  html body.page-calendario main.container .next-calendar-round:not(.page-context-heading) > header strong {
    font-size: .70rem !important;
    line-height: 1.08 !important;
    font-weight: 650 !important;
  }
}

/* ===== v139: componenti condivisi, ma desktop e mobile restano indipendenti =====
   Regola di progetto:
   - le pagine condividono lo stesso linguaggio CSS;
   - desktop (>=769px) e mobile (<=768px) usano valori e layout separati;
   - una modifica mobile non deve cambiare il desktop e viceversa. */

@media (min-width:769px){
  :root{
    --lofe-desktop-match-team-font:.66rem;
    --lofe-desktop-match-score-font:.76rem;
    --lofe-desktop-match-radius:10px;
  }

  /* Il prossimo turno mobile non deve mai comparire su PC. */
  .page-calendario .mobile-next-round-list{display:none!important}

  /* I valori condivisi desktop restano confinati al desktop. */
  body.page-home .home-live-selector>a>span,
  .page-calendario .next-calendar-matches>a>span{
    font-size:var(--lofe-desktop-match-team-font)!important;
  }
  body.page-home .home-live-selector>a>b,
  .page-calendario .next-calendar-matches>a>b{
    font-size:var(--lofe-desktop-match-score-font)!important;
  }
}

@media (max-width:768px){
  :root{
    --lofe-mobile-match-row-h:64px;
    --lofe-mobile-match-team-font:1rem;
    --lofe-mobile-match-score-font:1rem;
    --lofe-mobile-match-line:#c9e3f1;
    --lofe-mobile-match-bg:#fff;
    --lofe-mobile-match-text:#171717;
    --lofe-mobile-score-bg:#deedf6;
    --lofe-mobile-score-border:#b9d7e8;
  }

  /* Calendario mobile: usa esclusivamente la lista mobile, non le card desktop. */
  .page-calendario .next-calendar-matches{display:none!important}
  .page-calendario .mobile-next-round-list{
    display:block!important;
    padding:0!important;
    margin:0!important;
    background:var(--lofe-mobile-match-bg)!important;
    border-top:1px solid var(--lofe-mobile-match-line)!important;
  }
  .page-calendario .mobile-next-round-list>a{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)!important;
    align-items:center!important;
    min-height:var(--lofe-mobile-match-row-h)!important;
    padding:.48rem .58rem!important;
    gap:.55rem!important;
    border:0!important;
    border-bottom:1px solid var(--lofe-mobile-match-line)!important;
    border-radius:0!important;
    background:var(--lofe-mobile-match-bg)!important;
    color:var(--lofe-mobile-match-text)!important;
    box-shadow:none!important;
    text-decoration:none!important;
  }
  .page-calendario .mobile-next-round-list>a:last-child{border-bottom:0!important}
  .page-calendario .mobile-next-round-list>a>span{
    min-width:0!important;
    color:var(--lofe-mobile-match-text)!important;
    font-size:var(--lofe-mobile-match-team-font)!important;
    font-weight:400!important;
    line-height:1.18!important;
    white-space:nowrap!important;
  }
  .page-calendario .mobile-next-round-list .mobile-next-home{text-align:right!important}
  .page-calendario .mobile-next-round-list .mobile-next-away{text-align:left!important}
  .page-calendario .mobile-next-round-list>a>b{
    display:grid!important;
    place-items:center!important;
    width:auto!important;
    min-width:58px!important;
    min-height:32px!important;
    height:auto!important;
    padding:.22rem .38rem!important;
    border:1px solid var(--lofe-mobile-score-border)!important;
    border-radius:10px!important;
    background:var(--lofe-mobile-score-bg)!important;
    color:var(--lofe-mobile-match-text)!important;
    font-size:var(--lofe-mobile-match-score-font)!important;
    font-weight:700!important;
    line-height:1!important;
  }

  /* Titolo del prossimo turno: mobile indipendente dal desktop. */
  .page-calendario .next-calendar-round:not(.page-context-heading)>header strong{
    font-size:.94rem!important;
  }

  /* Home: i suoi elenchi mobile restano governati solo dalle regole mobile. */
  body.page-home .next-turn-list a,
  body.page-home .home-results a{
    font-size:1rem!important;
  }
}

/* ========================================================================== 
   v141 - LOFE SHARED MATCH COMPONENT / PHASE 1.1
   Home + Calendario share semantic classes; desktop legacy alignment restored and mobile compactness restored.
   Desktop and mobile are intentionally independent.
   Future match-row changes should target .lofe-match-* instead of page names.
   ========================================================================== */

:root{
  --lofe-match-bg:#fff;
  --lofe-match-alt:#edf6fc;
  --lofe-match-text:#17283b;
  --lofe-match-line:#c9e3f1;
  --lofe-match-score-bg:#dff1ff;
  --lofe-match-score-border:#b9d8ef;
}

/* Shared semantics only: layout is resolved separately below. */
.lofe-match-list{box-sizing:border-box}
.lofe-match-row{box-sizing:border-box;text-decoration:none}
.lofe-match-team{min-width:0}

/* ---------------- DESKTOP: independent from mobile ---------------- */
@media (min-width:769px){
  :root{
    --lofe-desktop-match-team-font:.66rem;
    --lofe-desktop-match-score-font:.76rem;
  }

  /* Mobile-only calendar representation never leaks onto desktop. */
  body.page-calendario .mobile-next-round-list.lofe-match-list{display:none!important}

  /* The new semantic classes do not rewrite desktop card geometry in phase 1.
     Desktop keeps the already approved Home/Calendar layouts. */
  body.page-home .lofe-match-row--status .lofe-match-team{
    font-size:inherit;
  }
}

/* ---------------- MOBILE: one base component, explicit variants ---------------- */
@media (max-width:768px){
  :root{
    --lofe-mobile-match-row-h:48px;
    --lofe-mobile-match-team-font:.78rem;
    --lofe-mobile-match-score-font:.78rem;
  }

  /* BASE LIST: shared by Home and Calendar. */
  html body main.container .lofe-match-list{
    box-sizing:border-box!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:var(--lofe-match-bg)!important;
  }

  /* BASE ROW: Calendar next turn + Calendar historical rounds. */
  html body main.container .lofe-match-list > .lofe-match-row:not(.lofe-match-row--status){
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)!important;
    align-items:center!important;
    gap:.55rem!important;
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    margin:0!important;
    padding:.48rem .58rem!important;
    border:0!important;
    border-bottom:1px solid var(--lofe-match-line)!important;
    border-radius:0!important;
    background:var(--lofe-match-bg)!important;
    background-image:none!important;
    box-shadow:none!important;
    color:var(--lofe-match-text)!important;
    text-decoration:none!important;
  }
  html body main.container .lofe-match-list > .lofe-match-row:not(.lofe-match-row--status):last-child{
    border-bottom:0!important;
  }

  html body main.container .lofe-match-row .lofe-match-team{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    color:var(--lofe-match-text)!important;
    font-size:.78rem!important;
    font-weight:400!important;
    line-height:1.16!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
  }


  /* Mobile only: home toward center, away toward center. Desktop keeps legacy alignment. */
  html body main.container .lofe-match-row .lofe-match-team--home{text-align:right!important}
  html body main.container .lofe-match-row .lofe-match-team--away{text-align:left!important}

  html body main.container .lofe-match-row .lofe-match-score{
    box-sizing:border-box!important;
    display:grid!important;
    width:auto!important;
    min-width:58px!important;
    min-height:32px!important;
    height:auto!important;
    place-items:center!important;
    margin:0!important;
    padding:0 .35rem!important;
    border:1px solid var(--lofe-match-score-border)!important;
    border-radius:10px!important;
    background:var(--lofe-match-score-bg)!important;
    color:#111!important;
    font-size:.78rem!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  /* HOME STATUS VARIANT: same base language, with formation ✓/× columns. */
  html body.page-home main.container .lofe-match-list--status > .lofe-match-row--status{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 26px 12px 26px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:7px!important;
    width:100%!important;
    min-height:43px!important;
    margin:0!important;
    padding:.46rem .72rem!important;
    border:0!important;
    border-bottom:1px solid #d6e3ec!important;
    border-radius:0!important;
    background:var(--lofe-match-bg)!important;
    box-shadow:none!important;
    color:var(--lofe-match-text)!important;
  }
  html body.page-home main.container .lofe-match-list--status > .lofe-match-row--status:nth-child(even){
    background:var(--lofe-match-alt)!important;
  }
  html body.page-home main.container .lofe-match-list--status > .lofe-match-row--status:last-child{
    border-bottom:0!important;
  }
  html body.page-home main.container .lofe-match-row--status .lofe-match-team{
    overflow:hidden!important;
    color:var(--lofe-match-text)!important;
    font-size:.74rem!important;
    line-height:1.15!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  html body.page-home main.container .lofe-match-row--status .lofe-match-status{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    margin:0!important;
    padding:0!important;
    border-radius:50%!important;
    font-size:.73rem!important;
    font-style:normal!important;
    line-height:1!important;
  }
  html body.page-home main.container .lofe-match-row--status .lofe-match-status.missing{background:#c94e54!important;color:#fff!important}
  html body.page-home main.container .lofe-match-row--status .lofe-match-status.sent{background:#4da56f!important;color:#fff!important}
  html body.page-home main.container .lofe-match-row--status .lofe-match-separator{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:12px!important;
    margin:0!important;
    color:#b9c6cf!important;
    font-weight:500!important;
  }

  /* Calendar visibility and card separation are page concerns, not row concerns. */
  html body.page-calendario main.container .next-calendar-matches{display:none!important}
  html body.page-calendario main.container .mobile-next-round-list.lofe-match-list{display:block!important}
  html body.page-calendario main.container .old-calendar-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.9rem!important;
  }
  html body.page-calendario main.container .old-calendar-card{
    overflow:hidden!important;
    margin:0!important;
  }
  html body.page-calendario main.container .next-calendar-round:not(.page-context-heading)>header strong{
    font-size:.94rem!important;
  }
}
