/* URISA ERP  mscara de acceso v1.2.0. Solo aplica con html.urisa-auth (pantallas /user/*) */
html.urisa-auth, html.urisa-auth body { background: #030173 !important; }
html.urisa-auth #root { opacity: 0 !important; pointer-events: none !important; position: fixed !important; inset: 0 !important; overflow: hidden !important; }

#urisa-auth {
  position: fixed; inset: 0; z-index: 2147483000; overflow-y: auto;
  font-family: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  color: #111827; -webkit-font-smoothing: antialiased;
}
#urisa-auth *, #urisa-auth *::before, #urisa-auth *::after { box-sizing: border-box; }
#urisa-auth .ur-fondo {
  min-height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 28px; padding: 32px 16px;
  background-color: #030173;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 48px 48px;
}
#urisa-auth .ur-banda { display: none; }
#urisa-auth .ur-card {
  width: 100%; max-width: 440px; background: #fff; border-radius: 14px;
  box-shadow: 0 24px 60px rgba(0,0,0,.35); overflow: hidden;
}
#urisa-auth .ur-body { padding: 40px 44px 32px; display: flex; flex-direction: column; gap: 22px; }
#urisa-auth .ur-logo { width: 236px; max-width: 80%; height: auto; display: block; margin: 0 auto; }
#urisa-auth .ur-sep { height: 1px; background: #e5e7eb; }
#urisa-auth .ur-head { display: flex; flex-direction: column; gap: 4px; }
#urisa-auth h1 { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.25; color: #0b1033; letter-spacing: 0; }
#urisa-auth .ur-head p { margin: 0; font-size: 15px; line-height: 1.4; color: #374151; }
#urisa-auth .ur-form { display: flex; flex-direction: column; gap: 16px; margin: 0; }
#urisa-auth .ur-campo { display: flex; flex-direction: column; gap: 6px; }
#urisa-auth label { font-size: 14px; font-weight: 600; color: #111827; }
#urisa-auth input {
  width: 100%; height: 46px; border: 1px solid #9ca3af; border-radius: 8px; padding: 0 14px;
  font: inherit; font-size: 16px; color: #111827; background: #fff; outline: none;
}
#urisa-auth input:focus { border-color: #030173; box-shadow: 0 0 0 3px rgba(3,1,115,.18); }
#urisa-auth .ur-pass { position: relative; }
#urisa-auth .ur-pass input { padding-right: 84px; }
#urisa-auth .ur-ver {
  position: absolute; right: 6px; top: 6px; height: 34px; padding: 0 12px; border: 0; border-radius: 6px;
  background: #eef0fb; color: #030173; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
}
#urisa-auth .ur-btn {
  height: 48px; margin-top: 4px; border: 0; border-radius: 8px; background: #030173; color: #fff;
  font: inherit; font-size: 16px; font-weight: 600; cursor: pointer;
}
#urisa-auth .ur-btn:hover { background: #1f2bb8; }
#urisa-auth .ur-btn:disabled { background: #4b4fa8; cursor: progress; }
#urisa-auth .ur-btn:focus-visible, #urisa-auth .ur-ver:focus-visible, #urisa-auth .ur-link:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
#urisa-auth .ur-link { align-self: center; font-size: 14px; font-weight: 500; color: #030173; text-decoration: underline; }
#urisa-auth .ur-link:hover { color: #1f2bb8; }
#urisa-auth .ur-msg { border-radius: 8px; padding: 10px 14px; font-size: 14px; line-height: 1.4; font-weight: 500; }
#urisa-auth .ur-msg.err { background: #fdecec; color: #8a1111; border: 1px solid #f3b4b4; }
#urisa-auth .ur-msg.ok { background: #e8f6ee; color: #135c33; border: 1px solid #a7dcbc; }
#urisa-auth .ur-aviso { background: #f3f4f8; border-top: 1px solid #e5e7eb; padding: 14px 44px; display: flex; gap: 10px; align-items: flex-start; color: #030173; }
#urisa-auth .ur-aviso svg { flex: none; margin-top: 1px; }
#urisa-auth .ur-aviso p { margin: 0; font-size: 13px; line-height: 1.45; color: #1f2937; }
#urisa-auth .ur-pie { margin: 0; font-size: 13px; color: #d6d9f5; letter-spacing: .3px; text-align: center; }

@media (max-width: 560px) {
  #urisa-auth .ur-fondo { justify-content: flex-start; padding: 0; gap: 0; background-size: 32px 32px; min-height: 100%; }
  #urisa-auth .ur-banda { display: flex; align-items: flex-end; width: 100%; height: 132px; flex: none; padding: 0 24px 20px; }
  #urisa-auth .ur-banda span { font-size: 14px; font-weight: 500; color: #d6d9f5; letter-spacing: .4px; }
  #urisa-auth .ur-card { max-width: none; flex: 1; border-radius: 22px 22px 0 0; box-shadow: none; display: flex; flex-direction: column; }
  #urisa-auth .ur-body { padding: 30px 24px 24px; }
  #urisa-auth .ur-logo { width: 200px; margin: 0; }
  #urisa-auth .ur-sep, #urisa-auth .ur-head p { display: none; }
  #urisa-auth input { height: 50px; border-radius: 10px; }
  #urisa-auth .ur-btn { height: 52px; border-radius: 10px; font-size: 17px; }
  #urisa-auth .ur-aviso { margin: auto 24px 12px; border: 0; border-radius: 10px; padding: 12px 14px; }
  #urisa-auth .ur-pie { width: 100%; color: #4b5563; font-size: 12px; padding: 0 0 18px; background: #fff; }
}
