/* Citizens: reference-inspired roster & comparison, in BitNook's own palette. */
.bn-citizen-parity{display:grid;gap:14px;width:100%;min-width:0;margin:0 auto;padding-bottom:24px}
.bn-roster-page-head{display:flex;align-items:start;justify-content:space-between;gap:16px}
.bn-roster-page-head .page-title{margin:0 0 7px}
.bn-roster-page-head .page-description{margin:0}
.bn-roster-page-head>button,.bn-roster-controls>button,.bn-roster-pagination>button{
 border:1px solid #6d6047;border-radius:10px;background:#262722;color:#e9cb92;
 font:750 12px var(--font-ui,Inter,system-ui,sans-serif);padding:10px 13px;cursor:pointer;white-space:nowrap
}
.bn-roster-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.bn-roster-facts>div{border:1px solid #4d4d44;border-radius:12px;background:#1d2121;padding:13px;display:grid;gap:6px;min-width:0}
.bn-roster-facts span{font:750 10px var(--font-mono,ui-monospace,monospace);text-transform:uppercase;letter-spacing:.08em;color:#afa99b}
.bn-roster-facts strong{font-size:clamp(13px,1.6vw,20px);color:#ebdec9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bn-citizen-parity .bp-card{margin:0;border-radius:15px;border:1px solid #4c4c44;background:radial-gradient(circle at 100% 0%,#b9a67f10,transparent 50%),#1b2020;padding:clamp(14px,2vw,22px)}
.bn-roster-section-title{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 15px}
.bn-roster-section-title .upper{color:#d4b785}
.bn-roster-section-title h2{font-size:18px;margin:0;color:#f2e8d8}
.bn-roster-compare-empty,.bn-roster-empty{padding:20px;background:#1a1e1e;border:1px dashed #484e47;border-radius:11px;color:#aebbb1;font-size:12px}
.bn-roster-compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bn-roster-compare-card{--compare-accent:#c5b182;background:#1c2121;border:1px solid #4c5148;border-top:2px solid var(--compare-accent);border-radius:12px;padding:14px;min-width:0}
.bn-roster-compare-card header{display:flex;align-items:start;justify-content:space-between;gap:10px}
.bn-roster-compare-card header>div{display:grid;gap:4px;min-width:0}
.bn-roster-compare-card header strong{font-size:14px;color:#f0e8de;overflow:hidden;text-overflow:ellipsis}
.bn-roster-compare-card header small{font-size:10px;color:#acb7ad}
.bn-roster-compare-card header button{border:1px solid #5d6056;color:#e1c99e;background:#272b28;border-radius:9px;padding:4px 9px;font-size:16px;cursor:pointer}
.bn-roster-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}
.bn-roster-metrics>span{display:grid;gap:5px;background:#171a1b;border:1px solid #39413b;padding:8px;border-radius:9px;min-width:0}
.bn-roster-metrics small{font:750 9px var(--font-mono,ui-monospace,monospace);color:#a9b2a7;text-transform:uppercase}
.bn-roster-metrics strong{font-size:15px;color:#f0e3ce}
.bn-roster-bars{display:grid;gap:9px}
.bn-roster-bar{display:grid;grid-template-columns:minmax(0,78px) 1fr 25px;gap:7px;align-items:center}
.bn-roster-bar>span{font-size:10px;color:#afb8b0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bn-roster-bar>div{height:5px;border-radius:6px;overflow:hidden;background:#111817}
.bn-roster-bar>div i{height:100%;display:block;border-radius:6px;background:var(--compare-accent)}
.bn-roster-bar>b{font-size:10px;text-align:right;color:var(--compare-accent)}
.bn-roster-controls{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin:0 0 15px}
.bn-roster-controls label{display:grid;gap:5px;color:#acb7ab;font:750 10px var(--font-mono,ui-monospace,monospace);letter-spacing:.06em}
.bn-roster-controls label:first-child{flex:1 1 240px}
.bn-roster-controls input,.bn-roster-controls select{min-height:39px;min-width:0;width:100%;border:1px solid #52594f;border-radius:10px;background:#151c1a;color:#f1eadb;padding:10px;font:600 12px var(--font-ui,Inter,system-ui,sans-serif)}
.bn-roster-controls>button{min-height:39px}
.bn-roster-table-scroll{width:100%;overflow:auto;border:1px solid #3c4641;border-radius:12px;scrollbar-color:#666b57 transparent}
.bn-citizen-table{width:100%;border-collapse:collapse;min-width:740px;font-size:12px}
.bn-citizen-table thead{background:#272a27}
.bn-citizen-table th{text-align:left;font:800 10px var(--font-mono,ui-monospace,monospace);color:#c8bcab;letter-spacing:.055em;text-transform:uppercase;padding:12px 10px;white-space:nowrap;border-bottom:1px solid #474e46}
.bn-citizen-table td{padding:10px;border-bottom:1px solid #303b35;vertical-align:middle}
.bn-citizen-table tr:last-child td{border-bottom:0}
.bn-citizen-table tbody tr:nth-child(2n){background:#212423}
.bn-citizen-table tbody tr:hover{background:#2a302b}
.bn-citizen-table tr.selected{background:rgba(194,165,115,.13)!important}
.bn-citizen-table tr.inactive{opacity:.77}
.bn-roster-name{display:flex;align-items:center;gap:9px;min-width:150px}
.bn-roster-initial{display:grid;place-items:center;border-radius:10px;border:1px solid #65586d;background:#342a3c;width:34px;height:34px;flex-shrink:0;color:#dfc7ea;font-weight:800}
.bn-roster-name>span:last-child{display:grid;gap:4px;min-width:0}
.bn-roster-name button{font:750 12px var(--font-ui,Inter,system-ui,sans-serif);background:none;border:0;padding:0;text-align:left;white-space:nowrap;color:#f0e8da;cursor:pointer;overflow:hidden;text-overflow:ellipsis}
.bn-roster-name small{font-size:10px;color:#a6b2a8}
.bn-roster-name small.online{color:#82c6ad}
.bn-roster-name small.inactive{color:#a4a2a0}
.bn-citizen-table .numeric{white-space:nowrap;font-variant-numeric:tabular-nums;color:#eadac0}
.bn-roster-top-skills{min-width:210px}
.bn-citizen-skill{display:inline-flex;align-items:center;gap:5px;margin:2px 4px 2px 0;padding:4px 6px;background:#222b28;border:1px solid #46554c;border-radius:7px;color:#c1cfbf;font-size:10px;white-space:nowrap}
.bn-citizen-skill b{color:#d5bc91}
.bn-roster-actions button{border:1px solid #685c47;background:#2c2b26;color:#e6cc9e;padding:7px 9px;border-radius:9px;font:700 11px var(--font-ui,Inter,system-ui,sans-serif);cursor:pointer;white-space:nowrap}
.bn-roster-actions button[aria-pressed=true]{background:#464033;border-color:#c2a36b}
.bn-roster-pagination{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}
.bn-roster-pagination span{font-size:11px;color:#acb8ae;margin-right:auto}
.bn-roster-pagination button[disabled]{opacity:.35;cursor:default}
.bn-roster-note{margin:1px 0;font-size:11px;color:#a6b3a9;line-height:1.6}
@media(max-width:960px){.bn-roster-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .bn-roster-compare-grid{grid-template-columns:1fr}
 .bn-roster-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
 .bn-roster-facts>div{padding:9px}
 .bn-roster-facts strong{font-size:12px}
 .bn-roster-controls label{flex:1}
 .bn-roster-controls label:first-child{flex:1 1 100%}
 .bn-roster-metrics strong{font-size:14px}
}

/* Preserve real table columns on desktop; adapt the same records to mobile cards. */
@media(min-width:701px){
 .bn-citizen-table td.bn-roster-name{display:table-cell;white-space:nowrap}
 .bn-citizen-table td.bn-roster-name>.bn-roster-initial{display:inline-grid;vertical-align:middle;margin-right:9px}
 .bn-citizen-table td.bn-roster-name>span:last-child{display:inline-grid;vertical-align:middle}
}
@media(max-width:700px){
 .bn-roster-table-scroll{border:none;overflow:visible}
 .bn-citizen-table{display:block;min-width:0;width:100%}
 .bn-citizen-table thead{display:none}
 .bn-citizen-table tbody{display:grid;gap:10px}
 .bn-citizen-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  border:1px solid #45534b;border-radius:12px;padding:11px;gap:10px;background:#1d2421!important}
 .bn-citizen-table td{display:block;border:0!important;padding:0!important;min-width:0}
 .bn-citizen-table .bn-roster-name{grid-column:1/-1;display:flex;align-items:center;white-space:normal}
 .bn-citizen-table td:nth-child(2)::before{content:'TOTAL LEVEL'}
 .bn-citizen-table td:nth-child(3)::before{content:'TOTAL XP'}
 .bn-citizen-table td:nth-child(5)::before{content:'EXPLORATION'}
 .bn-citizen-table td:nth-child(2)::before,.bn-citizen-table td:nth-child(3)::before,.bn-citizen-table td:nth-child(5)::before{
  display:block;margin-bottom:4px;color:#9eab9e;font:750 9px var(--font-mono,ui-monospace,monospace)}
 .bn-citizen-table td.bn-roster-top-skills{grid-column:1/-1;min-width:0}
 .bn-citizen-table td.bn-roster-top-skills::before{content:'TOP PROFESSIONS';display:block;margin-bottom:6px;color:#9eab9e;font:750 9px var(--font-mono,ui-monospace,monospace)}
 .bn-citizen-table td.bn-roster-actions{justify-self:end;align-self:center}
 .bn-citizen-table td.bn-roster-name .bn-roster-initial{margin-right:0}
}
