.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.squad-toolbar{display:flex;align-items:center;gap:24px;margin-bottom:22px;padding:18px 22px}
.squad-toolbar>div:first-child{width:180px}.squad-toolbar .field-label{margin:0 0 8px;font-size:11px}.formation-control{flex:1;max-width:470px}.squad-total{margin-left:auto;min-width:80px;text-align:right}.squad-total>b{display:block;color:var(--green);font-size:25px}.squad-total>b>span{font-size:16px;font-weight:400;color:#94a18c}.squad-total>small{font-size:9px;color:#8b9982}
.squad-workspace{grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);align-items:start;gap:22px}.squad-board{min-width:0}.squad-workspace .pitch{height:620px;min-height:0;background:repeating-linear-gradient(0deg,#386946 0 10%,#326140 10% 20%);border:10px solid #285236;border-radius:12px}.pitch-caption{position:absolute;left:15px;top:10px;color:#c0d4b055;font-size:8px;letter-spacing:1.6px}
.squad-workspace .player{width:18%;min-width:0;max-width:105px}.pitch-token{width:35px;height:35px;border:1px solid #d7e6c47a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 4px;background:#2d5235e6;color:#dbe9c9;font-size:18px;box-shadow:0 3px 8px #142e2226}.filled .pitch-token{background:#edf1d7;color:#31523b;font-size:12px;font-weight:800;border:2px solid #fff}.squad-workspace .player strong{font-size:10px;padding:4px 2px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#1d432e;border:1px solid transparent}.squad-workspace .player small{font-size:9px;font-weight:700;display:inline-block;margin-top:3px}.active-slot .pitch-token{box-shadow:0 0 0 4px #dded9a60;border-color:#e2efa6;background:#e2efa6;color:#27452e}.squad-workspace .active-slot strong{border-color:#d3e891;background:#dceaaa;color:#294630}.squad-workspace .active-slot small{color:#e8f3b7}
.selected-slot-bar{display:flex;align-items:center;justify-content:space-between;background:#e8efdf;border:1px solid #dce6d1;border-radius:7px;padding:12px 14px;margin-top:13px;font-size:11px;color:#5e7352;gap:10px}.selected-slot-bar b{background:#355b3d;border-radius:4px;color:white;padding:3px 6px;margin-right:8px;font-size:10px}.text-link:disabled{opacity:.35;cursor:default}.formation-reference{font-size:10px;color:#8b9783;line-height:1.8;margin-top:20px}.formation-reference summary{cursor:pointer}.formation-reference a{text-decoration:underline;color:var(--green)}
.player-library{padding:22px;min-width:0}.player-library .section-heading{margin-bottom:18px}.player-library .section-heading h2{font-size:16px}.player-library input{font-size:12px;background:#f6f8f2}.roster-filter-row{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}.roster-filter-row .field-label{font-size:10px;margin:12px 0 6px}.roster-filter-row select{font-size:10px;padding:10px 6px}.picker-hint{font-size:10px;color:#718263;line-height:1.7;padding:12px 0;border-bottom:1px solid var(--line)}.picker-hint>b{color:var(--green);margin-right:4px}.roster-result-count{font-size:11px;font-weight:700;color:#4a6540;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:8px}.roster-result-count>span{font-weight:400;font-size:9px;color:#9aa58e}.roster-results{max-height:470px;overflow:auto;overscroll-behavior:contain;padding:0 5px 1px 0;scrollbar-width:thin;scrollbar-color:#cddac2 transparent}.roster-card{display:flex;align-items:center;gap:11px;padding:13px 11px;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;text-align:left;margin-bottom:9px;color:var(--ink);min-width:0}.roster-card:last-child{margin-bottom:0}button.roster-card:hover{border-color:#9bb584;background:#f8fbf2}.roster-card.is-placed{background:#f4f8ec;border-color:#d9e6c8}.player-monogram{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:#edf0e7;color:#869472;font-weight:700;font-size:12px}.player-monogram.final{background:#dce9cb;color:#3d6538}.roster-card-info{min-width:0;flex:1}.roster-name{font-size:12px;font-weight:700;overflow-wrap:anywhere;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.roster-name>small{font-size:8px;color:#7d915d;font-weight:500}.position-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.position-tag{font-size:8px;font-weight:700;color:#6b865b;background:#ecf2e5;border-radius:3px;display:inline-block;padding:2px 4px}.position-tag.attack{background:#fae8ec;color:#bc6677}.position-tag.midfield{background:#e3f2e7;color:#428a5b}.position-tag.defence{background:#e4eef8;color:#5984ac}.position-tag.keeper{background:#f8efd5;color:#a58b38}.position-unknown{font-size:9px;color:#a1a992}.player-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.player-tag{display:inline-block;font-size:8px;line-height:1.4;padding:3px 5px;background:#f1f3ed;color:#89937e;border-radius:3px;white-space:nowrap}.player-tag.final{background:#e3efcf;color:#4f753c}.player-tag.first{background:#eaf2e6;color:#738d64}.player-tag.applicant{background:#f0f1e9;color:#8d967d}.player-tag.jecho{background:#e7eff7;color:#6486a7}.player-tag.japcho{background:#f5edda;color:#a38b57}.roster-add{color:#90a27e;font-size:19px}.name-review{display:block;font-size:9px;color:#a88d54;margin-top:6px}.roster-source{font-size:9px;margin-bottom:0}.team-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.team-roster-grid .roster-card{height:100%;margin:0;align-items:flex-start;padding:14px 10px}.team-roster .roster-name{font-size:12px}.team-roster .player-monogram{width:32px;height:32px;font-size:10px}.applicant-heading{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:1200px){.squad-workspace{grid-template-columns:minmax(0,1fr) minmax(290px,.9fr);gap:16px}.player-library{padding:16px}.squad-workspace .pitch{height:580px}.team-roster-grid{grid-template-columns:1fr}.squad-toolbar{gap:16px}.roster-result-count>span{font-size:8px}}
@media(max-width:1000px) and (min-width:801px){.squad-workspace{grid-template-columns:1fr}.squad-workspace .pitch{height:640px}.roster-results{max-height:420px}.squad-toolbar{flex-wrap:wrap}.squad-toolbar>div:first-child{width:140px}.formation-control{min-width:200px}.squad-total{display:none}}
@media(max-width:800px){.squad-workspace{grid-template-columns:1fr}.squad-workspace .pitch{height:550px}.squad-toolbar{gap:12px;flex-wrap:wrap;padding:16px}.squad-toolbar>div:first-child{width:120px}.formation-control{min-width:180px}.squad-total{display:none}.squad-workspace .player strong{font-size:9px}.pitch-token{width:31px;height:31px;font-size:15px}.filled .pitch-token{font-size:10px}.player-library{padding:18px}.roster-results{max-height:420px}.team-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.team-roster-grid{grid-template-columns:1fr}.squad-workspace .pitch{height:510px;border-width:7px}.formation-control{width:100%;flex-basis:100%}.squad-toolbar>div:first-child{width:100%}.squad-workspace .player strong{font-size:8px}.squad-workspace .player small{font-size:8px}.pitch-token{width:28px;height:28px}.squad-workspace .pitch-lines{inset:14px}.selected-slot-bar{padding:10px;font-size:10px}.roster-filter-row{grid-template-columns:1.25fr 1fr}}
