/* SIOV360 PREDICTIVO 0.1.0-DEV
   Capa visual aislada para la rama del practicante.
   Mantiene los IDs internos heredados para no romper compatibilidad. */

:root{
  --siov-predictivo-accent:#65c83d;
  --siov-predictivo-ink:#123b72;
  --siov-predictivo-soft:#f4fbf1;
}

/* La rama Predictivo no expone el dashboard de mantenimiento preventivo/correctivo. */
#menuScreen [data-main-panel="mantenimiento"] .siov-maint-v193-analytics{display:none!important}

/* Configuración PM heredada queda fuera del alcance visible de esta rama. */


/* Evita duplicar Predictivo dentro de Operaciones. */
button[onclick*="abrirRubroOperacionesV196('predictivo')"]{display:none!important}

/* Pantalla legacy de Mantenimiento fuera de la navegación de esta rama. */
#maintScreen{display:none!important}

.siov-predictivo-home-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:14px!important;
}
.siov-predictivo-home-grid .siov-maint-v193-subcard{
  min-height:118px;
  align-items:flex-start;
}
.siov-predictivo-home-grid .siov-maint-v193-subcard .ico{
  font-size:24px;
}
.siov-predictivo-home-grid .siov-maint-v193-subcard b{
  color:var(--siov-predictivo-ink);
}
.siov-predictivo-priority{
  border:2px solid var(--siov-predictivo-accent)!important;
  background:linear-gradient(180deg,#ffffff,var(--siov-predictivo-soft))!important;
  box-shadow:0 10px 24px rgba(77,166,50,.14)!important;
  position:relative;
}
.siov-predictivo-priority::after{
  content:"PRIORIDAD 1";
  position:absolute;
  top:10px;
  right:10px;
  padding:4px 8px;
  border-radius:999px;
  background:var(--siov-predictivo-accent);
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
}

.siov-predictivo-scope{
  margin-top:16px;
  border:1px solid #dbe8d7;
  background:#fff;
  border-radius:16px;
  padding:16px 18px;
  box-shadow:0 7px 20px rgba(18,59,114,.06);
}
.siov-predictivo-scope h3{
  color:var(--siov-predictivo-ink);
  font-size:14px;
  margin:0 0 7px;
}
.siov-predictivo-scope p{
  color:#60738a;
  font-size:12px;
  line-height:1.5;
  margin:0;
}
.siov-predictivo-scope strong{color:#3d9722}
.siov-predictivo-scope .siov-predictivo-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:11px;
}
.siov-predictivo-scope .siov-predictivo-tags span{
  background:#eef5fb;
  color:#244c78;
  border:1px solid #d8e5f1;
  border-radius:999px;
  padding:5px 9px;
  font-size:10px;
  font-weight:800;
}

.siov-predictivo-dashboard-card .siov-dashboard-actions .siov-map-toggle{
  border-color:#73c553!important;
}

/* Marca visible de entorno DEV para evitar confundir esta copia con producción. */
body::after{
  content:"PREDICTIVO · CORR 038 · DEV";
  position:fixed;
  right:12px;
  bottom:12px;
  z-index:2147483000;
  pointer-events:none;
  background:rgba(3,11,30,.88);
  color:#8ee56d;
  border:1px solid rgba(142,229,109,.45);
  border-radius:999px;
  padding:6px 10px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}

@media (max-width:900px){
  .siov-predictivo-home-grid{grid-template-columns:1fr!important}
  .siov-predictivo-priority::after{position:static;display:inline-block;margin-left:auto}
}

.siov-predictivo-dev-entry{
  margin-top:14px;
  padding:12px;
  border:1px dashed rgba(142,229,109,.5);
  border-radius:14px;
  background:rgba(12,31,57,.72);
  color:#fff;
}
.siov-predictivo-dev-entry>div{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.siov-predictivo-dev-entry b{font-size:11px;color:#8ee56d}
.siov-predictivo-dev-entry span{font-size:10px;color:#b7c6d8;line-height:1.35}
.siov-predictivo-dev-entry button{
  width:100%;border:1px solid #67c943;background:#183d2a;color:#fff;border-radius:10px;padding:10px 12px;
  font-size:10px;font-weight:900;cursor:pointer;
}
.siov-predictivo-dev-entry button:hover{background:#205335}

.siov-predictivo-ndt-panel{margin:18px 0;padding:22px;border:1px solid #d8e5f1;border-radius:16px;background:#fff;color:#123b72}
.siov-predictivo-ndt-panel h2{margin:0 0 8px;font-size:20px}
.siov-predictivo-ndt-panel p{margin:0 0 18px;color:#60738a}
.siov-predictivo-ndt-panel button{padding:10px 16px;border:1px solid #b7d0e8;border-radius:9px;background:#eef5fb;color:#123b72;cursor:pointer}
.siov-predictivo-ndt-panel[hidden]{display:none}

.siov-predictivo-ndt-form{display:grid;grid-template-columns:auto minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;gap:12px;margin:20px 0}
.siov-predictivo-ndt-form label{font-size:13px;font-weight:800}
.siov-predictivo-ndt-form select{width:100%;min-height:40px;padding:8px;border:1px solid #b7d0e8;border-radius:8px;background:#fff;color:#123b72}
#siovNdtActionContent:not(:empty){padding:14px;margin-bottom:16px;border-radius:8px;background:#eef5fb}
.siov-m193-predictive-grid[hidden],.siov-m193-predictive-note[hidden]{display:none!important}
@media(max-width:800px){.siov-predictivo-ndt-form{grid-template-columns:1fr}}

.siov-predictivo-ndt-history{display:grid;grid-template-columns:180px minmax(220px,1fr);align-items:center;gap:12px;margin:16px 0}
.siov-predictivo-ndt-history label{font-weight:800;font-size:12px}
.siov-predictivo-ndt-history select{min-height:40px;padding:8px;border:1px solid #b7d0e8;border-radius:8px;background:#fff;color:#123b72}
@media(max-width:800px){.siov-predictivo-ndt-history{grid-template-columns:1fr}}

#masterLegacyHost{display:none!important}
#masterPaginacion{display:none!important}
.siov-ndt-master-table{max-height:65vh;overflow:auto}
.siov-ndt-master-table table{min-width:1180px}
.siov-ndt-image-button{padding:7px 10px;border:1px solid #2d527a;border-radius:7px;background:#173b5e;color:#fff;cursor:pointer;font-weight:800;white-space:nowrap}
.siov-ndt-image-dialog{max-width:min(94vw,1100px);max-height:94vh;padding:16px;border:1px solid #d8e5f1;border-radius:12px;background:#fff}
.siov-ndt-image-dialog::backdrop{background:rgba(3,11,30,.8)}
.siov-ndt-image-dialog img{display:block;max-width:88vw;max-height:80vh;object-fit:contain;margin-top:12px}
.siov-ndt-image-dialog button{padding:8px 12px;border:0;border-radius:7px;background:#173b5e;color:#fff;cursor:pointer}

#loginScreen .siov-predictivo-login-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;z-index:111}
#loginScreen .siov-predictivo-login-actions .btn-submit{width:100%;margin:0}
#loginScreen #siovPredictivoDevPreview{width:100%;min-height:47px;border:1px solid #8ee56d;border-radius:9px;background:#183d2a;color:#fff;font-size:11px;font-weight:900;cursor:pointer;pointer-events:auto}
#loginScreen #siovPredictivoDevPreview:hover{background:#25643d}
@media(max-width:420px){#loginScreen .siov-predictivo-login-actions{grid-template-columns:1fr}}
/* Selector NDT y pantalla independiente de cada acción. */
.siov-predictivo-ndt-form{grid-template-columns:repeat(3,auto minmax(155px,1fr));gap:10px 12px}
.siov-ndt-selector-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.siov-predictivo-ndt-panel button:disabled{opacity:.5;cursor:not-allowed}
.siov-predictivo-ndt-panel #siovNdtContinue:not(:disabled){background:#267b40;border-color:#267b40;color:#fff}
.siov-ndt-detail-screen{box-sizing:border-box;width:100%;min-height:100vh;padding:24px;background:#fff;color:#173b5e}
.siov-ndt-detail-screen[hidden]{display:none!important}
.siov-ndt-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:start;padding-bottom:16px;border-bottom:1px solid #dce6ef}
.siov-ndt-detail-head span{font-size:11px;font-weight:900;color:#34802c}.siov-ndt-detail-head h1{margin:6px 0;font-size:23px}
.siov-ndt-detail-head button{padding:10px 14px;border:1px solid #b7cde2;border-radius:8px;background:#eef5fb;color:#173b5e;cursor:pointer;font-weight:800}
#siovNdtDetailScreen #siovNdtActionContent{padding:20px 0;background:transparent}
@media(max-width:1050px){.siov-predictivo-ndt-form{grid-template-columns:auto minmax(180px,1fr)}}
@media(max-width:560px){.siov-predictivo-ndt-form{grid-template-columns:1fr}}

.siov-ndt-scheme-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.siov-ndt-upload{display:inline-block;margin-top:14px;padding:12px 18px;border-radius:8px;background:#173b5e;color:white;font-weight:800;cursor:pointer}.siov-ndt-upload[hidden]{display:none}.siov-ndt-scheme-help{font-size:14px;color:#334c65}

/* CORR 030 · Estado NDT de Componentes */
.siov-ndt-status-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #d8e5f1;padding-bottom:14px}.siov-ndt-status-head span{font-size:9px;font-weight:900;letter-spacing:.07em;color:#3d9722}.siov-ndt-status-head h2{margin:5px 0 4px}.siov-ndt-status-head p{margin:0!important;font-size:11px;color:#64748b}
.siov-ndt-status-filters{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:10px;margin:16px 0}.siov-ndt-status-filters label{display:grid;gap:5px;font-size:9px;font-weight:900}.siov-ndt-status-filters select{box-sizing:border-box;width:100%;min-height:38px;padding:7px;border:1px solid #b7d0e8;border-radius:8px;background:#fff;color:#173b5e}.siov-ndt-status-filter-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.siov-ndt-status-filter-actions .primary{background:#267b40!important;border-color:#267b40!important;color:#fff!important}
.siov-ndt-status-note{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #d8e5f1;border-radius:9px;background:#f8fbfd;font-size:9px;line-height:1.45}.siov-ndt-status-note b{white-space:nowrap;color:#173b5e}.siov-ndt-status-note span{color:#64748b}.siov-ndt-status-count{margin:12px 0 8px;font-size:10px;font-weight:900;color:#64748b}
.siov-ndt-status-table-wrap{overflow:auto;max-height:62vh;border:1px solid #d8e5f1;border-radius:10px}.siov-ndt-status-table-wrap table{border-collapse:collapse;width:100%;min-width:2100px;font-size:9px}.siov-ndt-status-table-wrap th{position:sticky;top:0;z-index:2;background:#f0b90b;color:#111827;padding:9px 8px;border-right:1px solid #aa8a17;white-space:normal;min-width:90px}.siov-ndt-status-table-wrap td{padding:8px;border-bottom:1px solid #dce6ef;border-right:1px solid #edf2f7;vertical-align:top;color:#173b5e;line-height:1.35}.siov-ndt-status-table-wrap td small{display:block;margin-top:3px;color:#64748b}.siov-ndt-status-empty{text-align:center!important;padding:24px!important;color:#64748b!important;font-weight:800}
.siov-ndt-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:94px;padding:5px 7px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap;border:1px solid transparent}.siov-ndt-status-badge.ok{background:#dcfce7;color:#166534;border-color:#86efac}.siov-ndt-status-badge.due{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.siov-ndt-status-badge.warning{background:#ffedd5;color:#9a3412;border-color:#fdba74}.siov-ndt-status-badge.manual{background:#e0f2fe;color:#075985;border-color:#7dd3fc}.siov-ndt-status-badge.neutral{background:#e2e8f0;color:#475569;border-color:#cbd5e1}
.siov-ndt-pdf-btn{padding:6px 8px!important;border-radius:7px!important;background:#173b5e!important;color:#fff!important;border-color:#173b5e!important;font-size:8px!important;font-weight:900!important;white-space:nowrap}
.siov-ndt-pdf-dialog{width:min(1040px,calc(100vw - 24px));height:min(86vh,900px);padding:0;border:1px solid #b7cde2;border-radius:12px;background:#fff}.siov-ndt-pdf-dialog::backdrop{background:rgba(2,6,23,.76)}.siov-ndt-pdf-dialog>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid #d8e5f1;color:#173b5e}.siov-ndt-pdf-dialog>div button{padding:7px 9px;border:1px solid #b7cde2;border-radius:7px;background:#eef5fb;color:#173b5e;font-weight:900;cursor:pointer}.siov-ndt-pdf-dialog iframe{display:block;width:100%;height:calc(100% - 48px);border:0;background:#f8fafc}
.siov-ndt-master-strategy-cell{min-width:210px}.siov-ndt-master-strategy-cell small{display:block;margin-top:5px;max-width:240px;color:#64748b;font-size:8px;line-height:1.35;white-space:normal}
html.dark .siov-ndt-status-filters select,html[data-siov-theme="dark"] .siov-ndt-status-filters select{background:#0f172a;color:#f8fafc;border-color:#334155}html.dark .siov-ndt-status-note,html[data-siov-theme="dark"] .siov-ndt-status-note{background:#111827;border-color:#334155}html.dark .siov-ndt-status-table-wrap td,html[data-siov-theme="dark"] .siov-ndt-status-table-wrap td{color:#e2e8f0;border-color:#334155}
@media(max-width:1100px){.siov-ndt-status-filters{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:620px){.siov-ndt-status-head{flex-direction:column}.siov-ndt-status-filters{grid-template-columns:1fr}.siov-ndt-status-note{flex-direction:column}.siov-ndt-status-filter-actions button{flex:1}}


/* CORR 035 · Máster Predictivo: retirar formulario legacy de datos generales.
   Los controles se conservan ocultos únicamente para compatibilidad de lectura/guardado
   de equipos existentes; la UI de esta rama administra solo la estructura predictiva. */
#masterScreen .toolbar-data > .btn-add-item[onclick*="toggleFormularioNuevoEquipo"]{display:none!important}
#masterScreen #formAgregarEquipo > .siov-global-collapse-toolbar,
#masterScreen #formAgregarEquipo > .siov-form-sync-grid,
#masterScreen #formAgregarEquipo > .siov-form-sync-stash,
#masterScreen #formAgregarEquipo > h4,
#masterScreen #formAgregarEquipo > div[style*="display:grid"]{display:none!important}
#masterScreen #formAgregarEquipo > #siovNdtEditor{display:block!important}

/* CORR 036 · Máster Predictivo: recuperar alta/edición con formulario compacto.
   Los campos visibles reflejan exactamente la información base de la tabla Predictivo. */
#masterScreen .toolbar-data > .btn-add-item[onclick*="toggleFormularioNuevoEquipo"]{display:inline-flex!important}
#masterScreen #formAgregarEquipo > #siovNdtEditor{display:none!important}
#masterScreen #formAgregarEquipo > #siovPredictiveMasterQuickForm{display:block!important}
.siov-predictive-master-quick-form{margin:4px 0 14px;padding:14px;border:1px solid #d8e4ef;border-radius:12px;background:#f8fbfe}
.siov-pmq-grid{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:10px;align-items:end}
.siov-pmq-grid label{display:flex;flex-direction:column;gap:6px;color:#49627f;font-size:10px;font-weight:900;text-transform:uppercase}
.siov-pmq-grid input,.siov-pmq-grid select{width:100%;min-width:0;border:1px solid #c8d7e6;border-radius:8px;background:#fff;color:#18324e;padding:10px 11px;font-size:11px;outline:none}
.siov-pmq-grid input:focus,.siov-pmq-grid select:focus{border-color:#65b82e;box-shadow:0 0 0 2px rgba(101,184,46,.12)}
.siov-pmq-note{margin:10px 0 0;color:#71859c;font-size:9px;line-height:1.45}
html.dark .siov-predictive-master-quick-form,html[data-siov-theme="dark"] .siov-predictive-master-quick-form{background:#0b1b2d;border-color:#28435f}
html.dark .siov-pmq-grid label,html[data-siov-theme="dark"] .siov-pmq-grid label{color:#a8bad0}
html.dark .siov-pmq-grid input,html.dark .siov-pmq-grid select,html[data-siov-theme="dark"] .siov-pmq-grid input,html[data-siov-theme="dark"] .siov-pmq-grid select{background:#0f172a;color:#f8fafc;border-color:#334155}
@media(max-width:1300px){.siov-pmq-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}}
@media(max-width:720px){.siov-pmq-grid{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.siov-pmq-grid{grid-template-columns:1fr}}
