/* Mis Proyectos + 02 InstruLab Valida — visual baseline v1
   Contract: align with approved Factory / S.G.C. shell without changing module logic.
*/
#proyectos,#valida{
  font-family:Arial,Helvetica,sans-serif!important;
  background:#f6f8fb!important;
  color:#11284b!important;
  padding:22px 18px 32px!important;
  min-height:100vh!important;
  box-sizing:border-box!important;
}
#proyectos *,#valida *{box-sizing:border-box!important}

#proyectos>.top,#valida>.top,
#valida #validaWorkspace>.top,
#valida .card>.top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 14px!important;
}
#proyectos>.top h1,#valida>.top h1{
  margin:0 0 6px!important;
  color:#0d1f46!important;
  font-size:30px!important;
  line-height:1.1!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
#proyectos>.top .sub,#valida>.top .sub{
  margin:0!important;
  color:#657792!important;
  font-size:14px!important;
  line-height:1.45!important;
  max-width:980px!important;
}

#proyectos .btn,#valida .btn{
  min-height:38px!important;
  border-radius:7px!important;
  border:1px solid #d8e0eb!important;
  background:#fff!important;
  color:#1d2a40!important;
  padding:9px 14px!important;
  font:700 13px Arial,Helvetica,sans-serif!important;
  box-shadow:none!important;
}
#proyectos .btn.primary,#valida .btn.primary{
  border-color:#0969f5!important;
  background:#0969f5!important;
  color:#fff!important;
}
#proyectos .btn:hover,#valida .btn:hover{filter:brightness(.98)}

#proyectos .notice,#valida .notice{
  margin:0 0 14px!important;
  padding:12px 14px!important;
  border:1px solid #dbe4ef!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#425873!important;
  box-shadow:0 2px 8px rgba(26,46,77,.04)!important;
  font-size:13px!important;
  line-height:1.45!important;
}
#proyectos .notice b,#valida .notice b{color:#0d2e59!important}

#proyectos .grid4,#valida .grid4{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 0 14px!important;
}
#proyectos .grid3,#valida .grid3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 0 14px!important;
}
#proyectos .grid2,#valida .grid2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 0 14px!important;
}
#valida .grid.two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}

#proyectos .kpi,#valida .kpi{
  position:relative!important;
  min-height:112px!important;
  padding:16px 17px 18px!important;
  border:1px solid #e1e7ef!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(26,46,77,.05)!important;
  overflow:hidden!important;
}
#proyectos .kpi:after,#valida .kpi:after{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;
  height:4px!important;
  background:linear-gradient(90deg,#176cf5,#22c7b8)!important;
}
#proyectos .kpi>b,#valida .kpi>b{
  display:block!important;
  margin:0 0 8px!important;
  color:#0d2e59!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:700!important;
}
#proyectos .kpi>span,#valida .kpi>span{
  color:#60738f!important;
  font-size:13px!important;
}

#proyectos .card,#valida .card{
  margin:0 0 14px!important;
  padding:16px!important;
  border:1px solid #e1e7ef!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#11284b!important;
  box-shadow:0 2px 8px rgba(26,46,77,.06)!important;
}
#proyectos .card h2,#valida .card h2{
  margin:0 0 12px!important;
  color:#0d1f46!important;
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
#proyectos .card h3,#valida .card h3{
  color:#18345e!important;
  font-size:15px!important;
}
#proyectos .sub,#valida .sub{color:#6d7d91!important}

#proyectos table,#valida table{
  width:100%!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  background:#fff!important;
  color:#243650!important;
  font-size:12px!important;
}
#proyectos th,#valida th{
  padding:9px 10px!important;
  border-bottom:1px solid #dfe6ef!important;
  background:#f8fafc!important;
  color:#243650!important;
  text-align:left!important;
  font-weight:700!important;
}
#proyectos td,#valida td{
  padding:9px 10px!important;
  border-bottom:1px solid #edf0f4!important;
  background:#fff!important;
  color:#344762!important;
  text-align:left!important;
  vertical-align:middle!important;
}
#proyectos tbody tr:nth-child(odd) td,
#proyectos tbody tr:nth-child(even) td,
#valida tbody tr:nth-child(odd) td,
#valida tbody tr:nth-child(even) td{
  background:#fff!important;
  color:#344762!important;
}
#proyectos tbody tr:hover td,#valida tbody tr:hover td{background:#f8fbff!important}
#proyectos td:first-child,#valida td:first-child{font-weight:700!important;color:#344762!important}
#proyectos td b,#valida td b{color:#0d2e59!important}

