/* Reserva do Vale — usuários e acessos. Mesmo padrão de cartões e cores do painel. */
.robust-nav[data-page="usuarios"][hidden]{display:none!important}
.rv-users-title {display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.rv-invite-open{flex:none;padding:13px 20px;font-size:12px;white-space:nowrap}
.rv-users-panel{margin-top:8px}
.rv-users-panel-head{padding:22px 24px;border-bottom:1px solid #e9eee7}
.rv-users-panel-head strong{display:block;color:#2d4333;font-size:14px;font-weight:800}
.rv-users-panel-head span{display:block;margin-top:6px;color:#86968a;font-size:11px;line-height:1.6}
.rv-users-list{display:flex;flex-direction:column}
.rv-user-item{display:flex;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid #edf0eb}
.rv-user-item:last-child{border-bottom:0}
.rv-user-avatar{display:grid;place-items:center;width:45px;height:45px;min-width:45px;border-radius:13px;background:#eef5ef;color:#246341;font-size:17px;font-weight:800}
.rv-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.rv-user-info strong{color:#2a3f30;font-size:12.5px;font-weight:800;overflow-wrap:anywhere}
.rv-user-info>span{color:#879589;font-size:11px;overflow-wrap:anywhere}
.rv-user-status{font-size:10px;font-weight:700}
.rv-user-status.enabled{color:#207247}
.rv-user-status.disabled{color:#b45046}
.rv-user-tag{background:#e8f3e9;border:1px solid #d4e7d7;color:#286946;border-radius:999px;font-size:10px;font-weight:800;padding:8px 12px}
.rv-user-actions{display:flex;align-items:center;gap:10px}
.rv-user-role{font:inherit;font-size:11px;max-width:180px;border:1px solid #dde8dc;border-radius:10px;background:#fff;color:#39523e;padding:10px;cursor:pointer}
.rv-user-toggle{border:1px solid #e2e9de;background:#fff;color:#4f745b;padding:10px 12px;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap}
.rv-user-toggle:hover{background:#f2f7f1}
.rv-user-toggle:disabled,.rv-user-role:disabled{opacity:.6;cursor:wait}
.rv-user-delete{border:1px solid #f0dedb;background:#fff9f8;color:#ac4c45;padding:10px 12px;border-radius:10px;font-size:11px;font-weight:750;white-space:nowrap;cursor:pointer}
.rv-user-delete:hover{background:#faece9;border-color:#e9c7c2;color:#99362f}
.rv-user-delete:focus-visible{outline:2px solid #bc6158;outline-offset:2px}
.rv-user-delete:disabled{opacity:.55;cursor:wait}
.rv-user-resend{border:1px solid #dce7da;background:#f7faf6;color:#3d6c4b;padding:10px 12px;border-radius:10px;font-size:11px;font-weight:750;white-space:nowrap;cursor:pointer}
.rv-user-resend:hover{background:#edf4ec;border-color:#b7d1b8}
.rv-user-resend:disabled{opacity:.55;cursor:not-allowed}


#rvUsersFeedback:not(:empty){margin:14px 24px 0;padding:12px 14px;background:#edf6ee;color:#236740;border-radius:10px;font-size:11px}
#rvUsersFeedback.error{background:#fff1ef;color:#a23b35}
.rv-users-foot,.rv-users-loading{font-size:11px;color:#829187;line-height:1.6;margin:17px 3px}
.rv-invite-backdrop{position:fixed;inset:0;z-index:2000;background:#102f1d9c;backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px;overflow-y:auto}
.rv-invite-backdrop[hidden]{display:none!important}
.rv-invite-dialog{width:min(100%,485px);max-height:min(92vh,820px);overflow-y:auto;background:#fffefd;border:1px solid #e3ebe2;border-radius:20px;box-shadow:0 35px 110px #06270e45}
.rv-invite-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:26px 28px 13px}
.rv-invite-dialog-head small{color:#2e7b50;font-size:9px;font-weight:850;letter-spacing:.14em}
.rv-invite-dialog-head h2{color:#263d2d;font-size:23px;margin:8px 0;letter-spacing:-.03em}
.rv-invite-dialog-head p{font-size:11px;color:#829287;line-height:1.5}
.rv-invite-close{font-size:25px;color:#728678;background:#f4f8f3;border:1px solid #e4ebe4;border-radius:10px;cursor:pointer;min-width:34px;height:34px}
#rvInviteForm{display:flex;flex-direction:column;gap:18px;padding:14px 28px 28px}
#rvInviteForm label{display:flex;flex-direction:column;gap:7px;color:#4d6252;font-weight:750;font-size:11px}
#rvInviteForm input,#rvInviteForm select{width:100%;border:1px solid #dbe7dc;border-radius:10px;padding:13px;color:#27452f;background:#fff;font:inherit;font-size:13px}
#rvInviteForm :is(input,select):focus{outline:2px solid #9ccbaf;outline-offset:2px}
.rv-permission-explanation{padding:13px 15px;border:1px solid #e1eddf;background:#f1f7f1;border-radius:11px;color:#53725a;font-size:11px;line-height:1.65}
.rv-invite-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:2px}
.rv-invite-actions button{padding:12px 16px;font-size:11.5px}
.rv-invite-actions button:disabled{opacity:.6;cursor:wait}
#rvInviteFeedback:not(:empty){color:#287047;font-size:11px;line-height:1.5}
#rvInviteFeedback.error{color:#b13c35}
@media(max-width:800px){
  .rv-users-title{align-items:flex-start;flex-direction:column}
  .rv-invite-open{align-self:stretch}
  .rv-user-item{padding:16px;flex-wrap:wrap;gap:12px}
  .rv-user-actions{width:100%;padding-left:57px;flex-wrap:wrap}
  .rv-user-role{flex:1;max-width:none}
  .rv-invite-dialog-head{padding:22px 18px 8px}
  #rvInviteForm{padding:14px 18px 22px}
}

/* Links privados: exibir somente após ação explícita do administrador. */
.rv-user-reset{border:1px solid #dde7e4;background:#fff;color:#516e61;padding:10px 12px;border-radius:10px;font-size:11px;font-weight:750;white-space:nowrap;cursor:pointer}
.rv-user-reset:hover{background:#f2f7f4}
.rv-user-reset:disabled{opacity:.55;cursor:not-allowed}
.rv-link-dialog-body{padding:10px 28px 27px;display:flex;flex-direction:column;gap:13px}
.rv-link-warning{padding:12px 14px;border:1px solid #eadfc9;border-radius:11px;background:#fffbf3;color:#765a38;font-size:11px;line-height:1.6;margin:0}
.rv-link-dialog-body label{color:#496554;font-size:11px;font-weight:750}
#rvPrivateLinkValue{width:100%;resize:vertical;min-height:90px;padding:13px;border:1px solid #dbe7dc;border-radius:10px;background:#f8fbf8;color:#2c5339;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
#rvPrivateLinkValue:focus{outline:2px solid #9ccbaf;outline-offset:2px}
#rvPrivateLinkFeedback:not(:empty){font-size:11px;color:#2c754b;line-height:1.5}
@media(max-width:800px){.rv-link-dialog-body{padding:10px 18px 22px}}
