.access-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.access-cards article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;border-top:3px solid var(--green)}.access-cards b{font:700 12px Manrope}.access-cards p{font-size:10px;margin-top:5px}.role-badge{display:inline-flex;padding:6px 9px;border-radius:7px;font-size:9px;font-weight:700;background:#eef2f0;color:#5f6e68}.role-badge.master{background:#e8e3f8;color:#6a49a4}.role-badge.admin{background:#e1f3ec;color:#087654}.role-badge.financeiro{background:#e8f0fc;color:#3c6fad}.role-badge.atendimento{background:#fff3da;color:#a86e10}.row-actions{display:flex;align-items:center;gap:5px}.row-actions form{margin:0}.text-btn.danger{color:#c65349}.role-description{background:#eff7f4;border-radius:9px;padding:11px;color:#547268;font-size:11px}@media(max-width:1050px){.access-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.access-cards{grid-template-columns:minmax(0,1fr)}}
.password-wrap{position:relative;margin-top:6px}.form-grid .password-wrap input,.login-form .password-wrap input{margin-top:0;padding-right:48px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:35px;height:31px;border:0;border-radius:7px;background:#edf4f1;color:var(--green);cursor:pointer;font-size:16px}.password-strength{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px;align-items:center}.password-strength i{height:4px;background:#e3e8e6;border-radius:5px}.password-strength span{grid-column:1/-1;color:var(--muted);font-size:9px;font-weight:500}.password-strength[data-score="1"] i:nth-child(-n+1){background:#dc5c50}.password-strength[data-score="2"] i:nth-child(-n+2){background:#e5a52d}.password-strength[data-score="3"] i:nth-child(-n+3){background:#70ae47}.password-strength[data-score="4"] i{background:#12966a}.password-strength[data-score="1"] span{color:#c65349}.password-strength[data-score="2"] span{color:#b47a14}.password-strength[data-score="3"] span,.password-strength[data-score="4"] span{color:#16845f}

/* A listagem deve permanecer compacta mesmo quando a foto original for grande. */
.users-table .table-scroll{width:100%;overflow-x:auto}.users-table table{min-width:760px;table-layout:auto}.users-table th,.users-table td{vertical-align:middle}.users-table th:first-child,.users-table td:first-child{width:38%}.users-table th:last-child,.users-table td:last-child{width:1%;white-space:nowrap}.users-table .person{min-width:0}.users-table .person-photo,.users-table .person>span{display:grid;width:44px!important;height:44px!important;min-width:44px;max-width:44px;flex:0 0 44px;place-items:center;overflow:hidden;border-radius:12px;object-fit:cover;object-position:center;background:#e8f4ef;color:var(--green);font-weight:800}.users-table .person>div{min-width:0}.users-table .person b,.users-table .person small{display:block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-table .record-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:nowrap}.users-table .record-actions form{display:inline-flex;margin:0}.users-table .text-btn{min-height:34px;padding:7px 8px;border-radius:8px;white-space:nowrap}.users-table .text-btn:hover{background:#edf5f1}.users-table .text-btn.danger:hover{background:#fff0ee}

@media(max-width:760px){.users-table table{min-width:720px}.users-table .person-photo,.users-table .person>span{width:40px!important;height:40px!important;min-width:40px;max-width:40px;flex-basis:40px}.users-table th,.users-table td{padding-left:14px;padding-right:14px}}