#proyectos .folder,#valida .folder{
  min-height:104px!important;
  padding:15px!important;
  border:1px solid #e1e7ef!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#11284b!important;
  box-shadow:0 2px 8px rgba(26,46,77,.04)!important;
  cursor:pointer!important;
}
#proyectos .folder:hover,#valida .folder:hover{
  border-color:#b9cef0!important;
  box-shadow:0 4px 12px rgba(26,46,77,.08)!important;
}
#proyectos .folder b,#valida .folder b{display:block!important;margin-bottom:6px!important;color:#0d2e59!important;font-size:15px!important}

#proyectos .flow,#valida .flow{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
}
#proyectos .flow span,#valida .flow span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  padding:6px 10px!important;
  border:1px solid #dce5ef!important;
  border-radius:999px!important;
  background:#f5f8fc!important;
  color:#52657e!important;
  font-size:11px!important;
  font-weight:700!important;
}
#proyectos .flow span.complete,#valida .flow span.complete{background:#e8f8ef!important;border-color:#caecd9!important;color:#168453!important}
#proyectos .flow span.active,#valida .flow span.active{background:#e9f1ff!important;border-color:#cfe0fb!important;color:#1460d2!important}

#proyectos .badge,#valida .badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  font:700 11px Arial,Helvetica,sans-serif!important;
}
#proyectos .badge.ok,#valida .badge.ok{background:#e6f8ee!important;color:#168453!important;border:1px solid #c6ead6!important}
#proyectos .badge.warn,#valida .badge.warn{background:#fff4cf!important;color:#8a6500!important;border:1px solid #f3de9c!important}
#proyectos .badge.gray,#valida .badge.gray{background:#edf1f6!important;color:#51627b!important;border:1px solid #dde4ec!important}
#proyectos .badge.blue,#valida .badge.blue{background:#e9f1ff!important;color:#1460d2!important;border:1px solid #cfe0fb!important}

#valida label{
  display:block!important;
  margin:9px 0 5px!important;
  color:#344762!important;
  font-size:12px!important;
  font-weight:700!important;
}
#valida input,#valida select,#valida textarea{
  width:100%!important;
  border:1px solid #ced8e5!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#243650!important;
  font:13px Arial,Helvetica,sans-serif!important;
  padding:8px 10px!important;
  box-shadow:none!important;
}
#valida input,#valida select{min-height:38px!important}
#valida textarea{line-height:1.45!important;resize:vertical!important}
#valida input:focus,#valida select:focus,#valida textarea:focus{
  outline:2px solid rgba(9,105,245,.12)!important;
  border-color:#79aaf2!important;
}

#valida #validaWorkspace{
  margin-top:14px!important;
  border-top:3px solid #0969f5!important;
}
#valida #validaWorkspace>.top{padding-bottom:10px!important;border-bottom:1px solid #edf0f4!important}
#valida #validaDecisionEstado{padding-top:8px!important;border-top:1px solid #edf0f4!important}

@media(max-width:1100px){
  #proyectos .grid4,#valida .grid4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #proyectos .grid3,#valida .grid3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  #proyectos,#valida{padding:16px 10px 24px!important}
  #proyectos>.top,#valida>.top,#valida #validaWorkspace>.top{flex-direction:column!important}
  #proyectos .grid4,#valida .grid4,
  #proyectos .grid3,#valida .grid3,
  #proyectos .grid2,#valida .grid2,
  #valida .grid.two{grid-template-columns:1fr!important}
  #proyectos .kpi,#valida .kpi{min-height:96px!important}
  #proyectos table,#valida table{font-size:11px!important}
}
