/*! JDServer-Webs v7.8.1 — modules/risks/risks.css */

#risks{
  margin: 14px 0 24px;
}

#risks .page-title{
  margin: 0 0 16px;
}

#risks-summary{
  margin-bottom: 18px;
}

.risks-loading,
.risks-error{
  padding: 14px 16px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--muted);
  box-shadow: var(--shadow-1);
}

.risks-summary-card{
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: var(--shadow-1);
  padding: 18px;
}

/* NORMAL = VERDE */
.risks-summary-card.is-normal{
  border-color: rgba(34,197,94,.30);
  background:
    linear-gradient(180deg, rgba(34,197,94,.038), transparent 66%),
    var(--card);
}

/* ATENCION = AMARILLO */
.risks-summary-card.is-attention{
  border-color: rgba(234,179,8,.32);
  background:
    linear-gradient(180deg, rgba(234,179,8,.040), transparent 66%),
    var(--card);
}

/* AVISO = NARANJA FUERTE */
.risks-summary-card.is-warn{
  border-color: rgba(249,115,22,.38);
  background:
    linear-gradient(180deg, rgba(249,115,22,.052), transparent 66%),
    var(--card);
}

/* RIESGO = ROJO */
.risks-summary-card.is-high{
  border-color: rgba(239,68,68,.38);
  background:
    linear-gradient(180deg, rgba(239,68,68,.050), transparent 66%),
    var(--card);
}

.risks-summary-kicker{
  font-size: .85rem;
  color: var(--muted);
  margin-bottom: 6px;
}

.risks-summary-level{
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1.08;
  margin-bottom: 6px;
}

.risks-summary-reason{
  color: var(--muted);
  font-size: 1rem;
}

.risks-summary-meta{
  margin-top: 10px;
  font-size: .85rem;
  color: var(--muted);
}

