
:root{--bg:#eef4ef;--panel:#fff;--text:#153226;--muted:#687a70;--green:#147447;--green2:#0b5a35;--danger:#b42318;--blue:#175cd3;--amber:#b54708;--shadow:0 12px 32px rgba(20,60,39,.13)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#eef4ef;color:var(--text)}button,input,select,textarea{font:inherit;font-size:16px}button{touch-action:manipulation}.app{width:min(1260px,100%);margin:auto;padding:12px 10px 32px}.top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.top h1{margin:0;font-size:clamp(23px,5vw,34px)}.top p{margin:4px 0;color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;gap:7px}.btn{border:0;border-radius:11px;padding:10px 13px;min-height:44px;font-weight:700;background:#e5eee8;color:var(--text)}.btn.primary{background:var(--green);color:#fff}.btn.danger{background:#fff0ef;color:var(--danger)}.btn.small{padding:7px 9px;min-height:36px;font-size:13px}.controls{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:8px;margin:14px 0}.label{font-size:12px;font-weight:700;color:var(--muted);display:block;margin:0 0 4px}input,select,textarea{width:100%;border:1px solid #cbd9cf;border-radius:10px;padding:9px;background:#fff;color:var(--text)}.main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);grid-template-areas:"field bench" "content bench";gap:13px;align-items:start}.field-column{grid-area:field}.content-column{grid-area:content;display:grid;gap:12px}.bench-column{grid-area:bench;position:sticky;top:10px}.panel{background:#fff;border-radius:17px;padding:12px;box-shadow:var(--shadow);border:1px solid #dfe8e1}.panel h2{font-size:18px;margin:2px 0 4px}.hint{font-size:13px;color:var(--muted);margin:0 0 9px}.pitch{position:relative;width:100%;height:min(126vw,700px);min-height:510px;max-height:700px;border-radius:20px;overflow:hidden;background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 12.5%,rgba(0,0,0,.035) 12.5% 25%),linear-gradient(#258f54,#187644);touch-action:none;user-select:none}.lines{position:absolute;inset:4.5%;border:2px solid rgba(255,255,255,.9)}.half{position:absolute;left:4.5%;right:4.5%;top:50%;border-top:2px solid #fff}.circle{position:absolute;width:25%;height:18%;border:2px solid #fff;border-radius:50%;left:37.5%;top:41%}.area{position:absolute;left:25%;width:50%;height:14%;border:2px solid #fff}.area.t{top:4.5%;border-top:0;border-radius:0 0 50% 50%}.area.b{bottom:4.5%;border-bottom:0;border-radius:50% 50% 0 0}.player{position:absolute;width:76px;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:3px;z-index:5;touch-action:none}.ball{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid #173b2b;font-weight:900;box-shadow:0 5px 14px rgba(0,0,0,.24)}.player.gk .ball{background:#ffd84c}.player.empty .ball{background:rgba(255,255,255,.18);color:#fff;border-style:dashed;box-shadow:none}.player.selected .ball{outline:4px solid #fff;outline-offset:3px}.tag{max-width:105px;background:rgba(8,36,22,.86);color:#fff;border-radius:7px;padding:4px 6px;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-info{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px;margin-top:9px;border:1px solid #d9e4dc;border-radius:12px}.selected-info strong,.selected-info span{display:block}.selected-info span{font-size:12px;color:var(--muted);margin-top:2px}.selected-buttons{display:flex;gap:6px}.stack{display:grid;gap:11px}.head{display:flex;justify-content:space-between;align-items:center}.badge{border-radius:999px;background:#edf3ef;padding:5px 9px;font-weight:800;font-size:12px}.list{display:grid;gap:7px;max-height:285px;overflow:auto}.person,.roster-person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;border:1px solid #dce6df;border-radius:12px;padding:8px}.name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{font-size:11px;color:var(--muted);margin-top:3px}.actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.icon{width:36px;height:36px;border:0;border-radius:9px;background:#edf3ef;font-weight:900}.icon.field{color:var(--green2);background:#e5f5ea}.icon.remove{color:var(--danger);background:#fff0ef}.emptybox{border:1px dashed #c5d5ca;border-radius:11px;padding:14px;text-align:center;color:var(--muted);font-size:13px}.analysis{margin-top:12px}.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.analysis-card{border:1px solid #dce6df;border-radius:12px;padding:10px;background:#f8fbf9}.analysis-card.risk{background:#fff8f1;border-color:#f3d4ac}.analysis-card h3{margin:0 0 5px;font-size:14px}.analysis-card p{margin:0;font-size:13px;line-height:1.4}.analysis-card ul{margin:5px 0 0;padding-left:18px;font-size:13px;line-height:1.4}.suggest-tools{display:flex;gap:7px;align-items:end;flex-wrap:wrap;margin:9px 0}.suggest-tools label{min-width:155px}.ranking{display:grid;gap:5px;margin-top:8px}.rankrow{display:grid;grid-template-columns:28px 64px 1fr 52px;gap:7px;align-items:center;font-size:12px}.rankbar{height:8px;border-radius:999px;background:#e1ebe4;overflow:hidden}.rankfill{height:100%;background:var(--green)}.proposal-list{display:grid;gap:6px;margin:9px 0}.proposal-player{display:grid;grid-template-columns:32px 1fr auto;gap:7px;align-items:center;border:1px solid #dce6df;border-radius:10px;padding:7px}.proposal-player strong{font-size:13px}.proposal-player span{font-size:11px;color:var(--muted)}.roster{margin-top:13px}.add{display:grid;grid-template-columns:1.5fr 1fr .7fr .8fr auto;gap:7px;margin:9px 0}.roster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:420px;overflow:auto}.inmatch{background:#f0f8f3;border-color:#a8d5b8}.modal{position:fixed;inset:0;z-index:100;display:none;align-items:flex-end;justify-content:center;padding:12px;background:rgba(5,25,15,.6)}.modal.show{display:flex}.card{width:min(700px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:14px}.card h2{margin:0 0 10px}.formgrid{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:8px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.metric{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:7px}.metric label{font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.copyarea{min-height:360px;font-family:monospace;line-height:1.45}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(15px);opacity:0;background:#123c29;color:#fff;padding:10px 14px;border-radius:11px;transition:.2s;z-index:200;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.strategy-box{margin:10px 0 12px;padding:10px;border:1px solid #dce6df;border-radius:13px;background:#f8fbf9}.strategy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.strategy-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.analysis-actions{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0 12px}.analysis-actions .btn{flex:1}.match-management{display:grid;gap:12px}.match-management .player-situation{margin:0}.match-management .changes-panel{margin:0}.changes-panel{padding:12px;border-radius:13px}.objective-reason{margin-top:8px;padding:8px 10px;border-radius:9px;background:#edf3ef;color:var(--muted);font-size:12px;line-height:1.4}.objective-pill{display:inline-block;border-radius:999px;padding:4px 8px;background:#e5f5ea;color:var(--green2);font-weight:800;font-size:12px}.role-warning{background:#fff0ef;border-color:#f4b9b2}.role-warning strong{color:var(--danger)}.player-situation{margin:10px 0 12px;border:1px solid #dce6df;border-radius:13px;background:#fff}.player-situation summary{cursor:pointer;padding:11px 12px;font-weight:800;list-style:none}.player-situation summary::-webkit-details-marker{display:none}.player-situation summary:after{content:'+';float:right}.player-situation[open] summary:after{content:'−'}.situation-list{display:grid;gap:7px;padding:0 10px 10px}.situation-row{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr 1fr;gap:7px;align-items:end;border-top:1px solid #e6eee8;padding-top:8px}.situation-row:first-child{border-top:0}.situation-name{font-weight:800}.situation-place{font-size:11px;color:var(--muted);margin-top:2px}.objective-confirm{display:none;gap:7px;flex-wrap:wrap;margin-top:8px}.objective-confirm.show{display:flex}.change-card{background:#f3f8ff;border-color:#b8cff4}.change-score{font-size:11px;color:var(--muted);margin-top:4px}.changes-panel{margin-top:12px;border:2px solid #b8cff4;background:#f7faff}.changes-panel .head{align-items:flex-start}.changes-list{display:grid;gap:9px;margin-top:9px}.change-item{border:1px solid #bfd3f4;border-radius:13px;background:#fff;padding:10px}.change-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}.change-person{min-width:0}.change-person .kicker{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.change-person strong{display:block;margin-top:3px}.change-arrow{font-size:20px;color:var(--blue);font-weight:900}.change-effect{margin-top:8px;padding-top:8px;border-top:1px solid #e3ebf6;font-size:12px;color:var(--muted);line-height:1.4}.status-legend{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;font-size:11px;color:var(--muted)}.status-key{display:inline-flex;align-items:center;gap:5px}.status-dot{width:12px;height:12px;border-radius:50%;border:3px solid currentColor;background:#fff}.status-ready{color:#16803c}.status-normal{color:#2774d8}.status-watch{color:#d4a000}.status-change{color:#e36b16}.status-stop{color:#c62828}.ball.status-ready{box-shadow:0 0 0 5px #16803c,0 5px 14px rgba(0,0,0,.24)}.ball.status-normal{box-shadow:0 0 0 5px #2774d8,0 5px 14px rgba(0,0,0,.24)}.ball.status-watch{box-shadow:0 0 0 5px #d4a000,0 5px 14px rgba(0,0,0,.24)}.ball.status-change{box-shadow:0 0 0 5px #e36b16,0 5px 14px rgba(0,0,0,.24)}.ball.status-stop{box-shadow:0 0 0 5px #c62828,0 5px 14px rgba(0,0,0,.24)}.player.empty .ball{box-shadow:none}.status-warning{position:absolute;right:6px;top:-2px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#c62828;color:#fff;font-size:12px;font-weight:900;border:2px solid #fff}.analysis-overview{grid-column:1/-1;border:1px solid #dce6df;border-radius:13px;padding:11px;background:#f8fbf9}.analysis-titleline{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.analysis-titleline h3{margin:0;font-size:16px}.averages{margin-top:9px;padding-top:8px;border-top:1px solid #dfe8e1;font-size:12px;line-height:1.6}.analysis-three{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.analysis-section{border:1px solid #dce6df;border-radius:12px;padding:10px;background:#fff}.analysis-section.risk{background:#fff8f1;border-color:#f3d4ac}.analysis-section.advice{background:#f3f8ff;border-color:#bfd3f4}.analysis-section h3{margin:0 0 6px;font-size:14px}.analysis-section ul{margin:0;padding-left:18px;font-size:13px;line-height:1.45}.analysis-details{grid-column:1/-1;border-top:1px solid #e2eae4;padding-top:7px}.analysis-details summary{cursor:pointer;font-size:12px;font-weight:800;color:var(--muted)}@media(max-width:700px){.analysis-three{grid-template-columns:1fr}.averages{font-size:11px}}@media(max-width:760px){.situation-row{grid-template-columns:1fr 1fr}.situation-row>div:first-child{grid-column:1/-1}}@media(max-width:900px){.main{grid-template-columns:1fr;grid-template-areas:"field" "bench" "content"}.bench-column{position:static}.bench-column .list{max-height:none}}@media(max-width:620px){.strategy-grid{grid-template-columns:1fr 1fr}.strategy-actions{display:grid;grid-template-columns:1fr}.strategy-actions .btn{width:100%}.toolbar{display:grid;grid-template-columns:1fr 1fr;width:100%}.controls{grid-template-columns:1fr 1fr}.controls label:first-child{grid-column:1/-1}.add{grid-template-columns:1fr 1fr}.add button{grid-column:1/-1}.roster-list{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr 1fr}.formgrid label:first-child{grid-column:1/-1}.metrics,.analysis-grid{grid-template-columns:1fr}.pitch{min-height:500px}.player{width:68px}.ball{width:44px;height:44px}.tag{max-width:88px}}

.change-priority{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;margin-bottom:9px;font-size:12px;font-weight:800;background:#e2e8f0;color:#334155}.change-item.urgent{border:2px solid #dc2626;background:#fff7f7}.change-item.urgent .change-priority{background:#fee2e2;color:#991b1b}.change-item.recommended{border:2px solid #f97316;background:#fffaf5}.change-item.recommended .change-priority{background:#ffedd5;color:#9a3412}.change-item.watch .change-priority{background:#fef3c7;color:#92400e}.change-item.tactical .change-priority{background:#dbeafe;color:#1e40af}
.collab-bar{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px;font-size:12px}.collab-bar span{background:#fff;border:1px solid #dce6df;border-radius:999px;padding:5px 9px}.credential-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:7px;padding:9px;border-bottom:1px solid #e3ebe5;font-size:13px}.credential-row strong{overflow-wrap:anywhere}@media(max-width:620px){.credential-row{grid-template-columns:1fr}.collab-bar{margin-bottom:8px}}
.activity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #dce6df;border-radius:12px;padding:10px;margin-bottom:8px;background:#fff}.activity-copy{min-width:0}.activity-summary{font-size:13px;line-height:1.45;margin-top:4px;overflow-wrap:anywhere}.activity-row.reverted{opacity:.6;background:#f5f7f6}.activity-undo{background:#fff3e8;color:#9a3412;white-space:nowrap}@media(max-width:620px){.activity-row{grid-template-columns:1fr}.activity-undo{width:100%}}

/* Finestra rapida eventi giocatore */
.quick-event-modal{align-items:center}.quick-event-card{width:min(430px,100%)}.quick-stat-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #dce6df;border-radius:13px;background:#f8fbf9}.goal-total{display:block;font-size:38px;line-height:1;margin-top:4px}.goal-controls{display:flex;gap:8px}.goal-controls .btn{min-width:56px;font-size:24px}.card-section{margin-top:14px}.card-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px}.card-choice.active{outline:3px solid #175cd3;outline-offset:2px}.yellow-card{background:#fff3b0;color:#6f5600}.double-yellow-card{background:linear-gradient(90deg,#ffe36b 0 48%,#fff 48% 52%,#ffe36b 52%);color:#5f4900}.red-card{background:#fee2e2;color:#991b1b}.quick-event-card .head .icon{flex:0 0 auto}@media(max-width:480px){.card-buttons{grid-template-columns:1fr}.quick-stat-row{align-items:flex-end}}

/* Eventi partita: cartellini in campo e gol/cartellini in panchina */
.field-goal-badge,.field-card-badge{position:absolute;top:12px;z-index:8;display:flex;align-items:center;min-height:20px;white-space:nowrap;pointer-events:none}.field-goal-badge{right:calc(50% + 27px)}.field-card-badge{left:calc(50% + 27px)}

.field-goals{display:inline-flex;align-items:center;gap:2px;min-height:20px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.96);color:#153226;font-size:11px;font-weight:900;border:1px solid rgba(21,50,38,.15);box-shadow:0 2px 6px rgba(0,0,0,.18)}.field-goals strong{font-size:11px}.field-goal-badge:empty,.field-card-badge:empty{display:none}
.match-card-icon{display:inline-block;width:10px;height:15px;border-radius:2px;border:1px solid rgba(0,0,0,.28);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.match-card-icon.yellow{background:#ffd400}
.match-card-icon.red{background:#d92d20}
.match-card-stack{position:relative;display:inline-block;width:15px;height:17px}
.match-card-stack i{position:absolute;width:9px;height:14px;border-radius:2px;background:#ffd400;border:1px solid rgba(0,0,0,.28);box-shadow:0 1px 2px rgba(0,0,0,.18)}
.match-card-stack i:first-child{left:1px;top:2px;transform:rotate(-7deg)}
.match-card-stack i:last-child{right:1px;top:0;transform:rotate(7deg)}
.bench-person-main{min-width:0;display:grid;gap:5px}
.bench-match-stats{display:flex;align-items:center;gap:7px;min-height:17px}
.bench-goals{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:999px;background:#edf3ef;color:var(--green2);font-size:11px;font-weight:900}


/* Pannello rapido partita: gol, cartellini, stato e sostituzioni */
.quick-event-modal{align-items:center;padding:14px}.quick-event-card{width:min(470px,100%);padding:0;overflow:hidden;border-radius:24px;box-shadow:0 24px 70px rgba(5,25,15,.3)}.event-player-head{display:grid;grid-template-columns:48px minmax(0,1fr) 38px;gap:10px;align-items:center;padding:16px 16px 12px;background:linear-gradient(135deg,#f4faf6,#fff)}.event-player-avatar{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--green);color:#fff;font-size:18px;font-weight:900;box-shadow:0 8px 18px rgba(20,116,71,.2)}.event-player-title{min-width:0}.event-player-title h2{margin:0;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-player-title .hint{margin:3px 0 0;font-size:11px}.event-close{align-self:start}.event-toolbar{display:grid;grid-template-columns:54px 1fr 54px;align-items:center;gap:14px;padding:14px 22px 16px;border-top:1px solid #edf2ee;border-bottom:1px solid #e6eee8}.event-round-btn{width:50px;height:50px;border:0;border-radius:50%;background:#f1f5f2;color:#244437;font-size:29px;line-height:1;font-weight:500;box-shadow:inset 0 0 0 1px #dae5dc}.event-round-btn.add{background:#e4f4e9;color:var(--green2);box-shadow:inset 0 0 0 1px #b9dcc5}.event-round-btn:active{transform:scale(.94)}.event-goal-counter{display:flex;align-items:center;justify-content:center;gap:6px}.event-ball{font-size:27px}.event-goal-counter strong{font-size:31px;line-height:1}.event-goal-counter small{align-self:flex-end;margin-bottom:5px;color:var(--muted);font-weight:700}.event-section{padding:13px 16px;border-bottom:1px solid #e9efeb}.event-section-title{display:block;margin-bottom:9px;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.event-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.event-choice{min-height:58px;border:1px solid #dae5dc;border-radius:13px;background:#fff;display:grid;place-items:center;align-content:center;gap:5px;padding:7px 3px;color:var(--text)}.event-choice small{font-size:10px;font-weight:800;color:var(--muted)}.event-choice.active{border-color:var(--green);background:#eff8f2;box-shadow:0 0 0 2px rgba(20,116,71,.1)}.card-none{font-size:22px;line-height:16px;color:#87978e}.mini-card{display:inline-block;width:14px;height:20px;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.18);vertical-align:middle}.mini-card.yellow{background:#f4c430}.mini-card.red{background:#d92d20}.double-card{position:relative;display:inline-block;width:22px;height:23px}.double-card .mini-card{position:absolute}.double-card .mini-card:first-child{left:1px;top:2px;transform:rotate(-7deg)}.double-card .mini-card:last-child{right:1px;top:0;transform:rotate(7deg)}.physical-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.physical-choice{min-height:42px;border:1px solid #dce6df;border-radius:999px;background:#fff;padding:6px 5px;font-size:11px;font-weight:800;color:#53685d}.physical-choice i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;background:#2774d8}.physical-choice[data-physical="fresh"] i{background:#16803c}.physical-choice[data-physical="fatigued"] i{background:#d4a000}.physical-choice[data-physical="injured"] i{background:#c62828}.physical-choice.active{background:#edf6f0;border-color:#7fbd95;color:#153226;box-shadow:0 0 0 2px rgba(20,116,71,.08)}.bench-swap-section{border-bottom:0;padding-bottom:16px}.event-section-heading{display:flex;justify-content:space-between;align-items:center}.event-bench-list{display:grid;gap:7px;max-height:245px;overflow:auto}.event-bench-row{display:grid;grid-template-columns:38px minmax(0,1fr) 42px;gap:9px;align-items:center;padding:8px;border:1px solid #e0e8e2;border-radius:13px;background:#fafcfb}.event-bench-row.disabled{opacity:.48}.event-bench-number{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eaf2ed;font-weight:900;color:var(--green2)}.event-bench-person{min-width:0}.event-bench-person strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-bench-person span{display:flex;align-items:center;gap:7px;margin-top:3px}.bench-card-icon{display:inline-flex;align-items:center;min-width:17px}.bench-card-icon .mini-card{width:9px;height:14px}.bench-card-icon.double-card{width:16px;height:15px}.physical-mini{font-style:normal;font-size:10px;font-weight:800;color:#687a70}.physical-mini.fresh{color:#16803c}.physical-mini.fatigued,.physical-mini.tired{color:#9b7500}.physical-mini.injured,.physical-mini.unavailable{color:#b42318}.swap-player-btn{width:40px;height:40px;border:0;border-radius:12px;background:#e4f4e9;color:var(--green2);font-size:20px;font-weight:900}.swap-player-btn:disabled{background:#edf0ee;color:#9da8a1}.event-bench-empty{padding:15px;text-align:center;border:1px dashed #ccd9d0;border-radius:12px;color:var(--muted);font-size:12px}
@media(max-width:620px){.quick-event-modal{align-items:flex-end;padding:0}.quick-event-card{width:100%;max-height:88vh;border-radius:24px 24px 0 0;padding-bottom:max(8px,env(safe-area-inset-bottom))}.event-player-head{padding-top:14px}.event-toolbar{padding-top:12px;padding-bottom:13px}.event-bench-list{max-height:29vh}.event-choice-grid,.physical-choice-grid{gap:5px}.event-choice{min-height:54px}.physical-choice{font-size:10px;padding:5px 2px}}

/* Gestione ruoli e iscritti disabilitati */
.roster-person.disabled-player{opacity:.72;background:#f5f5f5;border-style:dashed}
.roster-person.disabled-player .name:after{content:'Disabilitato';display:inline-block;margin-left:8px;padding:3px 7px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:10px;vertical-align:middle}
.admin-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.users-list{display:grid;gap:9px;margin-top:12px}
.user-admin-row{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:10px;align-items:center;border:1px solid #dce6df;border-radius:12px;padding:10px}
.user-admin-row.inactive{opacity:.65;background:#f5f5f5}
.user-role{min-width:130px}
.user-status{font-size:11px;color:var(--muted);margin-top:3px}
@media(max-width:620px){.user-admin-row{grid-template-columns:1fr}.user-admin-row .admin-actions{justify-content:flex-start}.users-card{padding-bottom:calc(18px + env(safe-area-inset-bottom))}}

.bench-interactive{cursor:pointer;transition:border-color .15s,background .15s}.bench-interactive:hover{border-color:#b8d3c1;background:#f8fbf9}.bench-interactive:active{background:#eef6f1}

/* Correzione badge titolari: in alto sul cerchio e controlli gol centrati */
.field-goal-badge,
.field-card-badge{
  top:-7px;
  transform:none;
}
.field-goal-badge{
  left:3px;
  right:auto;
}
.field-card-badge{
  right:3px;
  left:auto;
}
.event-round-btn{
  display:grid;
  place-items:center;
  padding:0;
  line-height:1;
  text-align:center;
}
.event-round-btn.add{
  padding-bottom:2px;
}
@media(max-width:620px){
  .field-goal-badge,.field-card-badge{top:-8px}
  .field-goal-badge{left:1px}
  .field-card-badge{right:1px}
}

/* Permessi ruoli */
.readonly-field,.read-only-mode input:disabled,.read-only-mode select:disabled,.read-only-mode textarea:disabled{background:#f3f5f4;color:#687a70;cursor:not-allowed}
.read-only-mode .bench-interactive{cursor:default}
.read-only-mode .player{cursor:default}


/* Fase partita: tabellone TV */
.tv-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) minmax(0,1fr);align-items:stretch;gap:0;padding:0;overflow:hidden;background:#14211b;color:#fff;border-color:#20382d}
.score-team{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;min-width:0}.score-team.away{flex-direction:row-reverse}.score-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-opponent-label{display:none}.score-name-input{min-width:0;width:100%;max-width:210px;background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.35);border-radius:0;padding:5px 2px;text-align:right;font-weight:800}.score-name-input::placeholder{color:rgba(255,255,255,.6)}.score-name-input:disabled{opacity:1;border-color:transparent}.score-controls{display:flex;align-items:center;gap:7px;flex:0 0 auto}.score-controls strong{font-size:2rem;line-height:1;font-variant-numeric:tabular-nums;min-width:34px;text-align:center}.score-step{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:1.15rem;line-height:1;cursor:pointer}.score-step:disabled{opacity:.28;cursor:not-allowed}.score-center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 14px;background:#0b1510;border-inline:1px solid rgba(255,255,255,.12)}.match-clock{font:800 2.25rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;font-variant-numeric:tabular-nums}.match-state{font-size:.72rem;font-weight:900;letter-spacing:.09em;padding:3px 8px;border-radius:999px;margin-bottom:6px;background:#64748b}.match-state.active{background:#15803d}.match-state.completed{background:#475569}.match-date-small{font-size:.72rem;color:rgba(255,255,255,.65);margin-top:5px}.match-actions{grid-column:1/-1;display:flex;justify-content:center;gap:8px;padding:10px;background:#f6faf7;color:#14211b;border-top:1px solid #dce8df}.tv-scoreboard.participants-locked .match-actions:before{content:'Partecipanti bloccati';align-self:center;font-size:.78rem;font-weight:700;color:#64748b;margin-right:4px}
@media(max-width:700px){.tv-scoreboard{grid-template-columns:1fr 105px 1fr}.score-team{padding:11px 8px;flex-direction:column!important;justify-content:center;gap:7px}.score-name,.score-name-input{font-size:.78rem;text-align:center;max-width:100%}.score-controls strong{font-size:1.75rem}.score-step{width:25px;height:25px}.match-clock{font-size:1.6rem}.match-actions{flex-wrap:wrap}.tv-scoreboard.participants-locked .match-actions:before{width:100%;text-align:center;margin:0}}

.team-registration-name{display:block;margin-top:12px;max-width:520px}.team-registration-name input{margin-top:5px}.scorer-card{max-width:560px}.scorer-list{display:grid;gap:9px;margin-top:14px}.scorer-player{width:100%;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;text-align:left;border:1px solid var(--line,#dbe5de);background:#fff;border-radius:14px;padding:11px 13px;cursor:pointer;color:inherit}.scorer-player:hover{border-color:#168052;background:#f3faf6}.scorer-player:disabled{opacity:.55;cursor:wait}.scorer-player small{display:block;color:#65766d;margin-top:2px}.scorer-shirt{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e8f4ec;font-weight:800;color:#0b6b3a}.scorer-action{font-weight:900;font-size:1.15rem;color:#0b6b3a}.controls{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.controls{grid-template-columns:1fr}.scorer-player{grid-template-columns:40px 1fr auto;padding:10px}.scorer-shirt{width:38px;height:38px}}

.match-state{white-space:nowrap;min-width:max-content}
.statistics-section{margin-top:18px}.statistics-filters{display:grid;grid-template-columns:2fr 2fr 1fr;gap:12px;margin:14px 0}.statistics-table-wrap{overflow-x:auto;border:1px solid #dce8df;border-radius:16px}.statistics-table{width:100%;border-collapse:collapse;min-width:760px}.statistics-table th,.statistics-table td{padding:11px 12px;border-bottom:1px solid #e2ebe4;text-align:center}.statistics-table th:first-child,.statistics-table td:first-child{text-align:left}.statistics-table thead{background:#edf5ef}.statistics-table tbody tr:last-child td{border-bottom:0}.statistics-table small{color:#64748b}.statistics-matches{display:grid;gap:8px;margin-bottom:12px}.statistics-match-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce8df;border-radius:14px;padding:11px 13px;background:#fbfdfb}.statistics-match-row span{display:block;color:#64748b;font-size:.86rem;margin-top:3px}.statistics-match-actions{display:flex;gap:7px;flex:0 0 auto}.viewer-mode .top>div:first-child,.viewer-mode .toolbar .btn:not(#logoutBtn){display:none!important}.viewer-mode .top{justify-content:flex-end}.read-only-mode .pitch .player,.read-only-mode .bench-interactive{cursor:default}
@media(max-width:700px){.match-state{font-size:.62rem;letter-spacing:.05em;padding:3px 6px}.statistics-filters{grid-template-columns:1fr}.statistics-match-row{align-items:flex-start;flex-direction:column}.statistics-match-actions{width:100%}.statistics-match-actions .btn{flex:1}}

/* Strategia unificata e formazione iniziale */
.strategy-unified{display:grid;gap:12px}.strategy-live-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px}.strategy-live-grid>div,.strategy-live-grid>label{border:1px solid #dce6df;border-radius:12px;padding:10px;background:#f8fbf9}.strategy-live-grid strong{display:block;margin-top:5px}.strategy-proposal{border-style:solid;text-align:left}.strategy-proposal.ready{background:#f3f8ff;border:1px solid #bfd3f4}.strategy-proposal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.strategy-proposal-item{padding:10px;border:1px solid #dce6df;border-radius:11px;background:#fff}.strategy-proposal-item span{display:block;font-size:11px;color:var(--muted);font-weight:800}.strategy-proposal-item strong{display:block;margin-top:4px}.strategy-proposal-note{margin-top:9px;font-size:13px;line-height:1.4}.proposal-selectors{display:flex;gap:14px;flex-wrap:wrap;padding:9px 11px;border:1px solid #dce6df;border-radius:12px}.proposal-selectors label{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px}.proposal-selectors input{width:auto}.strategy-final-actions{display:flex;gap:8px;flex-wrap:wrap}.initial-lineup-box{display:grid;gap:5px;margin-top:11px;padding-top:11px;border-top:1px solid #e2eae4}.initial-lineup-box .hint{margin:0}.initial-lineup-card{max-width:650px}.initial-lineup-summary{display:grid;gap:7px;margin-top:10px}.initial-lineup-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid #dce6df;border-radius:12px;padding:9px}.initial-lineup-shirt{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eaf2ed;font-weight:900}.bench-compact{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center}.bench-shirt{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eaf2ed;color:var(--green2);font-weight:900}.bench-quick-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:4px}.involve-badge{display:inline-flex;border-radius:999px;padding:3px 7px;background:#fff3cd;color:#7a5a00;font-size:10px;font-weight:900}.change-tech{font-size:11px;color:var(--muted);margin-top:4px}.match-state{white-space:nowrap}
@media(max-width:620px){.strategy-live-grid,.strategy-proposal-grid{grid-template-columns:1fr}.strategy-final-actions{display:grid;grid-template-columns:1fr}.strategy-final-actions .btn{width:100%}}


/* Correzioni finali panchina e strategia */
.proposal-selectors{display:none!important}
.bench-compact{grid-template-columns:58px minmax(0,1fr)}
.bench-shirt{width:54px;min-width:54px;height:38px;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;line-height:1;overflow:hidden}
.bench-shirt span,.bench-shirt strong{display:inline-block;white-space:nowrap;line-height:1}
.bench-shirt strong{font-variant-numeric:tabular-nums}
.bench-quick-meta span{white-space:nowrap}
@media(max-width:620px){.bench-compact{grid-template-columns:55px minmax(0,1fr)}.bench-shirt{width:52px;min-width:52px}.statistics-filters{grid-template-columns:1fr}.statistics-match-row{align-items:flex-start;flex-direction:column}.statistics-match-actions{width:100%}.statistics-match-actions .btn{flex:1}}

.statistics-minutes-partial{font-weight:800;color:var(--amber);white-space:nowrap}.statistics-note{margin:8px 2px 0;font-size:11px;color:var(--muted)}
