.league-setup{margin-top:24px}.league-setup h2,.league-review h2{margin:0 0 18px;font-size:1.2rem}.league-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.league-settings-grid label{min-width:0;font-weight:700}.league-settings-grid input,.league-settings-grid select{display:block;width:100%;margin-top:6px}.league-hint,.league-status,.league-result-note{color:#60758a}.league-hint{margin:18px 0 12px;font-size:.9rem}.league-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.league-status{margin:13px 0 0;min-height:1.4em}.league-review{margin-top:20px}.league-review-summary{margin:0 0 15px;color:#58706c}.league-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.league-team{padding:14px;border:1px solid #dce9e4;border-radius:13px;background:#f8fbf9}.league-team strong{display:block}.league-team small{display:block;margin-top:4px;color:#60758a}.league-team--issue{border-color:#e6c690;background:#fffaf1}.league-unmatched{display:flex;align-items:center;gap:9px;margin-top:9px}.league-unmatched span{min-width:0;flex:1;font-size:.84rem}.league-unmatched select{min-width:0;max-width:56%;padding:7px;font-size:.84rem}.league-result{margin-top:24px}.league-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.league-result-head h2{margin:3px 0 12px;font-size:1.8rem}.league-rank-list{display:grid;gap:9px}.league-rank{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 17px;border:1px solid #dae9e4;border-radius:14px;background:#fff}.league-rank:first-child{border-color:#d6ab5d;background:#fffaf0}.league-rank-position{font-weight:800;color:#176a5b}.league-rank:first-child .league-rank-position{color:#a46c19}.league-rank-name{min-width:0;font-weight:750;overflow-wrap:anywhere}.league-rank-departments{display:block;margin-top:3px;color:#60758a;font-size:.81rem;font-weight:500}.league-rank-score{font-size:1.25rem;color:#176a5b}.league-insights{margin-top:22px;padding:18px;border:1px solid #dae9e4;border-radius:15px;background:#fff}.league-insights h3{margin:0 0 13px}.league-insight{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid #eef3f0}.league-insight strong{text-align:right;color:#176a5b}.league-result-note{margin:0 0 14px}@media(max-width:760px){.league-settings-grid,.league-review-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.league-settings-grid,.league-review-list{grid-template-columns:1fr}.league-result-head{align-items:flex-start;flex-direction:column}.league-rank{grid-template-columns:34px minmax(0,1fr) auto;padding:12px;gap:8px}.league-rank-score{font-size:1.05rem}.league-unmatched{align-items:stretch;flex-direction:column}.league-unmatched select{max-width:none;width:100%}}

@media(max-width:720px){
 .league-setup input[type="file"]{width:100%;max-width:100%;min-height:44px;overflow:hidden}
 .league-actions button,.league-actions a{min-height:44px}
 .league-unmatched select{min-height:44px}
 .league-result-head button{min-height:44px}
}
@media(max-width:480px){
 .league-actions{gap:8px}
 .league-actions button,.league-actions a{width:100%;margin:0;text-align:center}
 .league-rank{min-width:0}
 .league-rank-name,.league-insight{overflow-wrap:anywhere}
 .league-rank-departments{line-height:1.45}
 .league-insight{align-items:flex-start;flex-wrap:wrap}
}

.league-file-label{display:block;max-width:680px;margin:0;font-weight:750}
.league-file-label input{display:block;width:100%;max-width:100%;min-height:48px;margin-top:8px;padding:9px;border:1px solid #c8d8d2;border-radius:10px;background:#fff}
.league-file-label input::file-selector-button{min-height:34px;margin-right:12px;padding:5px 12px;border:1px solid #b9d5ca;border-radius:7px;background:#eaf5ef;color:#176b5b;font:inherit;font-weight:750;cursor:pointer}
.league-rules{min-width:0;margin:22px 0 0;padding:0;border:0}
.league-rules legend{margin-bottom:10px;padding:0;font-size:1rem;font-weight:800;color:#172633}
.league-rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.league-rule-option{display:flex;align-items:center;gap:10px;min-width:0;min-height:54px;margin:0;padding:10px 13px;border:1px solid #d5e6df;border-radius:11px;background:#f8fbf9;font-size:.88rem;cursor:pointer}
.league-rule-option:hover{border-color:#8abdaa;background:#f2f8f5}
.league-rule-option input{flex:none;width:20px;height:20px;margin:0;accent-color:#176b5b}
.league-rule-option span{overflow-wrap:anywhere}
.league-imported-details{margin-top:24px;padding-top:20px;border-top:1px solid #dce8e3}
.league-imported-details h3{margin:0 0 4px;font-size:1.06rem}
.league-imported-details p{margin:0 0 14px;color:#60758a;font-size:.87rem}
.league-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.league-details-grid label{min-width:0;margin:0;font-weight:750}
.league-details-grid input,.league-details-grid select{display:block;width:100%;margin-top:7px}
.league-imported-details>button{margin-top:18px}
@media(max-width:760px){.league-rules-grid{grid-template-columns:1fr}}
@media(max-width:560px){.league-details-grid{grid-template-columns:1fr}.league-imported-details>button{width:100%}}
