
:root{
  --color-primary: #0d6670;
  --color-secondary: #13686F;
  --color-accent: #15a2b2;
}

/* ===== LOGIN UI ENHANCEMENT (SIN TOCAR LOGICA) ===== */
.gov-login body,
body.gov-login {
  background: linear-gradient(135deg, #f5f7fa, #e4e9f2);
}

/* Tarjeta principal */
#kt_sign_in_form .card-body {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 18px;
  padding: 6rem 3.5rem;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.08);
}

/* Título principal */
#kt_sign_in_form h1 {
  font-weight: 700;
  letter-spacing: -0.5px;
}

/* Subtítulo */
#kt_sign_in_form h3 {
  color: #0a6986;
  font-weight: 500;
}

/* Inputs */
.form-control.form-control-solid {
  border-radius: 12px;
  padding: 0.85rem 1rem;
  font-size: 1rem;
  transition: all 0.25s ease;
}

.form-control.form-control-solid:focus {
  box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.15);
  border-color: #0d6efd;
}

/* Botón principal */
#kt_sign_in_submit {
  border-radius: 12px;
  padding: 0.85rem 2rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  box-shadow: 0 10px 25px rgba(13, 110, 253, 0.35);
  transition: all 0.3s ease;
}

#kt_sign_in_submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 30px rgba(13, 110, 253, 0.45);
}

/* Forgot password */
a.link-primary {
  font-weight: 500;
}

/* Logo mobile */
.d-lg-none img {
  filter: drop-shadow(0 5px 15px rgba(0,0,0,.25));
}

/* Imagen lateral */
.d-lg-flex[style*="bg12"] {
  position: relative;
}

.d-lg-flex[style*="bg12"]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0),
      rgba(0, 0, 0, 0)
  );
}

/* Selector de idioma */
.menu-sub-dropdown {
  border-radius: 12px;
  box-shadow: 0 15px 35px rgba(0,0,0,.12);
}

.card-custom {
  background: #ffffff;
  border-radius: 14px;
  padding: 40px;
  border-top: 6px solid var(--color-primary);
  box-shadow: 0 8px 25px rgba(0,0,0,0.12);
  position: relative;
}

/* ICONO TUERCA SUPERIOR */
.settings-icon {
  position: absolute;
  right: 15px;
  top: 15px;
  font-size: 22px;
  color: var(--color-primary);
  cursor: pointer;
}
.settings-icon:hover {
  color: var(--color-secondary);
}

.login-title {
  color: var(--color-primary) !important;
  font-weight: 700;
}

.btn-primary {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.btn-primary:hover {
  background-color: var(--color-secondary) !important;
}

.link-primary {
  color: var(--color-primary) !important;
}
.link-primary:hover {
  color: var(--color-secondary) !important;
}

.panel-izquierdo {
  background-size: cover;
  background-position: center;
}

.password-toggle {
  cursor: pointer;
  color: #666;
}
.password-toggle:hover {
  color: var(--color-primary);
}

.panel-izquierdo {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ÍCONOS DENTRO DE INPUTS */
.input-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: var(--color-primary);
}
.input-with-icon {
  padding-left: 40px !important;
}

/* Fondo oscuro */
.modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  backdrop-filter: blur(2px);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* Caja del modal */
.modal-box {
  background: white;
  padding: 25px;
  width: 420px;
  border-radius: 8px;
  position: relative;
  box-shadow: 0 5px 20px rgba(0,0,0,0.2);
}

/* Botón X de cerrar */
.modal-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 26px;
  cursor: pointer;
  color: #555;
}

/* Botón Enviar */
.btn-enviar {
  margin-top: 15px;
  background: #d9534f;
  color: white;
  border: none;
  padding: 10px 18px;
  border-radius: 5px;
  cursor: pointer;
}


