*{box-sizing:border-box}
body.access-page{min-height:100vh;margin:0;background:#eef3f7;color:#102a43;display:grid;place-items:center;padding:32px 22px}
.access-shell{width:min(100%,1040px);min-height:620px;display:grid;grid-template-columns:.92fr 1.08fr;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 22px 64px rgba(16,42,67,.14)}
.access-intro{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:620px;padding:40px 42px;background:#102a43;color:#fff;overflow:hidden}
.access-intro:before,.access-intro:after{content:"";position:absolute;z-index:-1;border:1px solid rgba(0,191,229,.24);border-radius:50%;width:410px;height:410px;right:-210px;bottom:-155px}
.access-intro:after{width:300px;height:300px;right:-156px;bottom:-100px}
.access-brand{display:block;width:180px;max-width:100%;line-height:0}.access-brand img{width:100%;height:auto;display:block;object-fit:contain}
.intro-copy{margin-top:auto;margin-bottom:70px;max-width:380px}.intro-kicker,.eyebrow{font:600 10px/1.4 Inter,Arial,sans-serif;letter-spacing:.14em;color:#7bdff1}
.intro-copy h1{font-size:38px;line-height:1.15;letter-spacing:-.04em;margin:13px 0 12px;color:#fff}.intro-copy p{font-size:15px;line-height:1.7;color:#d6e5ef;margin:0;max-width:310px}
.intro-mark{position:absolute;right:40px;bottom:91px;width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(0,191,229,.5);border-radius:16px;color:#00bfe5;font:400 36px/1 Inter,Arial,sans-serif;transform:rotate(-8deg)}
.intro-foot{color:#a9c0d2;font-size:11px;letter-spacing:.03em}
.access-card{display:flex;flex-direction:column;justify-content:center;width:100%;max-width:500px;margin:auto;padding:56px 64px;min-height:620px}
.card-heading{display:flex;align-items:center;gap:17px;margin-bottom:35px}.compact-brand{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#102a43;color:#fff;font:600 15px/1 Poppins,Arial,sans-serif;letter-spacing:-.08em}.compact-brand span{color:#00bfe5}
.eyebrow{color:#698198;margin:0 0 5px}.card-heading h2{font-size:25px;margin:0;color:#102a43;line-height:1.25}
.access-form{display:flex;flex-direction:column;gap:10px}.access-form[hidden]{display:none}.access-form>label:not(.check-label){font-size:12px;font-weight:600;margin-top:5px;color:#24445f}
.access-form input[type=email],.access-form input[type=password],.access-form input[type=text],.access-form select{width:100%;min-height:46px;padding:11px 13px;border:1px solid #cbd8e2;border-radius:8px;background:#fff;color:#102a43;font:400 14px Inter,Arial,sans-serif;outline:none;transition:border-color .15s,box-shadow .15s}
.access-form input:focus-visible,.access-form select:focus-visible{border-color:#00a9cc;box-shadow:0 0 0 3px rgba(0,191,229,.18)}
.form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 7px}.check-label{display:flex;align-items:flex-start;gap:9px;color:#526b80;font-size:11px;line-height:1.45;cursor:pointer}.check-label input{width:16px;height:16px;margin:0;accent-color:#00bfe5;flex:none}
.button{width:100%;min-height:47px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 17px;font-size:13px;font-weight:600;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}.button:active{transform:translateY(1px)}.button:disabled{opacity:.62;cursor:wait;transform:none}.button-primary{background:#00bfe5;border:1px solid #00bfe5;color:#102a43}.button-primary:hover:not(:disabled){background:#62d8ee;border-color:#62d8ee}.button-secondary{background:#fff;border:1px solid #cbd8e2;color:#102a43}.button-secondary:hover:not(:disabled){background:#f3f8fb;border-color:#00a9cc}
.text-button{align-self:flex-end;border:0;background:transparent;padding:5px 0;color:#087d9a;font:600 11px Inter,Arial,sans-serif;cursor:pointer;text-decoration:none}.text-button:hover{text-decoration:underline}.text-button:focus-visible,.button:focus-visible{outline:3px solid rgba(0,191,229,.38);outline-offset:3px}.back-button{align-self:center;margin-top:5px}
.step-note{font-size:13px;line-height:1.65;color:#516b80;margin:0 0 9px}.fine-print,.field-hint{font-size:10px;line-height:1.55;color:#71879a;margin:1px 0 5px}.notice{margin:0 0 18px;padding:11px 13px;border-radius:8px;font-size:12px;line-height:1.5}.notice[hidden]{display:none}.notice.error{color:#8c2626;background:#fff0ef;border:1px solid #f2c3be}.notice.success{color:#176349;background:#edf9f3;border:1px solid #c6ead6}.notice.info{color:#245574;background:#eff8fc;border:1px solid #cdeaf3}
.captcha-slot{min-height:0}.captcha-slot:not(:empty){margin:5px 0}.captcha-slot iframe{max-width:100%}.pending-icon{width:48px;height:48px;border-radius:15px;background:#e7f9fc;color:#0784a0;display:grid;place-items:center;font-size:21px}.pending-status{font-size:11px;color:#60798d;margin:3px 0}.access-footer{display:flex;align-items:center;gap:7px;margin-top:37px;color:#8294a3;font-size:10px}.status-dot{width:7px;height:7px;border-radius:50%;background:#28ae79}.footer-divider{margin:0 2px;color:#c1cbd3}
@media(max-width:760px){body.access-page{padding:0;display:block;background:#fff}.access-shell{min-height:100vh;width:100%;display:flex;flex-direction:column;border-radius:0;box-shadow:none}.access-intro{min-height:190px;padding:24px 27px 25px}.access-brand{width:150px}.intro-copy{margin:24px 0 0}.intro-copy h1{font-size:25px;margin:8px 0 5px}.intro-copy p{font-size:12px}.intro-kicker{font-size:9px}.intro-mark,.intro-foot{display:none}.access-intro:before{width:260px;height:260px;right:-160px;bottom:-160px}.access-intro:after{display:none}.access-card{min-height:auto;max-width:520px;padding:35px 27px 25px}.card-heading{margin-bottom:27px}.access-footer{margin-top:30px}}
@media(max-width:380px){.access-intro{padding:20px 20px 22px}.access-card{padding:30px 20px 20px}.form-row{align-items:flex-start;flex-direction:column}.text-button{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Configurador de usuários e perfis, aplicado dentro do painel existente. */
.panel-users{--users-ink:#102a43;--users-muted:#6a8093;--users-line:#dbe4ea;--users-accent:#00bfe5;color:var(--users-ink);max-width:1180px;margin:0 auto;padding:22px 0 38px;font-family:Inter,Arial,sans-serif}
.users-header{margin:0 0 23px}.users-header h2{margin:4px 0 5px;font-size:25px}.users-header p:last-child{margin:0;color:#60788c;font-size:13px}.users-eyebrow{margin:0;color:#1787a1;font-size:10px;font-weight:700;letter-spacing:.13em}
.users-tabs{display:flex;gap:6px;border-bottom:1px solid var(--users-line);margin-bottom:20px}.users-tabs [role=tab]{border:0;border-bottom:3px solid transparent;margin-bottom:-1px;background:none;padding:12px 16px;color:#657b8d;font-size:12px;font-weight:600;cursor:pointer}.users-tabs [aria-selected=true]{border-bottom-color:var(--users-accent);color:var(--users-ink)}.users-tabs button:focus-visible,.panel-users button:focus-visible,.panel-users input:focus-visible,.panel-users select:focus-visible{outline:3px solid rgba(0,191,229,.35);outline-offset:2px}
.users-content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.8fr);gap:16px;align-items:start}.profiles-grid{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr)}.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.users-card{min-width:0;background:#fff;border:1px solid var(--users-line);border-radius:12px;padding:19px;box-shadow:0 3px 12px rgba(16,42,67,.035)}.users-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:15px}.users-card-title h3{font-size:15px;margin:0 0 4px}.users-card-title p{margin:0;color:#788b9b;font-size:11px;line-height:1.5}.users-count{min-width:27px;height:27px;padding:0 7px;border-radius:14px;background:#e7f9fc;display:grid;place-items:center;color:#087b93;font-size:11px;font-weight:700}.invite-icon{font-size:25px;color:#00a9cc;line-height:1}
.users-table-wrap{overflow:auto} .panel-users table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}.panel-users th{padding:9px 10px;background:#f5f8fa;color:#6c8294;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.panel-users td{padding:12px 10px;border-bottom:1px solid #edf1f4;color:#39556b;vertical-align:middle}.panel-users td strong,.panel-users td small{display:block}.panel-users td strong{font-size:11px;color:#183a55}.panel-users td small,.role-card small,.device-row small{margin-top:4px;font-size:10px;color:#7b8f9f}.users-badge{display:inline-block;margin-left:7px;padding:3px 6px;border-radius:10px;background:#e7f9fc;color:#097d96;font-size:8px;font-weight:700}.users-muted,.users-empty{color:#8799a7;font-size:10px}.users-empty{text-align:center;padding:22px!important}.users-link{padding:5px 0;border:0;background:transparent;color:#087d9a;font-size:10px;font-weight:600;cursor:pointer}.users-link:hover{text-decoration:underline}.danger-link{color:#a34646}
.invite-form{display:flex;flex-direction:column;gap:10px}.panel-users label{display:flex;flex-direction:column;gap:5px;color:#39556b;font-size:10px;font-weight:600}.panel-users input[type=text],.panel-users input[type=email],.panel-users select{width:100%;min-height:38px;border:1px solid #ccd9e2;border-radius:7px;background:#fff;padding:8px 10px;color:#102a43;font:400 11px Inter,Arial,sans-serif}.panel-users select[multiple]{padding:5px}.panel-users small#unit-help{font-size:9px;color:#8092a0;margin-top:-7px}.users-button{min-height:38px;padding:9px 13px;border:1px solid #00bfe5;border-radius:7px;background:#00bfe5;color:#102a43;font-size:10px;font-weight:700;cursor:pointer}.users-button:hover{background:#62d8ee;border-color:#62d8ee}.invite-form>.users-button{margin-top:5px}.users-feedback{margin:0 0 14px;padding:10px 12px;border-radius:7px;background:#edf9f3;color:#176349;font-size:11px}.users-feedback[hidden]{display:none}.users-feedback.error{background:#fff0ef;color:#8c2626}
.role-list{display:grid;gap:8px}.role-card,.device-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f4}.role-card strong,.device-row strong{display:block;font-size:11px}.role-create{border-top:1px solid var(--users-line);padding-top:16px;margin-top:16px}.inline-form{display:flex;gap:7px;margin-top:7px}.inline-form .users-button{flex:none}.permission-editor>label{margin-bottom:13px}.permission-list{display:grid;gap:9px;max-height:450px;overflow:auto;margin-bottom:13px}.permission-routine{margin:0;padding:10px 11px;border:1px solid #e4ebf0;border-radius:8px}.permission-routine legend{padding:0 5px;color:#24445f;font-size:10px;font-weight:700}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-grid label{display:flex;flex-direction:row;align-items:center;gap:6px;font-weight:400;font-size:9px}.permission-grid input{accent-color:#00a9cc}.security-copy{font-size:11px;line-height:1.65;color:#5d7487;margin:0 0 16px}.device-list{list-style:none;padding:0;margin:0}.device-row small{display:block}.logout-link{margin-top:14px;color:#a34646}.users-dialog{width:min(100% - 28px,460px);border:0;border-radius:13px;padding:0;box-shadow:0 18px 60px rgba(16,42,67,.25)}.users-dialog::backdrop{background:rgba(16,42,67,.48)}.users-dialog form{display:grid;gap:12px;padding:22px}.users-dialog h3{margin:0;font-size:17px}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:17px;margin-top:6px}
@media(max-width:850px){.users-content-grid,.profiles-grid,.security-grid{grid-template-columns:1fr}.users-table-card{order:2}.invite-form{order:1}}
@media(max-width:520px){.panel-users{padding:16px 0 28px}.users-header h2{font-size:21px}.users-tabs [role=tab]{padding:11px 9px;font-size:10px}.users-card{padding:15px}.panel-users th,.panel-users td{padding:9px 7px}.permission-grid{grid-template-columns:1fr 1fr}}
.profile-form,.change-password-form{display:grid;gap:11px}.avatar-row{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:4px 11px;margin:3px 0}.avatar-row>label{grid-column:2;grid-row:1}.avatar-row>small,.avatar-row>.users-link{grid-column:2}.avatar-row small{font-size:9px;color:#8092a0}.avatar-preview{grid-column:1;grid-row:1/4;width:54px;height:54px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e7f9fc;color:#087b93;font-size:12px;font-weight:700}.avatar-preview img{width:100%;height:100%;object-fit:cover}.profile-form input[type=file]{max-width:100%;font:400 10px Inter,Arial,sans-serif;color:#526b80}.change-password-form{max-width:580px;margin-top:16px}.panel-users [data-create-password][hidden]{display:none}
.profile-photo-controls{grid-column:2;grid-row:1;display:grid;justify-items:start;gap:6px;font-size:11px;font-weight:600}.profile-photo-controls .users-button{min-height:36px;padding:8px 14px;font-size:12px}.profile-photo-controls small{max-width:100%;overflow-wrap:anywhere;font-weight:400}.panel-users .avatar-preview{padding:0;border:1px solid #cde8ed;cursor:pointer}.panel-users .avatar-preview:hover{border-color:#00badb;box-shadow:0 0 0 3px #00badb20}.panel-users [data-remove-photo][hidden],.profile-photo-controls input[hidden]{display:none!important}
