/* Estilos específicos da tela: Usuários e permissões.
 * Extraídos do stylesheet histórico para que a tela possa evoluir de forma independente.
 * /styles.css permanece apenas como base visual compartilhada e camada de compatibilidade.
 */

.admin-user{font-size:12px;color:var(--muted);text-align:right}

@media (max-width:900px){
.admin-user{display:none}
}

.human-badge{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;background:#eef2f0;color:#405049;white-space:nowrap}

.human-badge.ok{background:#e7f5ed;color:#0d724b}

.permission-list{display:flex;flex-wrap:wrap;gap:5px;max-width:520px}

.permission-list span{font-size:10px;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:#fafcfb;white-space:nowrap}

@media (max-width:900px){
.permission-list{min-width:240px}
}

.user-editor-panel{overflow:visible}

.user-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}

.user-save-row{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:16px}

.user-save-row .primary{min-width:260px}

.permission-editor{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fbfcfb}

.permission-editor-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;background:#f7faf8;border-bottom:1px solid var(--line)}

.permission-editor-head>div{display:flex;flex-direction:column;gap:3px}

.permission-editor-head>div>span{font-size:11px;color:var(--muted)}

.permission-master-toggle,.permission-group-head label{flex-direction:row;align-items:center;gap:7px;font-weight:800;white-space:nowrap}

.permission-master-toggle input,.permission-group-head input{width:auto}

.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}

.permission-group{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}

.permission-group-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:13px 14px;border-bottom:1px solid #edf1ef}

.permission-group-head>div{display:flex;flex-direction:column;gap:3px}

.permission-group-head>div>span{font-size:10px;color:var(--muted);line-height:1.35}

.permission-items{display:grid}

.permission-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid #f0f3f1;font-weight:500;cursor:pointer}

.permission-item:last-child{border-bottom:0}

.permission-item:hover{background:#fbfdfc}

.permission-item input{width:auto;margin-top:3px}

.permission-item>span{display:flex;flex-direction:column;gap:3px}

.permission-item strong{font-size:12px}

.permission-item small{font-size:10px;color:var(--muted);line-height:1.35}

.permission-summary-full{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;background:#e7f5ed;color:#0d724b}

.users-table{min-width:1120px}

.users-table td{vertical-align:middle}

@media (max-width:1050px){
.permission-groups{grid-template-columns:1fr}
}

@media (max-width:900px){
.user-form-grid{grid-template-columns:1fr}

.user-form-grid .span2{grid-column:1}

.permission-editor-head{align-items:flex-start;flex-direction:column}

.permission-groups{padding:10px}

.user-save-row .primary{width:100%;min-width:0}
}

.access-tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:5px;width:max-content;max-width:100%;overflow:auto}

.access-tab{border:0;background:transparent;color:#56635d;padding:10px 14px;border-radius:10px;font-weight:800;white-space:nowrap}

.access-tab.active{background:var(--soft);color:var(--green)}

.roles-table{min-width:1040px}

.role-editor-panel{overflow:visible}

.permission-list{display:flex;gap:5px;flex-wrap:wrap}

.permission-list span{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f0f4f2;color:#46534d;font-size:10px;font-weight:700}

.human-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef3f0;font-size:10px;font-weight:800}

.permission-check:disabled,.permission-group-all:disabled,#permissionSelectAll:disabled{cursor:not-allowed}

.permission-item:has(input:disabled){opacity:.78;background:#fafcfb}

@media (max-width:900px){
.access-tabs{width:100%}

.access-tab{flex:1}
}

.admin-user{display:flex;align-items:center;justify-content:flex-end;gap:10px;text-align:right}

.access-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}

.access-overview>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}

.access-overview span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}

.access-overview strong{display:block;margin-top:4px;font-size:20px;line-height:1}

.access-list-panel{border-radius:14px}

.access-list-head{padding:14px 16px}

.access-head-actions{display:flex;gap:8px;align-items:center}

.access-head-actions input{width:230px;height:38px;border-radius:10px;padding:0 11px;font-size:12px}

.access-head-actions .primary{height:38px;padding:0 14px;border-radius:10px}

.roles-table.enterprise{min-width:980px}

.roles-table.enterprise th,.roles-table.enterprise td{padding:10px 14px;vertical-align:middle}

.roles-table.enterprise th{font-size:10px}

.roles-table.enterprise .cell-subtitle{max-width:360px;font-size:10px}

.permission-list.compact{max-width:360px}

.permission-list.compact span{font-size:9px;padding:3px 6px}

.role-editor-panel{border-radius:14px}

.role-editor-panel .panel-head{padding:13px 16px}

.role-editor-panel .user-form-grid{gap:10px;padding:14px}

.role-editor-panel input,.role-editor-panel select{height:40px;border-radius:10px;padding:0 12px}

.role-editor-panel .permission-editor{border-radius:12px}

.role-editor-panel .permission-editor-head{padding:12px 14px}

.role-editor-panel .permission-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}

.role-editor-panel .permission-group{border-radius:10px}

.role-editor-panel .permission-group-head{padding:10px 11px;align-items:center}

.role-editor-panel .permission-group-head>div>span,.role-editor-panel .permission-item small{display:none}

.role-editor-panel .permission-item{padding:9px 11px;gap:8px}

.role-editor-panel .permission-item strong{font-size:11px}

.role-editor-panel .user-save-row{padding-top:12px}

@media (max-width:1100px){
.role-editor-panel .permission-groups{grid-template-columns:repeat(2,minmax(0,1fr))}

.access-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:700px){
.access-list-head,.access-head-actions{align-items:stretch;flex-direction:column}

.access-head-actions input,.access-head-actions .primary{width:100%}

.role-editor-panel .permission-groups,.access-overview{grid-template-columns:1fr}
}

.access-overview>div{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:12px;min-height:74px}

