/* Identidad corporativa compartida con la aplicación de Recursos Humanos. */
.auth-logo{
  width:206px;
  height:auto;
  display:block;
  margin:0 0 34px;
}
.auth-panel{
  align-items:center;
  text-align:center;
}
.auth-panel h1,
.auth-intro,
.auth-form,
.auth-credit,
.auth-foot{
  width:100%;
  max-width:430px;
}
.auth-form{text-align:left}
.auth-credit{text-align:center}
.auth-credit{
  margin-top:28px;
  color:#8a98ac;
  font-size:10px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.1px;
}
.dmp-brand{
  display:inline-flex;
  align-items:baseline;
  margin-top:4px;
  font-size:14px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
}
.dmp-black{color:#0b1f3a}
.digitals-green{color:#8bbab1}
.dmp-com{
  margin-left:1px;
  color:#0b1f3a;
  font-size:50%;
  font-weight:700;
}
.auth-foot{margin-top:15px}
.auth-story{
  align-items:center;
  justify-content:center;
  text-align:center;
}
.auth-story-content{
  width:100%;
  display:grid;
  place-items:center;
  gap:32px;
}
.auth-live{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#fff;
  font-size:13px;
  font-weight:800;
}
.auth-live .status-dot{
  margin:0;
  animation:factuperi-live-pulse 1.65s ease-in-out infinite;
}
.auth-story-logo{
  width:260px;
  height:auto;
  display:block;
}
@keyframes factuperi-live-pulse{
  0%,100%{opacity:.58;transform:scale(.86);box-shadow:0 0 0 3px rgba(96,211,169,.1)}
  50%{opacity:1;transform:scale(1.18);box-shadow:0 0 0 8px rgba(96,211,169,.2)}
}
@media(prefers-reduced-motion:reduce){
  .auth-live .status-dot{animation:none}
}
.app-shell{
  grid-template-columns:280px minmax(0,1fr);
  grid-template-rows:100px 1fr;
  grid-template-areas:"side top" "side main";
}
.topbar{
  min-height:100px;
  justify-content:flex-end;
}
.sidebar{
  position:fixed;
  inset:0 auto 0 0;
  z-index:40;
  width:280px;
  height:100vh;
  justify-content:flex-start;
  padding:0 22px 24px;
  border-right:1px solid rgba(139,186,177,.2);
  background:linear-gradient(180deg,#071e37 0%,#03182d 100%);
  color:#fff;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#386178 transparent;
}
.sidebar-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:27px 10px 0;
  text-align:center;
}
.sidebar-logo-link{
  display:flex;
  align-items:center;
  justify-content:center;
}
.sidebar-logo{
  width:174px;
  height:auto;
  display:block;
}
.sidebar-product{
  margin:13px 0 0;
  color:#dce8f1;
  font-size:13px;
  font-weight:500;
  line-height:1.35;
}
.sidebar-credit{
  display:grid;
  justify-items:center;
  gap:5px;
  margin-top:29px;
  color:#9eb0c1;
  font-size:10px;
  font-weight:600;
  line-height:1.2;
}
.sidebar-credit .dmp-brand{
  margin:0;
  font-size:15px;
}
.sidebar-credit .dmp-black,
.sidebar-credit .dmp-com{color:#fff}
.sidebar nav{
  gap:9px;
  margin-top:52px;
}
.sidebar .nav-item{
  min-height:54px;
  gap:13px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:12px;
  color:#e4edf5;
  font-size:14px;
  font-weight:800;
  transition:background-color 170ms ease,border-color 170ms ease,color 170ms ease,transform 170ms ease,box-shadow 170ms ease;
}
.sidebar .nav-item span{
  flex:0 0 29px;
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#eef6f3;
  color:#0a6b58;
  font-size:16px;
}
.sidebar .nav-item:hover{
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.07);
  color:#fff;
  transform:translateX(2px);
}
.sidebar .nav-item.active{
  border-color:#f3a35c;
  background:linear-gradient(135deg,#d94708,#f45a08);
  color:#fff;
  box-shadow:0 12px 25px rgba(0,0,0,.2);
}
.sidebar .nav-item.active span{
  background:#fff0dd;
  color:#c84208;
}
.sidebar .nav-item:focus-visible{
  outline:3px solid rgba(113,211,181,.42);
  outline-offset:2px;
}
.sidebar-note{
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
  color:#fff;
}
.sidebar-note span{color:#bac8d4}
@media(max-width:1050px) and (min-width:761px){
  .app-shell{grid-template-columns:88px minmax(0,1fr)}
  .sidebar{width:88px;padding:0 10px 20px}
  .sidebar-brand{padding:20px 0 0}
  .sidebar-logo{width:66px}
  .sidebar-product,.sidebar-credit{display:none}
  .sidebar nav{margin-top:42px}
  .sidebar .nav-item{justify-content:center;padding:10px;font-size:0}
  .sidebar .nav-item span{flex-basis:32px;width:32px;height:32px}
}
@media(max-width:760px){
  .app-shell{display:block}
  .topbar{height:80px;min-height:80px}
  .sidebar{
    inset:auto 0 0 0;
    width:auto;
    height:64px;
    padding:7px;
    border:0;
    border-top:1px solid rgba(255,255,255,.16);
    overflow:visible;
  }
  .sidebar-brand,.sidebar-note{display:none}
  .sidebar nav{margin:0;gap:4px}
  .sidebar .nav-item{min-height:50px;padding:7px;font-size:9px;justify-content:center}
  .sidebar .nav-item span{display:none}
  .sidebar .nav-item:hover{transform:none}
}