.risks-current-strip{
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.risk-current-box{
  min-height: 56px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background:
    linear-gradient(180deg, rgba(var(--brand-rgb, 107,114,128), .024), transparent 74%),
    var(--card);
  box-shadow: var(--shadow-1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.risk-current-label{
  font-size: .84rem;
  color: var(--muted);
}

.risk-current-value{
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.1;
}

.risks-grid-wrap{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.risk-card{
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: var(--shadow-1);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* NORMAL = VERDE */
.risk-card.is-normal{
  border-color: rgba(34,197,94,.30);
  background:
    linear-gradient(180deg, rgba(34,197,94,.038), transparent 68%),
    var(--card);
}

/* ATENCION = AMARILLO */
.risk-card.is-attention{
  border-color: rgba(234,179,8,.32);
  background:
    linear-gradient(180deg, rgba(234,179,8,.040), transparent 68%),
    var(--card);
}

/* AVISO = NARANJA FUERTE */
.risk-card.is-warn{
  border-color: rgba(249,115,22,.38);
  background:
    linear-gradient(180deg, rgba(249,115,22,.052), transparent 68%),
    var(--card);
}

/* RIESGO = ROJO */
.risk-card.is-high{
  border-color: rgba(239,68,68,.38);
  background:
    linear-gradient(180deg, rgba(239,68,68,.050), transparent 68%),
    var(--card);
}

.risk-card-head{
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.risk-card-head h3{
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.risk-badge{
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}

/* NORMAL = VERDE */
.risk-card.is-normal .risk-badge{
  background: rgba(34,197,94,.10);
  color: #16a34a;
  border-color: rgba(34,197,94,.18);
}

/* ATENCION = AMARILLO */
.risk-card.is-attention .risk-badge{
  background: rgba(234,179,8,.12);
  color: #ca8a04;
  border-color: rgba(234,179,8,.20);
}

/* AVISO = NARANJA FUERTE */
.risk-card.is-warn .risk-badge{
  background: rgba(249,115,22,.14);
  color: #ea580c;
  border-color: rgba(249,115,22,.24);
}

/* RIESGO = ROJO */
.risk-card.is-high .risk-badge{
  background: rgba(239,68,68,.12);
  color: #dc2626;
  border-color: rgba(239,68,68,.20);
}

.risk-main-value{
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.risk-main-value strong{
  font-size: 2rem;
  line-height: 1;
  font-weight: 800;
}

.risk-main-value span{
  font-size: 1rem;
  color: var(--muted);
}

.risk-reason{
  margin: 0;
  color: var(--muted);
  font-size: .95rem;
  min-height: 2.5em;
}

.risk-meta{
  display: grid;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
}

.risk-metric-line{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: .9rem;
}

.risk-metric-label{
  color: var(--muted);
}

.risk-metric-value{
  font-weight: 700;
  text-align: right;
}

.risks-notes-card{
  margin-top: 14px;
  border-radius: var(--radius);
  border: 1px dashed var(--border);
  background: color-mix(in srgb, var(--card) 91%, var(--brand-50, #e0f2fe) 9%);
  padding: 16px;
}

.risks-notes-card h3{
  margin: 0 0 8px;
}

.risks-notes-card p{
  margin: 0 0 8px;
  color: var(--muted);
}

.risks-notes-card ul{
  margin: 0 0 0 1.1rem;
  padding: 0;
  color: var(--muted);
}

@media (max-width: 1100px){
  .risks-current-strip{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px){
  .risks-current-strip{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px){
  .risks-grid-wrap{
    grid-template-columns: 1fr;
  }

  .risks-current-strip{
    grid-template-columns: 1fr;
  }

  .risk-main-value strong{
    font-size: 1.8rem;
  }
}

/* ============================================================
   JDServer-Webs · Risks Aurora Look
   Mantiene color por nivel de riesgo, pero añade fondo suave,
   borde elegante y círculo decorativo discreto a la derecha.
   ============================================================ */

/* Variables por defecto */
.risks-summary-card,
.risk-card,
.risk-current-box{
  --risk-accent: var(--brand, #14b8a6);
  --risk-accent-soft: color-mix(in oklab, var(--risk-accent) 12%, transparent);
  --risk-accent-border: color-mix(in oklab, var(--risk-accent) 30%, var(--border));
}

/* Color dinámico según nivel */
.risks-summary-card.is-normal,
.risk-card.is-normal{
  --risk-accent: #22c55e;
}

.risks-summary-card.is-attention,
.risk-card.is-attention{
  --risk-accent: #eab308;
}

.risks-summary-card.is-warn,
.risk-card.is-warn{
  --risk-accent: #f97316;
}

.risks-summary-card.is-high,
.risk-card.is-high{
  --risk-accent: #ef4444;
}

/* Tarjeta resumen principal */
.risks-summary-card{
  position: relative;
  overflow: hidden;
  border-color: var(--risk-accent-border);
  background:
    radial-gradient(circle at 0% 0%,
      color-mix(in oklab, var(--risk-accent) 15%, transparent) 0%,
      transparent 42%),
    linear-gradient(135deg,
      color-mix(in oklab, var(--card) 90%, var(--risk-accent) 10%),
      var(--card));
  box-shadow: var(--shadow-1);
}

.risks-summary-card::after{
  content: "";
  position: absolute;
  inset: auto -44px -58px auto;
  width: 154px;
  height: 154px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--risk-accent) 11%, transparent);
  pointer-events: none;
}

.risks-summary-card > *{
  position: relative;
  z-index: 1;
}

/* Kicker con punto de estado */
.risks-summary-kicker{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 750;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--risk-accent) 76%, var(--fg) 24%);
}

.risks-summary-kicker::before{
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--risk-accent);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--risk-accent) 15%, transparent);
}

/* Tarjetas individuales de riesgo */
.risk-card{
  position: relative;
  overflow: hidden;
  border-color: var(--risk-accent-border);
  background:
    radial-gradient(circle at 0% 0%,
      color-mix(in oklab, var(--risk-accent) 10%, transparent) 0%,
      transparent 40%),
    linear-gradient(135deg,
      color-mix(in oklab, var(--card) 93%, var(--risk-accent) 7%),
      var(--card));
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.risk-card::after{
  content: "";
  position: absolute;
  inset: auto -34px -44px auto;
  width: 118px;
  height: 118px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--risk-accent) 8%, transparent);
  pointer-events: none;
}

.risk-card > *{
  position: relative;
  z-index: 1;
}

.risk-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
  border-color: color-mix(in oklab, var(--risk-accent) 44%, var(--border));
}

/* Badge más integrado con el nuevo look */
.risk-badge{
  background: color-mix(in oklab, var(--risk-accent) 12%, var(--card)) !important;
  color: color-mix(in oklab, var(--risk-accent) 82%, var(--fg) 18%) !important;
  border-color: color-mix(in oklab, var(--risk-accent) 28%, var(--border)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}

/* Franja de datos actuales: mismo lenguaje visual, pero neutro por marca */
.risk-current-box{
  position: relative;
  overflow: hidden;
  border-color: color-mix(in oklab, var(--brand, #14b8a6) 18%, var(--border));
  background:
    radial-gradient(circle at 0% 0%,
      color-mix(in oklab, var(--brand, #14b8a6) 8%, transparent) 0%,
      transparent 46%),
    linear-gradient(135deg,
      color-mix(in oklab, var(--card) 94%, var(--brand, #14b8a6) 6%),
      var(--card));
}

.risk-current-box::after{
  content: "";
  position: absolute;
  inset: auto -24px -30px auto;
  width: 76px;
  height: 76px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--brand, #14b8a6) 7%, transparent);
  pointer-events: none;
}

.risk-current-box > *{
  position: relative;
  z-index: 1;
}

/* Notas finales */
.risks-notes-card{
  position: relative;
  overflow: hidden;
  border: 1px dashed color-mix(in oklab, var(--brand, #14b8a6) 28%, var(--border));
  background:
    radial-gradient(circle at 0% 0%,
      color-mix(in oklab, var(--brand, #14b8a6) 10%, transparent) 0%,
      transparent 42%),
    linear-gradient(135deg,
      color-mix(in oklab, var(--card) 92%, var(--brand, #14b8a6) 8%),
      var(--card));
}

.risks-notes-card::after{
  content: "";
  position: absolute;
  inset: auto -40px -55px auto;
  width: 140px;
  height: 140px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--brand, #14b8a6) 8%, transparent);
  pointer-events: none;
}

.risks-notes-card > *{
  position: relative;
  z-index: 1;
}

/* Ajuste fino mobile */
@media (max-width: 640px){
  .risks-summary-card::after{
    width: 120px;
    height: 120px;
    inset: auto -38px -46px auto;
  }

  .risk-card::after{
    width: 92px;
    height: 92px;
    inset: auto -30px -36px auto;
  }
}
