/* SIOV360 V21.228 · Consistencia visual y estabilidad de tablas
   Regla: menú lateral oscuro; área de trabajo clara. Verde = acción principal,
   azul = estructura/encabezado, colores semánticos solo para estados/alertas. */
:root{
  --siov228-green:#438f28;
  --siov228-green-dark:#347f25;
  --siov228-blue:#17345f;
  --siov228-blue-soft:#eef4f8;
  --siov228-text:#243b53;
  --siov228-muted:#6b7d92;
  --siov228-border:#d9e3ee;
  --siov228-surface:#ffffff;
  --siov228-soft:#f8fafc;
}

/* ---------- Superficies del workspace: nunca negro ---------- */
body.siov-persistent-mode > [id$="Screen"]:not(#loginScreen):not(#menuScreen),
#menuScreen .siov-submodule-panel,
#menuScreen .siov-workspace{
  color:var(--siov228-text)!important;
}

body.siov-persistent-mode :is(
  .admin-card,.audit-card,.finance-card,.maint-card,.maintenance-card,.sub-maint-card,
  .horom-card,.master-card,.program-card,.pm-card,.personnel-card,.weekly-card,.sso-card,
  .log-card,.logistica-card,.alert-card,.incidence-card,.owner-card,.insights-card,.siov-attachment-card
){
  background:var(--siov228-surface)!important;
  border-color:var(--siov228-border)!important;
  box-shadow:0 6px 20px rgba(23,52,95,.06)!important;
}

body.siov-persistent-mode :is(
  .form-container,.permission-item,.toolbar-data,.boleta-item,.program-kpi,.pm-info-box,
  .pm-checkitem,.pm-pdf-box,.weekly-toolbar,.weekly-kpi,.personnel-kpi,.finance-kpi,.sio-kpi,
  .payroll-item,.duplicate-summary,.personnel-document-box,.sio-box
),
#menuScreen .siov-submodule-panel :is(
  .form-container,.permission-item,.toolbar-data,.boleta-item,.program-kpi,.pm-info-box,
  .pm-checkitem,.pm-pdf-box,.weekly-toolbar,.weekly-kpi,.personnel-kpi,.finance-kpi,.sio-kpi,
  .payroll-item,.duplicate-summary,.personnel-document-box,.sio-box
){
  background:var(--siov228-surface)!important;
  color:var(--siov228-text)!important;
  border-color:var(--siov228-border)!important;
  box-shadow:none!important;
}

/* Modales funcionales también claros; se conservan bordes semánticos. */
.duplicate-modal{
  background:#fff!important;
  color:var(--siov228-text)!important;
  box-shadow:0 18px 50px rgba(23,52,95,.18)!important;
}
.duplicate-list{background:#fff!important;border-color:var(--siov228-border)!important;}
.duplicate-list :is(th,td){color:var(--siov228-text)!important;border-color:var(--siov228-border)!important;}
.duplicate-list th{background:var(--siov228-blue-soft)!important;color:var(--siov228-blue)!important;}

/* ---------- Formularios ---------- */
body.siov-persistent-mode :is(
  .input-group input,.input-group select,.input-group textarea,
  .permission-item select,.program-filter,.program-edit-input,.pm-technicians-table input,
  .weekly-toolbar input,.weekly-toolbar select,.weekly-input
),
#menuScreen .siov-submodule-panel :is(
  .input-group input,.input-group select,.input-group textarea,
  .permission-item select,.program-filter,.program-edit-input,.pm-technicians-table input,
  .weekly-toolbar input,.weekly-toolbar select,.weekly-input
){
  background:#fff!important;
  color:#1f354d!important;
  border:1px solid #cbd7e2!important;
  box-shadow:none!important;
}
body.siov-persistent-mode :is(input,select,textarea):focus,
#menuScreen .siov-submodule-panel :is(input,select,textarea):focus{
  border-color:#71b955!important;
  box-shadow:0 0 0 3px rgba(67,143,40,.12)!important;
  outline:none!important;
}

/* ---------- Botones de marca ---------- */
body.siov-persistent-mode .btn-submit,
#menuScreen .siov-submodule-panel .btn-submit{
  background:var(--siov228-green)!important;
  color:#fff!important;
  border:1px solid var(--siov228-green)!important;
  box-shadow:none!important;
}
body.siov-persistent-mode .btn-submit:hover,
#menuScreen .siov-submodule-panel .btn-submit:hover{
  background:var(--siov228-green-dark)!important;
  border-color:var(--siov228-green-dark)!important;
  box-shadow:0 4px 12px rgba(67,143,40,.18)!important;
}

/* Pestañas heredadas oscuras pasan a blanco/azul. */
body.siov-persistent-mode :is(.personnel-tab,.finance-tab,.sio-tab){
  background:#fff!important;
  color:var(--siov228-blue)!important;
  border-color:#c7d5e3!important;
  box-shadow:none!important;
}
body.siov-persistent-mode :is(.personnel-tab,.finance-tab,.sio-tab).active{
  background:var(--siov228-blue)!important;
  color:#fff!important;
  border-color:var(--siov228-blue)!important;
}

