/* Unified Entries & Eligibility Roster v140 — isolated host-management presentation. */
.unified-roster{display:grid;gap:18px}
.roster-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.roster-heading h2,.roster-heading p{margin-top:0}
.roster-summary,.roster-preview,.roster-warning-list{border:1px solid rgba(87,174,224,.28);border-radius:14px;background:rgba(7,24,39,.72);padding:18px}
.roster-summary-primary{font-size:1.08rem;margin:0 0 12px}
.roster-summary>div{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted,#a9bfd1)}
.roster-toolbar{display:grid;gap:12px}
.roster-search{max-width:460px}
.roster-filters{display:flex;flex-wrap:wrap;gap:8px}
.roster-filters button{min-height:44px;padding:8px 14px}
.roster-filters button.active{border-color:#5ed0ff;background:rgba(30,143,198,.24)}
.roster-primary-actions{display:flex;flex-wrap:wrap;gap:10px}
.roster-primary-actions>*{min-height:44px}
.unified-roster-list{display:grid;gap:14px}
.unified-roster-record{display:grid;gap:14px;border:1px solid rgba(87,174,224,.24);border-radius:14px;background:rgba(7,24,39,.62);padding:18px}
.unified-roster-record>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.unified-roster-record h3{overflow-wrap:anywhere;margin:0 0 5px}
.unified-roster-record header p{margin:0;color:var(--muted,#a9bfd1)}
.roster-status,.roster-result{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:800;letter-spacing:.03em;white-space:nowrap}
.roster-status.eligible,.roster-result.pass{background:rgba(45,166,106,.2);color:#8cf0ba;border:1px solid rgba(79,219,143,.35)}
.roster-status.pending-review,.roster-result.pending-review{background:rgba(221,166,42,.2);color:#ffe096;border:1px solid rgba(244,190,64,.35)}
.roster-status.ineligible,.roster-status.disqualified,.roster-result.fail{background:rgba(193,61,80,.2);color:#ffadb8;border:1px solid rgba(229,87,108,.35)}
.roster-record-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.roster-record-meta p{display:grid;gap:3px;margin:0}
.roster-record-meta span{color:var(--muted,#a9bfd1);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.roster-record-meta b{overflow-wrap:anywhere}
.roster-requirements{border-top:1px solid rgba(87,174,224,.2);padding-top:12px}
.roster-requirements summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:700}
.roster-requirement{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:12px 0;border-top:1px solid rgba(87,174,224,.13)}
.roster-requirement p,.roster-requirement small{margin:4px 0 0;overflow-wrap:anywhere}
.unified-roster-record>footer{display:flex;justify-content:flex-end}
.unified-roster-record>footer button{min-height:44px}
.roster-warning,.roster-warning-list{border:1px solid rgba(244,190,64,.4);background:rgba(92,63,8,.25);border-radius:12px;padding:12px;overflow-wrap:anywhere}
.roster-warning-list{display:grid;gap:10px}
.roster-warning-list h3,.roster-warning-list p{margin:0}
.roster-warning-list article{display:grid;gap:5px;padding-top:10px;border-top:1px solid rgba(244,190,64,.2)}
.roster-warning-list article:first-of-type{padding-top:0;border-top:0}
.roster-warning-list article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.roster-warning-count{flex:none;border:1px solid rgba(244,190,64,.4);border-radius:999px;padding:3px 8px;color:#ffe096;font-size:.72rem;font-weight:800;white-space:nowrap}
.roster-warning-compact{margin:0;padding:9px 11px;font-size:.9rem}
.roster-preview{display:grid;gap:16px}
.roster-preview-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.roster-preview-heading h3,.roster-preview-heading p{margin-top:0}
.roster-preview-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.roster-preview-counts p{display:grid;gap:4px;margin:0;padding:12px;border-radius:10px;background:rgba(14,44,70,.55)}
.roster-preview-counts span{color:var(--muted,#a9bfd1);font-size:.82rem}
.roster-preview-counts b{font-size:1.25rem}
.roster-preview-list{display:grid;gap:6px}
.roster-preview-list h4{margin:0 0 4px}
.roster-preview-list p{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:0;padding:9px 0;border-top:1px solid rgba(87,174,224,.14)}
.roster-preview-list small{color:var(--muted,#a9bfd1)}
.roster-record-dialog{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}
.roster-record-dialog>article{position:relative}
@media(max-width:700px){
 .roster-heading,.unified-roster-record>header,.roster-preview-heading{display:grid}
 .roster-heading .pill,.roster-status{justify-self:start}
 .roster-record-meta,.roster-preview-counts{grid-template-columns:1fr}
 .roster-primary-actions{display:grid;grid-template-columns:1fr}
 .roster-primary-actions>*,.unified-roster-record>footer button{width:100%}
 .roster-preview-list p{grid-template-columns:auto minmax(0,1fr)}
 .roster-preview-list small{grid-column:2}
 .roster-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .roster-filters button{width:100%;padding:6px 3px;font-size:.68rem;line-height:1.05}
 .roster-warning-list article>div{align-items:flex-start}
}
@media(max-width:360px){
 .unified-roster-record,.roster-summary,.roster-preview,.roster-warning-list{padding:14px}
 .roster-filters button{font-size:.64rem}
}
@media(max-width:700px){
 .unified-roster>.roster-heading{order:1}
 .unified-roster>.roster-summary{order:2}
 .unified-roster>.roster-warning-list{order:3}
 .unified-roster>.roster-preview{order:4}
 .unified-roster>.roster-primary-actions{order:5}
 .unified-roster>.roster-toolbar{order:6}
 .unified-roster>[data-roster-result-count]{order:7}
 .unified-roster>.unified-roster-list{order:8}
 .unified-roster>.roster-existing-actions{order:9}
 .roster-preview[hidden]{display:grid}
 .roster-preview [data-toggle-roster-preview]{display:none}
}
