/* ─ 사용자 관리 세로형 카드 (현재 UI) ────────────── */
.user-cards-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px;flex-wrap:wrap;}
.user-search-input{flex:1;max-width:400px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;outline:none;background:var(--surface);}
.user-search-input:focus{border-color:var(--accent);}
.user-cards-list{display:flex;flex-direction:column;gap:8px;}
.user-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;}
.user-card:hover{border-color:var(--border2);}
.uc-header{display:grid;grid-template-columns:18px 1fr auto auto;gap:14px;padding:12px 16px;align-items:center;cursor:pointer;}
.uc-header:hover{background:var(--surface2);}
.uc-caret{color:var(--text3);font-size:10px;user-select:none;text-align:center;}
.uc-identity{min-width:0;}
.uc-name{font-weight:700;color:var(--text);font-size:14px;line-height:1.3;display:flex;align-items:center;gap:6px;}
.uc-name-edit{font-size:11px;opacity:.45;cursor:pointer;padding:1px 4px;border-radius:4px;transition:all .15s;}
.uc-name-edit:hover{opacity:1;background:var(--accent-light);}
.uc-name-input{font-size:14px;font-weight:700;padding:2px 6px;border:1px solid var(--accent);border-radius:4px;font-family:inherit;outline:none;background:var(--surface);color:var(--text);min-width:120px;max-width:200px;}
.uc-email{font-size:12px;color:var(--text3);line-height:1.3;}
.uc-role{display:flex;align-items:center;}
.uc-action{display:flex;align-items:center;}
.uc-body{border-top:1px solid var(--border);padding:14px 16px;background:var(--surface2);}
.uc-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:8px;}
.uc-section:last-child{margin-bottom:0;}
.uc-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--border);}
.uc-section-title{font-size:12px;font-weight:700;color:var(--text);letter-spacing:.3px;}
.uc-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 40px;}
.uc-page-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0;}
.uc-page-label{font-size:12px;color:var(--text2);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.perm-sel.perm-bulk{min-width:140px;background:var(--surface2);border:1px dashed var(--border);color:var(--text2);font-weight:600;}
.perm-sel.perm-bulk:hover:not(:disabled){border-style:solid;border-color:var(--accent);color:var(--text);}

/* ─ (구) 사용자 권한 매트릭스 — 더 이상 사용 안 함, 하위 호환 보존 ── */
.perm-matrix-wrap{overflow-x:auto;margin:-16px;padding:16px;}
.perm-matrix{border-collapse:separate;border-spacing:0;font-size:12px;width:max-content;}
.perm-matrix th, .perm-matrix td{padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle;}
.perm-matrix thead th{background:var(--surface2);font-weight:700;color:var(--text2);font-size:11px;}
.perm-matrix .perm-section-h{text-align:center;border-left:1px solid var(--border);color:var(--text);letter-spacing:.5px;}
.perm-matrix .perm-page-h{text-align:center;font-weight:500;color:var(--text3);min-width:84px;}
/* 사용자 식별 컬럼 (이름+이메일 합침, 단일 sticky) */
.perm-matrix .perm-sticky-col{position:sticky;left:0;z-index:3;background:var(--surface2);border-right:1px solid var(--border);min-width:200px;}
.perm-matrix .perm-user{position:sticky;left:0;z-index:2;background:var(--surface);border-right:1px solid var(--border);min-width:200px;}
.perm-matrix tbody tr:hover .perm-user{background:var(--surface2);}
.perm-matrix .perm-user-name{font-weight:700;color:var(--text);line-height:1.3;}
.perm-matrix .perm-user-email{color:var(--text3);font-size:11px;line-height:1.3;word-break:break-all;}
.perm-matrix tbody tr:hover td{background:var(--surface2);}
.perm-matrix .perm-role{text-align:center;}
.perm-matrix .perm-cell{text-align:center;}
.perm-matrix .perm-action{text-align:center;}

.perm-role-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;}
.perm-role-admin{background:#DBEAFE;color:#1E40AF;}
.perm-role-super{background:#FEF3C7;color:#92400E;border:1px solid #F59E0B;}
.perm-role-user{background:var(--surface2);color:var(--text2);}

.perm-sel{font-size:11px;padding:3px 6px;border-radius:4px;border:1px solid var(--border);background:var(--surface);cursor:pointer;min-width:72px;}
.perm-sel:disabled{opacity:.55;cursor:not-allowed;}
.perm-sel.perm-edit{background:#DCFCE7;color:#166534;border-color:#86EFAC;}
.perm-sel.perm-read{background:#FEF3C7;color:#92400E;border-color:#FCD34D;}
.perm-sel.perm-none{background:#FEE2E2;color:#991B1B;border-color:#FCA5A5;}
