.player-directory { width:100%; padding:24px; }
.player-directory [hidden] { display:none!important; }
.player-directory h1 { margin:0 0 8px; }
.directory-intro,.directory-note { color:#526684; font-size:14px; }
.directory-controls { border:0; padding:0; margin:20px 0; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:12px; }
.directory-controls label { display:flex; flex-direction:column; gap:6px; font-weight:700; min-width:0; }
.directory-controls input,.directory-controls select { box-sizing:border-box; width:100%; min-height:44px; border:1px solid #b5c9e5; border-radius:10px; padding:10px 12px; background:#fff; color:#173158; font:inherit; }
.directory-controls input:focus,.directory-controls select:focus { outline:2px solid #1680ec; outline-offset:2px; }
.directory-layout { display:grid; grid-template-columns:minmax(250px,1fr) minmax(0,2fr); gap:24px; align-items:start; }
.directory-results { display:flex; flex-direction:column; gap:5px; }
.directory-player { text-align:left; display:flex; flex-direction:column; gap:3px; min-height:56px; padding:10px 12px; border:1px solid #d4e1f2; background:#f6faff; border-radius:8px; color:#152d52; font:inherit; cursor:pointer; }
.directory-player span { font-size:12px; color:#50627b; }
.directory-player:hover,.directory-player:focus-visible { background:#e3f1ff; border-color:#2695f3; }
.directory-detail { min-width:0; scroll-margin-top:16px; border:1px solid #d4e1f2; border-radius:12px; padding:20px; background:#fff; }
.directory-detail h2 { margin:0 0 16px; font-size:26px; }
.directory-selected { background:#edf5ff; padding:12px; border-radius:8px; color:#173158; font-weight:700; }
.directory-detail h3 { margin:22px 0 10px; font-size:17px; }
.directory-profile { display:flex; flex-wrap:wrap; gap:12px 24px; }
.directory-profile div { display:flex; gap:8px; }.directory-profile dt { color:#64758c; }.directory-profile dd { margin:0; font-weight:700; }
.directory-affiliations { max-height:280px; overflow:auto; }
.directory-affiliations>div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; padding:8px; border-bottom:1px solid #e1e9f3; font-size:14px; }
.directory-table-wrap { overflow:auto; max-width:100%; border:1px solid #d4e1f2; border-radius:8px; }
.directory-table-wrap table { border-collapse:collapse; min-width:100%; white-space:nowrap; font-size:13px; }
.directory-table-wrap th,.directory-table-wrap td { padding:8px 10px; border-bottom:1px solid #e1e9f3; text-align:right; }
.directory-table-wrap th:first-child,.directory-table-wrap td:nth-child(2) { text-align:left; }
.directory-table-wrap thead,.directory-total { background:#edf5ff; color:#15335c; font-weight:700; }
.directory-pagination { display:flex; justify-content:center; align-items:center; gap:12px; margin:16px 0; }
.directory-pagination button { border:1px solid #b5c9e5; border-radius:8px; padding:8px 14px; font:inherit; background:#fff; color:#173158; cursor:pointer; }
.directory-pagination button:disabled { opacity:.4; cursor:default; }
.directory-source { margin-top:24px; border-top:1px solid #d4e1f2; padding-top:14px; font-size:13px; color:#526684; }
@media(max-width:900px) { .directory-controls { grid-template-columns:1fr 1fr; }.directory-layout { grid-template-columns:minmax(220px,1fr) minmax(0,1.6fr); gap:14px; } }
@media(max-width:700px) { .player-directory { padding:16px; }.directory-layout { grid-template-columns:1fr; }.directory-results { max-height:360px; overflow:auto; }.directory-detail { padding:14px; }.directory-controls label:first-child,.directory-controls label:last-child { grid-column:1 / -1; }.directory-controls { gap:10px; }.directory-affiliations>div { grid-template-columns:75px minmax(0,1fr); gap:8px; } }
