/* COLVATALENT UI CORPORATIVA FASE3 - refinamiento visual seguro */
:root{
  --cv-blue:#143f70;
  --cv-navy:#263b72;
  --cv-green:#a7b52a;
  --cv-green-dark:#7f9120;
  --cv-ink:#17324a;
  --cv-muted:#6f8395;
  --cv-border:#dbe5ee;
  --cv-border-soft:#e8eef3;
  --cv-surface:#ffffff;
  --cv-surface-soft:#f7fafc;
  --cv-shadow:0 8px 24px rgba(20,63,112,.07);
  --cv-shadow-soft:0 3px 14px rgba(20,63,112,.05);
  --cv-radius:12px;
}

/* Jerarquia de encabezados y secciones */
.page-header,.section-header,.management-title,.card-header{
  position:relative;
}
.page-header h1,.page-title,.section-title,.management-title h2,.card-header h2,.card-header h3{
  color:var(--cv-blue);
  letter-spacing:-.01em;
}
.page-header p,.page-subtitle,.section-header p,.management-title p,.card-header p{
  color:var(--cv-muted);
}

/* Acento institucional discreto en encabezados de contenido */
.page-header::after,.section-header::after{
  content:"";
  display:block;
  width:46px;
  height:3px;
  margin-top:8px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--cv-blue) 0 72%,var(--cv-green) 72% 100%);
}

/* Tarjetas */
.card,.panel,.box,.summary-card,.kpi-card{
  border-color:var(--cv-border-soft);
  box-shadow:var(--cv-shadow-soft);
}
.card:hover,.panel:hover,.summary-card:hover,.kpi-card:hover{
  box-shadow:var(--cv-shadow);
}

/* KPI con jerarquia mas limpia */
.kpi-card span,.metric-card span,.stat-card span{
  color:var(--cv-muted);
}
.kpi-card strong,.metric-card strong,.stat-card strong{
  color:var(--cv-blue);
}

/* Botones: consistencia visual sin cambiar clases ni comportamiento */
.btn,.button,button.btn,a.btn{
  border-radius:9px;
  transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease;
}
.btn:hover,.button:hover,button.btn:hover,a.btn:hover{
  transform:translateY(-1px);
}
.btn:active,.button:active,button.btn:active,a.btn:active{
  transform:translateY(0);
}
.btn.primary,.btn-primary,.button.primary{
  box-shadow:0 5px 14px rgba(20,63,112,.13);
}

/* Accesibilidad de foco */
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,.btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(20,63,112,.13);
  border-color:var(--cv-blue);
}

/* Formularios */
label{
  color:var(--cv-ink);
}
input,select,textarea{
  border-color:var(--cv-border);
  background:#fff;
  transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease;
}
input:hover,select:hover,textarea:hover{
  border-color:#c8d6e2;
}
small,.field-hint,.help-text,.form-hint{
  color:var(--cv-muted);
}

/* Tablas */
table{
  border-collapse:separate;
  border-spacing:0;
}
thead th{
  color:var(--cv-blue);
  background:#f4f7fb;
  border-bottom-color:var(--cv-border);
}
tbody tr{
  transition:background-color .12s ease;
}
tbody tr:hover{
  background:#f8fbfd;
}
td,th{
  border-color:var(--cv-border-soft);
}

/* Badges / estados no semanticos */
.badge,.pill,.chip,.status-badge{
  border-radius:999px;
  font-weight:700;
  letter-spacing:.01em;
}

/* Modales */
dialog,.modal,.modal-content,.resume-modal,.document-preview-modal{
  border-radius:14px;
}
dialog::backdrop,.modal-backdrop{
  backdrop-filter:blur(2px);
}
.modal-header,.resume-modal-header,.document-preview-header{
  border-bottom-color:var(--cv-border-soft);
}

/* Estados vacios */
.empty-state,.management-empty,.no-results{
  color:var(--cv-muted);
  background:var(--cv-surface-soft);
  border:1px dashed #ccd9e4;
  border-radius:12px;
  padding:16px;
}
.empty-state::before,.no-results::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:7px;
  border-radius:50%;
  background:var(--cv-green);
  vertical-align:middle;
}

/* Navegacion lateral: refinamiento de grupos sin cambiar estructura */
.sidebar nav a,.sidebar .nav-link,.sidebar-menu a{
  transition:background-color .14s ease,color .14s ease,transform .14s ease;
}
.sidebar nav a:hover,.sidebar .nav-link:hover,.sidebar-menu a:hover{
  transform:translateX(1px);
}
.sidebar .nav-section-title,.sidebar .menu-section-title,.sidebar .nav-label{
  color:#7d8fa0;
  letter-spacing:.06em;
}

/* Cabeceras de modulo / acciones */
.page-actions,.header-actions,.toolbar-actions{
  gap:8px;
}

/* Responsive conservador */
@media(max-width:900px){
  .page-header,.section-header,.management-title,.card-header{
    gap:8px;
  }
  .page-header::after,.section-header::after{
    width:38px;
  }
  .btn,.button,button.btn,a.btn{
    min-height:38px;
  }
}

/* Respeto a usuarios con reduccion de movimiento */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}
