:root{
  --mae-rio-blue:#082f5f;
  --mae-rio-deep:#031936;
  --mae-rio-red:#d71920;
  --mae-rio-gold:#f4c542;
}

body.login_admin,
body.public_denuncias{
  min-height:100vh;
  background:#031936!important;
  color:#132033;
}

.mae-rio-bg{
  position:fixed;
  inset:0;
  overflow:hidden;
  background:
    linear-gradient(115deg,rgba(3,25,54,.88),rgba(8,47,95,.74) 48%,rgba(3,25,54,.92)),
    url("../images/mae-do-rio/cidade-centro.jpg") center/cover no-repeat;
  z-index:0;
}

.mae-rio-bg:before{
  content:"";
  position:absolute;
  inset:-28px;
  background:inherit;
  animation:maeRioDrift 18s ease-in-out infinite alternate;
  transform-origin:center;
}

.mae-rio-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 22%,rgba(244,197,66,.28),transparent 7%),
    radial-gradient(circle at 72% 35%,rgba(215,25,32,.20),transparent 6%),
    radial-gradient(circle at 58% 74%,rgba(244,197,66,.22),transparent 7%),
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:auto,auto,auto,46px 46px,46px 46px;
  mix-blend-mode:screen;
}

@keyframes maeRioDrift{
  from{transform:scale(1.04) translate3d(-12px,-8px,0)}
  to{transform:scale(1.12) translate3d(18px,12px,0)}
}

.monitor-dot{
  position:absolute;
  width:13px;
  height:13px;
  border-radius:50%;
  background:rgba(244,197,66,.38);
  border:2px solid rgba(255,255,255,.72);
  box-shadow:0 0 0 4px rgba(244,197,66,.08),0 0 14px rgba(244,197,66,.24);
  z-index:2;
  opacity:.5;
  animation:monitorAlertSequence 4.5s ease-in-out infinite;
}

.dot-1{left:18%;top:30%}
.dot-2{left:38%;top:52%;animation-delay:.9s}
.dot-3{left:65%;top:28%;animation-delay:1.8s}
.dot-4{left:78%;top:68%;animation-delay:2.7s}
.dot-5{left:48%;top:78%;animation-delay:3.6s}

@keyframes monitorAlertSequence{
  0%,13%,100%{
    transform:scale(.82);
    opacity:.42;
    background:rgba(244,197,66,.34);
    border-color:rgba(255,255,255,.62);
    box-shadow:0 0 0 4px rgba(244,197,66,.08),0 0 14px rgba(244,197,66,.22);
  }
  4%,9%{
    transform:scale(1.45);
    opacity:1;
    background:var(--mae-rio-red);
    border-color:#fff;
    box-shadow:0 0 0 10px rgba(215,25,32,.24),0 0 34px rgba(215,25,32,.9);
  }
}

.monitor-line{
  position:absolute;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(215,25,32,.72),rgba(244,197,66,.52),transparent);
  z-index:1;
  transform-origin:left center;
  animation:monitorSweep 4.8s linear infinite;
}

.line-1{left:19%;top:31%;width:48%;transform:rotate(16deg)}
.line-2{left:39%;top:53%;width:42%;transform:rotate(-28deg);animation-delay:1.3s}

@keyframes monitorSweep{
  0%{opacity:.08}
  50%{opacity:.75}
  100%{opacity:.08}
}

body.login_admin .authentication-form-wrapper{
  padding-top:52px!important;
}

body.login_admin .authentication-form-wrapper>div:last-child,
body.public_denuncias .denuncias-card{
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-top:5px solid var(--mae-rio-red)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.38)!important;
  backdrop-filter:blur(12px);
}

.mae-rio-brand img{
  width:150px;
  height:150px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  padding:8px;
  box-shadow:0 10px 35px rgba(0,0,0,.28);
}

.mae-rio-brand strong,
.mae-rio-brand span{
  display:block;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.42);
}

.mae-rio-brand strong{
  margin-top:10px;
  font-size:18px;
}

.mae-rio-brand span{
  color:#dbeafe;
  font-size:13px;
}

body.login_admin h1,
body.public_denuncias .denuncias-card h1{
  color:var(--mae-rio-blue)!important;
}

body.login_admin .btn-primary,
body.public_denuncias .denuncias-card .btn-primary{
  background:var(--mae-rio-blue)!important;
  border-color:var(--mae-rio-blue)!important;
}

body.login_admin .btn-primary:hover,
body.public_denuncias .denuncias-card .btn-primary:hover{
  background:var(--mae-rio-deep)!important;
  border-color:var(--mae-rio-deep)!important;
}

.mae-rio-public-brand{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}

.mae-rio-public-brand img{
  width:118px;
  height:86px;
  object-fit:contain;
  flex:0 0 118px;
}

.mae-rio-public-brand span{
  display:block;
  color:var(--mae-rio-red);
  font-weight:700;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.04em;
}

body.public_denuncias #content{
  position:relative;
  background:transparent!important;
  min-height:calc(100vh - 80px);
}

body.public_denuncias .navbar.header{
  position:relative;
  z-index:3;
  background:rgba(3,25,54,.84)!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  backdrop-filter:blur(10px);
}

body.public_denuncias .mae-rio-nav-logo{
  display:flex;
  align-items:center;
  gap:10px;
  height:auto;
  padding:10px 0;
  color:#fff!important;
  font-weight:700;
}

body.public_denuncias .mae-rio-nav-logo img{
  width:76px;
  height:44px;
  object-fit:contain;
  background:#fff;
  border-radius:6px;
  padding:3px;
}

body.public_denuncias .mae-rio-nav-logo span{
  color:#fff;
}

body.public_denuncias .denuncias-public-shell{
  position:relative;
  z-index:2;
}

body.public_denuncias .denuncias-public{
  margin-top:42px!important;
}

@media(max-width:767px){
  .mae-rio-public-brand{align-items:flex-start}
  .mae-rio-public-brand img{width:96px;height:70px;flex-basis:96px}
  body.login_admin .authentication-form-wrapper{padding-top:28px!important}
}
