.usergrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.usercard{display:grid;gap:9px;padding:16px;background:#0a1727;border:1px solid #263950;border-radius:10px}.usercard label{display:grid;gap:4px;color:#8fa7bf}
.role-dialog{width:min(620px,92vw);max-height:86vh;padding:0;border:1px solid #29445d;border-radius:12px;background:#10243a;color:#d7e4ee;overflow:hidden}
.role-dialog::backdrop{background:rgba(0,0,0,.6)}
.role-create-form{display:flex;flex-direction:column;gap:14px;max-height:86vh;padding:20px 22px 0;overflow-y:auto}
.role-create-form>h2{margin:0}.role-create-form>input[name="name"]{flex:0 0 auto}
.role-create-form fieldset{display:grid;grid-template-columns:1fr;gap:4px;margin:0;padding:10px 12px 12px;border:1px solid #29445d;border-radius:9px}
.role-create-form fieldset:first-of-type legend{font-weight:700;color:#5de0d3}.role-create-form fieldset:nth-of-type(2) legend{font-weight:600;color:#d7e4ee}
.role-create-form fieldset>label{display:flex!important;align-items:center;gap:9px;min-height:34px;padding:5px 7px;border-radius:6px;color:#d7e4ee;font-size:14px;line-height:1.35;cursor:pointer}
.role-create-form fieldset>label:hover{background:#172f45}
.role-create-form input[type="checkbox"],.permission-grid input[type="checkbox"]{appearance:none;-webkit-appearance:none;flex:0 0 18px!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;margin:0!important;padding:0!important;border:1px solid #597087;border-radius:4px;background:#091827;display:grid;place-content:center;cursor:pointer}
.role-create-form input[type="checkbox"]:before,.permission-grid input[type="checkbox"]:before{content:"";width:9px;height:5px;border-left:2px solid #06221f;border-bottom:2px solid #06221f;transform:rotate(-45deg) scale(0);transform-origin:center}
.role-create-form input[type="checkbox"]:checked,.permission-grid input[type="checkbox"]:checked{border-color:#26d7c7;background:#26d7c7}
.role-create-form input[type="checkbox"]:checked:before,.permission-grid input[type="checkbox"]:checked:before{transform:rotate(-45deg) scale(1)}
.role-create-form input[type="checkbox"]:focus-visible,.permission-grid input[type="checkbox"]:focus-visible{outline:2px solid #77eee3;outline-offset:2px}
.role-dialog .dialog-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;margin:2px -22px 0;padding:13px 22px;background:#10243a;border-top:1px solid #29445d}
.permission-grid{display:grid!important;grid-template-columns:repeat(3,minmax(170px,1fr));gap:6px 14px}.permission-grid label{display:flex!important;align-items:center;justify-content:flex-start;gap:9px;width:auto!important;min-height:30px;padding:3px 4px}.permission-grid label span{flex:0 1 auto}@media(max-width:900px){.permission-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media(max-width:560px){.permission-grid{grid-template-columns:1fr}}
.auth-page{display:grid;gap:16px}.auth-head,.auth-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.auth-head h1,.auth-section-head h2{margin:0 0 5px}.auth-head p,.auth-section-head p{margin:0;color:#8fa7bf}.auth-head-actions{display:flex;gap:8px;flex-wrap:wrap}.auth-panel{overflow:visible}.auth-filters{margin:14px 0}.auth-table-wrap{overflow-x:auto;overflow-y:visible}.auth-table{min-width:880px}.auth-table td{vertical-align:middle}.auth-table .row-actions{min-width:220px}.role-code{display:block;margin-top:4px;color:#71879a}.scope-pill,.module-tags span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#173b50;color:#9fe9df;font-size:12px}.scope-pill.all{background:#155d55}.scope-pill.warning{background:#5d4820;color:#ffd18a}.module-tags{display:flex;gap:5px;flex-wrap:wrap}.auth-schema-note{margin:12px 0 0;padding:9px 11px;border-left:3px solid #536d82;background:#0b1b2a;color:#8fa7bf;font-size:13px}
.auth-drawer,.permission-workbench{box-sizing:border-box;width:min(820px,64vw);height:100vh;max-height:100vh;margin:0 0 0 auto;padding:0;border:0;border-left:1px solid #36566f;border-radius:0;background:#10243a;color:#d7e4ee;overflow:hidden}.permission-workbench{width:min(980px,74vw)}.auth-drawer::backdrop,.permission-workbench::backdrop,.password-dialog::backdrop{background:#03101dcc}.auth-drawer>header,.auth-drawer form>header,.permission-workbench header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #29445d}.auth-drawer h2,.permission-workbench h2,.password-dialog h2{margin:0}.auth-drawer form,.permission-workbench form{display:grid;height:100%;grid-template-rows:auto 1fr auto}.auth-drawer-body,.permission-body{padding:20px 22px;overflow:auto}.auth-drawer-body{display:grid;align-content:start;gap:16px}.auth-drawer-body fieldset,.permission-groups fieldset{min-width:0;margin:0;padding:14px;border:1px solid #29445d;border-radius:9px}.auth-drawer-body legend,.permission-groups legend{padding:0 6px;color:#79e1d6;font-weight:600}.auth-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.auth-form-grid label,.auth-drawer-body>fieldset>label,.role-name-field{display:grid;gap:6px}.auth-drawer footer,.permission-workbench footer,.password-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid #29445d;background:#10243a}.auth-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:22px}.auth-view-grid>div{display:grid;gap:5px;padding:14px;border:1px solid #29445d;border-radius:9px;background:#0b1b2a}.auth-view-grid span{color:#8fa7bf;font-size:13px}
.permission-body{display:grid;align-content:start;gap:18px}.permission-body section{padding:16px;border:1px solid #29445d;border-radius:10px;background:#0d2033}.permission-body h3,.permission-body h4{margin:0 0 12px}.permission-body h3{color:#79e1d6}.permission-card-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px 12px}.permission-card-grid label,.permission-groups label,.legacy-permission label,.confirm-choice{display:flex!important;align-items:center;gap:9px;min-height:34px;margin:0;padding:7px 9px;border-radius:7px;background:#102b40;color:#d7e4ee}.permission-card-grid input[type=checkbox],.permission-groups input[type=checkbox],.legacy-permission input[type=checkbox],.confirm-choice input[type=checkbox]{flex:0 0 18px!important;width:18px!important;height:18px!important;margin:0!important}.permission-card-grid.modules label{font-weight:700}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-groups fieldset{display:grid;align-content:start;gap:5px}.legacy-permission{margin-top:12px}.legacy-permission summary{cursor:pointer;color:#9cb1c2}.legacy-permission label{margin-top:6px}.scope-help{align-self:center;color:#8fa7bf}.password-dialog{width:min(480px,calc(100vw - 32px));padding:0;background:#10243a;color:#d7e4ee;border:1px solid #36566f;border-radius:12px}.password-dialog form{display:grid;gap:14px;padding:22px}.password-dialog label{display:grid;gap:6px}.password-dialog footer{margin:4px -22px -22px}.more-menu form{margin:0}.more-menu form button{width:100%}
.permission-empty{margin:0;padding:22px;border:1px dashed #36566f;border-radius:9px;color:#8fa7bf;text-align:center}.form-error{margin:0;padding:10px 12px;border:1px solid #9b4651;border-radius:8px;background:#4d2028;color:#ffd7dc}.permission-workbench button:disabled{cursor:wait;opacity:.65}
.confirm-dialog{width:min(440px,calc(100vw - 32px));padding:0;border:1px solid #36566f;border-radius:12px;background:#10243a;color:#d7e4ee}.confirm-dialog::backdrop{background:#03101ddd}.confirm-dialog-body{padding:22px}.confirm-dialog-body h2{margin:0 0 10px}.confirm-dialog-body p{margin:0;color:#b5c7d6}.confirm-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px;border-top:1px solid #29445d}
.scope-mode{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.scope-mode label{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:7px;background:#102b40}.role-select-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.data-scope-section select[multiple]{min-height:150px}
@media(max-width:1100px){.auth-drawer,.permission-workbench{width:min(760px,86vw)}.permission-card-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media(max-width:700px){.auth-head,.auth-section-head{display:grid}.auth-drawer,.permission-workbench{width:100vw}.auth-form-grid,.auth-view-grid,.permission-groups,.permission-card-grid{grid-template-columns:1fr}.auth-filters label{flex:1 1 100%}}
.user-avatar-section{padding:14px;border:1px solid #29445d;border-radius:9px}.user-avatar-section h3{margin:0 0 12px}.user-avatar-row{display:flex;align-items:flex-start;gap:16px}.user-avatar-image,.user-avatar-initial{flex:none;width:72px;height:72px;border-radius:50%;object-fit:cover}.user-avatar-initial{display:grid;place-items:center;background:#194057;color:#fff;font-size:28px;font-weight:700}.user-avatar-row form{display:flex;align-items:center;gap:8px;margin:8px 0}.user-avatar-row input[type=file]{max-width:260px}.user-avatar-row p{margin:0 0 8px}
.user-name-with-avatar{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.user-avatar-small{width:32px;height:32px;flex:none;border-radius:50%;object-fit:cover}.user-avatar-small-initial{display:inline-grid;place-items:center;background:#194057;color:#fff;font-size:14px;font-weight:700}.user-avatar-file{display:grid;gap:6px;margin:9px 0}.user-avatar-section button{margin-right:7px}.user-avatar-section [data-self-avatar-error]{margin-top:8px}.auth-drawer-body fieldset>.user-avatar-section{margin-bottom:16px;background:#0d2033}@media(max-width:560px){.user-avatar-row{align-items:flex-start}.user-avatar-section input[type=file]{max-width:100%}}
.auth-table .user-avatar-small-shell{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;min-width:32px;max-width:32px;min-height:32px;max-height:32px;overflow:hidden;border-radius:50%}.auth-table .user-avatar-small-shell>.user-avatar-small{box-sizing:border-box;display:block;width:32px!important;height:32px!important;min-width:32px;max-width:32px;min-height:32px;max-height:32px;object-fit:cover;border-radius:50%}.auth-table .user-avatar-small-shell>.user-avatar-small-initial{display:grid;place-items:center}.auth-page .user-avatar-preview-shell{display:inline-flex;align-items:center;justify-content:center;flex:0 0 80px;width:80px;height:80px;min-width:80px;max-width:80px;min-height:80px;max-height:80px;overflow:hidden;border-radius:50%}.auth-page .user-avatar-preview-shell>.user-avatar-image,.auth-page .user-avatar-preview-shell>.user-avatar-initial{box-sizing:border-box;width:80px!important;height:80px!important;min-width:80px;max-width:80px;min-height:80px;max-height:80px;border-radius:50%}.auth-page .user-avatar-preview-shell>.user-avatar-image{display:block;object-fit:cover}.auth-page [data-user-avatar]>[hidden],.auth-page [data-self-avatar-file][hidden],.auth-page [data-self-avatar-delete][hidden]{display:none!important}.auth-table tbody tr{height:auto}.auth-table .user-name-with-avatar{min-height:32px}
