/* Dense, touch-friendly organizer workspace. */
#distribution{width:1320px;padding:24px;background:#080e0b}
#distribution .roster-header{align-items:flex-start;gap:16px;margin-bottom:20px}
#distribution h2{font-size:28px;margin:6px 0 8px;letter-spacing:-.5px}
#roster-count{margin:0;font-size:13px}
.roster-toolbar{display:grid;grid-template-columns:minmax(160px,1fr) auto 150px;gap:16px;align-items:end;margin-bottom:12px}
.roster-toolbar label{margin:0;font-size:12px;color:var(--muted)}
.roster-toolbar input,.roster-toolbar select{margin-top:6px}
.roster-views{display:flex;gap:0;border:1px solid var(--line);border-radius:6px;padding:3px;align-self:end}
.roster-views button{border:0;background:transparent;font-size:13px;padding:10px 12px}
.roster-views button[aria-pressed=true]{background:#253020;color:var(--lime)}
.roster-level-guide{padding:0 0 12px;border:0;border-bottom:1px solid var(--line);font-size:13px}
.roster-level-guide summary{min-height:44px;cursor:pointer;padding:12px 0;color:var(--muted)}
.roster-level-guide p{max-width:65ch;line-height:1.6;color:var(--muted)}
.roster-level-guide>div{display:flex;flex-wrap:wrap;gap:12px 24px}
.roster-level-guide span{font-size:13px;color:var(--muted)}
.roster-level-guide b{color:var(--ink);margin-right:8px}
.roster-balance{padding:18px 0 8px}
#roster-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px 24px}
.roster-strength{min-width:0}
.roster-strength header{display:flex;gap:8px;justify-content:space-between;align-items:center;font-size:12px;margin:0}
.roster-strength strong{font-size:15px;overflow-wrap:anywhere}
.roster-strength header span{white-space:nowrap;font-size:11px;color:var(--muted)}
.strength-meter{height:5px;background:#25302a;margin:12px 0 8px;border-radius:3px;overflow:hidden}
.strength-meter span{display:block;height:100%;background:var(--team)}
.roster-strength p{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;font-size:12px;margin:0;color:var(--muted)}
.roster-strength b{color:var(--ink)}
#distribution .distribution-actions{justify-content:space-between;gap:12px;margin:14px 0 0}
#distribution .distribution-actions p{margin:0;font-size:12px;line-height:1.5;flex:1}
#distribution [data-balance-board]{min-height:44px;font-size:13px}
.roster-help{display:flex;gap:16px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}
.roster-help p{font-size:13px;line-height:1.5;margin:0;color:var(--muted);max-width:65ch}
.roster-help button{font-size:13px;flex-shrink:0}
.roster-status{font-size:12px;min-height:18px;margin:8px 0;color:var(--muted)}
#roster-error{white-space:pre-line}
#distribution-board{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
#distribution .roster-column{border:0;border-radius:0;background:transparent;padding:0;display:block}
#distribution .roster-column>header{padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:8px}
#distribution .roster-column h3{font-size:18px;margin:0;font-style:normal}
#distribution .roster-column header span{margin-top:6px;font-size:12px}
#distribution .roster-cards{gap:0}
#distribution .roster-section{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:500;letter-spacing:.05em;margin:16px 0 4px}
.roster-section span{font-variant-numeric:tabular-nums;white-space:nowrap}
#distribution .roster-card{grid-template-columns:36px minmax(0,1fr) 60px;gap:8px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;min-height:112px;align-items:center}
#distribution .roster-card.is-picked{background:#182116;box-shadow:inset 0 0 0 1px #65703c;border-radius:5px}
.roster-select{display:flex;align-items:center;justify-content:center;align-self:start;min-height:44px;margin:0;cursor:pointer}
.roster-select input{width:22px;height:22px;min-height:22px;margin:0}
#distribution .roster-name{padding:4px 0;min-height:44px;border:0;background:transparent;font-size:14px;line-height:1.35;font-weight:700;text-align:left;align-self:start;overflow-wrap:anywhere;color:var(--ink)}
#distribution .roster-name small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}
.roster-level{font-size:10px;color:var(--muted);margin:0;align-self:start;text-align:center}
.roster-level select{padding:8px 4px;margin-top:4px;text-align:center;color:var(--ink);font-weight:700;border-color:#435344;min-height:44px}
.roster-transfer{grid-column:2/4;display:flex;align-items:center;gap:8px;margin:0;font-size:10px;color:var(--muted);min-width:0}
.roster-transfer select{padding:6px 8px;min-width:0;flex:1;min-height:44px}
.roster-payment{grid-column:2/4;font-size:10px;color:var(--muted)}
#distribution .board-navigation{display:none;border-bottom:1px solid var(--line);padding:0 0 8px;margin:0 0 8px}
.roster-all{grid-column:1/-1}
.roster-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.roster-list-heading h3{font-size:17px;margin:0}
.roster-list-heading span{font-size:12px;color:var(--muted)}
#distribution .roster-all .roster-card{grid-template-columns:44px minmax(0,1fr) 84px minmax(120px,180px);min-height:82px}
.roster-all .roster-transfer{grid-column:4;grid-row:1;display:block;font-size:10px}
.roster-all .roster-transfer select{margin-top:4px}
.roster-all .roster-payment{grid-column:2;grid-row:2}
.roster-selection{position:sticky;bottom:-24px;background:#172013;border:1px solid #43533a;border-radius:8px;padding:14px;margin:20px 0 0;box-shadow:0 -12px 28px #0008;z-index:2}
.roster-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.roster-selection-heading strong{font-size:14px}
.roster-selection-heading button{background:transparent;border:0;color:var(--muted);padding:8px;font-size:12px}
.roster-selection-fields{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.roster-selection-fields label{flex:1 1 130px;margin:0;font-size:11px;color:var(--muted)}
.roster-selection-fields select{margin-top:6px}
.roster-selection-fields button{flex:0 1 auto}
.roster-selection>small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:10px}
#roster-selection[hidden],#distribution button[hidden]{display:none!important}
@media(max-width:900px){.roster-toolbar{grid-template-columns:1fr 150px}.roster-search-label{grid-column:1/-1}.roster-views{justify-self:start}#distribution-board{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.roster-selection{bottom:-20px}}
@media(max-width:650px){#distribution{padding:16px}#distribution h2{font-size:23px}#distribution .roster-header{margin-bottom:16px}.roster-toolbar{gap:12px;grid-template-columns:minmax(0,1fr) 116px}.roster-views{width:100%;padding:2px}.roster-views button{flex:1;padding:8px 4px;font-size:12px}#distribution-board{grid-template-columns:1fr}#distribution .board-navigation{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:6px;scroll-padding:6px}#distribution .board-navigation button{flex:0 0 118px;border:1px solid var(--line);padding:8px;font-size:12px;text-align:left;overflow-wrap:anywhere;max-width:118px;min-height:52px}#distribution .board-navigation button[aria-pressed=true]{border-color:#65703c;color:var(--lime);background:#273020}#distribution .board-navigation small{font-size:10px;margin-top:4px}#distribution .roster-column{display:none}#distribution .roster-column.is-selected{display:block}#roster-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.roster-strength header{display:block}.roster-strength header span{display:block;margin-top:4px}.roster-help{align-items:start;gap:8px}.roster-help p{font-size:12px}.roster-help button{padding:8px;font-size:12px}.roster-list-heading{align-items:start}.roster-list-heading span{font-size:10px;max-width:120px}#distribution .roster-all .roster-card{grid-template-columns:36px minmax(0,1fr) 60px;min-height:112px}.roster-all .roster-transfer{grid-column:2/4;grid-row:auto;display:flex}.roster-all .roster-payment{grid-column:2/4;grid-row:auto}.roster-selection{bottom:-16px;padding:12px}.roster-selection-fields{gap:8px}.roster-selection-fields label{flex-basis:calc(50% - 4px)}.roster-selection-fields button{flex:1;min-width:0;font-size:13px}.roster-strength p{font-size:11px}.roster-level-guide>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.roster-level-guide span{font-size:12px}.roster-level-guide b{display:block;margin-bottom:3px}#distribution .roster-card{scroll-margin-bottom:220px}}
@media(prefers-reduced-motion:reduce){#distribution *{scroll-behavior:auto}}

#distribution .roster-header{position:sticky;top:-24px;z-index:3;background:#080e0b;padding-top:8px;padding-bottom:8px}#roster-status:empty{display:none}#distribution .distribution-actions>button{font-size:13px}
@media(max-width:650px){#distribution .roster-header{top:-16px;padding-top:0;padding-bottom:8px}.roster-help{display:none}.roster-strength header{display:flex}.roster-strength header span{margin:0}.roster-strength p{gap:4px;font-size:10px}#distribution .distribution-actions{margin-bottom:12px}#distribution .distribution-actions p{flex-basis:100%;font-size:11px}#distribution .distribution-actions>button{flex:1}.roster-balance{padding-top:12px}.roster-toolbar{gap:8px}.roster-status{margin:6px 0;font-size:11px}#distribution .roster-all .roster-card{min-height:74px}.roster-all .roster-transfer,.roster-all .roster-payment{display:none}}
@media(max-height:500px){#distribution .roster-header .eyebrow,#distribution .roster-header #roster-count{display:none}#distribution .roster-header h2{font-size:20px;margin:0}.roster-selection>small{display:none}.roster-selection-heading{margin-bottom:0}.roster-selection-fields{flex-wrap:nowrap}.roster-selection-fields label{flex:1 1 100px}.roster-selection-fields button{flex:1 1 100px;font-size:12px;padding:8px}}

.roster-footer{position:sticky;bottom:-24px;z-index:4;background:#172013;border:1px solid #43533a;border-radius:8px;padding:12px;margin-top:16px;box-shadow:0 -12px 28px #0008;max-height:calc(var(--dialog-height)*.5);overflow:auto}.roster-footer[hidden]{display:none!important}.roster-footer .roster-selection{position:static;box-shadow:none;background:transparent;border:0;padding:0;margin:0}.roster-footer .form-error,.roster-footer .roster-status{margin:0 0 8px}.roster-footer .roster-status:empty{display:none}.roster-footer .form-error:empty{display:none}
@media(max-width:650px){.roster-footer{bottom:-16px}}

#roster-strength-details{border:0;padding:0}#roster-strength-details>summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:13px;color:var(--muted)}#roster-strength-details[open]>summary{margin-bottom:8px}

#distribution .roster-column>header{position:sticky;top:var(--roster-sticky-top,96px);z-index:2;background:#080e0b}

#distribution .roster-drop-target>header{background:#1c2719;border-color:var(--lime)}#distribution .roster-name[draggable=true]{cursor:grab}#distribution .roster-card.dragging{cursor:grabbing}
