
/* CINCO FC • Campinho dos quintetos — preserva paleta roxo/lilás/laranja. */
#lineup-root[hidden]{display:none!important}
.lineup-section{margin-top:20px}
.lineup-titlebar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.lineup-titlebar h2{font-size:26px;line-height:1.13;letter-spacing:-.8px;margin:8px 0 7px;color:#3b235e}
.lineup-titlebar p{font-size:13px;line-height:1.55;color:#857398;margin:0;max-width:590px}
.lineup-phase{display:inline-flex;padding:9px 12px;background:#f3ecff;border-radius:11px;color:#6e38f6;font-size:10px;font-weight:900;letter-spacing:.9px;white-space:nowrap}
.lineup-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:21px 0 16px}
.lineup-tab{appearance:none;border:1px solid #e9def9;background:#faf7ff;border-radius:12px;color:#694789;padding:10px 15px;text-align:left;cursor:pointer;font:inherit;min-width:115px;max-width:210px}
.lineup-tab strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lineup-tab small{display:block;margin-top:3px;font-size:10px;color:#9986ac}
.lineup-tab.is-active{background:#6e38f6;border-color:#6e38f6;color:white;box-shadow:0 6px 18px #6e38f62a}
.lineup-tab.is-active small{color:#e6d9ff}
.lineup-tab:focus-visible{outline:3px solid #ff9a45;outline-offset:3px}
.lineup-layout{display:grid;grid-template-columns:minmax(0,1.36fr) minmax(255px,1fr);gap:17px;align-items:stretch}
.lineup-pitch{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:475px;border-radius:19px;background:radial-gradient(circle at 50% 18%,#8a5ac9 0,#65409f 38%,#492874 98%);box-shadow:inset 0 5px 20px #2613432b}
.lineup-pitch:before{content:"";position:absolute;pointer-events:none;inset:17px;border:2px solid #ffffff49;border-radius:4px;z-index:0}
.lineup-pitch:after{content:"";position:absolute;pointer-events:none;inset:0;background:repeating-linear-gradient(180deg,transparent 0 79px,#ffffff06 79px 157px);z-index:0}
.lineup-fieldmark{position:absolute;border-color:#ffffff44;z-index:0;pointer-events:none}
.lineup-midline{top:50%;left:17px;right:17px;border-top:2px solid #ffffff44}
.lineup-circle{width:94px;height:94px;top:calc(50% - 47px);left:calc(50% - 47px);border:2px solid #ffffff44;border-radius:50%}
.lineup-box-top{width:56%;height:60px;left:22%;top:17px;border:2px solid #ffffff44;border-top:0}
.lineup-box-bottom{width:56%;height:60px;left:22%;bottom:17px;border:2px solid #ffffff44;border-bottom:0}
.lineup-pitch-players{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));height:475px;align-items:center;justify-items:center;padding:20px 14px 14px;gap:4px 0}
.lineup-top-left{grid-column:1;grid-row:1}.lineup-top-right{grid-column:2;grid-row:1}
.lineup-mid-left{grid-column:1;grid-row:2}.lineup-mid-right{grid-column:2;grid-row:2}
.lineup-goalkeeper{grid-column:1/-1;grid-row:3}
.lineup-spot{width:min(100%,150px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0;gap:3px}
.lineup-face{width:82px;height:83px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:17px 17px 12px 12px;background:linear-gradient(150deg,#ded0ff,#fff6eb);border:2px solid #ffffffcf;box-shadow:0 8px 17px #29114356;overflow:hidden}
.lineup-face img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.lineup-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:28px;opacity:.24}
.lineup-rating{position:absolute;z-index:2;right:1px;top:1px;background:#ff983d;color:#382251;padding:4px 5px;border-radius:0 10px 0 8px;font-weight:950;font-size:14px;line-height:1}
.lineup-caption{width:100%;display:flex;flex-direction:column;align-items:center;min-width:0}
.lineup-caption strong{color:white;background:#241539b8;border-radius:7px;padding:4px 5px;font-weight:900;font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lineup-caption small{font-size:10px;font-weight:850;color:#f4d4ff;letter-spacing:.8px;margin-top:3px}
.lineup-vacant{height:81px;width:81px;border:2px dashed #e6d3ff8a;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#edddff;background:#ffffff10;gap:1px}
.lineup-vacant>span{font-size:26px;line-height:1}.lineup-vacant small{font-size:9px;font-weight:900}
.lineup-summary{border:1px solid #ede4fa;background:#fdfbff;border-radius:16px;padding:16px;display:flex;flex-direction:column;min-width:0}
.lineup-summary-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lineup-summary-top span{font-size:10px;letter-spacing:1px;color:#987db0;font-weight:900}
.lineup-summary-top h3{font-size:19px;margin:4px 0 0;color:#4d306e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lineup-summary-top>strong{font-size:17px;color:#6e38f6;white-space:nowrap}
.lineup-progress{margin:15px 0 13px;background:#eee2fb;height:7px;border-radius:9px;overflow:hidden}
.lineup-progress>div{height:100%;background:linear-gradient(90deg,#7847e9,#ffa147);border-radius:9px;transition:width .2s}
.lineup-balance{display:flex;justify-content:space-between;align-items:center;color:#836999;font-size:12px;font-weight:750;padding:7px 0 14px}
.lineup-balance strong{color:#6e38f6;font-size:17px}
.lineup-bench{display:grid;gap:8px}
.lineup-bench-row{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #efe9f7;border-radius:11px;padding:7px 9px;min-width:0}
.lineup-bench-avatar{position:relative;flex:0 0 42px;height:43px;border-radius:10px;background:#f0e6ff;display:flex;align-items:center;justify-content:center;color:#8a5cb9;overflow:hidden}
.lineup-bench-avatar img{width:100%;height:100%;object-fit:contain}
.lineup-bench-name{min-width:0;flex:1}
.lineup-bench-name strong{font-size:12px;color:#563575;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lineup-bench-name small{display:block;font-size:10px;color:#9884ac;margin-top:3px}
.lineup-cost{font-size:12px;color:#8050b2;white-space:nowrap}
.lineup-cost span{font-size:11px}
.lineup-summary-footer{font-size:12px;background:#f3ebff;color:#7344af;border-radius:9px;margin-top:auto;padding:11px;font-weight:800;text-align:center}
.lineup-placeholder{padding:24px;text-align:center;font-size:13px;color:#9985ab}
@media(max-width:790px){.lineup-layout{grid-template-columns:1fr}.lineup-pitch{min-height:480px}.lineup-pitch-players{height:480px}}
@media(max-width:480px){.lineup-titlebar{display:block}.lineup-titlebar h2{font-size:23px}.lineup-phase{margin-top:12px}.lineup-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lineup-tab{max-width:none;min-width:0}.lineup-pitch{min-height:455px}.lineup-pitch-players{height:455px;padding:15px 8px 10px}.lineup-spot{width:100%}.lineup-face{width:70px;height:73px}.lineup-caption strong{font-size:10px}.lineup-summary{padding:13px}}
@media(prefers-reduced-motion:reduce){.lineup-progress>div{transition:none}}


/* Layouts táticos dos 4 atletas de linha. O goleiro permanece atrás. */
.lineup-pitch-players[class*="lineup-formation-"]{display:block}
.lineup-pitch-players[class*="lineup-formation-"] .lineup-spot{
  position:absolute;transform:translate(-50%,-50%);
  width:min(38%,150px);z-index:2
}
.lineup-formation-2_2 .lineup-top-left{left:27%;top:20%}
.lineup-formation-2_2 .lineup-top-right{left:73%;top:20%}
.lineup-formation-2_2 .lineup-mid-left{left:27%;top:49%}
.lineup-formation-2_2 .lineup-mid-right{left:73%;top:49%}
.lineup-formation-2_2 .lineup-goalkeeper{left:50%;top:82%}
.lineup-formation-1_2_1 .lineup-top-left{left:50%;top:15%}
.lineup-formation-1_2_1 .lineup-top-right{left:27%;top:39%}
.lineup-formation-1_2_1 .lineup-mid-left{left:73%;top:39%}
.lineup-formation-1_2_1 .lineup-mid-right{left:50%;top:62%}
.lineup-formation-1_2_1 .lineup-goalkeeper{left:50%;top:85%}
.lineup-formation-3_1 .lineup-top-left{left:50%;top:17%}
.lineup-formation-3_1 .lineup-top-right{left:18%;top:47%}
.lineup-formation-3_1 .lineup-mid-left{left:50%;top:47%}
.lineup-formation-3_1 .lineup-mid-right{left:82%;top:47%}
.lineup-formation-3_1 .lineup-goalkeeper{left:50%;top:82%}
/* Controls live below the established pitch; preserve the old header, players and colors. */
.lineup-tactics{border:1px solid #e9ddfa;background:linear-gradient(140deg,#fff,#f7f0ff);border-radius:16px;padding:18px;margin-top:17px}
.tactics-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tactics-header h3{font-size:19px;margin:6px 0 0;color:#4d306e}
.tactics-tag{color:#6939a6;background:#eedeff;padding:7px 10px;border-radius:8px;font-size:10px;font-weight:900;white-space:nowrap;letter-spacing:.6px}
.tactics-info>p,.tactics-hint{font-size:12px;line-height:1.55;color:#8a76a0;margin:10px 0}
.tactics-readonly{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.tactics-readonly span{background:white;color:#705292;border:1px solid #ece0fa;border-radius:10px;font-size:13px;padding:10px 12px}
.tactics-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.tactic-label{display:flex;flex-direction:column;gap:6px;color:#6d4c91;font-size:12px;font-weight:800;min-width:0}
.tactic-label select{display:block;width:100%;max-width:100%;background:#fff;border:1px solid #dfcff5;border-radius:9px;padding:11px 10px;color:#44265f;font:inherit;min-height:42px}
.tactic-label select:focus-visible{outline:2px solid #f99a47;outline-offset:1px}
.tactic-label select:disabled{color:#9984aa;opacity:.7}
.tactics-slots{margin-top:16px;padding-top:14px;border-top:1px solid #e8dcf6}
.tactics-slots h4{font-size:14px;color:#593578;margin:0 0 11px}
.tactics-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 13px}
.tactics-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}
.tactics-actions .btn:disabled{cursor:not-allowed;opacity:.58}
.tactics-status{font-size:12px;color:#6e38f6;font-weight:750;line-height:1.5}
.tactics-status.error{color:#cc3e56}
@media(max-width:520px){
 .lineup-tactics{padding:13px}
 .tactics-main{grid-template-columns:1fr}
 .tactics-player-grid{grid-template-columns:1fr}
 .lineup-formation-3_1 .lineup-top-right{left:19%}
 .lineup-formation-3_1 .lineup-mid-right{left:81%}
 .lineup-formation-3_1 .lineup-spot{width:min(34%,128px)}
 .lineup-formation-3_1 .lineup-face{width:63px;height:68px}
 .lineup-formation-3_1 .lineup-caption strong{font-size:9px}
}