/* Gov login */
.gov-login {
background: #eef3f7;
}
.gov-login .login-shell {
min-height: auto;
}
.gov-login .gov-login-form {
background: #f8fafc;
box-shadow: inset 0 0 0 1px #e5ecf3;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
padding: 24px;
min-height: 100vh;
}
.gov-login .login-shell.align-items-lg-start {
align-items: flex-start;
}
.gov-login .gov-login-card {
background: #ffffff;
border: 1px solid #e1e7ef;
border-radius: 0;
padding: 10px 16px;
box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
max-width: none;
width: 50%;
min-width: 320px;
margin: 0 auto;
}
@media (min-width: 992px) {
.gov-login .gov-login-card {
  width: 420px;
}
}
@media (max-width: 992px) {
.gov-login .gov-login-card {
  width: 100%;
}
}


.gov-login .gov-login-image {
position: relative;
overflow: hidden;
display: flex !important;
align-items: center !important;
justify-content: center !important;
}
/* Ajuste de imagen lateral para ocupar toda la pantalla en desktop */
.gov-login-image {
min-height: 100vh;
background-size: cover;
background-position: center;
}
.gov-login .gov-login-image-center {
position: absolute !important;
inset: 0 !important;
width: 100% !important;
height: 100% !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
}
.gov-login .gov-login-image::after {
content: "";
position: absolute;
inset: 0;
pointer-events: none;
background: linear-gradient(90deg, rgba(11, 95, 107, 0.35), rgba(11, 95, 107, 0.05));
}
.gov-login .gov-login-image-panel {
position: static !important;
left: auto !important;
top: auto !important;
transform: none !important;
width: 70%;
max-width: 520px;
min-width: 320px;
color: #0f172a;
text-align: left;
margin: 0 auto !important;
align-self: center !important;
}
.gov-login .gov-login-image-panel h2 {
margin: 0 0 12px;
}
.gov-login .gov-login-image-panel p {
line-height: 1.45;
margin: 0 0 8px;
}
.gov-login .gov-login-image-panel ul {
list-style: none;
margin: 8px 0 0;
padding: 0;
line-height: 1.4;
}
.gov-login .gov-login-image-panel li {
margin: 0 0 6px;
}
.gov-login .gov-login-image-brand {
position: absolute;
top: 36px;
left: 32px;
display: flex;
flex-direction: column;
gap: 12px;
}
.gov-login .gov-login-image-logo {
width: 180px;
height: auto;
filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.25));
}
.gov-login .gov-login-image-ribbon {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 8px 18px;
background: #c62828;
color: #ffffff;
font-size: 13px;
font-weight: 600;
letter-spacing: 0.2px;
box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}
.gov-login .gov-login-image-overlay {
position: absolute;
top: 32px;
left: 32px;
max-width: 360px;
padding: 14px 18px;
background: rgba(9, 52, 74, 0.55);
border-left: 4px solid #f2e7cf;
color: #ffffff;
text-align: left;
backdrop-filter: blur(2px);
}
.gov-login .gov-login-image-title {
font-size: 18px;
font-weight: 700;
letter-spacing: 0.2px;
margin-bottom: 6px;
}
.gov-login .gov-login-image-sub,
.gov-login .gov-login-image-text {
font-size: 13px;
line-height: 1.4;
color: rgba(255, 255, 255, 0.85);
}
@media (min-width: 992px) {
.gov-login .gov-login-image {
  min-height: 100vh;
}
}
.gov-login .gov-login-card .py-10 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.gov-login .gov-login-card .mb-10 {
margin-bottom: 0.75rem !important;
}
.gov-login .gov-login-card .pb-13 {
padding-bottom: 0.75rem !important;
}
.gov-login .gov-login-card .pt-5 {
padding-top: 0.5rem !important;
}
.gov-login .form-control {
border-radius: 0 !important;
min-height: 40px;
font-size: 13px;
padding: 8px 12px;
max-width: 320px;
margin-left: auto;
margin-right: auto;
}
.gov-login .form-control.form-control-solid {
min-height: 40px;
padding: 8px 12px;
font-size: 13px;
line-height: 1.2;
max-width: 320px;
margin-left: auto;
margin-right: auto;
}
.gov-login .gov-input-wrap {
position: relative;
width: 320px;
max-width: 100%;
margin-left: auto;
margin-right: auto;
}
.gov-login .gov-input-wrap .btn.btn-icon {
position: absolute;
top: 50%;
right: 8px;
transform: translateY(-50%);
margin: 0;
}
.gov-login .btn {
border-radius: 0 !important;
font-size: 12px;
padding: 6px 12px;
}
.gov-login .btn.btn-sm {
font-size: 12px;
padding: 6px 12px;
}
.gov-login .gov-help-btn {
background: #0b5f6b;
color: #ffffff;
border-color: #0b5f6b;
}
.gov-login .gov-help-btn:hover {
background: #ffffff;
border-color: #0b5f6b;
color: #0b5f6b;
}
.gov-login .gov-help-btn:active,
.gov-login .gov-help-btn:focus {
background: #ffffff;
border-color: #0b5f6b;
color: #0b5f6b;
}
.gov-login .gov-manual-btn {
background: #f2e7cf;
border-color: #e1cf9c;
color: #6a4b12;
font-size: 12px;
padding: 6px 12px;
max-width: 320px;
margin-left: auto;
margin-right: auto;
}
.gov-login .gov-manual-btn:hover {
background: #ead9b3;
border-color: #d6c081;
color: #5a3f0f;
}
.gov-login .gov-login-lang {
text-align: left;
}
.gov-login .gov-login-lang .btn {
padding-left: 0;
}

