/* Fondo general */
body {
  margin: 0;
  padding: 40px 0;
  background-color: #0a2a43;
  font-family: 'Segoe UI', sans-serif;
  color: white;
  display: flex;
  justify-content: center;
}


/* Tarjeta del formulario */
.login-container {
  background-color: #112e45;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
  width: 100%;
  max-width: 400px;
  box-sizing: border-box;
  height: auto;
}

.login-container img {
  width: 60px;
  display: block;
  margin: 0 auto 20px auto;
}

.login-container h2 {
  text-align: center;
  margin-bottom: 30px;
  font-weight: 600;
  color: #ffffff;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  color: #a6c5e3;
}

.form-group input {
  width: 100%;
  padding: 12px;
  background-color: #1a3c5a;
  border: none;
  border-radius: 6px;
  color: white;
  font-size: 15px;
  outline: none;
  transition: background-color 0.3s;
}

.form-group input::placeholder {
  color: #a0b8d1;
}

.form-group input:focus {
  background-color: #1f4868;
}

.login-button {
  display: block;
  margin: 20px auto 0 60px;
  padding: 12px 30px;
  background-color: #1e90ff;
  border: none;
  border-radius: 6px;
  color: white;
  font-weight: bold;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
  text-align: center;
  width: 70%;
}

.login-button:hover {
  background-color: #1578d4;
}

.register-link {
  display: block;
  text-align: center;
  margin-top: 20px;
  font-size: 14px;
}

.register-link a {
  color: #aad4ff;
  text-decoration: none;
}

.register-link a:hover {
  text-decoration: underline;
}

.login-container img {
  display: block;
  margin: 0 auto 20px auto;
  width: 140px;
  height: auto;
  object-fit: contain;
}

.card-dark {
  background-color: #0F2239;
  color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(0,0,0,0.2);
  position: relative;
}

/* Estilo base para iconos */
.icon {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-right: 10px;
  vertical-align: middle;
  fill: #0D3B66;
  stroke: #0D3B66;
  stroke-width: 2;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

/* MisiÃ³n: Icono de brÃºjula que rota */
.mission-icon {
  background: url('data:image/svg+xml;utf8,<svg fill="%230D3B66" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2L15 11L9 13L12 2Z"/></svg>') no-repeat center;
  animation-name: rotate-icon;
  animation-duration: 4s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

/* VisiÃ³n: Icono de ojo que parpadea */
.vision-icon {
  background: url('data:image/svg+xml;utf8,<svg fill="none" stroke="%230D3B66" stroke-width="2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><ellipse cx="12" cy="12" rx="10" ry="6"/><circle cx="12" cy="12" r="3" fill="%230D3B66"/></svg>') no-repeat center;
  animation-name: blink-icon;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

/* Valores: Icono de estrella que brilla */
.values-icon {
  background: url('data:image/svg+xml;utf8,<svg fill="none" stroke="%230D3B66" stroke-width="2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><polygon points="12 2 15 11 24 11 17 17 19 26 12 21 5 26 7 17 0 11 9 11 12 2"/></svg>') no-repeat center;
  animation-name: glow-icon;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

/* Animaciones */
@keyframes rotate-icon {
  from { transform: rotate(0deg);}
  to { transform: rotate(360deg);}
}

@keyframes blink-icon {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

@keyframes glow-icon {
  0%, 100% { filter: drop-shadow(0 0 3px #0D3B66); }
  50% { filter: drop-shadow(0 0 10px #1E559D); }
}


/* Despues del Login */

  .container {
    max-width: 900px;
    margin: auto;
  }
  .header {
    background-color: #142E55;
    padding: 20px;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header .bienvenido {
    font-size: 1.3rem;
    font-weight: 700;
  }
  .header .stats {
    background-color: #0D3B66;
    border-radius: 8px;
    padding: 15px 25px;
    text-align: center;
    width: 120px;
    margin-left: 15px;
  }
  .header .stats p {
    margin: 0;
  }
  .header .stats .number {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 5px;
  }
  .header .stats.recovered {
    background: linear-gradient(90deg, #1FBB7D, #0D3B66);
  }
  
  /* Resumen financiero */
  .resumen {
    margin-top: 30px;
    background-color: #142E55;
    padding: 20px;
    border-radius: 10px;
  }
  .resumen h2 {
    margin-top: 0;
  }
  .flex-row {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .chart-container {
    flex: 1;
    max-width: 350px;
  }
  .legend {
    flex: 1;
  }
  .legend-item {
    margin-bottom: 10px;
  }
  .legend-color {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 10px;
    vertical-align: middle;
  }
  .legend-prestado { background-color: #1FBB7D; }
  .legend-recuperado { background-color: #0D3B66; }
  .legend-pendiente { background-color: #F45B69; }

  /* Acciones r¨¢pidas */
  .acciones {
    margin-top: 30px;
    display: flex;
    gap: 15px;
    justify-content: center;
  }
  .accion-btn {
    flex: 1;
    padding: 15px;
    border-radius: 8px;
    background-color: #0D3B66;
    text-align: center;
    font-weight: 700;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.3s;
  }
  .accion-btn:hover {
    background-color: #1FBB7D;
  }

  /* Calculadora */
  .calculadora {
    margin-top: 40px;
    background-color: #142E55;
    padding: 20px;
    border-radius: 10px;
  }
  .calculadora h2 {
    margin-top: 0;
    margin-bottom: 20px;
  }
  .form-group {
    margin-bottom: 15px;
  }
  label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
  }
  input, select {
    width: 100%;
    padding: 8px 10px;
    border-radius: 6px;
    border: none;
    font-size: 1rem;
  }
  button.calc-btn {
    background-color: #1FBB7D;
    color: #fff;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 700;
    width: 100%;
  }
  button.calc-btn:hover {
    background-color: #0D3B66;
  }
  .resultado {
    margin-top: 20px;
    background-color: #0D3B66;
    padding: 15px;
    border-radius: 8px;
    font-weight: 700;
  }