/* Sistema Staff v6.7 - login, cadastro e edição de perfil */
.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#ecfdf5 0,#f8fafc 42%,#e2e8f0 100%);}
.login-page .container{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:18px 0;}
.login-card{width:min(100%,420px);padding:24px 20px 22px;text-align:center;}
.system-brand-login img{max-width:190px;}
.login-card h1{font-size:26px;margin:5px 0 6px;color:#0f172a;}
.login-card .subtitle{margin:0 0 20px;color:var(--rcp-muted);font-size:14px;line-height:1.35;}
.login-card form{text-align:left;}
.password-wrapper{position:relative;display:flex;align-items:center;}
.password-wrapper input{padding-right:48px;}
.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:10px;background:#eef2f7;color:#334155;}
.keep-connected-option{display:flex;align-items:center;gap:8px;margin:2px 0 14px;color:#475569;font-size:13px;}
.keep-connected-option input{width:auto;}
.login-status{min-height:18px;margin:4px 0 10px;font-size:13px;color:#b45309;text-align:center;}
.login-card button[type="submit"],#loginBtn{width:100%;min-height:46px;}
.login-secondary-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:13px;}
.forgot-password-btn{border:0;background:transparent;color:#047857;font-weight:700;padding:8px 0;}
.cadastro-link{font-weight:800;color:#047857;text-decoration:none;}
.card-staff-cadastro{padding:14px;margin:0 0 14px;display:flex;align-items:center;gap:12px;}
.card-staff-cadastro .foto-staff-wrapper{width:58px;height:58px;border-radius:16px;overflow:hidden;background:#e2e8f0;flex:0 0 auto;}
.card-staff-cadastro .foto-staff{width:100%;height:100%;object-fit:cover;display:block;}
.card-staff-cadastro .dados-staff{min-width:0;flex:1;}
.card-staff-cadastro h2{margin:0 0 2px;font-size:17px;line-height:1.1;}
.card-staff-cadastro p{margin:0;color:var(--rcp-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.admin-card-acoes-logado{display:none;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.admin-card-acao{border:0;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:800;background:#e2e8f0;color:#0f172a;}
.logout-btn,.admin-card-acao-sair{background:#fee2e2;color:#991b1b;}
@media(max-width:560px){.card-staff-cadastro{align-items:flex-start}.admin-card-acoes-logado{width:100%;justify-content:flex-start}.login-card{padding:22px 16px}.login-secondary-actions{flex-direction:column;align-items:center;gap:6px}}


/* v4.8 - Login completo em modo modular */
body.login-page{
  min-height:100dvh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
  background:
    radial-gradient(circle at 14% 10%,rgba(20,184,166,.18),transparent 34%),
    radial-gradient(circle at 86% 6%,rgba(124,58,237,.16),transparent 30%),
    linear-gradient(180deg,#eef7f8 0%,#f7f3ff 48%,#eef4fb 100%)!important;
  color:#0f172a!important;
}
body.login-page .container{
  width:100%!important;
  max-width:520px!important;
  min-height:auto!important;
  padding:0!important;
  margin:0 auto!important;
  display:block!important;
}
body.login-page .login-card{
  width:100%!important;
  max-width:520px!important;
  margin:0 auto!important;
  padding:30px 26px 26px!important;
  text-align:center!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(148,163,184,.28)!important;
  border-radius:30px!important;
  box-shadow:0 28px 78px rgba(15,23,42,.16)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  backdrop-filter:blur(14px)!important;
  overflow:hidden!important;
}
body.login-page .system-brand-login{
  margin:0 auto 20px!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
}
body.login-page .system-brand-login img{
  width:min(260px,78vw)!important;
  max-width:260px!important;
  max-height:96px!important;
  object-fit:contain!important;
  display:block!important;
}
body.login-page .login-card h1{
  margin:0 0 8px!important;
  font-size:clamp(28px,7vw,38px)!important;
  line-height:1.02!important;
  color:#0f172a!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
}
body.login-page .subtitle{
  margin:0 0 24px!important;
  color:#64748b!important;
  font-size:15px!important;
  line-height:1.45!important;
  font-weight:700!important;
}
body.login-page form{
  text-align:left!important;
  display:block!important;
}
body.login-page .field{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin:0 0 16px!important;
}
body.login-page .field label{
  margin:0!important;
  font-size:14px!important;
  font-weight:850!important;
  color:#334155!important;
}
body.login-page .field input,
body.login-page input[type="text"],
body.login-page input[type="password"],
body.login-page input[type="email"]{
  width:100%!important;
  min-height:54px!important;
  padding:14px 15px!important;
  border-radius:17px!important;
  border:1px solid #dbe5ef!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  font-size:16px!important;
  outline:0!important;
  box-shadow:none!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
body.login-page .field input:focus,
body.login-page input:focus{
  border-color:#14b8a6!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(20,184,166,.14)!important;
}
body.login-page .password-wrapper{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
}
body.login-page .password-wrapper input{padding-right:54px!important;}
body.login-page .password-toggle{
  position:absolute!important;
  right:9px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  border:0!important;
  border-radius:13px!important;
  background:#eef2f7!important;
  color:#334155!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
body.login-page .password-icon-eye::before{content:'👁';font-size:17px;line-height:1;}
body.login-page .keep-connected-option{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:1px 0 15px!important;
  color:#475569!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.login-page .keep-connected-option input{
  width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;accent-color:#14b8a6!important;
}
body.login-page .login-status{
  min-height:20px!important;
  margin:3px 0 12px!important;
  text-align:center!important;
  font-size:13px!important;
  line-height:1.35!important;
  color:#b45309!important;
  font-weight:750!important;
}
body.login-page #loginBtn,
body.login-page button[type="submit"]{
  width:100%!important;
  min-height:54px!important;
  border:0!important;
  border-radius:18px!important;
  padding:14px 18px!important;
  background:linear-gradient(135deg,#14b8a6,#2563eb 55%,#7c3aed)!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:950!important;
  cursor:pointer!important;
  box-shadow:0 18px 36px rgba(37,99,235,.24)!important;
}
body.login-page #loginBtn:disabled{opacity:.72!important;cursor:wait!important;}
body.login-page .login-secondary-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  align-items:stretch!important;
  margin-top:14px!important;
}
body.login-page .forgot-password-btn,
body.login-page .cadastro-link{
  width:100%!important;
  min-height:46px!important;
  margin:0!important;
  padding:12px 13px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border:1px solid rgba(20,184,166,.22)!important;
  background:#f1f5f9!important;
  color:#0f766e!important;
  font-weight:950!important;
  font-size:13px!important;
  line-height:1.15!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.login-page .cadastro-link{background:linear-gradient(135deg,#ecfdf5,#eef2ff)!important;color:#0f766e!important;}
@media(max-width:420px){
  body.login-page{padding:18px!important;align-items:center!important;}
  body.login-page .login-card{padding:26px 20px 22px!important;border-radius:28px!important;}
  body.login-page .login-secondary-actions{grid-template-columns:1fr 1fr!important;}
}

/* v4.8 - refinamento login modular: olho, mensagem e WhatsApp */
body.login-page .password-toggle{
  border:1px solid rgba(99,102,241,.16)!important;
  background:#eef2f7!important;
  color:#475569!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.login-page .password-toggle:hover,
body.login-page .password-toggle.is-visible{
  background:#e0e7ff!important;
  color:#4338ca!important;
}
body.login-page .password-icon{
  width:20px!important;
  height:20px!important;
  display:block!important;
  background:currentColor!important;
  mask-repeat:no-repeat!important;
  mask-position:center!important;
  mask-size:contain!important;
  -webkit-mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  -webkit-mask-size:contain!important;
}
body.login-page .password-icon-eye::before,
body.login-page .password-icon-eye-off::before{content:none!important;}
body.login-page .password-icon-eye{
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C5 5 2 12 2 12s3 7 10 7 10-7 10-7-3-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2.2a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.6Z'/%3E%3C/svg%3E")!important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C5 5 2 12 2 12s3 7 10 7 10-7 10-7-3-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2.2a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.6Z'/%3E%3C/svg%3E")!important;
}
body.login-page .password-icon-eye-off{
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3.3 2 19 19-1.3 1.3-3.1-3.1A11.2 11.2 0 0 1 12 20C5 20 2 12 2 12a18.4 18.4 0 0 1 5-6.7L2 3.3 3.3 2Zm7 7 4.7 4.7A3.5 3.5 0 0 0 10.3 9ZM12 4c7 0 10 8 10 8a18 18 0 0 1-2.8 4.3l-2.3-2.3a5 5 0 0 0-6.9-6.9L8.3 5.4A12.0 12.0 0 0 1 12 4Z'/%3E%3C/svg%3E")!important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3.3 2 19 19-1.3 1.3-3.1-3.1A11.2 11.2 0 0 1 12 20C5 20 2 12 2 12a18.4 18.4 0 0 1 5-6.7L2 3.3 3.3 2Zm7 7 4.7 4.7A3.5 3.5 0 0 0 10.3 9ZM12 4c7 0 10 8 10 8a18 18 0 0 1-2.8 4.3l-2.3-2.3a5 5 0 0 0-6.9-6.9L8.3 5.4A12.0 12.0 0 0 1 12 4Z'/%3E%3C/svg%3E")!important;
}
body.login-page .login-status:not(:empty){
  display:block!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  border:1px solid rgba(15,23,42,.10)!important;
  font-weight:750!important;
  text-align:center!important;
}
body.login-page .login-status.error:not(:empty){background:#fef2f2!important;border-color:rgba(185,28,28,.20)!important;color:#b91c1c!important;}
body.login-page .login-status.success:not(:empty){background:#ecfdf5!important;border-color:rgba(4,120,87,.20)!important;color:#047857!important;}
body.login-page .login-status.info:not(:empty){background:#eff6ff!important;border-color:rgba(37,99,235,.18)!important;color:#1d4ed8!important;}

/* v4.8 - refinamento login/cadastro no modo modular */
body.login-page .login-status:empty{
  display:none!important;
  min-height:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
body.login-page .keep-connected-option:has(+ .login-status:empty){
  margin-bottom:15px!important;
}



html[data-css-mode="modular"] {
  --icon-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm-8 9a8 8 0 0 1 16 0h-2a6 6 0 0 0-12 0H4Z'/%3E%3C/svg%3E");
  --icon-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17 9h1a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h1V7a5 5 0 1 1 10 0v2Zm-2 0V7a3 3 0 1 0-6 0v2h6Zm-3 8a1.5 1.5 0 0 0 .75-2.8V13h-1.5v1.2A1.5 1.5 0 0 0 12 17Z'/%3E%3C/svg%3E");
  --icon-camera: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 4 7.4 6H5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3h-2.4L15 4H9Zm3 14a5 5 0 1 1 0-10 5 5 0 0 1 0 10Zm0-2.2a2.8 2.8 0 1 0 0-5.6 2.8 2.8 0 0 0 0 5.6Z'/%3E%3C/svg%3E");
  --icon-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21 19V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2ZM8.5 11.6l2.5 3.01L14.5 10l4.5 6H5l3.5-4.5ZM8 9a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z'/%3E%3C/svg%3E");
  --icon-diamond: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 22 12 12 22 2 12 12 2Zm0 3.2L5.2 12 12 18.9 18.9 12 12 5.2Zm0 3.3 3.5 3.5-3.5 3.5L8.5 12 12 8.5Z'/%3E%3C/svg%3E");
  --icon-eye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5C5 5 2 12 2 12s3 7 10 7 10-7 10-7-3-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2.2a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.6Z'/%3E%3C/svg%3E");
}

/* v4.8 - Cadastro modular isolado. */

html[data-css-mode="legacy"] body.cadastro-page .success-message {
  display: none;
}

html[data-css-mode="modular"] body.cadastro-page,
html[data-css-mode="modular"] body.cadastro-loading.cadastro-page {
  min-height: 100vh;
  margin: 0;
  padding: 22px 18px 96px;
  background:
    radial-gradient(circle at 14% 8%, rgba(20,184,166,.16), transparent 32%),
    radial-gradient(circle at 92% 10%, rgba(124,58,237,.14), transparent 34%),
    linear-gradient(135deg,#eefdf7 0%,#eef7ff 46%,#f5edff 100%);
  color: #0f172a;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html[data-css-mode="modular"] body.cadastro-page *,
html[data-css-mode="modular"] body.cadastro-page *::before,
html[data-css-mode="modular"] body.cadastro-page *::after { box-sizing: border-box; }
html[data-css-mode="modular"] body.cadastro-page .container {
  width: min(100%, 720px);
  margin: 0 auto;
  padding: 0;
}
html[data-css-mode="modular"] body.cadastro-page .hidden { display: none !important; }

/* Logo e card logado */
html[data-css-mode="modular"] body.cadastro-page .system-brand-internal {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px auto 18px;
}
html[data-css-mode="modular"] body.cadastro-page .system-brand-internal img {
  width: min(260px, 76vw);
  max-height: 92px;
  object-fit: contain;
  display: block;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px;
  margin: 0 0 22px;
  width: 100%;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 28px;
  box-shadow: 0 20px 56px rgba(15,23,42,.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
html[data-css-mode="modular"] body.cadastro-page .foto-staff-wrapper {
  width: 74px;
  height: 74px;
  min-width: 74px;
  border-radius: 24px;
  overflow: hidden;
  background: #e2e8f0;
}
html[data-css-mode="modular"] body.cadastro-page .foto-staff {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
html[data-css-mode="modular"] body.cadastro-page .dados-staff { min-width: 0; flex: 1; }
html[data-css-mode="modular"] body.cadastro-page .label-card {
  margin: 0 0 3px;
  color: #7c3aed;
  font-size: 13px;
  font-weight: 900;
}
html[data-css-mode="modular"] body.cadastro-page .dados-staff h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.05;
  font-weight: 950;
  color: #0f172a;
}
html[data-css-mode="modular"] body.cadastro-page .dados-staff p {
  margin: 3px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
}
html[data-css-mode="modular"] body.cadastro-page .admin-card-acoes-logado { display: none; }

/* Hero global modular - mesmo padrão visual usado em cadastro/editar/corridas */
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 104px minmax(0,1fr);
  grid-template-areas: "icon title" "icon text";
  align-items: center;
  column-gap: 22px;
  row-gap: 8px;
  width: 100%;
  min-height: 190px;
  margin: 0 0 22px;
  padding: 28px 34px;
  border-radius: 32px;
  border: 1px solid rgba(255,255,255,.28);
  background:
    radial-gradient(circle at 18% 30%, rgba(45,212,191,.35), transparent 34%),
    radial-gradient(circle at 74% -8%, rgba(255,255,255,.15), transparent 34%),
    radial-gradient(circle at 95% 95%, rgba(124,58,237,.35), transparent 38%),
    linear-gradient(135deg, #0f766e 0%, #155e9f 54%, #4c1d95 100%);
  box-shadow: 0 24px 50px rgba(30,41,59,.20), inset 0 1px 0 rgba(255,255,255,.18);
  color: #fff;
}
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero::before {
  content: "";
  position: absolute;
  right: -42px;
  top: -54px;
  width: 230px;
  height: 230px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  box-shadow: -130px 160px 0 rgba(255,255,255,.07);
  pointer-events: none;
}
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(255,255,255,.10), transparent 38%, rgba(255,255,255,.06));
  pointer-events: none;
  opacity: .65;
}
html[data-css-mode="modular"] body.cadastro-page .page-hero-icon {
  grid-area: icon;
  align-self: center;
  justify-self: center;
  position: relative;
  z-index: 1;
  width: 78px;
  height: 78px;
  border-radius: 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 18px 36px rgba(15,23,42,.20);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
html[data-css-mode="modular"] body.cadastro-page .page-hero-icon svg {
  width: 38px;
  height: 38px;
  display: block;
  stroke: #5eead4;
  fill: none;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 10px 18px rgba(20,184,166,.24));
}
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero h1,
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero p {
  position: relative;
  z-index: 1;
  text-align: left;
}
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero h1 {
  grid-area: title;
  align-self: end;
  margin: 0 0 0;
  color: #fff;
  font-size: clamp(2rem, 5.55vw, 2.75rem);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 950;
}
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero p {
  grid-area: text;
  align-self: start;
  margin: 0;
  max-width: 520px;
  color: rgba(255,255,255,.84);
  font-size: .98rem;
  line-height: 1.34;
  font-weight: 650;
}

/* Área principal */
html[data-css-mode="modular"] body.cadastro-page .form-area {
  display: block;
  width: 100%;
  margin: 0 0 22px;
  padding: 24px 20px 28px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 28px;
  box-shadow: 0 20px 56px rgba(15,23,42,.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
html[data-css-mode="modular"] body.cadastro-page .grid,
html[data-css-mode="modular"] body.cadastro-page .grid-acesso,
html[data-css-mode="modular"] body.cadastro-page .pix-options-grid,
html[data-css-mode="modular"] body.cadastro-page .security-actions-grid,
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}

/* Títulos de seção com ícones SVG via máscara, sem emoji/texto legado */
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 28px 0 18px;
  padding: 12px 16px 12px 70px;
  min-height: 64px;
  border-radius: 18px;
  background: linear-gradient(135deg,#f5eefe,#eef9ff);
  border: 1px solid rgba(124,58,237,.16);
  color: #2f246f;
  font-size: 15px;
  font-weight: 850;
  letter-spacing: -.01em;
  overflow: hidden;
  isolation: isolate;
}
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title:first-of-type { margin-top: 0; }
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: block;
  background: linear-gradient(135deg,#14b8a6,#7c3aed);
  box-shadow: 0 12px 24px rgba(37,99,235,.18);
}
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title::after {
  content: "";
  position: absolute;
  left: 26.5px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: #fff;
  pointer-events: none;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title-dados::after { -webkit-mask-image: var(--icon-user); mask-image: var(--icon-user); }
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title-acesso::after { -webkit-mask-image: var(--icon-lock); mask-image: var(--icon-lock); }
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title-pix::after { -webkit-mask-image: var(--icon-diamond); mask-image: var(--icon-diamond); }
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title-foto::after { -webkit-mask-image: var(--icon-camera); mask-image: var(--icon-camera); }

/* Campos encapsulados */
html[data-css-mode="modular"] body.cadastro-page .field {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 10px;
  padding: 14px;
  border: 1px solid rgba(203,213,225,.72);
  border-radius: 18px;
  background: rgba(248,250,252,.72);
  position: relative;
}
html[data-css-mode="modular"] body.cadastro-page .field > label,
html[data-css-mode="modular"] body.cadastro-page .pix-card strong,
html[data-css-mode="modular"] body.cadastro-page .checkbox label {
  margin: 0;
  color: #334155;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 850;
  text-transform: none;
  letter-spacing: 0;
}
html[data-css-mode="modular"] body.cadastro-page input,
html[data-css-mode="modular"] body.cadastro-page select,
html[data-css-mode="modular"] body.cadastro-page textarea {
  width: 100%;
  min-height: 54px;
  padding: 14px 15px;
  border-radius: 17px;
  border: 1px solid #dbe5ef;
  background: #f8fafc;
  color: #0f172a;
  font-size: 16px;
  outline: 0;
  box-shadow: none;
  font-family: inherit;
}
html[data-css-mode="modular"] body.cadastro-page input:focus,
html[data-css-mode="modular"] body.cadastro-page select:focus,
html[data-css-mode="modular"] body.cadastro-page textarea:focus {
  border-color: #14b8a6;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(20,184,166,.13);
}
html[data-css-mode="modular"] body.cadastro-page textarea { min-height: 110px; resize: vertical; }
html[data-css-mode="modular"] body.cadastro-page .helper,
html[data-css-mode="modular"] body.cadastro-page .helper-foto {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 650;
}
html[data-css-mode="modular"] body.cadastro-page #fieldFoto .helper-foto {
  padding: 14px 16px;
  border: 1px dashed rgba(148,163,184,.62);
  border-radius: 16px;
  background: rgba(248,250,252,.64);
  font-size: 13px;
  line-height: 1.38;
}
html[data-css-mode="modular"] body.cadastro-page .error {
  display: none;
  color: #b91c1c;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
}
html[data-css-mode="modular"] body.cadastro-page .field.invalid .error,
html[data-css-mode="modular"] body.cadastro-page .field.error .error { display: block; }

html[data-css-mode="modular"] body.cadastro-page .cidade-estado-row {
  display: grid;
  grid-template-columns: 1fr 90px;
  gap: 10px;
  align-items: start;
}

/* PCD/Termos sem quebra visual */
html[data-css-mode="modular"] body.cadastro-page .pcd-card,
html[data-css-mode="modular"] body.cadastro-page .checkbox {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 14px 0;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(135deg,#f8fafc,#eef7ff);
  border: 1px solid rgba(99,102,241,.16);
}
html[data-css-mode="modular"] body.cadastro-page .pcd-card input,
html[data-css-mode="modular"] body.cadastro-page .checkbox input,
html[data-css-mode="modular"] body.cadastro-page #termos {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  padding: 0;
  margin: 2px 0 0;
  accent-color: #14b8a6;
}
html[data-css-mode="modular"] body.cadastro-page .pcd-card strong { display: block; margin: 0 0 4px; color:#0f172a; font-weight:850; }
html[data-css-mode="modular"] body.cadastro-page .pcd-card small { display: block; color:#475569; line-height:1.35; font-weight:700; }

/* Idiomas */
html[data-css-mode="modular"] body.cadastro-page .idiomas-opcoes {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
html[data-css-mode="modular"] body.cadastro-page .idioma-chip { display: block; margin: 0; }
html[data-css-mode="modular"] body.cadastro-page .idioma-chip input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
html[data-css-mode="modular"] body.cadastro-page .idioma-chip span {
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid #dbe5ef;
  background: #fff;
  color: #334155;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
  font-size: 13px;
}
html[data-css-mode="modular"] body.cadastro-page .idioma-chip input:checked + span {
  background: linear-gradient(135deg,#14b8a6,#2563eb,#7c3aed);
  color: #fff;
  border-color: transparent;
}

/* Segurança/senha: cadastro novo e edição não brigam visualmente */
html[data-css-mode="modular"] body.cadastro-page .grid-acesso,
html[data-css-mode="modular"] body.cadastro-page .account-security-panel .grid {
  grid-template-columns: 1fr;
}
html[data-css-mode="modular"] body.cadastro-page .account-security-panel,
html[data-css-mode="modular"] body.cadastro-page .change-password-panel,
html[data-css-mode="modular"] body.cadastro-page .admin-meta-panel,
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-top {
  padding: 16px;
  border-radius: 20px;
  background: linear-gradient(135deg,#f8fafc,#eef7ff);
  border: 1px solid rgba(99,102,241,.16);
  margin: 8px 0 12px;
}
html[data-css-mode="modular"] body.cadastro-page .password-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
html[data-css-mode="modular"] body.cadastro-page .password-wrapper input { padding-right: 54px; }
html[data-css-mode="modular"] body.cadastro-page .password-toggle {
  position: absolute;
  right: 9px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  border: 1px solid rgba(99,102,241,.16);
  border-radius: 13px;
  background: #eef2f7;
  color: #475569;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
html[data-css-mode="modular"] body.cadastro-page .password-icon {
  width: 20px;
  height: 20px;
  background: currentColor;
  display: block;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
html[data-css-mode="modular"] body.cadastro-page .password-icon-eye::before { content: none; }
html[data-css-mode="modular"] body.cadastro-page .password-icon-eye { -webkit-mask-image: var(--icon-eye); mask-image: var(--icon-eye); }

/* PIX */
html[data-css-mode="modular"] body.cadastro-page .pix-options-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
html[data-css-mode="modular"] body.cadastro-page .pix-card {
  position: relative;
  display: flex;
  min-height: 112px;
  padding: 38px 12px 12px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #dbe5ef;
}
html[data-css-mode="modular"] body.cadastro-page .pix-card input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  left: 14px;
  top: 14px;
  width: 14px;
  height: 14px;
  min-width: 14px;
  min-height: 14px;
  padding: 0;
  border-radius: 999px;
  border: 1.5px solid rgba(15,23,42,.45);
  background: #fff;
}
html[data-css-mode="modular"] body.cadastro-page .pix-card input[type="radio"]:checked {
  border: 4px solid #2563eb;
}
html[data-css-mode="modular"] body.cadastro-page .pix-card:has(input:checked) {
  border-color: #2563eb;
  box-shadow: 0 0 0 1px rgba(37,99,235,.16);
}
html[data-css-mode="modular"] body.cadastro-page .pix-card strong {
  display: block;
  margin: 0 0 6px;
  color: #0f172a;
  font-size: 14px;
  line-height: 1.12;
}
html[data-css-mode="modular"] body.cadastro-page .pix-card span {
  display: block;
  color: #64748b;
  font-size: 12px;
  line-height: 1.28;
  font-weight: 650;
  overflow-wrap: anywhere;
}
html[data-css-mode="modular"] body.cadastro-page .pix-outro-full { margin-top: 14px; }

/* Foto */
html[data-css-mode="modular"] body.cadastro-page .foto-input-actions,
html[data-css-mode="modular"] body.cadastro-page .foto-input-actions-compact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 10px;
}
html[data-css-mode="modular"] body.cadastro-page .foto-input-btn {
  min-height: 60px;
  border-radius: 18px;
  border: 1px solid rgba(20,184,166,.28);
  background: linear-gradient(135deg,#eef2ff,#ecfdf5);
  color: #0f766e;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 950;
  cursor: pointer;
}
html[data-css-mode="modular"] body.cadastro-page .foto-input-btn-galeria { border-color: rgba(124,58,237,.25); color:#334155; }
html[data-css-mode="modular"] body.cadastro-page .foto-input-ico {
  width: 20px;
  height: 20px;
  background: currentColor;
  display: block;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
html[data-css-mode="modular"] body.cadastro-page .foto-icon-gallery { -webkit-mask-image: var(--icon-image); mask-image: var(--icon-image); }
html[data-css-mode="modular"] body.cadastro-page .foto-icon-camera { -webkit-mask-image: var(--icon-camera); mask-image: var(--icon-camera); }
html[data-css-mode="modular"] body.cadastro-page .foto-input-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
html[data-css-mode="modular"] body.cadastro-page .file-preview-foto {
  display: none;
  align-items: center;
  grid-template-columns: 78px 1fr;
  gap: 14px;
  margin-top: 16px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid #dbe5ef;
  background: #f8fafc;
}
html[data-css-mode="modular"] body.cadastro-page .file-preview-foto.preview-visible,
html[data-css-mode="modular"] body.cadastro-page .file-preview-foto[style*="grid"] { display: grid; }
html[data-css-mode="modular"] body.cadastro-page .file-preview-foto img {
  width: 74px;
  height: 74px;
  border-radius: 22px;
  object-fit: cover;
  background: #e2e8f0;
}
html[data-css-mode="modular"] body.cadastro-page .file-preview-foto strong { font-size: 16px; color: #334155; }
html[data-css-mode="modular"] body.cadastro-page .file-preview-foto small { color: #64748b; font-weight: 650; }

/* Classificação */
html[data-css-mode="modular"] body.cadastro-page .classificacao-cadastro-editor,
html[data-css-mode="modular"] body.cadastro-page .classificacao-staff-editor {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding: 12px 16px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #dbe5ef;
}
html[data-css-mode="modular"] body.cadastro-page .classificacao-cadastro-editor .star-btn {
  border: 0;
  background: transparent;
  font-size: 30px;
  color: #facc15;
  padding: 3px;
  line-height: 1;
  text-shadow: 0 8px 16px rgba(250,204,21,.35);
}
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  background: #f8fafc;
}
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade span { font-size: 17px; font-weight: 900; }
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade strong { color: #475569; font-size: 14px; }

/* Botões e mensagens */
html[data-css-mode="modular"] body.cadastro-page .submit-btn,
html[data-css-mode="modular"] body.cadastro-page .back-corridas-btn,
html[data-css-mode="modular"] body.cadastro-page .security-action-btn,
html[data-css-mode="modular"] body.cadastro-page .login-shortcut {
  width: 100%;
  min-height: 56px;
  border: 0;
  border-radius: 18px;
  padding: 14px 18px;
  background: linear-gradient(135deg,#14b8a6,#2563eb 55%,#7c3aed);
  color: #fff;
  font-size: 17px;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 18px 36px rgba(37,99,235,.20);
}
html[data-css-mode="modular"] body.cadastro-page .back-corridas-btn,
html[data-css-mode="modular"] body.cadastro-page .security-action-btn.secondary,
html[data-css-mode="modular"] body.cadastro-page .login-shortcut {
  background: #f1f5f9;
  color: #334155;
  box-shadow: none;
}
html[data-css-mode="modular"] body.cadastro-page .success-message {
  display: none;
  margin: 16px 0 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: #ecfdf5;
  border: 1px solid rgba(20,184,166,.22);
  color: #047857;
  text-align: center;
  font-weight: 900;
}
html[data-css-mode="modular"] body.cadastro-page .success-message[style*="block"] { display: block; }
html[data-css-mode="modular"] body.cadastro-page .login-status {
  display: none;
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff7ed;
  color: #b45309;
  border: 1px solid #fed7aa;
  text-align: center;
  font-weight: 800;
}
html[data-css-mode="modular"] body.cadastro-page .login-status:not(:empty) { display: block; }
html[data-css-mode="modular"] body.cadastro-page .footer-text { display:none; }

/* Admin */
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid > div {
  padding: 12px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #dbe5ef;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid small {
  display: block;
  color: #64748b;
  font-weight: 750;
  margin-bottom: 4px;
}

@media (max-width: 720px) {
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero {
    grid-template-columns: 78px minmax(0,1fr);
    gap: 18px;
    min-height: 172px;
    padding: 26px 24px;
    border-radius: 30px;
  }
  html[data-css-mode="modular"] body.cadastro-page .page-hero-icon {
    width: 70px;
    height: 70px;
    border-radius: 23px;
  }
  html[data-css-mode="modular"] body.cadastro-page .page-hero-icon svg { width: 34px; height: 34px; }
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero h1 { font-size: 2rem; }
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero p { font-size: .95rem; line-height: 1.42; }
}
@media (max-width: 560px) {
  html[data-css-mode="modular"] body.cadastro-page { padding: 18px 14px 96px; }
  html[data-css-mode="modular"] body.cadastro-page .form-area { padding: 20px 16px 24px; border-radius: 26px; }
  html[data-css-mode="modular"] body.cadastro-page .grid,
  html[data-css-mode="modular"] body.cadastro-page .grid-acesso,
  html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid { grid-template-columns: 1fr; }
  html[data-css-mode="modular"] body.cadastro-page .pix-options-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero {
    grid-template-columns: 74px minmax(0,1fr);
    gap: 16px;
    min-height: 174px;
    padding: 24px 22px;
  }
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero h1 { font-size: clamp(1.68rem, 7vw, 1.94rem); }
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero p { font-size: .86rem; line-height:1.28; }
  html[data-css-mode="modular"] body.cadastro-page .foto-input-actions,
  html[data-css-mode="modular"] body.cadastro-page .foto-input-actions-compact { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 390px) {
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero {
    grid-template-columns: 68px minmax(0,1fr);
    gap: 14px;
    padding: 22px 20px;
    min-height: 176px;
  }
  html[data-css-mode="modular"] body.cadastro-page .page-hero-icon { width: 64px; height: 64px; border-radius: 22px; }
  html[data-css-mode="modular"] body.cadastro-page .page-hero-icon svg { width: 31px; height: 31px; }
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero h1 { font-size: clamp(1.48rem, 6.9vw, 1.68rem); }
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero p { font-size: .78rem; line-height: 1.25; }
  html[data-css-mode="modular"] body.cadastro-page .pix-card { padding: 42px 12px 12px; min-height: 126px; }
}

/* v4.8 - ajustes de refinamento do cadastro modular sem duplicar o legado */
html[data-css-mode="modular"] body.cadastro-page #fieldIdiomas .helper:empty,
html[data-css-mode="modular"] body.cadastro-page #fieldIdiomas .helper { display:none; }
html[data-css-mode="modular"] body.cadastro-page #fieldIndicado .helper { display:none; }
html[data-css-mode="modular"] body.cadastro-page #fieldTermos label {
  color:#334155;
  font-size:14px;
  line-height:1.35;
  font-weight:650;
  text-transform:none;
  letter-spacing:0;
}
html[data-css-mode="modular"] body.cadastro-page .section-title::first-letter,
html[data-css-mode="modular"] body.cadastro-page .field > label::first-letter { text-transform:uppercase; }


/* v4.8 - refinamentos finais do cadastro modular */
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero h1 .cadastro-title-break{display:block;}
html[data-css-mode="modular"] body.cadastro-page #staffForm .grid{gap:10px;}
html[data-css-mode="modular"] body.cadastro-page #staffForm .field{margin-bottom:10px;}
html[data-css-mode="modular"] body.cadastro-page #fieldRg,
html[data-css-mode="modular"] body.cadastro-page #fieldNascimento,
html[data-css-mode="modular"] body.cadastro-page #fieldEmail,
html[data-css-mode="modular"] body.cadastro-page #fieldCidade,
html[data-css-mode="modular"] body.cadastro-page #fieldCalcado,
html[data-css-mode="modular"] body.cadastro-page #fieldPcd{margin-bottom:10px;}
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title{margin:24px 0 14px;}
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title::after{left:26px;top:50%;transform:translateY(-50%);width:21px;height:21px;}
html[data-css-mode="modular"] body.cadastro-page #fieldFoto .helper-foto{border:1px dashed rgba(148,163,184,.62);border-radius:16px;padding:14px 16px;background:rgba(248,250,252,.64);}
html[data-css-mode="modular"] body.cadastro-page #fieldFoto > label{text-transform:none;letter-spacing:0;font-size:15px;}
html[data-css-mode="modular"] body.cadastro-page #fieldFoto > label .obrigatorio{color:#2563eb;font-weight:850;}
html[data-css-mode="modular"] body.cadastro-page #fieldTermos label{font-size:14px;font-weight:650;letter-spacing:0;text-transform:none;line-height:1.35;color:#475569;}
html[data-css-mode="modular"] body.cadastro-page .pix-card strong{text-transform:none;letter-spacing:0;font-size:15px;}
html[data-css-mode="modular"] body.cadastro-page .pix-card span{font-size:12px;font-weight:650;line-height:1.25;}
html[data-css-mode="modular"] body.cadastro-page .pix-card input[type="radio"]{width:14px;height:14px;min-height:14px;top:14px;left:14px;}
html[data-css-mode="modular"] body.cadastro-page .cidade-sugestoes{position:absolute;z-index:80;left:0;right:0;top:calc(100% - 6px);display:grid;gap:6px;padding:8px;border:1px solid rgba(148,163,184,.35);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 18px 40px rgba(15,23,42,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
html[data-css-mode="modular"] body.cadastro-page .cidade-sugestoes.hidden{display:none;}
html[data-css-mode="modular"] body.cadastro-page .cidade-sugestao-item{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:0;border-radius:14px;background:rgba(241,245,249,.85);color:#0f172a;font:inherit;text-align:left;}
html[data-css-mode="modular"] body.cadastro-page .cidade-sugestao-item span{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html[data-css-mode="modular"] body.cadastro-page .cidade-sugestao-item small{flex:0 0 auto;font-weight:900;color:#475569;background:#fff;border:1px solid rgba(203,213,225,.8);border-radius:999px;padding:4px 8px;}
html[data-css-mode="modular"] body.cadastro-page .footer-text{display:none;}
@media(max-width:640px){
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero{grid-template-columns:82px minmax(0,1fr);grid-template-areas:"icon title" "icon text";column-gap:14px;row-gap:6px;padding:24px 22px;min-height:174px;}
  html[data-css-mode="modular"] body.cadastro-page .page-hero-icon{grid-area:icon;align-self:center;justify-self:center;width:66px;height:66px;border-radius:22px;}
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero h1{grid-area:title;font-size:clamp(1.58rem,6.9vw,1.92rem);line-height:.98;margin:0;}
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero p{grid-area:text;font-size:.82rem;line-height:1.26;margin:0;}
}
@media(max-width:420px){
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero{grid-template-columns:76px minmax(0,1fr);column-gap:12px;padding:22px 18px;min-height:172px;}
  html[data-css-mode="modular"] body.cadastro-page .page-hero-icon{width:62px;height:62px;}
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero h1{font-size:clamp(1.42rem,6.7vw,1.64rem);}
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero p{font-size:.76rem;line-height:1.22;}
}

/* v4.8 - Cadastro/Auth modular consolidado: ajustes sem empilhar legado */
html[data-css-mode="modular"] body.login-page .version-badge,
html[data-css-mode="modular"] body.cadastro-page .version-badge,
body.login-page .version-badge,
body.cadastro-page .version-badge{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:fixed !important;
  top:7px !important;
  left:8px !important;
  z-index:2147483640 !important;
  color:rgba(100,116,139,.76) !important;
  font-size:9px !important;
  font-weight:850 !important;
  line-height:1 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:2px 4px !important;
  pointer-events:none !important;
}
html[data-css-mode="modular"] body.login-page .login-secondary-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:center;
}
html[data-css-mode="modular"] body.login-page .forgot-password-btn,
html[data-css-mode="modular"] body.login-page .cadastro-link{
  width:100%;
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

/* Hero do cadastro: mesmo padrão global, com ícone à esquerda e texto abaixo do título */
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero{
  grid-template-columns:88px minmax(0,1fr);
  grid-template-areas:"icon title" "icon text";
  align-items:center;
  column-gap:18px;
  row-gap:4px;
  min-height:184px;
  padding:26px 28px;
}
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero .page-hero-icon,
html[data-css-mode="modular"] body.cadastro-page .page-hero-icon{
  grid-area:icon;
  align-self:center;
  justify-self:center;
  width:72px;
  height:72px;
  border-radius:24px;
}
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero h1{
  grid-area:title;
  align-self:end;
  margin:0;
  font-size:clamp(2.05rem,5.9vw,2.85rem);
  line-height:.98;
  letter-spacing:-.055em;
}
html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero p{
  grid-area:text;
  align-self:start;
  margin:0;
  max-width:520px;
  font-size:1.02rem;
  line-height:1.34;
  font-weight:700;
}
html[data-css-mode="modular"] body.cadastro-page .cadastro-title-break{display:block;}

/* Seções: ícones SVG centralizados dentro da cápsula */
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title{
  margin:22px 0 14px;
  padding:12px 16px 12px 70px;
  min-height:64px;
  font-size:15px;
  line-height:1.15;
  text-transform:none;
  letter-spacing:0;
}
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title::before{
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
}
html[data-css-mode="modular"] body.cadastro-page #staffForm .section-title::after{
  left:27px;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
}

/* Campos: espaçamento uniforme, inclusive entre RG/Data, Cidade/Calçado e PCD */
html[data-css-mode="modular"] body.cadastro-page #staffForm .grid,
html[data-css-mode="modular"] body.cadastro-page #staffForm .grid-acesso{
  display:grid;
  gap:10px;
  margin:0;
}
html[data-css-mode="modular"] body.cadastro-page #staffForm .grid > .field,
html[data-css-mode="modular"] body.cadastro-page #staffForm .grid-acesso > .field{
  margin:0;
}
html[data-css-mode="modular"] body.cadastro-page #staffForm > .field,
html[data-css-mode="modular"] body.cadastro-page #staffForm > label.pcd-card,
html[data-css-mode="modular"] body.cadastro-page #staffForm > .account-security-panel,
html[data-css-mode="modular"] body.cadastro-page #staffForm > .pix-options,
html[data-css-mode="modular"] body.cadastro-page #staffForm > .checkbox{
  margin-top:0;
  margin-bottom:10px;
}
html[data-css-mode="modular"] body.cadastro-page #fieldRg,
html[data-css-mode="modular"] body.cadastro-page #fieldNascimento,
html[data-css-mode="modular"] body.cadastro-page #fieldEmail,
html[data-css-mode="modular"] body.cadastro-page #fieldCidade,
html[data-css-mode="modular"] body.cadastro-page #fieldCalcado,
html[data-css-mode="modular"] body.cadastro-page #fieldPcd{
  margin-top:0;
  margin-bottom:0;
}
html[data-css-mode="modular"] body.cadastro-page #fieldTelefone{
  margin-top:10px;
}
html[data-css-mode="modular"] body.cadastro-page #fieldCalcado + #fieldPcd,
html[data-css-mode="modular"] body.cadastro-page .grid + #fieldPcd{
  margin-top:12px;
}
html[data-css-mode="modular"] body.cadastro-page .field > label{
  text-transform:none;
  letter-spacing:0;
  font-size:14px;
  line-height:1.2;
}
html[data-css-mode="modular"] body.cadastro-page input,
html[data-css-mode="modular"] body.cadastro-page select,
html[data-css-mode="modular"] body.cadastro-page textarea{
  font-size:16px;
}

/* Idiomas e indicação */
html[data-css-mode="modular"] body.cadastro-page #fieldIdiomas .helper,
html[data-css-mode="modular"] body.cadastro-page #fieldIndicado .helper{display:none;}
html[data-css-mode="modular"] body.cadastro-page #fieldIndicado input::placeholder{color:#94a3b8;}

/* Dados de acesso / troca de senha */
html[data-css-mode="modular"] body.cadastro-page .account-security-panel{
  display:block;
  margin-top:0;
}
html[data-css-mode="modular"] body.cadastro-page .account-security-panel.hidden{display:none;}
html[data-css-mode="modular"] body.cadastro-page .change-password-panel{
  display:block;
  padding:0;
  border:0;
  background:transparent;
  margin:0;
}
html[data-css-mode="modular"] body.cadastro-page .change-password-panel > .helper{
  margin:0 0 12px;
  color:#64748b;
  font-size:13px;
  line-height:1.35;
  font-weight:650;
}
html[data-css-mode="modular"] body.cadastro-page #camposSenhaCadastro,
html[data-css-mode="modular"] body.cadastro-page .change-password-panel .grid-acesso{
  gap:10px;
}
html[data-css-mode="modular"] body.cadastro-page #camposSenhaCadastro + .account-security-panel,
html[data-css-mode="modular"] body.cadastro-page .account-security-panel + .section-title-pix{
  margin-top:12px;
}
html[data-css-mode="modular"] body.cadastro-page #btnAlterarSenha{
  margin-top:14px;
}
html[data-css-mode="modular"] body.cadastro-page #btnVoltarCorridas{
  margin-top:12px;
}
html[data-css-mode="modular"] body.cadastro-page #submitBtn + #btnVoltarCorridas:not(.hidden){
  margin-top:12px;
}

/* PIX: radios pequenos e texto compacto */
html[data-css-mode="modular"] body.cadastro-page .pix-options-grid{
  gap:10px;
}
html[data-css-mode="modular"] body.cadastro-page .pix-card{
  min-height:116px;
  padding:40px 12px 12px;
  gap:6px;
}
html[data-css-mode="modular"] body.cadastro-page .pix-card input[type="radio"]{
  width:14px;
  height:14px;
  min-width:14px;
  min-height:14px;
  top:14px;
  left:14px;
}
html[data-css-mode="modular"] body.cadastro-page .pix-card strong{
  font-size:14px;
  line-height:1.1;
  font-weight:850;
  text-transform:none;
  letter-spacing:0;
}
html[data-css-mode="modular"] body.cadastro-page .pix-card span{
  font-size:12px;
  line-height:1.25;
  font-weight:650;
  color:#64748b;
}

/* Foto */
html[data-css-mode="modular"] body.cadastro-page #fieldFoto > label{
  text-transform:none;
  letter-spacing:0;
  font-size:15px;
}
html[data-css-mode="modular"] body.cadastro-page #fieldFoto > label .label-obrigatorio,
html[data-css-mode="modular"] body.cadastro-page #fieldFoto > label .obrigatorio{
  color:#2563eb;
  font-weight:850;
}
html[data-css-mode="modular"] body.cadastro-page #fieldFoto .helper-foto{
  border:1px dashed rgba(148,163,184,.62);
  border-radius:16px;
  padding:14px 16px;
  background:rgba(248,250,252,.64);
}

/* Termos */
html[data-css-mode="modular"] body.cadastro-page #fieldTermos{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px;
  border:1px solid rgba(203,213,225,.72);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(248,250,252,.86),rgba(239,246,255,.78));
}
html[data-css-mode="modular"] body.cadastro-page #fieldTermos label{
  font-size:14px;
  line-height:1.35;
  font-weight:650;
  letter-spacing:0;
  text-transform:none;
  color:#475569;
}
html[data-css-mode="modular"] body.cadastro-page #fieldTermos input{
  width:20px;
  min-width:20px;
  height:20px;
  min-height:20px;
  margin:0;
}

/* Cidade: sugestões com UF vazada/branca */
html[data-css-mode="modular"] body.cadastro-page .cidade-sugestoes{
  position:absolute;
  z-index:80;
  left:0;
  right:0;
  top:calc(100% - 6px);
  display:grid;
  gap:6px;
  padding:8px;
  border:1px solid rgba(148,163,184,.35);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 40px rgba(15,23,42,.16);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
html[data-css-mode="modular"] body.cadastro-page .cidade-sugestoes.hidden{display:none;}
html[data-css-mode="modular"] body.cadastro-page .cidade-sugestao-item{
  width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:0;border-radius:14px;background:rgba(241,245,249,.85);color:#0f172a;font:inherit;text-align:left;
}
html[data-css-mode="modular"] body.cadastro-page .cidade-sugestao-item span{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html[data-css-mode="modular"] body.cadastro-page .cidade-sugestao-item small{flex:0 0 auto;font-weight:900;color:#475569;background:#fff;border:1px solid rgba(203,213,225,.8);border-radius:999px;padding:4px 8px;}
html[data-css-mode="modular"] body.cadastro-page .footer-text{display:none;}

@media(max-width:640px){
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero{
    grid-template-columns:84px minmax(0,1fr);
    column-gap:14px;
    row-gap:4px;
    min-height:182px;
    padding:24px 20px;
  }
  html[data-css-mode="modular"] body.cadastro-page .page-hero-icon{width:66px;height:66px;border-radius:22px;}
  html[data-css-mode="modular"] body.cadastro-page .page-hero-icon svg{width:32px;height:32px;}
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero h1{font-size:clamp(1.78rem,7.8vw,2.18rem);line-height:.98;}
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero p{font-size:.90rem;line-height:1.30;}
}
@media(max-width:420px){
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero{
    grid-template-columns:76px minmax(0,1fr);
    column-gap:12px;
    min-height:178px;
    padding:22px 18px;
  }
  html[data-css-mode="modular"] body.cadastro-page .page-hero-icon{width:62px;height:62px;}
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero h1{font-size:clamp(1.66rem,7.6vw,1.98rem);}
  html[data-css-mode="modular"] body.cadastro-page .cadastro-page-hero p{font-size:.84rem;line-height:1.28;}
}


/* v4.8 - Ajustes finos do cadastro modular */
html[data-css-mode="modular"] body.cadastro-page #fieldNascimento + #fieldTelefone,
html[data-css-mode="modular"] body.cadastro-page #fieldTelefone{
  margin-top:10px;
}
html[data-css-mode="modular"] body.cadastro-page .grid:has(#fieldCalcado) + #fieldPcd,
html[data-css-mode="modular"] body.cadastro-page #fieldPcd{
  margin-top:10px;
}
html[data-css-mode="modular"] body.cadastro-page #fieldPcd + #fieldIdiomas{
  margin-top:10px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-top,
html[data-css-mode="modular"] body.cadastro-page .admin-meta-panel{
  margin-top:14px;
  padding:18px;
  border-radius:24px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-panel{
  padding:18px;
  border-radius:24px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(226,232,240,.9);
  box-shadow:0 18px 50px rgba(15,23,42,.10);
  margin:14px 0 18px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-header strong{font-size:18px;line-height:1.1;color:#0f172a;}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-header small{display:block;margin-top:4px;color:#64748b;font-weight:650;}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca{
  display:grid;
  grid-template-columns:minmax(0,1fr) 140px;
  gap:10px;
  align-items:center;
  margin-top:12px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca input{height:58px;}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca button{
  height:58px;
  border:0;
  border-radius:16px;
  color:#fff;
  font-size:18px;
  font-weight:950;
  background:linear-gradient(135deg,#2563eb,#a855f7);
  box-shadow:0 16px 32px rgba(124,58,237,.22);
}
@media(max-width:560px){
  html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca{grid-template-columns:1fr 112px;}
  html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca button{font-size:15px;}
}


/* v4.8 - ajustes finais Cadastro/Login modular */
html[data-css-mode="modular"] body.cadastro-page #staffForm .grid:has(#fieldNascimento){
  margin-bottom:12px;
}
html[data-css-mode="modular"] body.cadastro-page #fieldTelefone{
  margin-top:0;
}
html[data-css-mode="modular"] body.cadastro-page #fieldNascimento + #fieldTelefone{
  margin-top:12px;
}
html[data-css-mode="modular"] body.cadastro-page #fieldNascimento{
  margin-bottom:0;
}
html[data-css-mode="modular"] body.login-page .login-secondary-actions,
body.login-page .login-secondary-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
@media(max-width:420px){
  html[data-css-mode="modular"] body.login-page .login-secondary-actions,
  body.login-page .login-secondary-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  html[data-css-mode="modular"] body.login-page .forgot-password-btn,
  html[data-css-mode="modular"] body.login-page .cadastro-link,
  body.login-page .forgot-password-btn,
  body.login-page .cadastro-link{
    min-height:48px;
    padding:11px 8px;
    font-size:12px;
  }
}

/* v5.5 - ajustes finos: card logado fechado e busca admin de staff */
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open){
  min-height:116px;
  padding-top:14px;
  padding-bottom:14px;
  align-items:center;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open) .foto-staff-wrapper{
  width:68px;
  height:68px;
  min-width:68px;
  border-radius:22px;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .admin-menu-toggle{
  top:50%;
  transform:translateY(-50%);
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .admin-menu-toggle{
  top:62px;
  transform:translateY(-50%);
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-header strong{
  display:block;
  font-size:18px;
  line-height:1.15;
  font-weight:950;
  color:#111827;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-header span{
  display:block;
  margin-top:6px;
  font-size:15px;
  line-height:1.35;
  font-weight:650;
  color:#64748b;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-resultados{
  display:grid;
  gap:8px;
  margin-top:10px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-resultados[hidden]{
  display:none;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-resultado{
  width:100%;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(203,213,225,.76);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  text-align:left;
  color:#0f172a;
  cursor:pointer;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-avatar{
  width:46px;
  height:46px;
  border-radius:15px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#14b8a6,#7c3aed);
  color:#fff;
  font-weight:950;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-resultado-texto{
  min-width:0;
  display:block;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-resultado-texto strong{
  display:block;
  font-size:14px;
  line-height:1.15;
  font-weight:950;
  color:#0f172a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-resultado-texto small{
  display:block;
  margin-top:3px;
  font-size:12px;
  line-height:1.2;
  font-weight:750;
  color:#64748b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


/* v5.5 - ajustes finos cadastro: card logado, menu e informações administrativas */
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 58px;
  align-items:center;
  column-gap:18px;
  row-gap:0;
  padding:16px 18px;
  min-height:112px;
  margin-bottom:20px;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open){
  padding-top:16px;
  padding-bottom:16px;
  min-height:112px;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .foto-staff-wrapper,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open) .foto-staff-wrapper{
  width:72px;
  height:72px;
  min-width:72px;
  border-radius:22px;
  grid-column:1;
  grid-row:1;
  align-self:center;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .dados-staff{
  grid-column:2;
  grid-row:1;
  align-self:center;
  min-width:0;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .label-card{
  margin:0 0 2px;
  color:#7c3aed;
  font-size:13px;
  line-height:1.05;
  font-weight:950;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .dados-staff h2{
  margin:0;
  font-size:clamp(28px,7vw,38px);
  line-height:1.02;
  font-weight:950;
  letter-spacing:-.04em;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .dados-staff p:not(.label-card):not(#cidade-staff-cadastro):not(#email-staff-cadastro){display:none;}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .admin-menu-toggle,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .admin-menu-toggle{
  position:static;
  grid-column:3;
  grid-row:1;
  justify-self:end;
  align-self:center;
  transform:none;
  width:56px;
  height:56px;
  margin:0;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .admin-global-menu{
  grid-column:1 / -1;
  grid-row:2;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open{
  padding-bottom:16px;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .foto-staff-wrapper,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .dados-staff{
  align-self:center;
}

html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-top{
  padding:22px 18px 20px;
  border-radius:24px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title span{
  width:44px;
  height:44px;
  min-width:44px;
  border-radius:16px;
  background:linear-gradient(135deg,#14b8a6,#2563eb,#7c3aed);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title span::before{
  content:"";
  width:24px;
  height:24px;
  background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 19V5h2v14H4Zm4 0v-6h3v6H8Zm5 0V9h3v10h-3Zm5 0v-4h3v4h-3ZM3 20h19v2H3v-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 19V5h2v14H4Zm4 0v-6h3v6H8Zm5 0V9h3v10h-3Zm5 0v-4h3v4h-3ZM3 20h19v2H3v-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title strong{
  font-size:19px;
  line-height:1.1;
  font-weight:950;
  color:#0f172a;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid > div{
  min-height:76px;
  padding:12px 13px;
  border-radius:16px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid small{
  font-size:12px;
  line-height:1.05;
  letter-spacing:.01em;
  margin-bottom:6px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid strong{
  display:block;
  font-size:18px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.02em;
}
@media(max-width:390px){
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu{
    grid-template-columns:68px minmax(0,1fr) 54px;
    column-gap:14px;
    padding-left:16px;
    padding-right:16px;
  }
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .foto-staff-wrapper,
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open) .foto-staff-wrapper{
    width:68px;
    height:68px;
    min-width:68px;
  }
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .admin-menu-toggle,
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .admin-menu-toggle{
    width:54px;
    height:54px;
  }
  html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid > div{min-height:72px;padding:11px 12px;}
  html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid strong{font-size:17px;}
  html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title strong{font-size:18px;}
}

/* v5.5 - ajuste fino cadastro: menu fixo, busca compacta e painel administrativo */
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu{
  grid-template-rows:68px auto;
  align-content:start;
  padding-top:14px;
  padding-bottom:14px;
  min-height:104px;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open),
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open{
  padding-top:14px;
  padding-bottom:14px;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .foto-staff-wrapper,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open) .foto-staff-wrapper,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .foto-staff-wrapper{
  width:68px;
  height:68px;
  min-width:68px;
  align-self:center;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .dados-staff,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .dados-staff{
  align-self:center;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .admin-menu-toggle,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .admin-menu-toggle{
  align-self:center;
  transform:none;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .admin-global-menu.is-open{
  margin-top:14px;
}

html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-panel{
  padding:18px 18px 16px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-header strong{
  font-size:17px;
  line-height:1.15;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-header span,
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-header small{
  margin-top:5px;
  font-size:14px;
  line-height:1.35;
  font-weight:650;
  color:#64748b;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca{
  margin-top:12px;
  gap:10px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca input,
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca button{
  height:50px;
  border-radius:16px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca button{
  font-size:16px;
}

html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-top{
  padding:14px;
  border-radius:24px;
  background:linear-gradient(135deg,#f8fafc,#eef7ff);
  border:1px solid rgba(99,102,241,.16);
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:56px;
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(20,184,166,.12),rgba(124,58,237,.10));
  border:1px solid rgba(20,184,166,.16);
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title span{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:15px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title strong{
  font-size:17px;
  line-height:1.12;
  color:#0f172a;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid{
  gap:10px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid > div{
  min-height:68px;
  padding:10px 11px;
  border-radius:16px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid small{
  font-size:11px;
  line-height:1.08;
  margin-bottom:5px;
  color:#64748b;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid strong{
  font-size:15px;
  line-height:1.13;
  font-weight:900;
}
html[data-css-mode="modular"] body.cadastro-page .admin-foto-status.atualizada{color:#2563eb;}
html[data-css-mode="modular"] body.cadastro-page .admin-foto-status.pendente{color:#dc2626;}
html[data-css-mode="modular"] body.cadastro-page .admin-foto-status.ok,
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-revisao-status.ok{color:#047857;}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-revisao-status.pendente{color:#b45309;}

@media(max-width:390px){
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu{grid-template-rows:66px auto;}
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .foto-staff-wrapper,
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open) .foto-staff-wrapper,
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .foto-staff-wrapper{
    width:66px;
    height:66px;
    min-width:66px;
  }
  html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca{grid-template-columns:1fr 112px;}
  html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca input,
  html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca button{height:48px;}
  html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid > div{min-height:66px;}
  html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-grid strong{font-size:14px;}
  html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title strong{font-size:16px;}
}

/* v5.5 - ajuste fino final cadastro: card logado compacto e título administrativo no padrão */
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu{
  grid-template-rows:66px auto;
  padding-top:12px;
  padding-bottom:12px;
  min-height:90px;
  align-content:start;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open),
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open{
  padding-top:12px;
  padding-bottom:12px;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .foto-staff-wrapper,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open) .foto-staff-wrapper,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .foto-staff-wrapper{
  width:66px;
  height:66px;
  min-width:66px;
  align-self:center;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .dados-staff,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .dados-staff,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .admin-menu-toggle,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .admin-menu-toggle{
  align-self:center;
  transform:none;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .admin-global-menu.is-open{
  margin-top:12px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title{
  min-height:64px;
  padding:12px 16px 12px 70px;
  gap:14px;
  border-radius:18px;
  background:linear-gradient(135deg,#f5eefe,#eef9ff);
  border:1px solid rgba(124,58,237,.16);
  color:#2f246f;
  position:relative;
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title span{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:14px;
  background:linear-gradient(135deg,#14b8a6,#7c3aed);
  box-shadow:0 12px 24px rgba(37,99,235,.18);
}
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title strong{
  font-size:15px;
  line-height:1.15;
  font-weight:850;
  letter-spacing:-.01em;
  color:#2f246f;
}
@media(max-width:390px){
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu{grid-template-rows:64px auto;min-height:88px;}
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .foto-staff-wrapper,
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open) .foto-staff-wrapper,
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .foto-staff-wrapper{width:64px;height:64px;min-width:64px;}
  html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title strong{font-size:15px;}
}


/* v5.5 - ajuste final cadastro: card logado fechado, título de busca e padronização dos títulos */
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu{
  grid-template-columns:64px minmax(0,1fr) 56px;
  grid-template-rows:64px auto;
  column-gap:16px;
  row-gap:0;
  align-items:center;
  padding:10px 18px;
  min-height:0;
  box-sizing:border-box;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open),
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open{
  padding-top:10px;
  padding-bottom:10px;
  min-height:0;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .foto-staff-wrapper,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open) .foto-staff-wrapper,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .foto-staff-wrapper{
  width:64px;
  height:64px;
  min-width:64px;
  border-radius:21px;
  grid-row:1;
  align-self:center;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .dados-staff,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .dados-staff{
  grid-row:1;
  align-self:center;
  transform:none;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .admin-menu-toggle,
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .admin-menu-toggle{
  grid-row:1;
  align-self:center;
  justify-self:end;
  transform:none;
  width:54px;
  height:54px;
  margin:0;
}
html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .admin-global-menu.is-open{
  margin-top:10px;
}

html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-panel{
  padding:16px 18px 14px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-header{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  margin:0 0 12px;
  padding:10px 14px;
  border-radius:18px;
  background:linear-gradient(135deg,#f5eefe,#eef9ff);
  border:1px solid rgba(124,58,237,.16);
  color:#2f246f;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-icon{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:14px;
  background:linear-gradient(135deg,#14b8a6,#7c3aed);
  box-shadow:0 12px 24px rgba(37,99,235,.18);
  position:relative;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-icon::before{
  content:"";
  position:absolute;
  inset:10px;
  background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 20h4.2L19.5 8.8a2.8 2.8 0 0 0-4-4L4.2 16 4 20Zm2.3-2.3.1-.9 10.4-10.4.9.9L7.3 17.7h-1Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 20h4.2L19.5 8.8a2.8 2.8 0 0 0-4-4L4.2 16 4 20Zm2.3-2.3.1-.9 10.4-10.4.9.9L7.3 17.7h-1Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-header strong,
html[data-css-mode="modular"] body.cadastro-page .admin-cadastro-info-title strong{
  font-size:15px;
  line-height:1.15;
  font-weight:850;
  letter-spacing:-.01em;
  color:#2f246f;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-header span:not(.admin-editar-staff-icon),
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-header small{
  margin-top:3px;
  font-size:12.5px;
  line-height:1.3;
  font-weight:650;
  color:#64748b;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca{
  margin-top:10px;
}
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca input,
html[data-css-mode="modular"] body.cadastro-page .admin-editar-staff-busca button{
  height:48px;
}
@media(max-width:390px){
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu{grid-template-columns:62px minmax(0,1fr) 52px;grid-template-rows:62px auto;padding:9px 16px;}
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .foto-staff-wrapper,
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu:not(.admin-menu-open) .foto-staff-wrapper,
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .foto-staff-wrapper{width:62px;height:62px;min-width:62px;}
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu .admin-menu-toggle,
  html[data-css-mode="modular"] body.cadastro-page .card-staff-cadastro.has-admin-menu.admin-menu-open .admin-menu-toggle{width:52px;height:52px;}
}


/* v5.5 - Cadastro admin: remove encapsulamento visual extra do Tipo de acesso */
html[data-css-mode="modular"] body.cadastro-page #adminMetaPanel.admin-meta-panel{
  display:contents;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html[data-css-mode="modular"] body.cadastro-page #adminMetaPanel.admin-meta-panel.hidden{
  display:none !important;
}
html[data-css-mode="modular"] body.cadastro-page #adminTipoAcessoField.admin-tipo-acesso-field{
  margin:0 0 10px;
}
html[data-css-mode="modular"] body.cadastro-page #adminTipoAcessoField.admin-tipo-acesso-field select{
  width:100%;
}

/* v5.5 - Cadastro admin: classificação selecionada diretamente no botão */
html[data-css-mode="modular"] body.cadastro-page .classificacao-cadastro-editor.classificacao-legenda-disponibilidade {
  display: grid;
  gap: 10px;
  margin-top: 10px;
  width: 100%;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
}
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade .classificacao-opcao {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid #dbe5ef;
  background: #f8fafc;
  color: #475569;
  font: inherit;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade .classificacao-opcao:active { transform: scale(.99); }
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade .classificacao-opcao.ativo {
  background: linear-gradient(135deg, #14b8a6 0%, #2563eb 48%, #8b5cf6 100%);
  border-color: rgba(124, 58, 237, .45);
  color: #fff;
  box-shadow: 0 14px 28px rgba(79, 70, 229, .20);
}
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade .classificacao-estrela {
  color: #d4a017;
  font-size: 22px;
  line-height: 1;
  text-shadow: 0 6px 14px rgba(212, 160, 23, .28);
}
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade .classificacao-opcao.ativo .classificacao-estrela {
  color: #f2c94c;
  text-shadow: 0 6px 14px rgba(0, 0, 0, .18);
}
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade .classificacao-numero {
  font-size: 17px;
  line-height: 1;
  font-weight: 950;
  color: #0f172a;
}
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade .classificacao-opcao.ativo .classificacao-numero,
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade .classificacao-opcao.ativo strong { color: #fff; }
html[data-css-mode="modular"] body.cadastro-page .classificacao-legenda-disponibilidade .classificacao-opcao strong {
  justify-self: end;
  color: #475569;
  font-size: 14px;
  font-weight: 900;
}

/* =========================================================
   v9.1 — Editar cadastro: botões de dados de acesso no modo admin
   ========================================================= */
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .security-actions-inline-admin{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:14px 0 0;
}
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .security-action-btn.secondary,
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel #btnEnviarResetSenha,
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel #btnArquivarStaffPerfil{
  min-height:50px;
  width:100%;
  border:1px solid rgba(124,58,237,.18);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(237,233,254,.96), rgba(224,242,254,.90));
  color:#5b21b6;
  font-size:15px;
  line-height:1;
  font-weight:950;
  box-shadow:0 10px 22px rgba(79,70,229,.08);
}
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel #btnArquivarStaffPerfil{
  background:linear-gradient(135deg, rgba(241,245,249,.96), rgba(226,232,240,.90));
  color:#334155;
  border-color:rgba(148,163,184,.26);
}
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .staff-danger-actions{
  margin-top:12px;
}
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .security-actions-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .danger-delete-btn{
  width:100%;
  min-height:52px;
  border:0;
  border-radius:18px;
  padding:0 12px;
  background:linear-gradient(135deg,#ef4444,#b91c1c);
  color:#fff;
  font-size:15px;
  line-height:1.05;
  font-weight:950;
  box-shadow:0 12px 24px rgba(220,38,38,.18);
}
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .danger-delete-btn-final{
  background:linear-gradient(135deg,#7f1d1d,#dc2626);
}
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .security-action-btn.hidden,
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .danger-delete-btn.hidden{
  display:none;
}
@media(max-width:380px){
  html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .security-actions-inline-admin,
  html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .security-actions-grid{
    grid-template-columns:1fr;
  }
}

/* v9.1 ajuste contra regras legadas com !important. */
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .security-actions-inline-admin{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;margin:14px 0 0 !important;}
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .security-actions-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;}
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel #btnEnviarResetSenha,
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel #btnArquivarStaffPerfil{width:100% !important;min-height:50px !important;margin:0 !important;padding:0 12px !important;border-radius:18px !important;font-size:15px !important;line-height:1 !important;font-weight:950 !important;}
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel #btnExcluirStaff,
html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel #btnExcluirStaffDefinitivo{width:100% !important;min-height:52px !important;margin:0 !important;padding:0 12px !important;border:0 !important;border-radius:18px !important;color:#fff !important;font-size:15px !important;line-height:1.05 !important;font-weight:950 !important;}
@media(max-width:380px){html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .security-actions-inline-admin,html[data-css-mode="modular"] body.cadastro-page #accountSecurityPanel .security-actions-grid{grid-template-columns:1fr !important;}}

/* v12.4 - Login Google OAuth */
body.login-page .login-primary-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  margin:0!important;
}

body.login-page .login-primary-actions #loginBtn,
body.login-page .login-primary-actions .google-auth-btn{
  white-space:nowrap!important;
  line-height:1!important;
}

body.login-page .login-primary-actions #loginBtn,
body.login-page .login-primary-actions .google-auth-btn{
  width:100%!important;
  min-width:0!important;
}
.google-auth-btn{
  min-height:54px;
  border:1px solid rgba(148,163,184,.42);
  border-radius:18px;
  padding:12px 13px;
  background:#fff;
  color:#1f2937;
  font-size:14px;
  font-weight:900;
  line-height:1.12;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  text-align:center;
  box-shadow:0 14px 28px rgba(15,23,42,.09);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.google-auth-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(37,99,235,.28);
  box-shadow:0 18px 34px rgba(15,23,42,.12);
  background:#f8fafc;
}
.google-auth-btn:disabled{
  opacity:.72;
  cursor:wait;
  transform:none;
}
.google-auth-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:block;
}
body.login-page .google-auth-btn{
  min-height:54px!important;
  border:1px solid rgba(148,163,184,.42)!important;
  background:#fff!important;
  color:#1f2937!important;
  box-shadow:0 14px 28px rgba(15,23,42,.09)!important;
}
body.login-page .google-auth-btn span{display:block!important;white-space:nowrap!important;}
@media(max-width:420px){
  body.login-page .login-primary-actions{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  body.login-page .google-auth-btn{font-size:12.8px!important;padding:10px 8px!important;gap:6px!important;white-space:nowrap!important;}
  body.login-page .google-auth-icon{width:18px!important;height:18px!important;flex-basis:18px!important;}
}

html[data-css-mode="modular"] body.cadastro-page .oauth-cadastro-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin:-2px 0 18px;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(148,163,184,.26);
  background:linear-gradient(135deg,#ffffff,#f8fafc);
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}
html[data-css-mode="modular"] body.cadastro-page .oauth-cadastro-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
html[data-css-mode="modular"] body.cadastro-page .oauth-cadastro-copy strong{
  color:#0f172a;
  font-size:15px;
  font-weight:950;
}
html[data-css-mode="modular"] body.cadastro-page .oauth-cadastro-copy span{
  color:#64748b;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
html[data-css-mode="modular"] body.cadastro-page .oauth-cadastro-panel .google-auth-btn{
  min-width:210px;
  box-shadow:0 12px 24px rgba(15,23,42,.09);
}
html[data-css-mode="modular"] body.cadastro-page .oauth-cadastro-panel .login-status{
  grid-column:1 / -1;
  min-height:0;
  margin:0;
}
html[data-css-mode="modular"] body.cadastro-page.cadastro-oauth-google #camposSenhaCadastro{
  display:none;
}
html[data-css-mode="modular"] body.cadastro-page.cadastro-oauth-google .oauth-cadastro-panel{
  border-color:rgba(20,184,166,.24);
  background:linear-gradient(135deg,#ecfdf5,#eff6ff);
}
html[data-css-mode="modular"] body.cadastro-page.cadastro-oauth-google .oauth-cadastro-panel .google-auth-btn{
  display:none;
}
html[data-css-mode="modular"] body.cadastro-page.pagina-editar-cadastro .oauth-cadastro-panel{
  display:none;
}
@media(max-width:620px){
  html[data-css-mode="modular"] body.cadastro-page .oauth-cadastro-panel{
    grid-template-columns:1fr;
  }
  html[data-css-mode="modular"] body.cadastro-page .oauth-cadastro-panel .google-auth-btn{
    width:100%;
    min-width:0;
  }
}


/* v14.8 - Login compacto e ações em largura total */
body.login-page .login-card{
  padding:24px 24px 22px!important;
}
body.login-page .system-brand-login{
  margin:0 auto 18px!important;
}
body.login-page .system-brand-login img{
  width:min(260px,78vw)!important;
  max-height:92px!important;
}
body.login-page .login-card h1,
body.login-page .subtitle{
  display:none!important;
}
body.login-page .field{
  gap:6px!important;
  margin:0 0 13px!important;
}
body.login-page .field label{
  font-size:13.5px!important;
}
body.login-page .field input,
body.login-page input[type="text"],
body.login-page input[type="password"],
body.login-page input[type="email"]{
  min-height:50px!important;
  padding:12px 15px!important;
  border-radius:16px!important;
}
body.login-page .password-toggle{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
}
body.login-page .keep-connected-option{
  margin:0 0 12px!important;
}
body.login-page .login-status{
  min-height:16px!important;
  margin:2px 0 10px!important;
}
body.login-page .login-primary-actions{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
body.login-page .login-primary-actions #loginBtn,
body.login-page .login-primary-actions .google-auth-btn{
  min-height:52px!important;
  font-size:16px!important;
  padding:13px 16px!important;
  border-radius:17px!important;
  white-space:normal!important;
}
body.login-page .google-auth-btn{
  justify-content:center!important;
}
body.login-page .google-auth-btn span{
  white-space:normal!important;
}
body.login-page .login-secondary-actions{
  margin-top:12px!important;
  gap:10px!important;
}
body.login-page .forgot-password-btn,
body.login-page .cadastro-link{
  min-height:44px!important;
  padding:11px 12px!important;
}
body.login-page .staff-info-btn{
  width:100%!important;
  min-height:44px!important;
  margin:10px 0 0!important;
  border:1px solid rgba(37,99,235,.20)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#f8fafc,#eef2ff)!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:950!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
body.login-page .staff-info-btn:hover{
  background:#eef2ff!important;
}
@media(max-width:420px){
  body.login-page .login-card{padding:22px 20px 20px!important;}
  body.login-page .login-primary-actions{grid-template-columns:1fr!important;gap:9px!important;}
  body.login-page .google-auth-btn{font-size:15px!important;padding:12px 14px!important;gap:8px!important;white-space:normal!important;}
  body.login-page .google-auth-icon{width:20px!important;height:20px!important;flex-basis:20px!important;}
}

/* v14.8 - ajuda compacta no login, sem botão textual */
body.login-page .login-card{
  position:relative!important;
}
body.login-page .staff-info-btn{
  display:none!important;
}
body.login-page .staff-info-icon{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  padding:0!important;
  border:1px solid rgba(124,58,237,.18)!important;
  border-radius:14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(245,243,255,.94))!important;
  color:#7c3aed!important;
  font-size:18px!important;
  font-weight:950!important;
  line-height:1!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.72)!important;
  cursor:pointer!important;
  z-index:3!important;
}
body.login-page .staff-info-icon:active{
  transform:translateY(1px)!important;
  box-shadow:0 6px 16px rgba(15,23,42,.08)!important;
}
body.login-page .login-card form{
  contain:layout paint;
}
html.login-submitting body.login-page .login-card{
  pointer-events:none!important;
}
html.login-submitting body.login-page .login-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:inherit;
  background:rgba(248,250,252,.72);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
html.login-submitting body.login-page .login-card::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  z-index:7;
  width:min(230px,58vw);
  height:90px;
  transform:translate(-50%,-50%);
  background-image:linear-gradient(105deg,transparent 0%,transparent 34%,rgba(255,255,255,.92) 48%,transparent 64%,transparent 100%),url('../images/rcp-run-staff-logo.png');
  background-repeat:no-repeat,no-repeat;
  background-size:220% 100%,contain;
  background-position:-160% 0,center;
  filter:drop-shadow(0 18px 26px rgba(15,23,42,.16));
  animation:loginLogoShimmer 1.35s ease-in-out infinite;
}
@keyframes loginLogoShimmer{
  0%{background-position:-160% 0,center;opacity:.88}
  55%{background-position:160% 0,center;opacity:1}
  100%{background-position:160% 0,center;opacity:.9}
}
@media(max-width:420px){
  body.login-page .staff-info-icon{top:12px!important;right:12px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;}
}

/* v16.5 — Login: brilho mascarado pelo logo, sem varrer o retângulo inteiro */
html.login-submitting body.login-page .login-card::before{
  background-image:url('../images/rcp-run-staff-logo.png')!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  background-position:center!important;
  animation:none!important;
  opacity:.96!important;
}
html.login-submitting body.login-page::after{
  content:"";
  position:fixed;
  left:50%;
  top:50%;
  z-index:9999;
  width:min(230px,58vw);
  height:90px;
  transform:translate(-50%,-50%);
  pointer-events:none;
  background:linear-gradient(105deg,transparent 0%,transparent 34%,rgba(255,255,255,.92) 48%,transparent 64%,transparent 100%);
  background-size:220% 100%;
  background-position:-160% 0;
  -webkit-mask-image:url('../images/rcp-run-staff-logo.png');
  mask-image:url('../images/rcp-run-staff-logo.png');
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  animation:loginLogoMaskShimmer 1.35s ease-in-out infinite;
}
@keyframes loginLogoMaskShimmer{
  0%{background-position:-160% 0;opacity:.78}
  55%{background-position:160% 0;opacity:1}
  100%{background-position:160% 0;opacity:.78}
}

/* v16.5 - Login legal: links discretos no rodapé; explicação fica apenas no modal de ajuda */
body.login-page .container{
  width:min(100%,520px);
}
body.login-page .login-legal-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:10px auto 0;
  font-size:12px;
  line-height:1.2;
  font-weight:500;
  color:#64748b;
}
body.login-page .login-legal-links a{
  color:#64748b;
  text-decoration:none;
}
body.login-page .login-legal-links a:focus-visible,
body.login-page .login-legal-links a:hover{
  color:#5b21b6;
  text-decoration:underline;
}
/* v16.5 - Páginas legais */
body.legal-page{
  min-height:100vh;
  padding:28px 16px 42px;
}
body.legal-page .legal-wrap{
  width:min(100%,860px);
  margin:0 auto;
}
body.legal-page .legal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
body.legal-page .legal-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
body.legal-page .legal-brand img{
  width:118px;
  height:auto;
  display:block;
}
body.legal-page .legal-brand span{
  color:#64748b;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.legal-page .legal-home-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(124,58,237,.22);
  border-radius:999px;
  background:rgba(255,255,255,.84);
  color:#4c1d95;
  font-size:13px;
  font-weight:950;
  text-decoration:none;
}
body.legal-page .legal-card{
  padding:30px;
  border:1px solid rgba(203,213,225,.76);
  border-radius:30px;
  background:rgba(255,255,255,.90);
  box-shadow:0 22px 54px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.74);
  backdrop-filter:blur(14px);
}
body.legal-page .legal-card h1{
  margin:0 0 8px;
  color:#0f172a;
  font-size:34px;
  line-height:1.05;
  letter-spacing:-.04em;
}
body.legal-page .legal-card .legal-updated{
  margin:0 0 22px;
  color:#64748b;
  font-size:14px;
  font-weight:850;
}
body.legal-page .legal-card h2{
  margin:24px 0 8px;
  color:#111827;
  font-size:19px;
  line-height:1.22;
  font-weight:950;
}
body.legal-page .legal-card p,
body.legal-page .legal-card li{
  color:#334155;
  font-size:15px;
  line-height:1.62;
  font-weight:650;
}
body.legal-page .legal-card p{ margin:0 0 12px; }
body.legal-page .legal-card ul{ margin:8px 0 14px 20px; padding:0; }
body.legal-page .legal-card strong{ color:#0f172a; font-weight:950; }
body.legal-page .legal-footer{
  margin:18px 0 0;
  display:flex;
  justify-content:center;
  gap:10px;
  color:#64748b;
  font-size:13px;
  font-weight:850;
}
body.legal-page .legal-footer a{
  color:#5b21b6;
  text-decoration:none;
  font-weight:950;
}
@media(max-width:560px){
  body.legal-page{padding:18px 12px 34px;}
  body.legal-page .legal-header{align-items:flex-start;}
  body.legal-page .legal-brand{flex-direction:column;align-items:flex-start;gap:4px;}
  body.legal-page .legal-brand img{width:102px;}
  body.legal-page .legal-card{padding:22px 18px;border-radius:26px;}
  body.legal-page .legal-card h1{font-size:27px;}
  body.legal-page .legal-card p,
  body.legal-page .legal-card li{font-size:14px;}
}

/* v18.6 - Login: logo estático + brilho lento recortado pela marca */
html.login-submitting body.login-page .login-card::before{
  width:min(230px,58vw)!important;
  height:90px!important;
  background-image:url('../images/rcp-run-staff-logo.png')!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  background-position:center!important;
  animation:none!important;
  opacity:.98!important;
  filter:drop-shadow(0 18px 26px rgba(15,23,42,.16))!important;
}
html.login-submitting body.login-page::after{
  content:""!important;
  display:block!important;
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  z-index:9999!important;
  width:min(230px,58vw)!important;
  height:90px!important;
  transform:translate(-50%,-50%)!important;
  pointer-events:none!important;
  background:linear-gradient(105deg,transparent 0%,transparent 40%,rgba(255,255,255,.96) 50%,transparent 60%,transparent 100%)!important;
  background-size:260% 100%!important;
  background-position:-210% 0!important;
  -webkit-mask-image:url('../images/rcp-run-staff-logo.png')!important;
  mask-image:url('../images/rcp-run-staff-logo.png')!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
  animation:loginLogoMaskShimmerV178 3.2s cubic-bezier(.4,0,.2,1) infinite!important;
}
@keyframes loginLogoMaskShimmerV178{
  0%{background-position:-210% 0;opacity:.58}
  52%{background-position:210% 0;opacity:1}
  100%{background-position:210% 0;opacity:.58}
}


/* v19.5 - Destaque do motivo da troca de foto para o staff. */
html[data-css-mode="modular"] body.cadastro-page .rcp-modal-troca-foto-staff .rcp-modal-troca-foto-texto{
  display:grid!important;
  gap:12px!important;
  margin:0 0 18px!important;
}
html[data-css-mode="modular"] body.cadastro-page .rcp-modal-troca-foto-staff .rcp-modal-troca-foto-texto p{
  margin:0!important;
}
html[data-css-mode="modular"] body.cadastro-page .rcp-modal-troca-foto-staff .rcp-modal-foto-motivo{
  padding:11px 13px!important;
  border-radius:15px!important;
  background:#fff7ed!important;
  border:1px solid rgba(251,146,60,.36)!important;
  color:#9a3412!important;
  font-weight:950!important;
}
html[data-css-mode="modular"] body.cadastro-page .rcp-modal-troca-foto-staff .rcp-modal-foto-motivo span{
  color:#c2410c!important;
}
html[data-css-mode="modular"] body.cadastro-page .rcp-modal-actions-center{
  display:grid!important;
  grid-template-columns:minmax(220px, 1fr)!important;
  justify-content:center!important;
}
html[data-css-mode="modular"] body.cadastro-page #fieldFoto.field-foto-destacado{
  border-radius:22px!important;
  background:rgba(255,247,237,.92)!important;
  outline:3px solid rgba(251,146,60,.28)!important;
  box-shadow:0 18px 42px rgba(251,146,60,.18)!important;
  padding:14px!important;
  transition:background .18s ease, box-shadow .18s ease, outline-color .18s ease!important;
}


/* v19.5 - Login: preloader inicial com o mesmo brilho mascarado da validação de acesso. */
html.login-submitting body.login-page .login-card::before{
  width:min(230px,58vw)!important;
  height:90px!important;
  background-image:url('../images/rcp-run-staff-logo.png')!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  background-position:center!important;
  animation:none!important;
  opacity:.98!important;
  filter:drop-shadow(0 18px 26px rgba(15,23,42,.16))!important;
}
html.login-submitting body.login-page::after{
  content:""!important;
  display:block!important;
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  z-index:9999!important;
  width:min(230px,58vw)!important;
  height:90px!important;
  transform:translate(-50%,-50%)!important;
  pointer-events:none!important;
  background:linear-gradient(105deg,transparent 0%,transparent 38%,rgba(255,255,255,.96) 48%,transparent 58%,transparent 100%)!important;
  background-size:240% 100%!important;
  background-position:-190% 0!important;
  -webkit-mask-image:url('../images/rcp-run-staff-logo.png')!important;
  mask-image:url('../images/rcp-run-staff-logo.png')!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
  animation:rcpGuardLogoShimmerV175 2.85s cubic-bezier(.4,0,.2,1) infinite!important;
}