/* ---------- Panel Super Administrador ---------- */
#adminScreen{
  background:#fff!important;
  border:1px solid var(--siov228-border)!important;
  box-shadow:0 7px 22px rgba(25,43,67,.06)!important;
}
#adminScreen .form-container{
  background:#fff!important;
  border:1px solid var(--siov228-border)!important;
  box-shadow:0 1px 3px rgba(23,52,95,.04)!important;
}
#adminScreen .permission-item{
  background:var(--siov228-soft)!important;
  border:1px solid var(--siov228-border)!important;
}
#adminScreen .permission-item label{color:#40566e!important;}
#adminScreen .permission-item select{
  background:#fff!important;
  color:#243b53!important;
  border-color:#c7d5e3!important;
}
#adminScreen #usuarioSeleccionadoInfo{color:var(--siov228-green-dark)!important;}
#adminScreen #superAdminExclusiveTools .siov-submodule-card{
  background:#fff!important;
  border:1px solid var(--siov228-border)!important;
  box-shadow:none!important;
}
#adminScreen #superAdminExclusiveTools .siov-submodule-card:hover{
  background:#f7fbf4!important;
  border-color:#a9d598!important;
  transform:translateY(-1px);
}

/* ---------- Usuarios / Permisos: tabla SOLO CONSULTA ---------- */
#adminScreen .table-responsive:has(#userPermissionsTable){
  background:#fff!important;
  border:1px solid var(--siov228-border)!important;
  border-radius:12px!important;
  overflow:auto!important;
  max-height:390px!important;
}
#userPermissionsTable{
  width:100%!important;
  min-width:980px!important;
  table-layout:fixed!important;
  white-space:normal!important;
  background:#fff!important;
}
#userPermissionsTable th{
  background:var(--siov228-blue-soft)!important;
  color:var(--siov228-blue)!important;
  border-color:var(--siov228-border)!important;
}
#userPermissionsTable th:nth-child(1){width:18%;}
#userPermissionsTable th:nth-child(2){width:12%;}
#userPermissionsTable th:nth-child(3){width:9%;}
#userPermissionsTable th:nth-child(4){width:46%;}
#userPermissionsTable th:nth-child(5){width:15%;}
#userPermissionsTable td{
  background:#fff!important;
  color:var(--siov228-text)!important;
  border-color:#e5ebf1!important;
  white-space:normal!important;
  vertical-align:middle!important;
  overflow-wrap:anywhere;
}
#userPermissionsTable tbody tr:nth-child(even) td{background:#fbfdff!important;}
#userPermissionsTable .permission-summary{
  max-width:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px!important;
  padding:2px 0!important;
}
#userPermissionsTable .permission-chip{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  font-size:9px!important;
  line-height:1.15!important;
  box-shadow:none!important;
}
#userPermissionsTable .perm-edit{color:#2f7f1f!important;border-color:#a9d598!important;background:#eef8e9!important;}
#userPermissionsTable .perm-read{color:#1f5f96!important;border-color:#b9d5ea!important;background:#eef6fc!important;}
#userPermissionsTable .perm-none{color:#66788b!important;border-color:#d8e1e9!important;background:#f5f7f9!important;}
#userPermissionsTable .status-active{background:#edf9e9!important;color:#2f7f1f!important;border-color:#8fd276!important;}
#userPermissionsTable .user-row{cursor:pointer;}
#userPermissionsTable .user-row:hover td{background:#f5faf2!important;}
#userPermissionsTable .user-row-selected{outline:none!important;}
#userPermissionsTable .user-row-selected td{
  background:#f2f9ee!important;
  box-shadow:inset 0 1px 0 #b7dda8,inset 0 -1px 0 #b7dda8!important;
}
#userPermissionsTable td:last-child{white-space:normal!important;}
#userPermissionsTable td:last-child .btn-user-action{
  margin:2px!important;
  border:1px solid #c8d5e2!important;
  background:#fff!important;
  color:var(--siov228-blue)!important;
}
#userPermissionsTable td:last-child .btn-user-action:first-child{
  background:#eef8e9!important;
  color:#2f7f1f!important;
  border-color:#a9d598!important;
}

/* La tabla de usuarios no es una hoja de captura: oculta cualquier toolbar heredada
   si un navegador conserva una versión anterior en DOM durante hot reload. */
#adminScreen .table-responsive:has(#userPermissionsTable) > .siov-table-tools,
#adminScreen .table-responsive:has(#userPermissionsTable) > .siov-table-statusbar{
  display:none!important;
}
#userPermissionsTable td.siov-cell-selected,
#userPermissionsTable td.siov-cell-editable{
  box-shadow:none!important;
  outline:none!important;
  cursor:inherit!important;
}

/* ---------- Tablas generales claras ---------- */
body.siov-persistent-mode .custom-table td,
#menuScreen .siov-submodule-panel .custom-table td{
  color:var(--siov228-text)!important;
}
body.siov-persistent-mode .custom-table th,
#menuScreen .siov-submodule-panel .custom-table th{
  background:var(--siov228-blue-soft)!important;
  color:var(--siov228-blue)!important;
  border-color:var(--siov228-border)!important;
}

/* No alterar colores semánticos de alertas, riesgos o estados. */
:is(.status-warning,.status-ok,.tag-delete,.tag-edit,.tag-add,.alert-inc-badge,.ia-delete-btn){
  box-shadow:none!important;
}

@media(max-width:760px){
  #adminScreen{padding:18px!important;}
  #adminScreen .permission-grid{grid-template-columns:1fr!important;}
  #userPermissionsTable{min-width:860px!important;}
}