.access-overview>div>svg{grid-row:1/3;color:var(--green);background:#e8f5ee;border-radius:10px;padding:7px;width:34px!important;height:34px!important}

.access-search{position:relative;display:block}

.access-search svg{position:absolute;left:11px;top:11px;color:#6f7b75}

.access-search input{padding-left:34px!important}

.access-head-actions .primary{display:inline-flex;align-items:center;gap:7px}

.access-drawer-backdrop{position:fixed;inset:0;background:rgba(8,28,20,.18);backdrop-filter:blur(1px);z-index:900}

.access-drawer{position:fixed;top:0;right:0;z-index:901;width:min(520px,100vw);height:100vh;background:#fff;border-left:1px solid var(--line);box-shadow:-22px 0 60px rgba(15,35,25,.16);display:flex;flex-direction:column}

.access-drawer-head{height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 22px;border-bottom:1px solid var(--line)}

.access-drawer-head h3{margin:0;font-size:18px}

.access-drawer-head span{display:block;margin-top:3px;color:var(--muted);font-size:12px}

.access-drawer-body{overflow:auto;min-height:0;flex:1}

.access-drawer .permission-editor{border-radius:12px}

.access-drawer .permission-editor-head{padding:12px 14px}

.access-drawer .permission-groups{grid-template-columns:1fr!important;gap:0;padding:0}

.access-drawer .permission-group{border-width:0 0 1px;border-radius:0}

.access-drawer .permission-group-head{padding:12px 14px;align-items:center;background:#fbfcfb}

.access-drawer .permission-group-head>div>span{display:none}

.access-drawer .permission-items{padding:2px 0}

.access-drawer .permission-item{padding:8px 14px;border:0}

.access-drawer .permission-item small{display:none}

.access-drawer .permission-item strong{font-size:12px;font-weight:650}

.access-drawer-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--line);background:#fbfcfb}

.access-drawer-foot .primary{display:inline-flex;align-items:center;gap:7px}

.access-drawer-foot button{height:42px;border-radius:10px}

@media (max-width:700px){
.access-drawer{width:100vw}

.access-drawer-backdrop{display:none}
}

.company-permission-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;background:#fbfcfb;padding:12px 14px}

.company-permission-head strong{font-size:13px;color:var(--text)}

.company-permission-head span{font-size:11px;color:var(--muted)}

.users-overview>div:nth-child(2)>svg{color:#0d724b;background:#e6f6ee}

.users-overview>div:nth-child(4)>svg{color:#1f5d88;background:#e8f2fb}

.users-list-panel{border-radius:14px;box-shadow:0 14px 38px rgba(20,44,33,.045)}

.users-table.enterprise{min-width:1080px}

.users-table.enterprise th{font-size:10px;background:#fcfdfc}

.users-table.enterprise td{padding:12px 14px;vertical-align:middle}

.access-user-cell{display:flex;align-items:center;gap:10px;min-width:230px}

.access-user-cell>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e9f5ef;color:var(--green);font-weight:900;flex:0 0 auto}

.access-user-cell>div{display:grid;gap:3px;min-width:0}

.access-user-cell strong{font-size:13px}

.access-user-cell small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.user-access-drawer{width:min(680px,100vw)}

.user-drawer-profile{display:flex;align-items:center;gap:12px;margin:18px 20px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fbfdfc,#f5faf7)}

.user-drawer-profile>div{width:44px;height:44px;border-radius:13px;background:#0c6b47;color:#fff;display:grid;place-items:center;box-shadow:0 10px 22px rgba(12,107,71,.18)}

.user-drawer-profile span{display:grid;gap:3px;min-width:0}

.user-drawer-profile strong{font-size:15px;color:var(--text)}

.user-drawer-profile small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.user-drawer-form{padding-top:14px!important}

.user-access-drawer .permission-editor{margin-top:2px}

.user-access-drawer .permission-editor-head{background:#fbfcfb;border-radius:12px 12px 0 0}

.user-access-drawer .permission-editor-head h3{font-size:14px}

.user-access-drawer .permission-editor-head span{font-size:11px}

.user-access-drawer .permission-group-head h4{font-size:13px}

.user-access-drawer .permission-group-all{font-size:11px}

.user-access-drawer .permission-item{min-height:38px}

.user-access-drawer .permission-item input{width:14px;height:14px}

.user-access-drawer .permission-item strong{font-size:12px}

.user-permission-block{display:grid;gap:8px}

.permission-summary-full{display:inline-flex;border-radius:999px;background:#e7f5ed;color:#0d724b;padding:5px 8px;font-size:10px;font-weight:850}

.admin-user{display:flex;align-items:center;gap:8px;text-align:right}

.admin-user>div:last-child{min-width:0}

@media (max-width:760px){
.user-access-drawer{width:100vw}

.users-table.enterprise{min-width:900px}
}

.access-tenant-filter{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(20,44,33,.04)}

.access-tenant-filter label{display:flex;align-items:center;gap:9px;min-width:min(520px,100%);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}

.access-tenant-filter label svg{color:var(--green)}

.access-tenant-filter select{height:38px;min-width:260px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px;font-size:12px;font-weight:800;color:var(--text);text-transform:none;letter-spacing:0}

.access-tenant-filter small{font-size:11px;color:var(--muted);text-align:right}

@media (max-width:760px){
.access-tenant-filter{align-items:stretch;flex-direction:column}

.access-tenant-filter label{align-items:flex-start;flex-direction:column}

.access-tenant-filter select{width:100%;min-width:0}

.access-tenant-filter small{text-align:left}
}

.company-permission-head.premium{border:0;border-radius:0;padding:14px 16px;background:#fbfcfb;border-bottom:1px solid #e8efeb;align-items:center}

.company-permission-head.premium strong{display:block;font-size:14px}

.company-permission-head.premium span{font-size:11px;color:#66756d}

.company-permission-head.premium>span{border-radius:999px;background:#e8f5ee;color:#0c6b47;padding:5px 8px;font-weight:900}

.loading,
.public-card,
.public-decision-backdrop,
.access-drawer-backdrop,
.company-drawer-backdrop,
.customer-modal-backdrop,
.referral-detail-backdrop,
.chain-premium-backdrop,
.premium-dialog-backdrop{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.access-governance{display:grid;gap:14px;max-width:1680px;margin:0 auto;color:#17233a}
.access-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.access-page-head h2{margin:5px 0 6px;font-size:27px;line-height:1.08;color:#18243a}
.access-page-head p{margin:0;color:#667085;font-size:13px}
.access-page-head .breadcrumb{color:#2563eb;font-size:11px}
.access-page-head .primary,.access-editor-hero .primary{display:inline-flex;align-items:center;gap:8px;background:#2563eb;border-color:#2563eb}
.access-mode-tabs{display:flex;gap:6px;width:max-content;max-width:100%;padding:5px;border:1px solid #dfe7f0;border-radius:8px;background:#fff;overflow:auto}
.access-mode-tabs button{border:0;border-radius:6px;background:transparent;color:#667085;font-weight:800;font-size:12px;padding:9px 12px;white-space:nowrap}
.access-mode-tabs button.active{background:#eaf1ff;color:#2563eb}
.access-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.access-metric{position:relative;overflow:hidden;display:grid;grid-template-columns:58px minmax(0,1fr) 96px;gap:12px;align-items:center;min-height:104px;padding:18px;border:1px solid #dde6f1;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(15,35,60,.055)}
.access-metric>span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center}
.access-metric.blue>span{background:#eaf1ff;color:#2563eb}.access-metric.green>span{background:#e9f8ef;color:#16a34a}.access-metric.purple>span{background:#f0e9ff;color:#7c3aed}.access-metric.amber>span{background:#fff4df;color:#f59e0b}
.access-metric small{display:block;color:#344054;font-size:12px;font-weight:900}.access-metric strong{display:block;margin-top:3px;color:#101828;font-size:28px;line-height:1}.access-metric em{display:block;margin-top:7px;color:#667085;font-size:11px;font-style:normal}
.mini-spark{width:92px;height:26px}.mini-spark path{fill:none;stroke:currentColor;stroke-width:2}.access-metric.blue .mini-spark{color:#2563eb}.access-metric.green .mini-spark{color:#16a34a}.access-metric.purple .mini-spark{color:#7c3aed}.access-metric.amber .mini-spark{color:#f59e0b}
.access-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}
.access-users-panel,.access-summary,.access-editor-card,.access-permission-summary,.advanced-grid>.panel,.profiles-list,.audit-table-panel{border:1px solid #dde6f1;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(15,35,60,.045);overflow:hidden}
.access-filterbar{display:grid;grid-template-columns:minmax(250px,1.35fr) repeat(3,minmax(150px,.75fr)) auto;gap:10px;padding:14px;border-bottom:1px solid #edf2f7;align-items:end}
.access-filterbar.compact{grid-template-columns:repeat(3,minmax(150px,1fr)) auto;border:1px solid #dbe7fb;border-radius:8px;margin:12px 0;background:#fbfdff}
.access-filterbar label{gap:6px;color:#667085;font-size:11px;font-weight:800}.access-filterbar label>span{font-size:11px;color:#667085}
.access-filterbar input,.access-filterbar select{height:38px;border-radius:6px;border-color:#d0d8e5;font-size:12px;padding:0 11px}
.access-search{position:relative}.access-search svg{position:absolute;right:12px;top:33px;color:#667085}
.access-filterbar .secondary{height:38px;display:inline-flex;align-items:center;gap:7px;border-color:#d0d8e5;color:#344054;border-radius:6px;white-space:nowrap}
.access-table-head{padding:16px 18px}.access-table-head h3{margin:0;font-size:16px}.access-table-head span{display:inline-flex;margin-left:6px;border-radius:7px;background:#eaf1ff;color:#2563eb;padding:2px 8px;font-size:12px}
.access-table{min-width:1080px}.access-table th,.access-audit-table th{color:#667085;font-size:10px;text-transform:none;background:#f8fafc}.access-table td,.access-audit-table td{padding:12px 16px;border-top:1px solid #edf2f7;font-size:12px}.access-table tr.selected{background:#eaf2ff;box-shadow:inset 3px 0 0 #2563eb}.access-table tr:hover{background:#f8fbff}
.access-person{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;min-width:220px}.access-person>span,.summary-user>span,.edit-avatar,.profile-row>span{display:grid;place-items:center;border-radius:50%;background:#eef2f7;color:#344054;font-weight:900}.access-person>span{width:34px;height:34px}.access-person strong{font-size:13px}.access-person small{display:block;margin-top:2px;color:#667085;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip-line{display:flex;gap:5px;flex-wrap:wrap}.chip-line span,.summary-list dd span,.structure-grid span{display:inline-flex;align-items:center;border-radius:6px;background:#f1f5f9;color:#475467;padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap}
.access-chip,.status-pill{display:inline-flex;align-items:center;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:850;white-space:nowrap}.access-chip.role{background:#eef4ff;color:#2563eb}.access-chip.scope{background:#f1f5f9;color:#475467}.status-pill.good{background:#dcfce7;color:#15803d}.status-pill.warn{background:#fef3c7;color:#b45309}.status-pill.danger{background:#fee2e2;color:#dc2626}
.access-summary{position:sticky;top:14px;padding:18px}.access-summary h3,.access-permission-summary h3,.advanced-grid h3,.profiles-list h3,.audit-table-panel h3{margin:0 0 14px;font-size:16px}
.summary-user{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding-bottom:16px;border-bottom:1px solid #edf2f7}.summary-user>span{width:42px;height:42px}.summary-user strong,.summary-user small{display:block}.summary-user small{color:#667085;font-size:11px}
.summary-list{display:grid;gap:14px;margin:16px 0 0}.summary-list div{min-width:0}.summary-list dt{margin-bottom:8px;color:#344054;font-weight:900;font-size:12px}.summary-list dd{display:flex;gap:6px;flex-wrap:wrap;margin:0;color:#667085;font-size:12px}
.access-editor-hero{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto auto;gap:16px;align-items:center;padding:20px}.edit-avatar{width:58px;height:58px;background:#e8e2ff;color:#2b2d42;font-size:22px}.access-editor-hero h3{margin:0 0 5px;font-size:20px}.access-editor-hero p{margin:0;color:#667085}.secondary.danger{border-color:#fecaca;color:#dc2626;background:#fff}
.access-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}.access-editor-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid #edf2f7}.access-editor-tabs button{height:50px;border:0;background:#fff;color:#667085;font-weight:850}.access-editor-tabs button.active{color:#2563eb;box-shadow:inset 0 -2px 0 #2563eb}
.edit-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.edit-form-grid label{font-size:12px;color:#344054}.edit-form-grid input,.edit-form-grid select{height:40px;border-radius:6px;border-color:#d0d8e5;font-size:12px;padding:0 11px}.edit-block{display:grid;gap:10px;padding-top:4px}.edit-block h4{margin:0;color:#344054;font-size:13px}.choice-card{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px;min-height:42px;padding:10px 12px;border:1px solid #d8e1ee;border-radius:7px;background:#fff;color:#475467}.choice-card input,.switch-line input{width:auto}.choice-card.is-selected,.choice-card:has(input:checked){border-color:#2563eb;background:#f5f8ff;color:#2563eb}
.company-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.switch-line{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px;font-weight:800;color:#475467}
.module-matrix.mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.module-matrix.mini label{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;border:1px solid #edf2f7;border-radius:7px;padding:8px;background:#fbfdff}.module-matrix.mini span{font-weight:850;color:#344054}
.access-permission-summary{padding:18px}.exceptions-box{margin-top:18px;border:1px solid #fed7aa;border-radius:8px;background:#fffaf0;padding:14px}.exceptions-box h4{display:flex;gap:8px;align-items:center;margin:0 0 10px;color:#9a5c00}.exceptions-box p{display:flex;justify-content:space-between;margin:8px 0;color:#475467;font-size:12px}.exceptions-box b{border-radius:6px;background:#dcfce7;color:#15803d;padding:4px 8px}
.advanced-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.advanced-matrix{padding:18px}.module-matrix.full{display:grid;border:1px solid #edf2f7;border-radius:8px;overflow:hidden}.matrix-head,.matrix-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(5,minmax(92px,.45fr));align-items:center}.matrix-head{background:#f8fafc;color:#667085;font-size:11px;font-weight:900}.matrix-head span,.matrix-row strong,.matrix-row label{padding:10px 12px;border-bottom:1px solid #edf2f7}.matrix-row label{display:grid!important;place-items:center}.matrix-row input{width:auto}.matrix-row label span{width:18px;height:18px;border:1px solid #cad5e3;border-radius:50%}.matrix-row input:checked+span{border:5px solid #2563eb}.quick-reading{display:grid;gap:12px;padding:18px}.quick-reading p{margin:0;color:#475467;line-height:1.5}.quick-reading input{height:38px;border-radius:6px}.data-visibility,.critical-actions{padding:18px}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.profiles-audit-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px}.profiles-list,.audit-table-panel{padding:18px}.profile-row{width:100%;display:grid;grid-template-columns:38px minmax(130px,.7fr) minmax(0,1fr) 44px 72px 34px;gap:12px;align-items:center;border:0;border-bottom:1px solid #edf2f7;background:#fff;padding:12px;text-align:left}.profile-row.selected{background:#eaf2ff;box-shadow:inset 3px 0 0 #2563eb}.profile-row>span{width:34px;height:34px;background:#f0e9ff;color:#7c3aed}.profile-row small{color:#667085}.profile-row em,.profile-row b{font-style:normal;font-size:11px;font-weight:850;color:#475467}.profile-structure{margin-top:16px;border-top:1px solid #edf2f7;padding-top:16px}.profile-structure h3 span{color:#2563eb}.structure-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.structure-grid>div{border:1px solid #edf2f7;border-radius:8px;background:#fbfdff;padding:13px}.structure-grid strong{font-size:12px}.structure-grid p{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0}.audit-inline-warning{display:flex;align-items:center;gap:8px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#2563eb;padding:10px 12px;font-size:12px}
@media(max-width:1180px){.access-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.access-main-grid,.access-editor-grid,.advanced-grid,.profiles-audit-grid{grid-template-columns:1fr}.access-summary{position:static}.access-filterbar{grid-template-columns:1fr 1fr}.access-editor-hero{grid-template-columns:60px minmax(0,1fr);}.access-editor-hero .status-pill,.access-editor-hero button{grid-column:auto}.structure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-visibility-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.access-page-head{align-items:flex-start;flex-direction:column}.access-page-head .primary{width:100%;justify-content:center}.access-metrics,.access-filterbar,.access-filterbar.compact,.edit-form-grid,.company-checks,.module-matrix.mini,.toggle-grid,.structure-grid,.data-visibility-groups{grid-template-columns:1fr}.access-metric{grid-template-columns:52px minmax(0,1fr)}.access-metric .mini-spark{display:none}.access-editor-tabs{grid-template-columns:1fr 1fr}.matrix-head,.matrix-row{grid-template-columns:minmax(130px,1fr) repeat(5,54px)}.matrix-head span,.matrix-row strong,.matrix-row label{padding:8px 6px;font-size:10px}.profile-row{grid-template-columns:36px minmax(0,1fr) 38px}.profile-row small,.profile-row b,.profile-row i{display:none}}

/* Reconstrucao visual aprovada - tela Usuarios */
.access-governance{
  width:100%;
  max-width:none;
  margin:14px 0 0;
  display:grid;
  gap:16px;
  color:#12231c;
  font-family:"Inter","Segoe UI Variable Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:13px;
  font-weight:400;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.admin-content.users-access-route{
  background:#f3f6f4;
  overflow-x:visible;
}

.admin-content.users-access-route>.admin-top[hidden]{
  display:none!important;
}

#adminApp.admin-shell .admin-content.users-access-route>.admin-top[hidden]{
  display:none!important;
}

.admin-content.users-access-route #pageBody,
.admin-content.users-access-route .access-governance,
.admin-content.users-access-route .access-page-head,
.admin-content.users-access-route .access-metrics,
.admin-content.users-access-route .access-segments,
.admin-content.users-access-route .access-users-panel{
  min-width:0;
  max-width:100%;
}

@media(min-width:901px){
  #adminApp.admin-shell .admin-content.users-access-route #pageBody{
    width:100%;
    max-width:100%;
    overflow:visible;
  }
}

.access-page-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:74px;
  margin:0;
  padding:12px 18px;
  border:1px solid #dfe7ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,38,28,.045);
}

.access-title-wrap{
  display:block;
  min-width:0;
}

.access-heading-left{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}

.access-page-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  margin:0;
  border:1px solid #cfe5da;
  border-radius:10px;
  background:#f3faf7;
  color:#078653;
}

.access-page-icon svg{
  width:20px!important;
  height:20px!important;
  stroke-width:1.9!important;
}

.access-kicker{
  display:block;
  margin:0 0 5px;
  color:#078653;
  font-size:9.5px;
  line-height:1.1;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.access-page-head h2{
  margin:0;
  color:#10231c;
  font-size:21px;
  line-height:1.08;
  font-weight:600;
  letter-spacing:0;
}

.access-page-head p{
  margin:5px 0 0;
  max-width:none;
  color:#5e6f67;
  font-size:12.7px;
  line-height:1.42;
  font-weight:400;
}

.access-page-head .users-new-button,
.access-page-head .primary{
  flex:0 0 auto;
  width:auto;
  min-width:146px;
  max-width:210px;
  height:44px;
  justify-content:center;
  gap:8px;
  padding:0 16px;
  border:1px solid #078653;
  border-radius:10px;
  background:linear-gradient(180deg,#078653,#006a52);
  color:#fff;
  box-shadow:0 10px 20px rgba(0,106,82,.16);
  font-size:12.5px;
  line-height:1;
  font-weight:640;
  letter-spacing:0;
}

#adminApp.admin-shell .admin-content.users-access-route .access-page-head .users-new-button.primary{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-self:center!important;
  width:auto!important;
  min-width:146px!important;
  max-width:210px!important;
  height:44px!important;
  padding:0 16px!important;
}

@media(max-width:760px){
  #adminApp.admin-shell .admin-content.users-access-route .access-page-head .users-new-button.primary{
    align-self:flex-start!important;
    width:auto!important;
    max-width:100%!important;
  }
}

/* Visualizador de foto no mesmo padrão documental da Análise de Clientes. */
body.ca-document-open{overflow:hidden}
.ca-document-viewer{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:22px}
.ca-document-backdrop{position:absolute;inset:0;background:rgba(9,25,39,.72);backdrop-filter:blur(5px)}
.ca-document-dialog{position:relative;width:min(1180px,96vw);height:min(860px,92vh);display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid rgba(255,255,255,.25);border-radius:16px;overflow:hidden;background:#f7f9fb;box-shadow:0 30px 80px rgba(0,0,0,.32);--ca-document-zoom:1}
.ca-document-dialog.compact-document{width:min(980px,90vw);height:min(760px,88vh)}
.ca-document-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px 11px 15px;background:#fff;border-bottom:1px solid #dce5ec}
.ca-document-dialog>header>div{display:flex;align-items:center;gap:10px;min-width:0}
.ca-document-dialog>header>div>div{display:grid;gap:1px;min-width:0}
.ca-document-dialog header small{font-size:8px;color:#7b8995;font-weight:900;letter-spacing:.08em}
.ca-document-dialog header strong{font-size:12px;color:#19354c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-document-viewer-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#edf4f8;color:#2d678d}
.ca-document-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 0 auto}
.ca-document-tool,.ca-document-close{height:36px;flex:0 0 auto;border:1px solid #cfdbe5;background:#fff;color:#29455d;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;box-shadow:0 1px 2px rgba(16,39,72,.06)}
.ca-document-tool{width:36px!important;color:#143857!important;font-weight:950!important;font-size:16px!important;line-height:1!important}
.ca-document-symbol{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:18px;font-weight:950;line-height:1;color:currentColor}
.ca-document-zoom{height:36px!important;min-width:58px!important;border:1px solid #d7e2ea;border-radius:10px!important;background:#f7fbff!important;color:#153852!important;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px!important;font-weight:900!important;font-variant-numeric:tabular-nums}
.ca-document-close{min-width:82px!important;padding:0 18px!important;background:#12304b!important;border-color:#12304b!important;color:#fff!important;font-size:12px!important;font-weight:900!important;line-height:1!important;text-align:center!important}
.ca-document-close span{display:inline-flex!important;align-items:center;justify-content:center;margin:0!important}
.ca-document-tool:hover{background:#f1f6f9!important;color:#16344c!important;border-color:#b9cbd9!important}
.ca-document-close:hover{background:#173c5d!important;border-color:#173c5d!important;color:#fff!important}
.ca-document-stage{position:relative;min-height:0;display:grid;place-items:start center;overflow:auto;background:#e9eef2;padding:22px}
.ca-document-stage.compact-document{padding:18px;background:linear-gradient(180deg,#f7fafc 0%,#eef3f8 100%);overflow:auto}
.ca-document-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;opacity:0;transition:opacity .18s ease,transform .16s ease;box-shadow:0 10px 32px rgba(11,36,55,.16);will-change:transform}
.ca-document-stage.compact-document img[data-document-content]{width:auto;height:auto;max-width:min(100%,780px);max-height:calc(88vh - 160px);object-fit:contain;border-radius:14px;box-shadow:0 12px 32px rgba(16,39,72,.12)}
.ca-document-stage [data-document-content].is-ready{opacity:1}
.ca-document-loader{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;gap:9px;color:#557086;font-size:11px;font-weight:800}
.ca-document-loader.is-hidden{display:none}
.ca-document-loader svg,.ca-document-tool svg{width:18px;height:18px}
.ca-document-stage.is-draggable img[data-document-content]{cursor:grab;touch-action:none;user-select:none}
.ca-document-stage.is-dragging img[data-document-content]{cursor:grabbing;transition:opacity .18s ease!important}
@media(max-width:760px){
  .ca-document-viewer{padding:0}
  .ca-document-dialog,.ca-document-dialog.compact-document{width:100vw;height:100vh;border:0;border-radius:0}
  .ca-document-dialog>header{align-items:flex-start;gap:10px;flex-direction:column}
  .ca-document-actions{width:100%;justify-content:flex-start!important;overflow-x:auto;padding-bottom:2px}
  .ca-document-stage.compact-document img[data-document-content]{max-width:100%;max-height:calc(100vh - 148px)}
}

.access-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.access-metric{
  min-height:104px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:start;
  gap:10px;
  padding:13px 14px;
  border:1px solid #dce7e2;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 16px rgba(18,38,28,.025);
}

.access-metric>span{
  width:32px;
  height:32px;
  border-radius:9px;
  display:grid;
  place-items:center;
}

.access-metric.blue>span{background:#dcebff;color:#2563eb}
.access-metric.green>span{background:#d9f8e6;color:#009b63}
.access-metric.red>span{background:#ffe0e4;color:#dc2626}
.access-metric.purple>span{background:#eee4ff;color:#7c3aed}

.access-metric small{
  display:block;
  color:#5e7067;
  font-size:11.2px;
  line-height:1.2;
  font-weight:600;
  white-space:normal;
}

.access-metric strong{
  display:block;
  margin-top:7px;
  color:#0f2119;
  font-size:21px;
  line-height:1;
  font-weight:600;
  letter-spacing:-.025em;
}

.access-metric em{
  display:block;
  margin-top:7px;
  color:#77857e;
  font-size:10.3px;
  line-height:1.3;
  font-weight:400;
  font-style:normal;
}

.access-segments{
  display:flex;
  align-items:stretch;
  gap:0;
  min-height:54px;
  padding:0 18px;
  border:1px solid #e1e8f0;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 26px rgba(15,35,60,.035);
  overflow:auto;
}

.access-segments button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:126px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#344054;
  font-size:14px;
  font-weight:750;
  white-space:nowrap;
}

.access-segments button.active{
  color:#111827;
  font-weight:850;
}

.access-segments button.active:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  border-radius:3px 3px 0 0;
  background:#008767;
}

.access-segments b{
  min-width:27px;
  height:24px;
  display:inline-grid;
  place-items:center;
  padding:0 8px;
  border-radius:999px;
  background:#e6f8ef;
  color:#006b4f;
  font-size:12px;
  font-weight:850;
}

.access-users-panel{
  width:100%;
  overflow:visible;
  border:1px solid #e1e8f0;
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,35,60,.045);
}

.access-filterbar{
  display:grid;
  grid-template-columns:minmax(320px,1.55fr) minmax(190px,.7fr) minmax(230px,.8fr) minmax(190px,.7fr) 184px;
  gap:14px;
  align-items:end;
  padding:20px 18px;
  border-bottom:1px solid #edf2f7;
}

.access-filterbar label{
  display:grid;
  gap:7px;
  min-width:0;
  color:#344054;
  font-size:13px;
  font-weight:800;
}

.access-filterbar label>span{
  color:#344054;
  font-size:13px;
  font-weight:800;
}

.access-filterbar input,
.access-filterbar select,
.access-filterbar .secondary{
  width:100%;
  height:46px;
  border:1px solid #d6dee9;
  border-radius:7px;
  background:#fff;
  color:#17233a;
  font-size:14px;
  font-weight:700;
}

.access-filterbar input,
.access-filterbar select{
  padding:0 14px;
}

.access-search{
  position:relative;
}

.access-search>span{
  position:absolute;
  left:14px;
  bottom:13px;
  z-index:1;
  color:#344054;
}

.access-filterbar .access-search input{
  padding-left:48px!important;
}

.access-filterbar .access-more-filters{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 14px;
  color:#17233a;
  background:#fff;
  border-color:#d6dee9;
  white-space:nowrap;
}

.access-filterbar .access-more-filters:disabled{
  opacity:1;
  cursor:default;
}

.users-table-wrap{
  overflow-x:auto;
  border-radius:0 0 8px 8px;
}

.access-table{
  width:100%;
  min-width:1110px;
  border-collapse:separate;
  border-spacing:0;
}

#adminApp.admin-shell .admin-content.users-access-route .users-table-wrap>.access-table{
  width:100%!important;
  min-width:max(1110px,100%)!important;
  max-width:none!important;
}

.access-table th{
  height:46px;
  padding:0 18px;
  background:#f8fafc;
  color:#667085;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0;
  text-align:left;
}

.access-table td{
  height:58px;
  padding:9px 18px;
  border-top:1px solid #e8eef5;
  background:#fff;
  color:#17233a;
  font-size:13px;
  vertical-align:middle;
}

.access-table tr:hover td{
  background:#fbfdff;
}

.access-table .check-cell{
  width:48px;
  text-align:center;
}

.access-table input[type="checkbox"]{
  width:17px;
  height:17px;
  accent-color:#008767;
}

.access-person{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:240px;
}

.access-person-avatar{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:#eaf4ef;
  box-shadow:inset 0 0 0 1px rgba(12,107,71,.06);
}

.user-photo-warning{padding:10px 12px;border:1px solid #efd9a8;border-radius:8px;background:#fffbf1;color:#74430e;font-size:13px;line-height:1.4}
.access-person-avatar.has-photo{
  background:#edf3f0;
}

.access-person-avatar.is-initials{
  background:#087653;
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:0;
}

.access-person-avatar img{
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.access-person-avatar.is-empty:before{
  content:"";
  width:14px;
  height:14px;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.24));
  box-shadow:0 11px 0 3px rgba(255,255,255,.38);
}

.access-person strong{
  display:block;
  color:#10231c;
  font-size:13px;
  font-weight:600;
  line-height:1.28;
}

.access-person small{
  display:block;
  margin-top:3px;
  color:#5f7068;
  font-size:11px;
  line-height:1.25;
  font-weight:400;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.access-chip,
.chip-line span,
.status-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:24px;
  border-radius:7px;
  padding:0 10px;
  font-size:10.5px;
  font-weight:600;
  white-space:nowrap;
}

.access-chip.role.blue{background:#eaf1ff;color:#0f57d6}
.access-chip.role.green{background:#dcfce7;color:#047857}
.access-chip.role.purple{background:#eee4ff;color:#6d28d9}
.access-chip.role.orange{background:#ffedd5;color:#c2410c}
.access-chip.role.red{background:#fee2e2;color:#dc2626}
.access-chip.role.cyan{background:#e0f2fe;color:#0369a1}

.chip-line{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
  min-width:0;
}

.chip-line span{
  max-width:170px;
  overflow:hidden;
  text-overflow:ellipsis;
  background:#f1f5f9;
  color:#344054;
}

.last-access{
  display:grid;
  gap:2px;
}

.last-access strong{
  color:#24372e;
  font-size:12.5px;
  font-weight:500;
}

.last-access small{
  color:#66766f;
  font-size:11px;
  font-weight:400;
}

.status-pill{
  min-height:24px;
  border-radius:8px;
}

.status-pill i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
}

.status-pill.good{background:#dcfce7;color:#047857}
.status-pill.warn{background:#fef3c7;color:#b45309}
.status-pill.danger{background:#fee2e2;color:#dc2626}

.user-actions-cell{
  position:relative;
  display:flex;
  align-items:center;
  gap:7px;
  justify-content:flex-start;
}

.users-row-action,
.users-open-details{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  border:1px solid #37aa7a;
  border-radius:8px;
  background:#fff;
  color:#067a53;
  font-size:11.5px;
  line-height:1;
  font-weight:600;
  letter-spacing:0;
  white-space:nowrap;
  box-shadow:none;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}

.users-link-activation{
  border-color:#d7e6de;
  background:#f3faf7;
  color:#00795d;
}

.users-open-details:hover{
  border-color:#078653;
  background:#f3faf7;
  transform:translateY(-1px);
}

.users-row-action:hover{
  transform:translateY(-1px);
}

.users-row-action.danger{
  border-color:#fecaca;
  color:#dc2626;
  background:#fff;
}

.users-row-action.danger:hover{
  border-color:#f87171;
  background:#fff5f5;
}

.users-link-activation:hover{
  border-color:#078653;
  background:#eaf8f2;
}

.users-row-action.is-loading,
.user-form-link.is-loading{
  position:relative;
  overflow:hidden;
  cursor:wait;
  pointer-events:none;
  border-color:#9fd9c1!important;
  background:#eefaf5!important;
  color:#087a5b!important;
  box-shadow:0 10px 22px rgba(8,122,91,.08);
}

.users-row-action.is-loading:after,
.user-form-link.is-loading:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,rgba(255,255,255,0) 0 32%,rgba(255,255,255,.78) 48%,rgba(255,255,255,0) 64% 100%);
  transform:translateX(-115%);
  animation:userActionLoadingSweep 1.15s ease-in-out infinite;
  pointer-events:none;
}

.users-row-action.is-loading svg,
.user-form-link.is-loading svg{
  animation:userActionLoadingSpin .82s linear infinite;
}

.users-row-action.is-loading span,
.user-form-link.is-loading span{
  position:relative;
  z-index:1;
}

.users-row-action span{
  display:inline-block;
}

.users-row-action svg,
.users-open-details svg{
  width:15px!important;
  height:15px!important;
  stroke-width:2!important;
}

@keyframes userActionLoadingSpin{
  to{transform:rotate(360deg)}
}

@keyframes userActionLoadingSweep{
  to{transform:translateX(115%)}
}

.access-table .icon-action{
  width:38px;
  height:38px;
  border:0;
  border-radius:8px;
  background:#eef2f7;
  color:#17233a;
}

.users-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:60px;
  padding:10px 18px;
  border-top:1px solid #edf2f7;
}

.users-pagination p{
  margin:0;
  color:#344054;
  font-size:14px;
}

.users-pagination>div,
.users-pagination label{
  display:flex;
  align-items:center;
  flex-direction:row;
  gap:10px;
  color:#344054;
  font-size:14px;
}

.users-pagination select{
  width:78px;
  height:38px;
  border:1px solid #d6dee9;
  border-radius:7px;
  background:#fff;
  color:#17233a;
  padding:0 10px;
  font-size:14px;
}

.users-pagination .icon-action,
.users-pagination .page-number{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #d6dee9;
  border-radius:7px;
  background:#fff;
  color:#17233a;
  font-size:14px;
  font-weight:800;
}

.users-pagination .page-number.active{
  border-color:#006b4f;
  background:#006b4f;
  color:#fff;
}

.access-drawer-backdrop{
  position:fixed;
  inset:0;
  z-index:900;
  background:rgba(15,23,42,.16);
  animation:userDrawerBackdropIn .18s ease-out;
}

.access-drawer.user-access-drawer{
  position:fixed;
  top:0;
  right:0;
  z-index:901;
  width:min(588px,100vw);
  height:100vh;
  display:flex;
  flex-direction:column;
  pointer-events:auto;
  border-left:1px solid #dfe7f0;
  background:#fff;
  box-shadow:-24px 0 64px rgba(15,35,60,.15);
  animation:userDrawerSlideIn .22s cubic-bezier(.2,.8,.2,1);
}

.access-drawer-head{
  min-height:118px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:30px 28px 22px;
  border-bottom:1px solid #edf2f7;
  flex:0 0 auto;
}

.access-drawer-head h3{
  margin:0;
  color:#07182d;
  font-size:28px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:0;
}

.access-drawer-head span{
  display:block;
  margin-top:7px;
  color:#667085;
  font-size:16px;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:440px;
}

.access-drawer-body{
  min-height:0;
  flex:1;
  overflow:auto;
  padding:20px 28px 22px;
  background:#fbfdff;
}

.user-drawer-profile{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  align-items:center;
  gap:17px;
  margin:0 0 16px;
  min-height:104px;
  padding:16px 20px;
  border:1px solid #cbe7df;
  border-radius:10px;
  background:linear-gradient(180deg,#fdfffe 0%,#f8fcfa 100%);
}

.user-drawer-avatar{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  position:relative;
  border-radius:50%;
  border:0;
  background:#006b4f;
  color:#fff;
  font-size:23px;
  font-weight:800;
  overflow:hidden;
  box-shadow:0 12px 24px rgba(0,107,79,.18);
}

.user-drawer-avatar.is-clickable{
  cursor:pointer;
  padding:0;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;
}

.user-drawer-avatar.is-clickable:hover{
  transform:translateY(-1px);
  filter:saturate(1.05);
  box-shadow:0 16px 30px rgba(0,107,79,.24);
}

.user-drawer-avatar.is-clickable:focus-visible{
  outline:3px solid rgba(13,148,101,.28);
  outline-offset:3px;
}

.user-drawer-profile>.user-drawer-avatar{
  width:56px!important;
  height:56px!important;
  border-radius:50%!important;
}

.user-drawer-avatar.has-photo img{
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.user-drawer-avatar-zoom{
  position:absolute;
  right:0;
  bottom:0;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:999px;
  background:#0a7b59;
  color:#fff;
  box-shadow:0 6px 14px rgba(0,0,0,.18);
}

.user-drawer-profile strong{
  display:block;
  color:#07182d;
  font-size:19px;
  line-height:1.15;
  font-weight:800;
}

.user-drawer-profile small{
  display:block;
  margin-top:5px;
  color:#667085;
  font-size:15px;
  line-height:1.15;
}

.user-drawer-profile .status-pill{
  align-self:center;
  min-height:31px;
  padding:0 12px;
  border-radius:999px;
  font-size:13px;
}

.user-detail-stack{
  display:grid;
  gap:15px;
}

.user-detail-card{
  display:grid;
  gap:15px;
  padding:16px 17px;
  border:1px solid #e0e8f1;
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,35,60,.035);
}

.user-detail-card-head{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:start;
  gap:13px;
}

.user-detail-card-head>span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#f3f6fa;
  color:#07182d;
}

.user-detail-card h4{
  margin:0;
  color:#07182d;
  font-size:18px;
  line-height:1.15;
  font-weight:800;
}

.user-detail-card p{
  margin:5px 0 0;
  color:#667085;
  font-size:14px;
  line-height:1.32;
}

.user-detail-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}

.user-detail-chip,
.user-detail-empty,
.user-detail-date{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 13px;
  border-radius:7px;
  background:#f3f6fa;
  color:#17233a;
  font-size:13px;
  line-height:1.2;
  font-weight:720;
  font-style:normal;
  max-width:100%;
}

.user-detail-chip.is-count{
  background:#e8f5f1;
  color:#006b4f;
}

.user-detail-date{
  gap:10px;
  width:max-content;
  max-width:100%;
  min-height:42px;
  font-size:16px;
  font-weight:800;
}

.access-drawer.user-access-drawer .access-drawer-foot{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(124px,1fr));
  gap:11px;
  padding:18px 28px 20px;
  border-top:1px solid #edf2f7;
  background:rgba(255,255,255,.96);
  flex:0 0 auto;
  pointer-events:auto;
}

.access-drawer.user-access-drawer .access-drawer-foot button{
  min-width:0;
  min-height:48px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  font-size:15px;
  font-weight:800;
  white-space:nowrap;
  pointer-events:auto;
}

.access-drawer.user-access-drawer .access-drawer-foot .secondary{
  border:1px solid #007a5c;
  background:#fff;
  color:#007a5c;
}

.access-drawer.user-access-drawer .access-drawer-foot .primary{
  border:1px solid #007a5c;
  background:#007a5c;
  color:#fff;
  box-shadow:0 10px 22px rgba(0,122,92,.16);
}

.access-drawer.user-access-drawer .access-drawer-foot .danger{
  border-color:#fecaca;
  color:#dc2626;
  background:#fff;
}

.access-drawer.user-access-drawer .access-drawer-foot:has(.drawer-action-close:only-child){
  grid-template-columns:1fr;
}

.user-drawer-close{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border:0;
  border-radius:10px;
  background:#f3f6fa;
  color:#07182d;
}

.user-drawer-close:hover{
  background:#e6edf5;
}

@keyframes userDrawerSlideIn{
  from{transform:translateX(26px);opacity:.82}
  to{transform:translateX(0);opacity:1}
}

@keyframes userDrawerBackdropIn{
  from{opacity:0}
  to{opacity:1}
}

@media(max-width:1320px){
  .access-filterbar{grid-template-columns:1.4fr 1fr 1fr 1fr}
  .access-filterbar .access-more-filters{grid-column:4}
}

@media(max-width:1500px){
  .access-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .access-filterbar{grid-template-columns:minmax(260px,1.4fr) minmax(180px,1fr) minmax(200px,1fr)}
  .access-filterbar .access-more-filters{grid-column:auto}
  .access-page-head{align-items:center}
  .access-page-head .users-new-button{margin-top:0}
}

@media(max-width:1180px){
  .access-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .access-filterbar{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
  .access-page-head{align-items:stretch;flex-direction:column}
  .access-page-head .users-new-button{width:100%}
  .access-metrics,
  .access-filterbar{grid-template-columns:1fr}
  .access-segments{padding:0 10px}
  .users-pagination{align-items:flex-start;flex-direction:column}
  .access-drawer-head{min-height:88px;padding:20px 18px 14px}
  .access-drawer-head h3{font-size:22px}
  .access-drawer-head span{font-size:14px;max-width:calc(100vw - 96px)}
  .access-drawer-body{padding:14px 16px 18px}
  .user-drawer-profile{grid-template-columns:40px minmax(0,1fr);gap:12px}
  .user-drawer-profile .status-pill{grid-column:1 / -1;width:max-content}
  .access-drawer.user-access-drawer .access-drawer-foot{grid-template-columns:1fr;padding:12px 16px 14px}
  .access-drawer.user-access-drawer .access-drawer-foot button{min-height:42px}
  .user-detail-card{padding:12px;gap:10px}
  .user-detail-card-head{grid-template-columns:32px minmax(0,1fr);gap:10px}
  .user-detail-card-head>span{width:32px;height:32px}
  .user-detail-card h4{font-size:15px}
}

/* Novo usuario / edicao - composicao compacta aprovada */
.user-form-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:86px;
  margin:0 0 2px;
  padding:16px 20px;
}

.admin-content.users-access-route .access-governance:has(.user-form-header){
  margin-top:14px;
  gap:16px;
}

.user-form-heading{
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
}

.user-form-heading-row{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.user-form-heading h2{
  margin:0;
  color:#10231c;
  font-size:23px;
  line-height:1.12;
  font-weight:600;
  letter-spacing:0;
}

.user-form-heading p{
  margin:6px 0 0;
  color:#5e6f67;
  font-size:12.7px;
  line-height:1.42;
  font-weight:400;
}

.user-form-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
  flex:0 0 auto;
  padding-top:0;
}

#adminApp.admin-shell .admin-content.users-access-route .user-form-actions .primary,
#adminApp.admin-shell .admin-content.users-access-route .user-form-actions .secondary{
  width:auto!important;
  flex:0 0 auto!important;
  min-width:0!important;
  height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:10px!important;
  padding:0 16px!important;
  font-size:12.5px!important;
  font-weight:640!important;
  white-space:nowrap!important;
}

#adminApp.admin-shell .admin-content.users-access-route .user-form-actions .user-form-save{
  min-width:184px!important;
  border-color:#1769f2!important;
  background:#1769f2!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(23,105,242,.22)!important;
}

#adminApp.admin-shell .admin-content.users-access-route .user-form-actions .user-form-back{
  min-width:112px!important;
  border:1px solid #008767!important;
  background:#fff!important;
  color:#00795d!important;
}

#adminApp.admin-shell .admin-content.users-access-route .user-form-actions .danger{
  border-color:#fecaca!important;
  color:#dc2626!important;
  background:#fff!important;
}

.user-form-actions .status-pill{
  height:32px;
  min-height:32px;
  padding:0 13px;
  border-radius:7px;
}

.user-form-actions .is-loading{
  opacity:.82;
  cursor:wait;
}

.user-identity-card{
  min-height:78px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:12px 24px;
  border:1px solid #dce5ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,35,60,.035);
}

.user-identity-card .edit-avatar{
  width:54px;
  height:54px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ece4ff;
  color:#243049;
  font-size:20px;
  font-weight:850;
  overflow:hidden;
}

.user-identity-card .edit-avatar.has-photo{
  background:#eef4f1;
}

.user-identity-card .edit-avatar.has-photo img{
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.user-identity-card h3{
  margin:0 0 6px;
  color:#101828;
  font-size:18px;
  line-height:1.2;
  font-weight:850;
}

.user-identity-card p{
  margin:0;
  color:#55657a;
  font-size:14px;
  line-height:1.35;
}

.user-form-tabs{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  min-height:46px;
  border:0;
  border-bottom:1px solid #dde6f1;
  background:transparent;
}

.user-form-tabs button{
  position:relative;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#344054;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}

.user-form-tabs button.active{
  color:#1769f2;
  box-shadow:none;
}

.user-form-tabs button.active:after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  bottom:0;
  height:3px;
  border-radius:3px 3px 0 0;
  background:#1769f2;
}

.user-form-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,25%);
  gap:18px;
  align-items:start;
}

.user-form-layout .panel,
.user-form-main .panel{
  margin-top:0;
}

.user-form-main{
  display:grid;
  gap:14px;
  min-width:0;
}

.user-form-card{
  padding:12px 18px 13px;
  border:1px solid #dce5ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,35,60,.035);
  overflow:visible;
}

.user-form-card-head{
  display:flex;
  align-items:flex-start;
  gap:13px;
  margin-bottom:8px;
}

.user-form-card-head>span{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:grid;
  place-items:center;
  color:#1769f2;
}

.user-form-card-head h3{
  margin:0;
  color:#101828;
  font-size:16px;
  line-height:1.15;
  font-weight:850;
}

.user-form-card-head p{
  margin:3px 0 0;
  color:#55657a;
  font-size:13.5px;
  line-height:1.35;
}

.user-fields-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 16px;
}

.user-form-field{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:end;
  gap:0;
  min-width:0;
}

.user-form-field>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  align-self:end;
  border:1px solid #dce5ef;
  border-right:0;
  border-radius:7px 0 0 7px;
  background:#f9fbfd;
  color:#344054;
}

.user-form-field>div{
  display:grid;
  gap:4px;
  min-width:0;
}

.user-form-field b,
.user-form-select b{
  color:#17233a;
  font-size:13px;
  line-height:1.15;
  font-weight:850;
}

.user-form-field b b{
  color:#e11d48;
}

.user-form-field input,
.user-form-field select,
.user-form-select select{
  width:100%;
  height:34px;
  border:1px solid #ccd7e5;
  border-radius:0 7px 7px 0;
  background:#fff;
  color:#101828;
  padding:0 12px;
  font-size:14px;
  font-weight:650;
}

.user-form-select select{
  border-radius:7px;
}

.user-form-field input[aria-invalid="true"],
.user-form-field select[aria-invalid="true"]{
  border-color:#ef4444;
  box-shadow:0 0 0 2px rgba(239,68,68,.08);
}

.field-error{
  min-height:0;
  color:#dc2626;
  font-size:12.5px;
  font-style:normal;
  line-height:1.2;
}

.field-error:not(:empty){
  min-height:15px;
}

.user-2fa{
  min-height:48px;
  align-self:end;
  padding:0 4px;
}

.switch-line.user-2fa,
.switch-line.auto-company{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  color:#17233a;
}

.switch-line.user-2fa input,
.switch-line.auto-company input,
.choice-card input{
  width:18px;
  height:18px;
  flex:0 0 auto;
  accent-color:#1769f2;
}

.switch-line strong{
  display:block;
  color:#17233a;
  font-size:13.5px;
  line-height:1.2;
  font-weight:850;
}

.switch-line small{
  display:block;
  margin-top:5px;
  color:#55657a;
  font-size:12.5px;
  line-height:1.25;
  font-weight:600;
}

.data-visibility-card{
  padding:14px 16px 16px;
}

.data-visibility-card>.permission-section-head{
  margin-bottom:10px;
}

.data-visibility-explainer{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 9px;
  padding:9px 11px;
  border:1px solid #dbe7f3;
  border-radius:8px;
  background:#f8fbff;
  color:#40506a;
  font-size:12.5px;
  line-height:1.35;
  font-weight:650;
}

.data-visibility-explainer strong{
  color:#12213a;
  font-weight:900;
}

.data-visibility-groups{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin-top:0;
}

.data-visibility-group{
  min-width:0;
  display:block;
  padding:0;
  border:1px solid #e0e9f2;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}

.data-visibility-head{
  width:100%;
  min-height:46px;
  display:grid;
  grid-template-columns:minmax(230px,1.2fr) minmax(240px,1fr) auto 22px;
  gap:12px;
  align-items:center;
  padding:8px 11px;
  border:0;
  background:#fff;
  color:#17233a;
  text-align:left;
  cursor:pointer;
}

.data-visibility-title{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}

.data-visibility-title>svg{
  flex:0 0 auto;
  width:28px;
  height:28px;
  padding:5px;
  border-radius:8px;
  background:#eef6ff;
  color:#1769f2;
}

.data-visibility-title strong,
.data-visibility-title small{
  display:block;
}

.data-visibility-title strong{
  color:#17233a;
  font-size:14px;
  line-height:1.15;
  font-weight:900;
}

.data-visibility-title small{
  margin-top:3px;
  color:#64748b;
  font-size:12px;
  line-height:1.25;
  font-weight:600;
}

.data-visibility-kind{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.data-visibility-kind em{
  min-height:22px;
  display:inline-flex;
  align-items:center;
  border-radius:6px;
  padding:0 8px;
  background:#eef2f7;
  color:#475467;
  font-size:11px;
  line-height:1;
  font-style:normal;
  font-weight:850;
  white-space:nowrap;
}

.data-visibility-head b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:end;
  min-width:46px;
  height:24px;
  padding:0 7px;
  border-radius:7px;
  background:#eef2f7;
  color:#344054;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.data-visibility-head>svg:last-child{
  justify-self:end;
  color:#17233a;
  transition:transform .18s ease;
}

.data-visibility-group.is-expanded .data-visibility-head>svg:last-child{
  transform:rotate(180deg);
}

.data-visibility-options{
  display:none;
  gap:7px;
  padding:9px;
  border-top:1px solid #e7edf5;
  background:#f8fbff;
}

.data-visibility-group.is-expanded .data-visibility-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.data-visibility-option{
  min-height:50px;
  align-items:flex-start;
  padding:8px 9px;
  border-radius:7px;
  background:transparent;
}

.data-visibility-option:hover,
.data-visibility-option.is-selected{
  background:#fff;
}

.data-visibility-option input{
  width:16px;
  height:16px;
  flex:0 0 auto;
  accent-color:#1769f2;
}

.data-visibility-option strong{
  font-size:12.5px;
}

.data-visibility-option small{
  max-width:58ch;
}

.data-visibility .data-visibility-groups{
  grid-template-columns:1fr;
}

.user-form-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:stretch;
}

.user-form-pair>.user-form-card{
  min-width:0;
}

.environment-checks,
.company-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.environment-checks{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.choice-card{
  min-height:46px;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:8px 11px!important;
  border:1px solid #d7e1ee!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#17233a!important;
}

.choice-card.is-selected,
.choice-card:has(input:checked){
  border-color:#1769f2!important;
  background:#f5f8ff!important;
  box-shadow:inset 0 0 0 1px rgba(23,105,242,.18);
}

.choice-card>span{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}

.choice-card strong{
  display:block;
  color:#0f2f67;
  font-size:13.5px;
  line-height:1.2;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.choice-card small{
  display:block;
  margin-top:4px;
  color:#55657a;
  font-size:12.5px;
  line-height:1.2;
  font-weight:600;
}

.auto-company{
  margin-top:10px;
}

.user-company-access{
  position:relative;
  display:grid;
  gap:10px;
}

.company-option-store{
  display:none;
}

.company-all-card{
  min-height:50px;
  display:grid;
  grid-template-columns:18px 34px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid #d7e1ee;
  border-radius:9px;
  background:#fff;
  color:#17233a;
}

.company-all-card input{
  width:18px;
  height:18px;
  accent-color:#1769f2;
}

.company-all-card>span{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#edf7f3;
  color:#007457;
}

.company-all-card strong,
.linked-company-row strong,
.linked-company-all-selected strong{
  display:block;
  min-width:0;
  color:#0f2f67;
  font-size:13.5px;
  line-height:1.2;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.company-all-card small,
.linked-company-row small,
.linked-company-all-selected small{
  display:block;
  margin-top:4px;
  color:#55657a;
  font-size:12.5px;
  line-height:1.25;
  font-weight:600;
}

.company-all-card.is-selected,
.user-company-access.all-selected .company-all-card{
  border-color:#1769f2;
  background:#f5f8ff;
  box-shadow:inset 0 0 0 1px rgba(23,105,242,.16);
}

.linked-company-list{
  display:grid;
  gap:8px;
}

.linked-company-row,
.linked-company-all-selected,
.linked-company-empty{
  min-height:44px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 32px;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid #e3eaf2;
  border-radius:8px;
  background:#fbfcfe;
}

.linked-company-all-selected,
.linked-company-empty{
  grid-template-columns:34px minmax(0,1fr);
}

.linked-company-row>span,
.linked-company-all-selected>svg,
.linked-company-empty>svg{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#edf7f3;
  color:#007457;
}

.linked-company-row .icon-action{
  width:32px;
  height:32px;
  border:0;
  border-radius:8px;
  background:#eef2f7;
  color:#344054;
}

.linked-company-empty{
  color:#667085;
  font-size:13px;
  font-weight:750;
}

.company-add-wrap{
  position:relative;
  display:flex;
  align-items:flex-start;
}

.company-add-button{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 13px;
  border-radius:8px;
  font-weight:850;
}

.company-add-popover{
  position:absolute;
  left:0;
  top:calc(100% + 6px);
  z-index:20;
  width:min(460px, calc(100vw - 48px));
  max-height:min(420px, calc(100vh - 160px));
  display:none;
  overflow:hidden;
  padding:7px;
  border:1px solid #d7e1ee;
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,35,60,.16);
}

.user-company-access.is-adding .company-add-popover{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:5px;
}

.company-add-tools{
  display:grid;
  gap:7px;
  padding:2px;
}

.company-add-tools label{
  min-height:38px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:0 10px;
  border:1px solid #d7e1ee;
  border-radius:8px;
  background:#fbfcfe;
  color:#344054;
}

.company-add-tools input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#17233a;
  font-size:12.5px;
  font-weight:750;
}

.company-add-filter{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
}

.company-add-filter button{
  min-height:30px;
  border:1px solid #d7e1ee;
  border-radius:7px;
  background:#fff;
  color:#475467;
  font-size:11.5px;
  font-weight:850;
}

.company-add-filter button.is-active{
  border-color:#00996f;
  background:#eafbf3;
  color:#007457;
}

.company-add-list{
  display:grid;
  align-content:start;
  gap:5px;
  min-height:0;
  max-height:300px;
  overflow:auto;
  padding-top:3px;
  padding-right:2px;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

.company-add-list button{
  width:100%;
  display:grid;
  grid-template-columns:26px minmax(0,1fr) 22px;
  align-items:center;
  gap:9px;
  min-height:44px;
  border:0;
  border-radius:8px;
  background:#fff;
  color:#17233a;
  padding:7px 8px;
  text-align:left;
}

.company-add-list button:hover,
.company-add-list button.is-selected{
  background:#f5f8ff;
  color:#1769f2;
}

.company-add-list strong,
.company-add-list small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.company-add-list strong{
  font-size:13px;
  font-weight:850;
}

.company-add-list small,
.company-add-empty{
  color:#667085;
  font-size:12px;
  font-weight:650;
}

.company-add-empty{
  padding:10px;
}

.auto-company-card{
  margin-top:0;
  padding:10px 12px;
  border:1px solid #d7e1ee;
  border-radius:9px;
  background:#fbfcfe;
}

.auto-company-card.is-hidden{
  display:none!important;
}

.compact-pair .user-form-card{
  padding-bottom:12px;
}

.compact-pair .user-form-card-head{
  margin-bottom:7px;
}

.user-permissions-entry{
  display:flex;
  justify-content:flex-end;
  padding:2px 0 0;
}

#adminApp.admin-shell .admin-content.users-access-route .user-permissions-entry .user-permissions-action{
  width:auto!important;
  min-width:300px!important;
  max-width:100%!important;
  min-height:56px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:10px 16px!important;
  border:1px solid #b9ded2!important;
  border-radius:11px!important;
  background:#f7fffc!important;
  color:#00795d!important;
  box-shadow:0 10px 24px rgba(0,135,103,.08)!important;
}

#adminApp.admin-shell .admin-content.users-access-route .user-form-actions .user-permissions-action{
  border-color:#b9ded2!important;
  background:#f7fffc!important;
  color:#00795d!important;
  box-shadow:none!important;
}

.user-permissions-action>span{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-align:left;
}

.user-permissions-action strong{
  display:block;
  color:#00694f;
  font-size:13px;
  line-height:1.15;
  font-weight:850;
}

.user-permissions-action small{
  display:block;
  margin-top:2px;
  color:#51675f;
  font-size:12px;
  line-height:1.2;
  font-weight:600;
}

.user-permissions-action:hover{
  border-color:#008767!important;
  background:#effcf7!important;
  transform:translateY(-1px);
}

.module-matrix.mini{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px 10px;
}

.module-matrix.mini .module-permission-row{
  min-height:36px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(132px,44%);
  align-items:center;
  gap:10px;
  padding:5px 7px 5px 10px;
  border:1px solid #e3eaf2;
  border-radius:8px;
  background:#fbfcfe;
}

.module-permission-row>span{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  color:#344054;
}

.module-permission-row strong{
  min-width:0;
  color:#17233a;
  font-size:13px;
  line-height:1.2;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.module-permission-row select{
  width:100%;
  height:30px;
  border:1px solid #cfd9e6;
  border-radius:7px;
  background:#fff;
  color:#101828;
  padding:0 9px;
  font-size:12.5px;
  font-weight:750;
}

.permissions-card{
  padding:14px 16px 16px;
}

.permission-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}

.permission-section-head .user-form-card-head{
  margin:0;
}

.permission-section-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}

.permission-section-actions button{
  min-height:34px;
  padding:0 12px;
  border-radius:7px;
  gap:7px;
  font-size:12px;
  font-weight:850;
}

.module-matrix.mini.permission-accordion{
  grid-template-columns:1fr;
  gap:7px;
}

.permission-module-card{
  border:1px solid #e2e9f2;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}

.permission-module-head{
  width:100%;
  min-height:46px;
  display:grid;
  grid-template-columns:minmax(230px,1.2fr) minmax(220px,1fr) auto 22px;
  align-items:center;
  gap:12px;
  padding:8px 11px;
  border:0;
  background:#fff;
  color:#17233a;
  text-align:left;
}

.permission-module-title{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}

.permission-module-title>svg{
  flex:0 0 auto;
  color:#0f2f67;
}

.permission-module-title strong{
  display:block;
  color:#12213a;
  font-size:14px;
  line-height:1.15;
  font-weight:900;
}

.permission-module-title small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:12px;
  line-height:1.25;
  font-weight:600;
}

.permission-module-chips{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
}

.permission-module-chips em{
  min-height:22px;
  display:inline-flex;
  align-items:center;
  border-radius:6px;
  padding:0 8px;
  background:#d9f8e8;
  color:#047857;
  font-size:11px;
  line-height:1;
  font-style:normal;
  font-weight:850;
  white-space:nowrap;
}

.permission-module-chips em.is-empty{
  background:#eef2f7;
  color:#64748b;
}

.permission-module-head>b{
  justify-self:end;
  color:#475467;
  font-size:11.5px;
  font-weight:850;
  white-space:nowrap;
}

.permission-module-head>svg:last-child{
  justify-self:end;
  color:#17233a;
  transition:transform .18s ease;
}

.permission-module-card.is-expanded .permission-module-head>svg:last-child{
  transform:rotate(180deg);
}

.permission-module-body{
  display:none;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:10px;
  padding:0 10px 10px;
}

.permission-module-card.is-expanded .permission-module-body{
  display:grid;
}

.permission-module-actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:8px;
  padding:9px;
  border:1px solid #e7edf5;
  border-radius:8px;
  background:#f8fbff;
}

.permission-action-row{
  min-height:48px;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  gap:9px;
  padding:8px 10px;
  border-radius:7px;
  background:transparent;
  cursor:pointer;
  box-sizing:border-box;
}

.module-matrix.mini.permission-accordion .permission-action-row{
  grid-template-columns:17px minmax(0,420px);
  justify-content:start;
  align-items:start;
}

.permission-action-row:hover,
.permission-action-row.is-selected{
  background:#fff;
}

.permission-action-row input{
  width:17px;
  height:17px;
  margin:2px 0 0;
  accent-color:#1769f2;
}

.permission-action-row>span{
  min-width:0;
  display:grid;
  gap:2px;
}

.permission-action-row input:disabled{
  cursor:not-allowed;
}

.permission-action-row:has(input:disabled){
  opacity:.62;
  cursor:not-allowed;
}

.permission-action-row strong{
  display:block;
  min-width:0;
  color:#12213a;
  font-size:12.5px;
  line-height:1.15;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.permission-action-row small{
  display:block;
  color:#64748b;
  font-size:11.2px;
  line-height:1.22;
  font-weight:600;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow-wrap:normal;
  word-break:normal;
}

.permission-apply-all{
  justify-self:start;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 12px;
  border:1px solid #bfead7;
  border-radius:7px;
  background:#eafbf3;
  color:#007457;
  font-size:11.5px;
  font-weight:900;
  white-space:nowrap;
}

.roles-management-layout{
  display:grid;
  grid-template-columns:minmax(320px,420px) minmax(0,1fr);
  gap:14px;
  align-items:start;
}

.roles-list-panel,
.role-editor-card{
  padding:16px;
}

.roles-list-panel header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.roles-list-panel h3{
  margin:0;
  color:#101828;
  font-size:16px;
  font-weight:900;
}

.roles-list-panel p{
  margin:4px 0 0;
  color:#64748b;
  font-size:12px;
  line-height:1.3;
  font-weight:650;
}

.roles-list-scroll,
.roles-editor-stack{
  display:grid;
  gap:10px;
}

.role-management-row{
  width:100%;
  min-height:62px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid #e3eaf2;
  border-radius:8px;
  background:#fff;
  color:#17233a;
  text-align:left;
}

.role-management-row:hover,
.role-management-row.selected{
  border-color:#9bdcc8;
  background:#f2fbf7;
}

.role-management-row>span,
.role-management-row>svg{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8f7ef;
  color:#00845e;
  font-weight:900;
}

.role-management-row strong{
  display:block;
  min-width:0;
  overflow:hidden;
  color:#101828;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.role-management-row small{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:11.5px;
  line-height:1.25;
  font-weight:650;
}

.role-management-row em,
.role-management-row b{
  font-style:normal;
  font-size:11px;
  font-weight:850;
}

.role-management-row em{
  min-width:26px;
  min-height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#eef6ff;
  color:#175cd3;
}

.role-management-row b{
  color:#047857;
}

.role-management-row.new-role{
  margin-bottom:10px;
  border-style:dashed;
}

.roles-overview-panel{
  min-height:260px;
  display:grid;
  align-content:start;
  gap:16px;
  padding:20px;
}

.roles-overview-card{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px;
  border:1px solid #dce8f0;
  border-radius:10px;
  background:#f8fbff;
}

.roles-overview-card>svg{
  width:38px;
  height:38px;
  padding:10px;
  border-radius:10px;
  background:#eefbf5;
  color:#00845e;
}

.roles-overview-card strong{
  display:block;
  color:#101828;
  font-size:16px;
  font-weight:900;
}

.roles-overview-card p{
  margin:5px 0 0;
  color:#52637a;
  font-size:13px;
  line-height:1.45;
  font-weight:650;
}

.roles-overview-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.roles-overview-metrics span{
  display:grid;
  gap:4px;
  padding:14px;
  border:1px solid #e2eaf2;
  border-radius:8px;
  background:#fff;
}

.roles-overview-metrics b{
  color:#062d22;
  font-size:22px;
  font-weight:950;
}

.roles-overview-metrics small{
  color:#64748b;
  font-size:11.5px;
  font-weight:800;
}

.role-drawer-backdrop,
.role-editor-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:3900;
  background:rgba(15,34,42,.22);
  backdrop-filter:blur(3px);
}

.role-access-drawer{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:3910;
  width:min(560px,calc(100vw - 22px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:0;
  padding:0;
  border-left:1px solid #d8e4ee;
  background:#fff;
  box-shadow:-24px 0 54px rgba(15,23,42,.16);
  overflow:hidden;
}

.role-drawer-head,
.role-editor-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px;
  border-bottom:1px solid #e5edf4;
}

.role-drawer-head h3,
.role-editor-modal-head h3{
  margin:2px 0 4px;
  color:#101828;
  font-size:22px;
  font-weight:950;
}

.role-drawer-head p,
.role-editor-modal-head p{
  margin:0;
  color:#52637a;
  font-size:13px;
  line-height:1.35;
  font-weight:650;
}

.role-drawer-body{
  display:grid;
  align-content:start;
  gap:12px;
  padding:14px;
  overflow:auto;
  background:#f7fafc;
}

.role-drawer-body .role-permission-summary{
  position:static;
  grid-column:auto;
}

.role-drawer-users{
  display:grid;
  gap:12px;
  padding:16px;
}

.role-drawer-user-list{
  display:grid;
  gap:8px;
}

.role-drawer-user-list button{
  width:100%;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:9px;
  border:1px solid #e3eaf2;
  border-radius:8px;
  background:#fff;
  color:#17233a;
  text-align:left;
}

.role-drawer-user-list span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8f7ef;
  color:#00845e;
  font-size:12px;
  font-weight:900;
}

.role-drawer-user-list strong,
.role-drawer-user-list small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.role-drawer-user-list strong{
  color:#101828;
  font-size:13px;
  font-weight:900;
}

.role-drawer-user-list small{
  margin-top:2px;
  color:#667085;
  font-size:11.5px;
  font-weight:650;
}

.role-drawer-user-list em{
  padding:12px;
  border:1px dashed #d6e1eb;
  border-radius:8px;
  color:#64748b;
  font-size:13px;
  font-style:normal;
  font-weight:700;
}

.role-drawer-actions{
  display:grid;
  gap:9px;
  padding:16px;
  border-top:1px solid #e5edf4;
  background:#fff;
}

.role-drawer-actions button{
  width:100%;
  justify-content:center;
}

.role-editor-modal-backdrop{
  z-index:4000;
  display:grid;
  place-items:center;
  padding:22px;
}

.role-editor-modal{
  width:min(1180px,calc(100vw - 28px));
  max-height:calc(100vh - 32px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid #d8e4ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 26px 70px rgba(15,23,42,.22);
}

.role-editor-modal-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:14px;
  padding:14px;
  overflow:auto;
  background:#f7fafc;
}

.role-editor-modal-body .role-permission-summary{
  position:sticky;
  top:0;
  align-self:start;
}

.role-fields-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.role-fields-grid .user-form-field:first-child,
.role-fields-grid .user-form-field:nth-child(2){
  grid-column:span 2;
}

.role-limit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.role-limit-grid label{
  display:grid;
  gap:6px;
  color:#344054;
  font-size:12px;
  font-weight:850;
}

.role-limit-grid input{
  height:38px;
  border:1px solid #cfdae8;
  border-radius:8px;
  padding:0 10px;
  color:#101828;
  font-weight:800;
}

.role-permission-summary{
  position:sticky;
  top:18px;
}

.role-permission-summary [data-role-summary-content]{
  display:grid;
  gap:17px;
}

.role-editor-actions{
  display:grid;
  gap:8px;
  padding-top:4px;
}

.role-editor-actions button{
  width:100%;
  justify-content:center;
}

.role-editor-modal,
.role-editor-modal button,
.role-editor-modal input,
.role-editor-modal select{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.role-editor-modal .role-editor-modal-head h3{
  font-size:21px;
  line-height:1.1;
  font-weight:820;
  letter-spacing:0;
  color:#10241d;
}

.role-editor-modal .role-editor-modal-head p{
  color:#5c6b65;
  font-size:13px;
  line-height:1.45;
  font-weight:560;
}

.role-editor-modal .access-kicker{
  color:#007a49;
  font-size:10px;
  font-weight:780;
  letter-spacing:.12em;
}

.role-editor-modal .role-editor-top-back,
.role-editor-actions .user-form-back{
  min-height:40px;
  border:1px solid #008767;
  border-radius:10px;
  background:#fff;
  color:#00795d;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:12.5px;
  font-weight:640;
  box-shadow:0 7px 18px rgba(8,32,25,.04);
}

.role-editor-modal .role-editor-top-back{
  width:auto;
  min-width:104px;
  flex:0 0 auto;
}

.role-editor-modal .user-form-card-head h3,
.role-editor-modal .summary-title h3{
  color:#11291f;
  font-size:15px;
  font-weight:760;
  letter-spacing:0;
}

.role-editor-modal .user-form-card-head p,
.role-editor-modal .summary-title p{
  color:#66756d;
  font-size:12px;
  line-height:1.45;
  font-weight:450;
}

.role-editor-modal .user-form-field b,
.role-editor-modal .user-form-select b,
.role-editor-modal .role-limit-grid label{
  color:#34443d;
  font-size:12px;
  line-height:1.2;
  font-weight:650;
  letter-spacing:0;
}

.role-editor-modal .user-form-field input,
.role-editor-modal .user-form-field select,
.role-editor-modal .user-form-select select,
.role-editor-modal .role-limit-grid input{
  height:36px;
  color:#132f25;
  font-size:12px;
  font-weight:560;
  letter-spacing:0;
}

.role-editor-modal .user-form-field>span{
  color:#4c6259;
  background:#fbfdfc;
}

.role-editor-modal .data-visibility-explainer{
  color:#50625a;
  font-size:11px;
  line-height:1.45;
  font-weight:520;
}

.role-editor-modal .data-visibility-explainer strong,
.role-editor-modal .data-visibility-title strong,
.role-editor-modal .permission-module-title strong,
.role-editor-modal .permission-action-row strong,
.role-editor-modal .module-permission-row strong,
.role-editor-modal .choice-card strong{
  color:#183429;
  font-weight:700;
  letter-spacing:0;
}

.role-editor-modal .data-visibility-title strong,
.role-editor-modal .permission-module-title strong{
  font-size:13px;
}

.role-editor-modal .data-visibility-title small,
.role-editor-modal .permission-module-title small,
.role-editor-modal .permission-action-row small,
.role-editor-modal .choice-card small{
  color:#6e7f77;
  font-weight:450;
}

.role-editor-modal .data-visibility-kind em,
.role-editor-modal .permission-module-chips em,
.role-editor-modal .summary-chips span,
.role-editor-modal .summary-chip-box span{
  font-size:10.5px;
  font-weight:680;
  letter-spacing:0;
}

.role-editor-modal .data-visibility-head b,
.role-editor-modal .permission-module-head>b{
  color:#50625a;
  font-size:10.5px;
  font-weight:700;
}

.role-editor-modal .permission-section-actions button,
.role-editor-modal .permission-apply-all{
  font-size:11px;
  font-weight:650;
}

.role-editor-actions .primary{
  min-height:44px;
  border-radius:10px;
  font-size:13px;
  font-weight:720;
}

.user-permission-summary{
  position:sticky;
  top:18px;
  display:grid;
  gap:17px;
  padding:18px;
  border:1px solid #dce5ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,35,60,.035);
  overflow:visible;
}

.summary-title{
  display:flex;
  align-items:flex-start;
  gap:13px;
}

.summary-title>span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:#009b63;
}

.summary-title h3{
  margin:0;
  color:#101828;
  font-size:18px;
  line-height:1.2;
  font-weight:850;
}

.summary-title p{
  margin:5px 0 0;
  color:#55657a;
  font-size:13px;
  line-height:1.35;
}

.summary-section{
  display:grid;
  gap:10px;
}

.summary-section>strong,
.summary-section-head strong{
  color:#17233a;
  font-size:14px;
  line-height:1.2;
  font-weight:850;
}

.summary-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.summary-section-head b{
  min-width:58px;
  display:inline-flex;
  justify-content:center;
  padding:4px 9px;
  border-radius:7px;
  background:#eef2f7;
  color:#344054;
  font-size:12px;
  font-weight:850;
}

.summary-chip-box{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  padding:10px;
  border-radius:7px;
  background:#f1f4f8;
  color:#7a8797;
  font-size:13px;
}

.summary-chip-box.has-items{
  justify-content:flex-start;
  background:#f8fbff;
}

.summary-chip-box span,
.summary-chips span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:7px;
  background:#dcfce7;
  color:#047857;
  font-size:12.5px;
  font-weight:850;
}

.summary-chip-box em{
  font-style:normal;
}

.summary-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.limit-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.limit-row span{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 8px;
  border-radius:7px;
  background:#f1f4f8;
  color:#344054;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.user-form-exceptions{
  margin-top:0;
  padding:14px;
}

.user-form-exceptions h4{
  justify-content:flex-start;
  gap:9px;
  color:#9a5c00;
  font-size:15px;
}

.user-form-exceptions h4 b{
  margin-left:auto;
  background:#dcfce7;
  color:#047857;
}

.user-form-exceptions p{
  align-items:center;
  gap:10px;
  margin:10px 0 0;
  font-size:13px;
}

@media(max-width:1500px){
  .user-form-layout{grid-template-columns:minmax(0,1fr) 320px}
  .roles-management-layout{grid-template-columns:minmax(290px,380px) minmax(0,1fr)}
  .role-permission-summary{grid-column:2;position:static}
  .module-matrix.mini{grid-template-columns:repeat(2,minmax(0,1fr))}
  .module-matrix.mini.permission-accordion{grid-template-columns:1fr}
  .permission-module-actions{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
  .data-visibility-group.is-expanded .data-visibility-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-form-actions{padding-top:0}
}

@media(max-width:1180px){
  .user-form-header{flex-direction:column}
  .user-form-actions{width:100%;justify-content:flex-start;padding-top:0;flex-wrap:wrap}
  .user-form-layout{grid-template-columns:1fr}
  .roles-management-layout{grid-template-columns:1fr}
  .role-permission-summary{grid-column:auto}
  .role-editor-modal-body{grid-template-columns:1fr}
  .role-editor-modal-body .role-permission-summary{position:static}
  .roles-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-permission-summary{position:static}
  .permission-module-head{grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr) auto 22px}
  .data-visibility-head{grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr) auto 22px}
}

@media(max-width:900px){
  .user-form-tabs{grid-template-columns:repeat(3,minmax(160px,1fr));overflow:auto}
  .user-fields-grid,
  .role-fields-grid,
  .role-limit-grid,
  .user-form-pair,
  .company-checks,
  .module-matrix.mini{grid-template-columns:1fr}
  .role-fields-grid .user-form-field:first-child,
  .role-fields-grid .user-form-field:nth-child(2){grid-column:auto}
  .permission-section-head{display:grid}
  .permission-section-actions{justify-content:flex-start}
  .permission-module-head{grid-template-columns:minmax(0,1fr) 22px}
  .permission-module-chips,.permission-module-head>b{grid-column:1 / -1}
  .permission-module-head>svg:last-child{grid-column:2;grid-row:1}
  .permission-module-body{grid-template-columns:1fr}
  .permission-module-actions{grid-template-columns:1fr}
  .data-visibility-head{grid-template-columns:minmax(0,1fr) 22px}
  .data-visibility-kind,.data-visibility-head>b{grid-column:1 / -1}
  .data-visibility-head>svg:last-child{grid-column:2;grid-row:1}
  .data-visibility-group.is-expanded .data-visibility-options{grid-template-columns:1fr}
}

@media(max-width:760px){
  .user-form-heading h2{font-size:21px}
  #adminApp.admin-shell .admin-content.users-access-route .user-form-actions .primary,
  #adminApp.admin-shell .admin-content.users-access-route .user-form-actions .secondary{width:auto!important}
  .user-form-field{grid-template-columns:34px minmax(0,1fr)}
  .user-form-field>span{width:34px}
  .limit-row{grid-template-columns:1fr}
  .role-editor-modal-backdrop{padding:10px}
  .role-editor-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:10px}
  .role-drawer-head,.role-editor-modal-head{padding:16px}
  .role-editor-modal-body{padding:10px}
  .roles-overview-metrics{grid-template-columns:1fr}
}

/* Convite de ativação mobile */
.user-activation-modal{position:fixed;inset:0;z-index:4200;padding:24px;display:grid;place-items:center;background:rgba(12,34,42,.2);backdrop-filter:blur(4px);font-family:"Inter","Segoe UI Variable Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:0;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;outline:0}
.user-activation-card,.user-activation-card *{box-sizing:border-box}
.user-activation-card{width:min(520px,calc(100vw - 24px));position:relative;overflow:hidden;padding:28px 24px 24px;border:1px solid rgba(221,232,228,.92);border-radius:16px;background:#fff;box-shadow:0 24px 60px rgba(15,23,42,.17);text-align:center;color:#12231c}
.user-activation-card:before{content:"";position:absolute;inset:0 0 auto;height:138px;background:radial-gradient(circle at 52% 34px,rgba(12,107,71,.11),rgba(12,107,71,0) 45%),linear-gradient(136deg,rgba(236,248,243,0) 0 28%,rgba(236,248,243,.42) 28% 48%,rgba(236,248,243,0) 48% 100%);pointer-events:none}
.user-activation-close{position:absolute;right:16px;top:16px;z-index:2;width:36px;height:36px;border:0;border-radius:10px;background:#edf2f1;color:#425268;display:grid;place-items:center;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}
.user-activation-close:hover,.user-activation-close:focus-visible{background:#e2ebe8;color:#10243a;outline:2px solid rgba(8,124,80,.2);outline-offset:2px}
.user-activation-close:active{transform:scale(.97)}
.user-activation-hero{position:relative;z-index:1;height:100px;margin:-4px 0 2px;display:grid;place-items:center}
.user-activation-orbit{position:relative;width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:rgba(236,248,243,.62);box-shadow:0 0 0 1px rgba(10,132,92,.12),0 0 0 13px rgba(236,248,243,.5),0 0 0 25px rgba(236,248,243,.28)}
.user-activation-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#e9f8f2;color:#087a5b}
.user-activation-icon svg{width:28px;height:28px;stroke-width:2.1}
.user-activation-check{position:absolute;right:10px;bottom:14px;width:25px;height:25px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:#07845c;color:#fff;box-shadow:0 8px 18px rgba(8,122,91,.26)}
.user-activation-check svg{width:14px;height:14px;stroke-width:3}
.user-activation-card>small{position:relative;z-index:1;display:block;margin-top:1px;color:#087a5b;font-size:11px;line-height:1.2;font-weight:760;letter-spacing:.14em}
.user-activation-card h3{position:relative;z-index:1;margin:8px 0 9px;font-size:27px;font-weight:760;line-height:1.1;color:#07182d;letter-spacing:0}
.user-activation-card p{position:relative;z-index:1;max-width:426px;margin:0 auto 20px;color:#617083;font-size:14.5px;font-weight:400;line-height:1.46}
.user-activation-link{position:relative;z-index:1;min-width:0;height:56px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:16px;padding:7px 7px 7px 14px;border:1px solid #dde8e4;border-radius:12px;background:#fbfdfc}
.user-activation-link>i{display:grid;place-items:center;color:#087a5b;font-style:normal}
.user-activation-link>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;color:#455568;font-size:12px;font-weight:500;line-height:1}
.user-activation-link button{height:42px;border:0;border-radius:10px;background:#087a5b;color:#fff;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:760;line-height:1;cursor:pointer;box-shadow:0 10px 22px rgba(8,122,91,.18);transition:filter .16s ease,transform .16s ease}
.user-activation-link button:hover,.user-activation-link button:focus-visible{filter:brightness(1.04);outline:2px solid rgba(8,124,80,.22);outline-offset:2px}
.user-activation-link button:active{transform:translateY(1px)}
.user-activation-link button b{font:inherit}
.user-activation-steps{position:relative;z-index:1;display:grid;padding:10px 15px;border-radius:12px;background:#f4faf7;text-align:left}
.user-activation-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;min-height:64px;padding:6px 0}
.user-activation-step+.user-activation-step{border-top:1px solid rgba(15,118,90,.1)}
.user-activation-step>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e0f7ee;color:#087a5b;flex-shrink:0}
.user-activation-step>span svg{width:21px;height:21px;stroke-width:2.3}
.user-activation-step strong{display:block;margin:0 0 4px;color:#142033;font-size:14px;font-weight:760;line-height:1.2;letter-spacing:0}
.user-activation-step small{display:block;color:#66758a;font-size:12px;font-weight:400;line-height:1.28;letter-spacing:0}
.user-activation-foot{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin:20px auto 0;max-width:360px;color:#66758a}
.user-activation-foot span{height:1px;background:rgba(15,118,90,.18)}
.user-activation-foot b{font-size:11.5px;font-weight:500;line-height:1.2;white-space:nowrap;letter-spacing:0}
.user-password-card .user-activation-steps{margin-top:10px}
.user-password-fields{position:relative;z-index:1;display:grid;gap:12px;margin:0 0 16px;text-align:left}
.user-password-fields label{display:grid;gap:6px}
.user-password-fields label span{color:#314154;font-size:12.5px;font-weight:760}
.user-password-fields input{width:100%;height:46px;border:1px solid #d6e2de;border-radius:10px;background:#fff;padding:0 13px;color:#0f1f35;font-size:14px;font-weight:520;outline:0}
.user-password-fields input:focus{border-color:#087a5b;box-shadow:0 0 0 3px rgba(8,122,91,.12)}
.user-password-fields em{min-height:18px;color:#dc2626;font-size:12px;font-style:normal;font-weight:650}
.user-password-card .uar-primary{position:relative;z-index:1;height:46px;border:0;border-radius:10px;background:#087a5b;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13.5px;font-weight:760;cursor:pointer;box-shadow:0 10px 22px rgba(8,122,91,.18)}
.user-password-card .uar-primary:disabled{opacity:.72;cursor:wait}
@media(max-width:640px){
  .user-activation-modal{padding:12px}
  .user-activation-card{max-height:calc(100svh - 24px);overflow:auto;padding:26px 18px 22px;border-radius:18px}
  .user-activation-hero{height:92px}
  .user-activation-orbit{width:82px;height:82px;box-shadow:0 0 0 1px rgba(10,132,92,.12),0 0 0 10px rgba(236,248,243,.5),0 0 0 20px rgba(236,248,243,.28)}
  .user-activation-card h3{font-size:24px}
  .user-activation-card p{font-size:14px}
  .user-activation-link{height:56px;grid-template-columns:22px minmax(0,1fr) auto;padding-left:12px}
  .user-activation-link button{height:40px;padding:0 12px;font-size:13px}
  .user-activation-steps{padding:8px 13px}
  .user-activation-step{grid-template-columns:42px minmax(0,1fr);gap:10px;min-height:62px}
  .user-activation-foot{gap:10px}
}

/* Drawer premium de detalhes do usuario */
.access-drawer.user-access-drawer.premium-user-drawer{
  width:min(700px,100vw);
  background:#fff;
  box-shadow:-18px 0 58px rgba(15,35,60,.14);
}

.premium-user-drawer .access-drawer-head{
  min-height:80px;
  padding:18px 22px 16px;
  align-items:center;
}

.premium-user-drawer .access-drawer-head h3{
  font-size:23px;
  line-height:1.08;
}

.premium-user-drawer .access-drawer-head span{
  margin-top:4px;
  max-width:520px;
  font-size:14px;
}

.premium-user-drawer .access-drawer-body{
  padding:16px 22px 18px;
  background:#fbfdff;
}

.premium-user-drawer .user-drawer-profile{
  min-height:88px;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:14px;
  margin:0 0 10px;
  padding:14px 16px;
  border-radius:8px;
  background:#fff;
  box-shadow:0 7px 20px rgba(15,35,60,.035);
}

.premium-user-drawer .user-drawer-avatar,
.premium-user-drawer .user-drawer-profile>.user-drawer-avatar{
  width:52px!important;
  height:52px!important;
  font-size:20px;
}

.user-drawer-profile-main{
  min-width:0;
}

.user-drawer-profile-main strong{
  font-size:16px;
}

.user-drawer-profile-main small,
.user-drawer-profile-main span{
  display:block;
  margin-top:3px;
  color:#617089;
  font-size:12px;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.user-drawer-profile-main span i{
  display:inline-block;
  width:4px;
  height:4px;
  margin:0 8px 2px;
  border-radius:50%;
  background:#9aa8bc;
}

.user-drawer-profile-meta{
  display:flex;
  align-items:center;
  gap:8px;
}

.user-drawer-profile-meta em{
  min-height:25px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 9px;
  border-radius:6px;
  background:#dff8e9;
  color:#067a52;
  font-size:11px;
  font-style:normal;
  font-weight:800;
}

.premium-user-drawer .user-drawer-profile .status-pill{
  min-height:25px;
  padding:0 10px;
  font-size:11px;
}

.user-detail-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:0 0 12px;
  border-bottom:1px solid #e5edf5;
}

.user-detail-tabs button{
  min-width:0;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:#4f5f76;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

.user-detail-tabs button.is-active{
  border-color:#008861;
  color:#007a5c;
  background:linear-gradient(180deg,rgba(232,248,242,0),rgba(232,248,242,.7));
}

.user-detail-tab-panel{
  display:grid;
  gap:12px;
}

.drawer-overview{
  display:grid;
  gap:12px;
}

.premium-user-drawer .user-detail-card{
  gap:11px;
  padding:13px;
  border-radius:8px;
  box-shadow:0 7px 20px rgba(15,35,60,.025);
}

.premium-user-drawer .user-detail-card-head{
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
}

.premium-user-drawer .user-detail-card-head>span{
  width:34px;
  height:34px;
  border-radius:7px;
  color:#0b4a72;
  background:#f0f5fa;
}

.premium-user-drawer .user-detail-card h4{
  font-size:14px;
}

.premium-user-drawer .user-detail-card p{
  margin-top:4px;
  font-size:12px;
}

.drawer-info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

.user-info-cell{
  min-width:0;
  min-height:58px;
  display:grid;
  grid-template-columns:18px minmax(0,1fr) 24px;
  gap:8px;
  align-items:center;
  padding:9px;
  border-radius:7px;
  background:#f4f7fb;
}

.user-info-cell>span{
  color:#25364c;
}

.user-info-cell small{
  display:block;
  color:#6b7890;
  font-size:10px;
  line-height:1.1;
}

.user-info-cell strong{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:#07182d;
  font-size:11px;
  line-height:1.25;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.user-info-cell .copy-detail{
  width:24px;
  height:24px;
  border-radius:6px;
  background:transparent;
}

.drawer-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.scope-profile-card{
  align-content:start;
}

.scope-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.scope-profile-grid>div{
  min-width:0;
  padding:8px;
  border-radius:7px;
  background:#f7fafc;
}

.scope-profile-grid small{
  display:block;
  margin-bottom:6px;
  color:#6b7890;
  font-size:10px;
  line-height:1.1;
  font-weight:800;
}

.premium-user-drawer .user-detail-chip,
.premium-user-drawer .user-detail-empty{
  min-height:28px;
  padding:0 10px;
  border-radius:6px;
  font-size:11px;
  font-weight:800;
}

.notes-card .detail-notes-edit{
  min-height:32px;
  padding:0 10px;
  border-radius:7px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
}

.drawer-permissions-list{
  display:grid;
  gap:9px;
}

.drawer-permission-module{
  padding:12px;
  border:1px solid #e0e8f1;
  border-radius:8px;
  background:#fff;
}

.drawer-permission-module header{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:9px;
  align-items:center;
  margin-bottom:10px;
}

.drawer-permission-module header>span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:#f1f6fb;
  color:#17233a;
}

.drawer-permission-module strong{
  display:block;
  color:#07182d;
  font-size:13px;
}

.drawer-permission-module small{
  display:block;
  margin-top:2px;
  color:#667085;
  font-size:11px;
}

.drawer-permission-module div:last-child{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.drawer-permission-action{
  min-height:25px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:0 9px;
  border-radius:6px;
  background:#eef2f7;
  color:#556376;
  font-size:11px;
  font-weight:800;
}

.drawer-permission-action.is-enabled{
  background:#dff8e9;
  color:#007a5c;
}

.drawer-empty-state{
  min-height:180px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:24px;
  border:1px solid #e0e8f1;
  border-radius:8px;
  background:#fff;
  color:#667085;
  text-align:center;
}

.drawer-empty-state strong{
  color:#07182d;
  font-size:14px;
}

.drawer-empty-state span{
  max-width:330px;
  font-size:12px;
}

.drawer-empty-state.is-loading svg{
  animation:spin .8s linear infinite;
}

.drawer-timeline,
.drawer-audit-list{
  display:grid;
  gap:8px;
}

.drawer-timeline article,
.drawer-audit-list article{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:11px;
  border:1px solid #e0e8f1;
  border-radius:8px;
  background:#fff;
}

.drawer-timeline article>span,
.drawer-audit-list article>span{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#eef8f3;
  color:#007a5c;
}

.drawer-timeline strong,
.drawer-audit-list strong{
  display:block;
  color:#07182d;
  font-size:13px;
}

.drawer-timeline small,
.drawer-audit-list small{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:11px;
}

.premium-user-drawer .access-drawer-foot{
  padding:13px 22px 15px!important;
  gap:10px;
  box-shadow:0 -10px 24px rgba(15,35,60,.05);
}

.premium-user-drawer .access-drawer-foot button{
  min-height:41px!important;
  font-size:13px!important;
  border-radius:8px!important;
}

@media(max-width:760px){
  .access-drawer.user-access-drawer.premium-user-drawer{width:100vw}
  .premium-user-drawer .access-drawer-head{min-height:72px;padding:16px 16px 13px}
  .premium-user-drawer .access-drawer-head h3{font-size:20px}
  .premium-user-drawer .access-drawer-body{padding:12px 14px 14px}
  .premium-user-drawer .user-drawer-profile{grid-template-columns:44px minmax(0,1fr);gap:10px}
  .premium-user-drawer .user-drawer-avatar,
  .premium-user-drawer .user-drawer-profile>.user-drawer-avatar{width:44px!important;height:44px!important}
  .user-drawer-profile-meta{grid-column:1 / -1;justify-content:flex-start}
  .user-detail-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .drawer-info-grid,.drawer-card-grid,.scope-profile-grid{grid-template-columns:1fr}
}

/* Ajuste final do drawer Detalhes do usuario conforme mockup aprovado */
.access-drawer.user-access-drawer.premium-user-drawer{
  width:min(700px,100vw)!important;
  overflow:hidden;
  background:#fff;
  box-shadow:-18px 0 58px rgba(15,35,60,.14);
  contain:layout paint;
}

.access-drawer-backdrop.is-stable-render,
.access-drawer.user-access-drawer.is-stable-render{
  animation:none!important;
}

.premium-user-drawer,
.premium-user-drawer *{
  box-sizing:border-box;
}

.premium-user-drawer *{
  min-width:0;
}

.premium-user-drawer .access-drawer-head{
  min-height:82px!important;
  padding:18px 24px 15px!important;
  border-bottom:1px solid #e7eef5;
  background:#fff;
}

.premium-user-drawer .access-drawer-head h3{
  margin:0;
  font-size:23px!important;
  line-height:1.08;
  font-weight:850;
  letter-spacing:0;
  color:#07182d;
}

.premium-user-drawer .access-drawer-head span{
  max-width:560px;
  margin-top:5px;
  font-size:14px!important;
  line-height:1.2;
  color:#687894;
}

.premium-user-drawer .user-drawer-close{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:10px;
  background:#f3f7fb;
}

.premium-user-drawer .access-drawer-body{
  overflow-y:auto;
  overflow-x:hidden!important;
  padding:12px 24px 12px!important;
  background:#fbfdff;
}

.premium-user-drawer .user-drawer-profile{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:84px!important;
  margin:0 0 9px!important;
  padding:12px 16px!important;
  border:1px solid #d7e6ef;
  border-radius:8px!important;
  background:#fff;
  box-shadow:0 7px 20px rgba(15,35,60,.035);
}

.premium-user-drawer .user-drawer-profile>.user-drawer-profile-main,
.premium-user-drawer .user-drawer-profile>.user-drawer-profile-meta{
  width:auto!important;
  height:auto!important;
  display:flex;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
}

.premium-user-drawer .user-drawer-profile>.user-drawer-profile-main{
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:3px;
  text-align:left;
}

.premium-user-drawer .user-drawer-profile>.user-drawer-profile-meta{
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  align-self:center;
}

.premium-user-drawer .user-drawer-avatar,
.premium-user-drawer .user-drawer-profile>.user-drawer-avatar{
  width:56px!important;
  height:56px!important;
  flex:0 0 56px;
  border-radius:50%!important;
  overflow:hidden;
}

.premium-user-drawer .user-drawer-profile-main strong{
  max-width:100%;
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  overflow:hidden;
  font-size:16px!important;
  line-height:1.15;
  color:#07182d;
}

.premium-user-drawer .user-drawer-profile-main strong>em{
  max-width:150px;
  min-height:24px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:0 8px;
  border-radius:7px;
  overflow:hidden;
  flex:0 1 auto;
  background:#dff8e9;
  color:#067a52;
  font-size:10.5px;
  font-style:normal;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.premium-user-drawer .user-drawer-profile-main small,
.premium-user-drawer .user-drawer-profile-main span{
  max-width:100%;
  display:block!important;
  text-align:left;
  margin:0!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px!important;
  line-height:1.25;
  color:#64748b;
}

.premium-user-drawer .user-drawer-profile .status-pill{
  max-width:150px;
  min-height:25px!important;
  padding:0 9px!important;
  border-radius:7px!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px!important;
  font-weight:850;
}

.premium-user-drawer .user-detail-tabs{
  height:41px;
  margin:0 0 10px!important;
  border-bottom:1px solid #e2eaf3;
}

.premium-user-drawer .user-detail-tabs button{
  height:41px;
  padding:0 6px;
  gap:7px;
  font-size:12px;
  font-weight:800;
}

.premium-user-drawer .user-detail-tabs button.is-active{
  border-bottom-width:3px;
}

.premium-user-drawer .user-detail-tab-panel,
.premium-user-drawer .drawer-overview{
  display:grid;
  gap:10px;
  overflow-x:hidden;
}

.premium-user-drawer .user-detail-card{
  width:100%;
  max-width:100%;
  gap:8px!important;
  padding:10px!important;
  overflow:hidden;
  border:1px solid #dde8f2;
  border-radius:8px!important;
  background:#fff;
  box-shadow:0 7px 18px rgba(15,35,60,.025);
}

.premium-user-drawer .user-detail-card-head{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:9px;
  align-items:start;
}

.premium-user-drawer .user-detail-card-head>span{
  width:32px!important;
  height:32px!important;
  border-radius:7px!important;
  background:#f2f6fb;
  color:#1264ff;
}

.premium-user-drawer .user-detail-card-head h4{
  margin:0;
  font-size:14px!important;
  line-height:1.12;
  font-weight:850;
  color:#07182d;
}

.premium-user-drawer .user-detail-card-head p{
  margin:3px 0 0!important;
  font-size:11px!important;
  line-height:1.22;
  color:#617089;
}

.premium-user-drawer .user-detail-card-head>b{
  min-width:28px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  border-radius:8px;
  background:#eef5fb;
  color:#07182d;
  font-size:11px;
  font-weight:850;
}

.premium-user-drawer .information-card{
  padding:10px!important;
}

.premium-user-drawer .drawer-info-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px!important;
}

.premium-user-drawer .user-info-cell{
  min-height:46px!important;
  grid-template-columns:16px minmax(0,1fr) auto;
  gap:7px;
  padding:8px 9px!important;
  border-radius:7px!important;
  background:#f4f7fb;
}

.premium-user-drawer .user-info-cell small{
  font-size:9.5px!important;
  line-height:1.1;
  color:#6e7b91;
}

.premium-user-drawer .user-info-cell strong{
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px!important;
  line-height:1.12;
  font-weight:850;
  color:#07182d;
}

.premium-user-drawer .user-info-cell .copy-detail{
  width:22px;
  height:22px;
  opacity:.82;
}

.premium-user-drawer .drawer-card-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px!important;
}

.premium-user-drawer .companies-card,
.premium-user-drawer .modules-card,
.premium-user-drawer .restrictions-card,
.premium-user-drawer .scope-profile-card{
  align-content:start;
  min-height:0!important;
}

.premium-user-drawer .user-detail-chips{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:6px!important;
}

.premium-user-drawer .user-detail-chip,
.premium-user-drawer .user-detail-empty{
  max-width:100%;
  min-height:24px!important;
  padding:0 8px!important;
  border-radius:6px!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10.5px!important;
  line-height:1;
  font-weight:850;
}

.premium-user-drawer .scope-profile-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px!important;
}

.premium-user-drawer .scope-profile-grid>div{
  min-height:47px;
  padding:7px!important;
  border-radius:7px!important;
  background:#f5f8fb;
}

.premium-user-drawer .scope-profile-grid small{
  margin-bottom:4px!important;
  font-size:9.5px!important;
  line-height:1.1;
  color:#6e7b91;
}

.premium-user-drawer .scope-profile-grid .user-detail-chip,
.premium-user-drawer .scope-profile-grid .user-detail-empty{
  min-height:24px!important;
  max-width:100%;
}

.premium-user-drawer .notes-card{
  padding:11px 12px!important;
}

.premium-user-drawer .notes-card .user-detail-card-head{
  align-items:center;
}

.premium-user-drawer .notes-card .detail-notes-edit{
  min-height:30px;
  padding:0 10px;
  border-radius:7px;
  font-size:11px;
}

.premium-user-drawer .access-drawer-foot{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr)!important;
  gap:10px!important;
  padding:13px 24px 15px!important;
  border-top:1px solid #e7eef5;
  background:rgba(255,255,255,.98);
  box-shadow:0 -10px 24px rgba(15,35,60,.05);
}

.premium-user-drawer .access-drawer-foot button{
  min-width:0!important;
  min-height:42px!important;
  height:42px!important;
  padding:0 12px!important;
  border-radius:8px!important;
  font-size:13px!important;
  font-weight:850!important;
}

.premium-user-drawer .access-drawer-foot:has(.drawer-action-close:only-child){
  grid-template-columns:1fr!important;
}

@media(max-width:760px){
  .access-drawer.user-access-drawer.premium-user-drawer{
    width:100vw!important;
  }
  .premium-user-drawer .access-drawer-head{
    min-height:74px!important;
    padding:16px 16px 13px!important;
  }
  .premium-user-drawer .access-drawer-body{
    padding:12px 14px 14px!important;
  }
  .premium-user-drawer .user-drawer-profile{
    grid-template-columns:48px minmax(0,1fr);
    gap:10px;
  }
  .premium-user-drawer .user-drawer-profile>.user-drawer-profile-meta{
    grid-column:1 / -1;
    justify-content:flex-start;
  }
  .premium-user-drawer .drawer-info-grid,
  .premium-user-drawer .drawer-card-grid,
  .premium-user-drawer .scope-profile-grid{
    grid-template-columns:1fr;
  }
  .premium-user-drawer .user-detail-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    height:auto;
  }
  .premium-user-drawer .access-drawer-foot{
    grid-template-columns:1fr!important;
    padding:12px 14px 14px!important;
  }
}

/* Mobile audit fixes v2: access segments wrap into a compact grid on phones. */
@media(max-width:760px){
  .admin-content.users-access-route .access-segments,
  .access-segments{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    min-height:0!important;
    padding:8px!important;
    overflow:visible!important;
  }
  .access-segments button{
    min-width:0!important;
    min-height:42px!important;
    border-radius:8px!important;
    font-size:12px!important;
    gap:6px!important;
    padding:0 8px!important;
    overflow:hidden!important;
  }
  .access-segments button span{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .access-segments b{
    min-width:22px!important;
    height:21px!important;
    padding:0 6px!important;
    font-size:10.5px!important;
  }
}
