/* Lineup pool and assignment cards share one compact rhythm. */
.lineup-board{grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
.overall-stat{margin-left:276px}
.lineup-overview{display:grid;grid-template-columns:minmax(330px,1fr) minmax(0,auto);gap:18px;align-items:end;height:114px;padding:12px 14px;box-sizing:border-box}
.overall-chart{display:grid;grid-template-columns:auto minmax(190px,1fr);gap:14px;align-items:center;min-width:0}
.overall-chart-title{display:grid;gap:2px;white-space:nowrap}
.overall-chart-title strong{font-size:12px}
.overall-chart-title span{color:#819089;font-size:10px}
.overall-job-columns{display:flex;align-items:flex-end;gap:10px;height:88px;min-width:190px;padding:2px 8px 0;border-bottom:1px solid #dfe7e3}
.overall-job-column{display:grid;grid-template-rows:14px 58px 14px;justify-items:center;align-items:end;flex:0 1 42px;min-width:30px;height:86px;color:#61736b}
.overall-job-column>b{align-self:start;font-size:10px;font-weight:650;color:#284b44}
.overall-job-column>i{display:flex;align-items:flex-end;width:20px;height:58px;border-radius:4px 4px 0 0;background:#edf1ef;overflow:hidden}
.overall-job-column>i>span{display:block;width:100%;min-height:6px;border-radius:4px 4px 0 0}
.overall-job-column>small{align-self:end;font-size:10px;white-space:nowrap}
.group-tabs{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.group-tabs button{height:32px;padding:6px 11px;border-color:#d8e3de;background:#fff;color:#60736c;font-size:11px;white-space:nowrap}
.group-tabs button.active{border-color:#17786f;background:#e4f1ed;color:#126a61;box-shadow:inset 0 0 0 1px #17786f}
.participant-pool,.lineup-group{scroll-margin-top:80px}
.participant-pool{display:flex;flex-direction:column;height:calc(100vh - 150px);max-height:calc(100vh - 150px);margin-top:-126px;overflow:hidden}
.participant-pool.drop-ready{outline:2px solid #238579;outline-offset:2px;background:#f2faf7}
.pool-title{flex:none;margin-bottom:8px}
.pool-title>.pool-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
.pool-filters input{width:100%;height:40px;padding:8px 10px;font-size:12px}
.pool-job-tags{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;max-width:100%;padding:1px 0 3px;overflow:visible}
.pool-job-tags button{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-width:0;height:29px;padding:4px 3px;box-sizing:border-box;border:1px solid #dce5e0;border-radius:15px;background:#fff;color:#60726b;font-size:11px;white-space:nowrap}
.pool-job-tags button:not(.status-filter):before{content:"";width:6px;height:12px;border-radius:3px;background:var(--tag-color)}
.pool-job-tags button.active{border-color:#16766d;background:#e8f3ef;color:#12685f;box-shadow:inset 0 0 0 1px #16766d}
.pool-drop-hint{display:block;color:#83908a;font-size:11px;line-height:1.5}
.participant-pool #poolSections{flex:1;min-height:0;margin-right:-5px;padding-right:5px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.pool-section{margin:12px 0}
.external-section h3{min-height:29px}
.external-section .new-external-button{height:28px;margin-left:7px;padding:4px 8px;border-color:#b8d4cd;background:#f3faf7;color:#146c63;font-size:10px;white-space:nowrap}
.pool-card{display:grid;width:100%;height:84px;min-height:84px;grid-template-columns:18px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 27px;padding:0;margin:6px 0;box-sizing:border-box;border:1px solid #dfe7e3!important;border-radius:9px;background:#fff;overflow:hidden;text-align:left}
.pool-card[hidden],.pool-section[hidden]{display:none!important}
.pool-card:hover,.pool-card.selected{border-color:var(--job,#238579)!important}
.pool-personal-note{display:flex;grid-column:2;grid-row:2;align-items:center;gap:7px;min-width:0;width:100%;height:27px;padding:4px 8px;box-sizing:border-box;border-top:1px solid #e2ece7;background:#edf6f3;color:#365c55}
.pool-personal-note>span{flex:none;color:#55716a;font-size:10px;white-space:nowrap}
.pool-personal-note>span b{font-weight:650}
.pool-personal-note p{min-width:0;margin:0;overflow:hidden;color:#264f48;font-size:10px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.job-switch,.job-label{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#536860}
.job-switch{position:static!important;border:0!important;background:#edf5f2!important;padding:4px 6px!important;border-radius:10px!important}
.job-switch b{color:#14766d;font-size:12px}
.job-label{display:block}
.lineup-group{overflow-x:visible;padding:12px}
.dense-teams{grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;gap:8px;align-items:start}
.dense-team{height:auto;min-width:0;padding:6px}
.dense-slot{display:block;height:84px;min-height:84px;margin:4px 0;border:0!important;border-radius:9px;background:transparent;overflow:visible}
.member-zone{display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 27px;min-width:0;height:100%;box-sizing:border-box;border:1px solid #dfe7e3;border-radius:9px;background:#fff;overflow:hidden}
.member-zone.selected,.pool-card.selected{outline:2px solid #238579;outline-offset:-2px}
.profession-rail{display:grid;grid-column:1;grid-row:1/-1;grid-template-rows:1fr;height:100%;min-width:18px;overflow:hidden;background:var(--current-job);cursor:default}
.profession-rail.dual{grid-template-rows:minmax(0,1fr) 27px;cursor:pointer}
.profession-rail i{display:block;min-height:0;background:var(--current-job)}
.profession-rail.dual i+ i{background:var(--alternate-job)}
.member-copy{display:grid;grid-column:2;grid-row:1;grid-template-rows:auto minmax(0,1fr);gap:2px;min-width:0;padding:6px 9px 4px;overflow:hidden}
.member-title{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px}
.member-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-title .status{flex:none;margin-left:auto;padding:2px 6px;font-size:9px}
.member-note{align-self:end;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#61736c;font-size:11px;line-height:1.45}
/* polish.css has a legacy `.pool-card small` rule for the old card markup.
   Reset it so pool and assigned cards use the same name/job spacing. */
.pool-card .member-note{padding:0}
.member-note[data-edit-person]{cursor:pointer}
.member-note b{font-weight:650}
.member-note span{color:#a0aaa5}
.drop-placeholder{grid-column:1/-1;align-self:center;justify-self:center;color:#91a099;font-size:11px}
.empty-slot{display:block}
.empty-slot .member-zone{display:grid;grid-template-columns:1fr;grid-template-rows:1fr;place-items:center;height:100%;margin:0;border:1px dashed #bdcec7;border-radius:9px;background:#fbfdfc}
.invalid .member-zone{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 27px}
.invalid-member{grid-column:1;grid-row:1;display:grid;align-content:center;gap:4px;padding:9px;color:#9c4d45}
.invalid-member small{font-size:10px;color:#a87b75}
.position-note-panel{display:flex;grid-column:2;grid-row:2;align-items:center;gap:6px;min-width:0;width:100%;height:27px;padding:4px 8px!important;border:0!important;border-top:1px solid #e2ece7!important;border-radius:0!important;background:#edf6f3!important;color:#365c55!important;text-align:left;box-shadow:none!important}
.position-note-panel>span{display:flex;flex:none;align-items:center;gap:5px;color:#55716a;font-size:10px;white-space:nowrap}
.position-note-panel>span b{font-weight:650}
.position-note-panel>span i{font-style:normal;color:#19736a;font-size:12px}
.position-note-panel p{min-width:0;margin:0;overflow:hidden;color:#264f48;font-size:10px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.empty-slot .position-note-panel{grid-column:1;grid-row:1;box-sizing:border-box;width:calc(100% - 20px);max-width:240px;border-top:0!important;border-radius:6px!important;padding:6px 10px!important;background:#eef6f3!important}
.invalid .position-note-panel{grid-column:1}
.position-note-panel:disabled{opacity:1;cursor:default}
.dense-slot.drop-ready{outline:2px solid #238579;outline-offset:1px}
.dense-team.drop-active .empty-slot .member-zone{border-color:#6fa99e;background:#edf7f3}
.team-members:empty{display:none}
.team-drop-zone{height:34px;margin-top:7px;display:grid;place-items:center;border:1px dashed #cbd8d2;border-radius:6px;color:#6e827a;background:#f8fbf9;font-size:11px;cursor:pointer}
.team-drop-zone.drop-ready{outline:2px solid #238579;background:#edf8f4;color:#176b63}
.dense-slot.note-only .position-note-panel{background:#f7f4eb!important}
.lineup-group>header>button{white-space:nowrap}
.dense-team h3{font-size:14px}
.dense-team h3 small{margin-left:5px;color:#84918b;font-size:11px;font-weight:500}
@media(max-width:1050px){.lineup-board{grid-template-columns:220px minmax(0,1fr)}.overall-stat{margin-left:236px}.lineup-overview{grid-template-columns:1fr}.group-tabs{justify-content:flex-start}}
@media(max-width:740px){.lineup-board{grid-template-columns:1fr}.overall-stat{margin-left:0}.participant-pool{height:auto;max-height:none;margin-top:0}.participant-pool #poolSections{max-height:360px}}
.lineup-match-context{display:flex;align-items:baseline;gap:14px;min-height:36px;margin:0 0 12px 2px}
.lineup-match-context strong{color:#153f3b;font-size:20px;font-weight:650}
.lineup-match-context span{color:#74837d;font-size:13px}
@media(max-width:740px){.lineup-match-context{flex-direction:column;align-items:flex-start;gap:4px}}
