:root{
  --access-primary:#ff7a00;
  --access-primary-dark:#d85f00;
  --access-bg:#f6f8fb;
  --access-card:#ffffff;
  --access-text:#162033;
  --access-muted:#6b7280;
  --access-border:rgba(15,23,42,.12);
}
body.access-locked{
  min-height:100vh;
  overflow:hidden;
  background:linear-gradient(135deg,#fff7ed 0%,#f8fafc 48%,#eef6ff 100%);
}
body.access-locked #appRoot{
  display:none!important;
}
body.access-unlocked #appRoot{
  display:block;
}
.access-lock-screen{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,122,0,.18),transparent 34%),
    radial-gradient(circle at 82% 12%,rgba(13,110,253,.13),transparent 36%),
    linear-gradient(135deg,#fff7ed 0%,#f8fafc 48%,#eef6ff 100%);
  color:var(--access-text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.access-lock-card{
  width:min(100%,470px);
  border:1px solid var(--access-border);
  border-radius:28px;
  background:rgba(255,255,255,.93);
  box-shadow:0 24px 70px rgba(15,23,42,.18);
  overflow:hidden;
  backdrop-filter:blur(18px);
}
.access-lock-head{
  padding:28px 28px 18px;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.access-lock-brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:20px;
}
.access-lock-icon{
  width:50px;
  height:50px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,var(--access-primary),#ffb15f);
  box-shadow:0 10px 26px rgba(255,122,0,.3);
  font-size:24px;
  font-weight:800;
}
.access-lock-kicker{
  margin:0;
  color:var(--access-muted);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.access-lock-title{
  margin:0;
  font-size:26px;
  line-height:1.15;
  font-weight:800;
}
.access-lock-subtitle{
  margin:0;
  color:var(--access-muted);
  font-size:15px;
  line-height:1.55;
}
.access-lock-body{
  padding:24px 28px 28px;
}
.access-lock-label{
  display:block;
  margin-bottom:8px;
  font-weight:700;
  font-size:14px;
}
.access-lock-input-wrap{
  position:relative;
}
.access-lock-input{
  width:100%;
  height:50px;
  border:1px solid rgba(15,23,42,.16);
  border-radius:16px;
  padding:0 52px 0 16px;
  outline:none;
  font-size:16px;
  background:#fff;
  color:var(--access-text);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.access-lock-input:focus{
  border-color:var(--access-primary);
  box-shadow:0 0 0 4px rgba(255,122,0,.15);
}
.access-lock-eye{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border:0;
  border-radius:12px;
  background:#f3f4f6;
  cursor:pointer;
  font-size:16px;
}
.access-lock-options{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:14px 0 18px;
  color:var(--access-muted);
  font-size:13px;
  line-height:1.35;
}
.access-lock-options input{
  margin-top:2px;
}
.access-lock-button{
  width:100%;
  min-height:50px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,var(--access-primary),var(--access-primary-dark));
  color:#fff;
  font-weight:800;
  font-size:16px;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(255,122,0,.26);
}
.access-lock-button:disabled{
  opacity:.72;
  cursor:not-allowed;
}
.access-lock-error{
  display:none;
  margin:14px 0 0;
  border:1px solid rgba(220,38,38,.25);
  background:#fff1f2;
  color:#991b1b;
  border-radius:14px;
  padding:11px 13px;
  font-size:14px;
}
.access-lock-error.show{
  display:block;
}
.access-lock-note{
  margin:18px 0 0;
  padding:13px 14px;
  border:1px solid rgba(15,23,42,.09);
  border-radius:16px;
  background:#f8fafc;
  color:#475569;
  font-size:13px;
  line-height:1.45;
}
.access-logout-btn{
  border:1px solid rgba(220,38,38,.22);
  background:#fff;
  color:#b91c1c;
  border-radius:999px;
  padding:.5rem .85rem;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}
.access-logout-btn:hover{
  background:#fff1f2;
  color:#991b1b;
}
@media (max-width:520px){
  .access-lock-screen{padding:14px;align-items:stretch;}
  .access-lock-card{margin:auto;border-radius:22px;}
  .access-lock-head,.access-lock-body{padding-left:20px;padding-right:20px;}
  .access-lock-title{font-size:23px;}
}

.access-lock-user-input{
  margin-bottom:8px;
}
.access-lock-helper{
  margin:-2px 0 14px;
  color:var(--access-muted);
  font-size:12.5px;
  line-height:1.35;
}

.access-identity-reason{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:0 0 14px;
  padding:12px 13px;
  border-radius:16px;
  border:1px solid rgba(13,110,253,.18);
  background:linear-gradient(135deg,#eff6ff,#ffffff);
  color:#334155;
}
.access-identity-info-icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#0d6efd;
  color:#fff;
  font-weight:900;
  font-family:Georgia,serif;
}
.access-identity-reason strong{
  display:block;
  color:#1d4ed8;
  font-size:13px;
  margin-bottom:2px;
}
.access-identity-reason p{
  margin:0;
  color:#475569;
  line-height:1.4;
  font-size:12.5px;
}

/* V61.0.11 — modal de acesso mais limpo e tooltip informativo */
.access-lock-info-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 14px;
  padding:11px 13px;
  border-radius:16px;
  border:1px solid rgba(13,110,253,.14);
  background:linear-gradient(135deg,#f8fafc,#ffffff);
  color:#475569;
  font-size:13px;
  line-height:1.35;
}
.access-info-tooltip{
  position:relative;
  width:26px;
  height:26px;
  flex:0 0 26px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#0d6efd;
  color:#fff;
  font-weight:900;
  font-family:Georgia,serif;
  cursor:help;
  outline:none;
}
.access-info-tooltip-bubble{
  position:absolute;
  right:0;
  bottom:calc(100% + 10px);
  width:min(300px, calc(100vw - 72px));
  padding:12px 13px;
  border-radius:14px;
  background:#0f172a;
  color:#fff;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12.5px;
  font-weight:600;
  line-height:1.45;
  box-shadow:0 18px 36px rgba(15,23,42,.24);
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:10;
}
.access-info-tooltip-bubble::after{
  content:'';
  position:absolute;
  right:9px;
  top:100%;
  border:7px solid transparent;
  border-top-color:#0f172a;
}
.access-info-tooltip:hover .access-info-tooltip-bubble,
.access-info-tooltip:focus .access-info-tooltip-bubble{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}


/* V61.0.74 — tela de acesso profissional em dois painéis */
body.access-locked{
  background:linear-gradient(135deg,#fff7ed 0%,#f8fafc 45%,#edf6ff 100%);
}
.access-lock-screen{
  align-items:center;
  justify-content:center;
  padding:clamp(18px,4vw,48px);
}
.access-lock-shell{
  width:min(1080px,100%);
  display:grid;
  grid-template-columns:minmax(360px,470px) minmax(340px,1fr);
  gap:22px;
  align-items:stretch;
}
.access-lock-card,
.access-lock-side-card{
  border:1px solid rgba(191,219,254,.75);
  border-radius:30px;
  background:rgba(255,255,255,.94);
  box-shadow:0 28px 80px rgba(15,23,42,.16);
  backdrop-filter:blur(18px);
  overflow:hidden;
}
.access-lock-login-card{width:100%}
.access-lock-head{
  padding:30px 30px 20px;
  background:
    radial-gradient(circle at 0 0, rgba(255,122,0,.13), transparent 32%),
    linear-gradient(135deg,#ffffff,#fff7ed);
}
.access-lock-icon{
  width:58px;height:58px;border-radius:22px;font-size:1.45rem;
}
.access-lock-title{font-size:clamp(1.6rem,3vw,2.05rem);letter-spacing:-.04em}
.access-lock-subtitle{font-size:.96rem;line-height:1.65;max-width:560px}
.access-lock-body{padding:26px 30px 30px}
.access-lock-info-row{background:linear-gradient(135deg,#eff6ff,#ffffff);border-color:#bfdbfe;align-items:center}
.access-lock-info-row span:first-child{display:flex;align-items:center;gap:.5rem}
.access-lock-input{height:54px;border-radius:18px;font-weight:650}
.access-lock-eye{width:40px;height:40px;border-radius:14px;color:#334155}
.access-lock-button{min-height:54px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-weight:950}
.access-lock-side-card{
  padding:30px;
  background:
    radial-gradient(circle at 92% 8%, rgba(13,110,253,.13), transparent 28%),
    radial-gradient(circle at 15% 85%, rgba(6,182,212,.12), transparent 32%),
    linear-gradient(135deg,#ffffff,#f0f7ff);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.access-side-badge{display:inline-flex;width:max-content;gap:.45rem;align-items:center;padding:.38rem .72rem;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}
.access-lock-side-card h2{font-size:clamp(1.45rem,3vw,2.2rem);letter-spacing:-.05em;line-height:1.08;color:#0f172a;margin:0 0 .8rem}
.access-lock-side-card p{color:#475569;line-height:1.7;margin:0 0 1rem;font-size:.98rem}
.access-side-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.4rem}
.access-side-grid article{border:1px solid #dbeafe;border-radius:20px;padding:1rem;background:rgba(255,255,255,.78);box-shadow:0 12px 26px rgba(15,23,42,.04)}
.access-side-grid i{width:36px;height:36px;border-radius:14px;background:#eff6ff;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;margin-bottom:.6rem;font-size:1rem}
.access-side-grid strong{display:block;color:#0f172a;font-weight:950;margin-bottom:.25rem}
.access-side-grid span{display:block;color:#64748b;font-size:.88rem;line-height:1.45}
.access-side-note{display:flex;gap:.7rem;align-items:flex-start;margin-top:1rem;padding:1rem;border-radius:20px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;line-height:1.55}
.access-side-note i{font-size:1.05rem;margin-top:.12rem}.access-side-note span{font-size:.92rem}
@media (max-width:900px){
  .access-lock-screen{overflow:auto;align-items:flex-start}.access-lock-shell{grid-template-columns:1fr}.access-lock-side-card{order:-1}.access-side-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  body.access-locked{overflow:auto}.access-lock-screen{padding:14px}.access-lock-head,.access-lock-body,.access-lock-side-card{padding-left:20px;padding-right:20px}.access-side-grid{grid-template-columns:1fr}.access-lock-card,.access-lock-side-card{border-radius:24px}
}

/* V61.0.74 — tema água, ambiente local e rodapé Lattes */
body.access-locked{
  background:
    radial-gradient(circle at 12% 12%, rgba(0,96,170,.14), transparent 32%),
    radial-gradient(circle at 88% 12%, rgba(0,173,216,.16), transparent 34%),
    linear-gradient(135deg,#f7fbff 0%,#eef7ff 48%,#e5f5ff 100%) !important;
}
.access-lock-shell{position:relative;padding-bottom:52px;}
.access-lock-card,.access-lock-side-card{border-color:rgba(37,99,235,.22)!important;box-shadow:0 34px 90px rgba(15,68,120,.17)!important;}
.access-lock-head{
  background:
    radial-gradient(circle at 0 0, rgba(14,165,233,.16), transparent 34%),
    linear-gradient(135deg,#ffffff,#f3f9ff) !important;
}
.access-lock-icon{background:linear-gradient(135deg,#006bb6,#00a6d6)!important;color:#fff!important;box-shadow:0 18px 34px rgba(0,107,182,.24)!important;}
.access-lock-button{background:linear-gradient(135deg,#006bb6,#00a6d6)!important;box-shadow:0 18px 34px rgba(0,107,182,.22)!important;}
.access-lock-button:hover{filter:brightness(.98);transform:translateY(-1px);}
.access-lock-side-card{
  background:
    radial-gradient(circle at 92% 8%, rgba(0,107,182,.14), transparent 28%),
    radial-gradient(circle at 15% 85%, rgba(0,166,214,.12), transparent 32%),
    linear-gradient(135deg,#ffffff,#eef8ff) !important;
}
.access-side-badge{background:#eff8ff!important;border-color:#bfe3ff!important;color:#005aa8!important;}
.access-side-grid article{border-color:#d6ecff!important;background:rgba(255,255,255,.86)!important;}
.access-side-grid i{background:#e8f5ff!important;color:#006bb6!important;}
.access-side-note{background:#f0f9ff!important;border-color:#bae6fd!important;color:#075985!important;}
.access-version-chip{
  display:inline-flex;align-items:center;gap:.35rem;width:max-content;
  margin-top:.8rem;padding:.28rem .7rem;border-radius:999px;
  background:#eef7ff;border:1px solid #bfdbfe;color:#1d4ed8;
  font-size:.75rem;font-weight:900;letter-spacing:.03em;
}
.access-lattes-pill{
  position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.45rem .85rem;border-radius:999px;
  background:rgba(255,255,255,.9);border:1px solid #bfdbfe;color:#0f4f88;
  text-decoration:none;font-weight:900;font-size:.78rem;box-shadow:0 12px 30px rgba(15,68,120,.12);
  white-space:nowrap;
}
.access-lattes-pill:hover{background:#eff8ff;color:#005aa8;transform:translateX(-50%) translateY(-1px);}
.access-lock-subtitle{color:#475569!important;}
@media (max-width:900px){.access-lock-shell{padding-bottom:58px}.access-lattes-pill{font-size:.75rem}}

/* V61.0.74 — acesso com tema água, ambiente local e versão no card informativo */
:root{
  --access-primary:#006bb6;
  --access-primary-dark:#004f8f;
  --access-aqua:#00a6d6;
  --access-bg:#e9f7ff;
}
body.access-locked{
  background:
    radial-gradient(ellipse at 18% 12%, rgba(0,166,214,.25), transparent 32%),
    radial-gradient(ellipse at 85% 20%, rgba(0,107,182,.18), transparent 35%),
    radial-gradient(ellipse at 55% 92%, rgba(125,211,252,.22), transparent 38%),
    linear-gradient(135deg,#edfaff 0%,#f8fcff 42%,#e7f5ff 100%) !important;
}
.access-lock-screen{
  background:
    radial-gradient(ellipse at 20% 12%, rgba(0,166,214,.23), transparent 34%),
    radial-gradient(ellipse at 85% 18%, rgba(0,107,182,.18), transparent 36%),
    radial-gradient(circle at 18% 78%, rgba(186,230,253,.34), transparent 28%),
    linear-gradient(135deg,#e9f8ff 0%,#f8fcff 48%,#e3f3ff 100%) !important;
  overflow:auto;
}
.access-lock-screen::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.24;
  background-image:
    radial-gradient(ellipse at center, rgba(255,255,255,.9) 0 1px, transparent 2px),
    linear-gradient(115deg, transparent 0 46%, rgba(255,255,255,.38) 48%, transparent 51%),
    linear-gradient(65deg, transparent 0 44%, rgba(125,211,252,.28) 48%, transparent 52%);
  background-size:64px 38px, 180px 90px, 220px 120px;
  mix-blend-mode:soft-light;
}
.access-lock-shell{position:relative;z-index:1;padding-bottom:64px;}
.access-lock-card,
.access-lock-side-card{
  border-color:rgba(0,107,182,.18)!important;
  box-shadow:0 34px 90px rgba(0,83,143,.16)!important;
}
.access-lock-head{
  background:
    radial-gradient(circle at 0 0, rgba(125,211,252,.28), transparent 36%),
    linear-gradient(135deg,#ffffff,#f1fbff) !important;
}
.access-lock-icon{
  background:linear-gradient(135deg,#005fa8,#00a6d6)!important;
  box-shadow:0 18px 34px rgba(0,107,182,.24)!important;
}
.access-lock-input:focus{
  border-color:#00a6d6!important;
  box-shadow:0 0 0 4px rgba(0,166,214,.16)!important;
}
.access-lock-button{
  background:linear-gradient(135deg,#006bb6,#00a6d6)!important;
  box-shadow:0 18px 34px rgba(0,107,182,.22)!important;
}
.access-lock-side-card{
  position:relative;
  padding-bottom:58px;
  background:
    radial-gradient(circle at 92% 8%, rgba(0,107,182,.12), transparent 30%),
    radial-gradient(circle at 10% 88%, rgba(0,166,214,.16), transparent 35%),
    linear-gradient(135deg,rgba(255,255,255,.94),rgba(235,249,255,.96)) !important;
}
.access-side-badge{background:#eaf7ff!important;border-color:#a9ddff!important;color:#005fa8!important;}
.access-side-note{background:#eefaff!important;border-color:#a9ddff!important;color:#075985!important;}
.access-version-chip{display:none!important;}
.access-version-card-bottom{
  display:inline-flex!important;
  position:absolute;
  right:22px;
  bottom:20px;
  margin:0!important;
  padding:.28rem .7rem;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,107,182,.22);
  color:#005fa8;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.02em;
  box-shadow:0 10px 22px rgba(0,83,143,.08);
}
.access-lattes-pill{
  position:fixed!important;
  left:50%!important;
  bottom:18px!important;
  transform:translateX(-50%)!important;
  background:rgba(255,255,255,.88)!important;
  border-color:rgba(0,107,182,.24)!important;
  color:#005fa8!important;
  z-index:2147483002;
}
.access-lattes-pill:hover{background:#eaf7ff!important;color:#004f8f!important;transform:translateX(-50%) translateY(-1px)!important;}
.access-lock-subtitle{color:#415875!important;}
.access-lock-kicker{color:#5b718d!important;}
@media (max-width:900px){.access-lock-shell{padding-bottom:74px}.access-version-card-bottom{right:18px;bottom:18px}}
