/* Dark Flow Futures — RBAC + notification sound extension. UI only. */
.df-rbac-role{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid rgba(80,163,255,.22);border-radius:999px;background:rgba(67,132,225,.08);color:#8fbcff;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.df-rbac-role.admin{color:#76d8d1;border-color:rgba(69,203,189,.22);background:rgba(69,203,189,.07)}.df-rbac-role.user{color:#aeb8c7;border-color:rgba(174,184,199,.18);background:rgba(174,184,199,.05)}
.df-user-mgmt{display:grid;gap:14px}.df-user-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid rgba(91,150,240,.18);border-radius:14px;background:linear-gradient(180deg,rgba(15,26,40,.92),rgba(8,15,25,.94))}.df-user-hero h2{margin:0 0 4px!important}.df-user-hero p{margin:0!important;color:var(--df-muted,#8f9caf)!important;font-size:9px!important}.df-user-counts{display:flex;gap:8px;flex-wrap:wrap}.df-user-count{min-width:92px;padding:9px 10px;border:1px solid rgba(91,150,240,.13);border-radius:10px;background:rgba(255,255,255,.018)}.df-user-count span{display:block;font-size:7px;color:#75879e;letter-spacing:.08em}.df-user-count strong{display:block;margin-top:3px;font-size:18px}.df-user-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center}.df-user-table-wrap{overflow:auto;border:1px solid rgba(91,150,240,.14);border-radius:12px;background:rgba(7,13,21,.72)}.df-user-table{width:100%;border-collapse:collapse;min-width:980px}.df-user-table th,.df-user-table td{padding:10px 11px;border-bottom:1px solid rgba(148,163,184,.08);text-align:left;font-size:9px}.df-user-table th{font-size:7px;letter-spacing:.09em;text-transform:uppercase;color:#778aa2;background:rgba(72,118,180,.06)}.df-user-table tr:last-child td{border-bottom:0}.df-user-name{display:grid;gap:2px}.df-user-name strong{font-size:10px}.df-user-name small{font-size:8px;color:#6f8197}.df-user-actions{display:flex;gap:6px;flex-wrap:wrap}.df-mini-action{border:1px solid rgba(91,150,240,.18);border-radius:7px;background:rgba(91,150,240,.05);color:#aebed3;padding:5px 7px;font-size:8px;cursor:pointer}.df-mini-action:hover{border-color:rgba(91,150,240,.34);color:#eef5ff}.df-mini-action.danger:hover{border-color:rgba(233,106,119,.34);color:#f0a0aa}.df-user-empty{padding:28px;text-align:center;color:#7c8da2;font-size:10px}
.df-rbac-modal{position:fixed;z-index:190;inset:0;display:grid;place-items:center;padding:18px;background:rgba(2,5,9,.76);backdrop-filter:blur(9px)}.df-rbac-modal[hidden]{display:none!important}.df-rbac-card{width:min(720px,100%);max-height:90vh;overflow:auto;border:1px solid rgba(91,150,240,.2);border-radius:16px;background:linear-gradient(180deg,#111a27,#080e16);box-shadow:0 30px 90px rgba(0,0,0,.55)}.df-rbac-card-head{display:flex;justify-content:space-between;gap:14px;padding:17px 18px 13px;border-bottom:1px solid rgba(148,163,184,.08)}.df-rbac-card-head h3{margin:0!important}.df-rbac-card-head p{margin:3px 0 0!important;color:#79899e!important;font-size:8px!important}.df-rbac-form{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:16px 18px 18px}.df-rbac-form label{display:grid;gap:5px;font-size:8px;color:#8ea0b7;text-transform:uppercase;letter-spacing:.05em}.df-rbac-form .full{grid-column:1/-1}.df-rbac-form input,.df-rbac-form select{width:100%}.df-rbac-help{grid-column:1/-1;padding:9px 10px;border:1px solid rgba(213,166,78,.16);border-radius:9px;background:rgba(213,166,78,.05);color:#ad9c73;font-size:8px;line-height:1.45}.df-rbac-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.df-rbac-msg{grid-column:1/-1;min-height:16px;font-size:8px}.df-rbac-msg.ok{color:#61d1a0}.df-rbac-msg.err{color:#ec8995}
.df-sound-box{display:grid;gap:10px;margin-top:8px;padding:11px;border:1px solid rgba(91,150,240,.13);border-radius:10px;background:rgba(255,255,255,.015)}.df-sound-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,220px);gap:12px;align-items:center}.df-sound-copy{display:grid;gap:2px}.df-sound-copy strong{font-size:9px}.df-sound-copy small{font-size:7.5px;color:#75869b}.df-sound-row select,.df-sound-row input[type="range"],.df-sound-row input[type="time"]{width:100%}.df-sound-actions{display:flex;gap:7px;flex-wrap:wrap}.df-sound-state{font-size:8px;color:#73849a}.df-sound-state.on{color:#5ed49e}.df-sound-state.warn{color:#d9aa50}
html[data-df-theme="light"] .df-user-hero,html[data-df-theme="light"] .df-user-table-wrap,html[data-df-theme="light"] .df-rbac-card{background:#fff;color:#1e2b3e}.df-role-hidden{display:none!important}
@media(max-width:760px){.df-rbac-form{grid-template-columns:1fr}.df-rbac-form .full{grid-column:1}.df-sound-row{grid-template-columns:1fr}.df-user-hero{flex-direction:column}.df-user-counts{width:100%}}
