/* ===============================
   LOGIN ENTERPRISE PRO - SISHE
   (Escopo: apenas páginas com body.login-page)
================================ */

body.login-page{
  --card: #ffffff;
  --text: #111827;
  --muted: #667085;

  --field-bg: #f9fafb;
  --field-border: #d0d5dd;
  --field-border-focus: #2563eb;

  --primary-1: #2563eb;
  --primary-2: #1e40af;

  --danger: #d92d20;
  --warning: #f79009;
  --success: #12b76a;

  --shadow: 0 18px 45px rgba(0,0,0,.18);
}

@media (prefers-color-scheme: dark) {
  body.login-page{
    --card: #0f172a;
    --text: #e5e7eb;
    --muted: #94a3b8;

    --field-bg: #0b1220;
    --field-border: #233044;
    --field-border-focus: #60a5fa;

    --shadow: 0 18px 45px rgba(0,0,0,.45);
  }
}

/* Card */
body.login-page .login-card{
  border-radius: 12px;
  box-shadow: var(--shadow);
  background: var(--card) !important;
  color: var(--text);
}

/* Labels */
body.login-page .login-card label{
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  margin-bottom: 6px;
}

/* Wrapper */
body.login-page .field-wrap{ position: relative; }
body.login-page .field-wrap .field-icon{
  position:absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  opacity:.80;
  pointer-events:none;
  font-size: 16px;
}
body.login-page .field-wrap .field-action{
  position:absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  padding: 6px 8px;
  border-radius: 8px;
  color: var(--muted);
}
body.login-page .field-wrap .field-action:hover{
  background: rgba(148,163,184,.15);
}

/* Inputs */
body.login-page .login-card input[type="text"],
body.login-page .login-card input[type="email"],
body.login-page .login-card input[type="password"]{
  width: 100%;
  height: 46px;
  padding: 10px 40px;     /* espaço do botão à direita */
  padding-left: 38px;     /* espaço do ícone à esquerda */
  font-size: 14px;
  font-weight: 600;
  color: var(--text);

  background-color: var(--field-bg) !important;
  border: 1px solid var(--field-border) !important;
  border-radius: 8px !important;

  outline: none;
  box-shadow: none !important;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

body.login-page .login-card input::placeholder{
  color: #98a2b3;
  font-weight: 500;
}
@media (prefers-color-scheme: dark) {
  body.login-page .login-card input::placeholder{ color:#64748b; }
}

body.login-page .login-card input:focus{
  background-color: var(--card) !important;
  border-color: var(--field-border-focus) !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,.18) !important;
}

/* Estados */
body.login-page .login-card .is-invalid{
  border-color: rgba(217,45,32,.9) !important;
  box-shadow: 0 0 0 3px rgba(217,45,32,.12) !important;
}
body.login-page .login-card .is-valid{
  border-color: rgba(18,183,106,.9) !important;
  box-shadow: 0 0 0 3px rgba(18,183,106,.12) !important;
}

/* Botão */
body.login-page .btn-enterprise{
  height: 46px;
  width: 100%;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .3px;
  color: #fff;
  background: linear-gradient(180deg, var(--primary-1), var(--primary-2));
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  transition: filter .15s ease, transform .06s ease;
}
body.login-page .btn-enterprise:hover{ filter: brightness(1.06); }
body.login-page .btn-enterprise:active{ transform: translateY(1px); }
body.login-page .btn-enterprise[disabled]{ opacity:.78; cursor:not-allowed; }

/* Spinner */
body.login-page .btn-spinner{
  width: 18px; height: 18px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: rgba(255,255,255,.95);
  animation: spin .8s linear infinite;
  display:none;
}
body.login-page .btn-enterprise.is-loading .btn-spinner{ display:inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Helper row */
body.login-page .helper-row{
  margin-top: 6px;
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap:10px;
  font-size: 12px;
  color: var(--muted);
}
body.login-page .helper-row .caps{
  display:none;
  color: var(--warning);
  font-weight: 800;
}