.gov-login .gov-login-card .card-body {
padding: 0 !important;
}
.gov-login .gov-login-card h1 {
font-size: 22px;
margin-bottom: 4px;
text-align: center;
color: #0b5f6b;
}
.gov-login .gov-login-card h3 {
font-size: 15px;
margin-bottom: 4px;
text-align: center;
}
.gov-login #kt_sign_in_submit {
display: block;
margin: 0 auto;
background: #c62828 !important;
border-color: #c62828 !important;
}
.gov-login #kt_sign_in_submit:hover {
background: #b71c1c !important;
border-color: #b71c1c !important;
}
.gov-login .gov-login-card .btn.btn-sm.btn-icon {
margin-left: auto;
margin-right: auto;
right: 10px;
}
.gov-login .gov-login-card .text-gray-600 {
font-size: 12px;
}
.gov-login .gov-login-card .fv-row {
margin-bottom: 0.75rem !important;
}
.gov-login .gov-login-card .mb-8 {
margin-bottom: 0.75rem !important;
}
.gov-login .gov-login-card .mb-7 {
margin-bottom: 0.75rem !important;
}
.gov-login .gov-login-card .mb-10 {
margin-bottom: 0.5rem !important;
}
.gov-login .gov-login-card .mb-6 {
margin-bottom: 0.5rem !important;
}
.gov-login .gov-login-card .link-primary {
display: inline-block;
text-align: center;
width: 100%;
}
.gov-login .gov-manual-row {
text-align: right;
}
.gov-login .gov-manual-row .link-primary {
width: auto;
text-align: right;
}
.gov-login .gov-login-card .pb-13 {
padding-bottom: 0.5rem !important;
}
.gov-login .gov-login-card .pb-6 {
padding-bottom: 0.4rem !important;
}
.gov-login .gov-login-card .pt-5 {
padding-top: 0.25rem !important;
}
.gov-login .gov-login-card .pt-2 {
padding-top: 0.2rem !important;
}
.gov-login .gov-login-card .py-10 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.gov-login .gov-login-card .py-1 {
padding-top: 0.2rem !important;
padding-bottom: 0.2rem !important;
}
.gov-login .gov-login-card .mt-6 {
margin-top: 0.5rem !important;
}
