:root{--bg:#111315;--panel:#181b1f;--panel2:#20242a;--line:#31363d;--text:#f4f6f8;--muted:#9da7b3;--accent:#ff8a2a;--accent2:#ffb067;--good:#72d29a;--warn:#f0c66a;--bad:#ef8585;--shadow:0 12px 35px rgba(0,0,0,.18)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:14px 24px;border-bottom:1px solid var(--line);background:rgba(17,19,21,.96);backdrop-filter:blur(12px)}.brand-block{display:flex;align-items:center;gap:12px;min-width:250px}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--accent);color:#17120d;font-weight:900;font-size:20px}.brand-block strong{display:block;font-size:16px}.brand-block span{display:block;color:var(--muted);font-size:12px}.top-nav{display:flex;justify-content:center;gap:8px}.top-tab{border:1px solid transparent;background:transparent;color:var(--muted);padding:10px 15px;border-radius:10px;cursor:pointer;font-weight:700}.top-tab:hover{background:var(--panel2);color:var(--text)}.top-tab.active{color:#111;background:var(--accent);border-color:var(--accent)}.technical-link{color:var(--muted);text-decoration:none;border:1px solid var(--line);padding:8px 11px;border-radius:9px}.technical-link:hover{color:var(--text);border-color:#59616c}.bootstrap-warning{margin:16px auto;max-width:1380px;padding:12px 16px;border:1px solid #80513b;background:#2b1e18;border-radius:12px;display:flex;gap:10px;flex-wrap:wrap}main{max-width:1460px;margin:0 auto;padding:26px}.panel{display:none}.panel.active{display:block}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.page-heading h1{font-size:30px;margin:2px 0 4px}.page-heading p{margin:0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--accent2);font-weight:800}.session-badge,.source-pill,.status-pill{border:1px solid var(--line);background:var(--panel);padding:8px 11px;border-radius:999px;color:var(--muted);white-space:nowrap}.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:18px;margin-bottom:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.card-head h2{margin:2px 0 0;font-size:20px}.search-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end}.search-grid label,.config-grid label{display:flex;flex-direction:column;gap:7px}.search-grid label span,.config-grid label span{color:var(--muted);font-weight:700;font-size:12px}input,select{width:100%;background:#101215;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:11px 12px;outline:none}input:focus,select:focus{border-color:var(--accent)}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:10px 14px;border-radius:9px;text-decoration:none;font-weight:750;cursor:pointer}.button:hover:not(:disabled){border-color:#58616d}.button.primary{background:var(--accent);color:#17120d;border-color:var(--accent)}.button.secondary{background:#23282e}.button:disabled{opacity:.45;cursor:not-allowed}.inline-state{margin-top:12px}.muted{color:var(--muted)}.table-wrap{overflow:auto;margin-top:14px}.group-table,.data-grid{width:100%;border-collapse:collapse;min-width:860px}.group-table th,.group-table td,.data-grid th,.data-grid td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.group-table th,.data-grid th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.group-table tbody tr[data-group-id]{cursor:pointer}.group-table tbody tr[data-group-id]:hover,.group-table tbody tr.selected{background:#20252b}.placeholder td{text-align:center;color:var(--muted);padding:28px}.actions-col{width:190px}.row-actions{display:flex;gap:7px;align-items:center}.icon-btn{width:36px;height:34px;border-radius:8px;border:1px solid var(--line);background:#111418;color:var(--text);cursor:pointer;font-size:17px}.icon-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent2)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn.pdf{font-size:11px;font-weight:900;width:44px}.action-legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:10px}.group-workspace{margin-top:20px}.hidden{display:none!important}.selected-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:16px 4px}.selected-header h2{margin:2px 0 3px}.selected-header p{margin:0;color:var(--muted)}.subtabs{display:flex;gap:6px;overflow:auto;padding-bottom:1px;border-bottom:1px solid var(--line)}.subtab{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);padding:11px 13px;cursor:pointer;font-weight:700;white-space:nowrap}.subtab.active{color:var(--text);border-bottom-color:var(--accent)}.subtab-content{background:var(--panel);border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;padding:18px;min-height:210px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.metric{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:13px}.metric small{display:block;color:var(--muted);margin-bottom:5px}.metric strong{font-size:15px}.section-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.section-toolbar h3{margin:0}.state-good{color:var(--good)}.state-warn{color:var(--warn)}.state-bad{color:var(--bad)}.result-box{margin-top:12px;padding:12px;border-radius:10px;background:#111418;border:1px solid var(--line);color:var(--muted)}.xml-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.xml-card{display:flex;flex-direction:column;gap:12px}.xml-card p{color:var(--muted);margin:0}.file-drop{display:flex;flex-direction:column;gap:6px;border:1px dashed #56606c;border-radius:11px;padding:16px;cursor:pointer;background:#13161a}.file-drop input{display:none}.file-drop span{color:var(--muted);font-size:12px}.signature-note p{margin:6px 0 0;color:var(--muted)}.config-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.config-actions{display:flex;gap:10px;margin-top:16px}.privacy-box{margin-top:12px;border-left:3px solid var(--good);padding:10px 12px;background:#142019;color:#b9d8c4}.toast{position:fixed;right:22px;bottom:22px;background:#242a31;border:1px solid #4b5561;border-radius:11px;padding:12px 15px;max-width:420px;transform:translateY(30px);opacity:0;pointer-events:none;transition:.2s;z-index:50}.toast.show{transform:none;opacity:1}.toast.error{border-color:#7c3f3f;background:#2a1717}.loader{display:inline-block;width:14px;height:14px;border:2px solid #555;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:11px}.note{padding:12px 14px;border-radius:10px;background:#191f24;border:1px solid var(--line);color:var(--muted)}@media(max-width:900px){.app-header{grid-template-columns:1fr;gap:10px}.top-nav{justify-content:flex-start;overflow:auto}.technical-link{position:absolute;right:16px;top:16px}.search-grid,.config-grid,.xml-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}main{padding:18px}.page-heading{flex-direction:column}}@media(max-width:560px){.summary-grid{grid-template-columns:1fr}.brand-block{min-width:0}.technical-link{position:static}.app-header{padding:12px}}
.button.danger{background:#5b2525;border-color:#7f3a3a;color:#ffdede}.button.danger:hover:not(:disabled){border-color:#a64c4c}.xml-actions{display:flex;gap:8px;flex-wrap:wrap}.write-guard-card{border-color:#5b4130;background:#1d1916}.write-guard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}.write-guard-grid label{display:flex;flex-direction:column;gap:7px}.check-line{flex-direction:row!important;align-items:center;gap:9px!important;padding:10px 0}.check-line input{width:auto}.result-box.compact{margin-top:0}.config-card+.config-card{margin-top:16px}
@media(max-width:900px){.write-guard-grid{grid-template-columns:1fr}}

/* Revisión previa de escrituras remotas FUNDAE */
.fundae-confirm-overlay{position:fixed;inset:0;background:rgba(10,16,26,.68);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.fundae-confirm-dialog{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--card-bg,#fff);color:var(--text,#222);background:#fff;color:#231b13;border-radius:14px;padding:24px;box-shadow:0 18px 70px #0005;outline:none}
.fundae-confirm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fundae-confirm-head h2{margin:0;font-size:1.3rem}.fundae-confirm-close{border:0;background:transparent;font-size:28px;cursor:pointer}
.fundae-confirm-dialog dl{display:grid;grid-template-columns:minmax(100px,34%) 1fr;gap:8px 14px;margin:20px 0}.fundae-confirm-dialog dt{font-weight:600;color:#666}.fundae-confirm-dialog dd{margin:0;overflow-wrap:anywhere}.fundae-confirm-warning{background:#fff3e9;border-left:4px solid #fe5000;padding:12px}.fundae-confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}


/* Formintegral brand skin v0.13.49 — visual only; preserve safety/control JS. */
:root{color-scheme:light;--bg:#f6f7fb;--panel:#ffffff;--panel2:#f1f3f9;--line:#e1e5ee;--text:#161a25;--muted:#626c7b;--accent:#3c42d9;--accent2:#343aca;--good:#197451;--warn:#a6670c;--bad:#bd3545;--shadow:0 10px 32px rgba(28,37,69,.06)}
body{background:var(--bg);color:var(--text);font-family:Inter,'Segoe UI',system-ui,sans-serif}
.app-header{background:rgba(255,255,255,.97);border-bottom-color:#e5e7f0;box-shadow:0 4px 24px rgba(22,31,60,.035);gap:20px}
.brand-block{gap:20px;min-width:0}.brand-mark{display:none}.formintegral-logo{display:block;width:clamp(155px,15vw,218px);height:auto;max-height:50px;object-fit:contain;object-position:left center;flex:none}
.brand-descriptor{border-left:1px solid #d9dde8;padding-left:16px}.brand-descriptor strong{font-size:13px;color:#171924}.brand-descriptor span{font-size:11px;color:#6d7483}
.top-nav{gap:5px}.top-tab{font-size:13px;border-radius:999px}.top-tab.active{background:var(--accent);color:white;border-color:var(--accent);box-shadow:0 3px 10px #3c42d925}.top-tab:hover{background:#edf0ff;color:var(--accent)}.top-tab.active:hover{background:#3439c0;color:white}
.technical-link{border-color:#e0e3ed;color:#484e60;background:white}.technical-link:hover{color:var(--accent);border-color:var(--accent)}
.eyebrow{color:var(--accent)}.page-heading h1{font-weight:800;letter-spacing:-.035em}.card{border-radius:20px}.card-head h2{letter-spacing:-.02em}
input,select,textarea{background:white!important;color:var(--text)!important;border:1px solid #ccd3e0!important;border-radius:11px!important}input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;outline:3px solid #3c42d91a}.button{border-radius:999px;background:white;color:#2d3441;border-color:#dfe3ec}.button:hover:not(:disabled){background:#eef0ff;border-color:#777ce1;color:#292eb0}.button.primary{background:var(--accent);border-color:var(--accent);color:white}.button.primary:hover:not(:disabled){background:#3036bd;color:white}.button.secondary{background:#f3f4ff;color:#343ac0;border-color:#dcdefd}.button.danger{background:#b83648;border-color:#b83648;color:white}
.icon-btn{background:white;color:#343847;border-color:#e0e4ed}.icon-btn:hover:not(:disabled){background:#eeefff;color:var(--accent)}
.group-table th,.data-grid th{background:#f1f3fa;color:#525c70}.group-table td,.data-grid td{border-bottom-color:#e8ebf2}.group-table tbody tr[data-group-id]:hover,.group-table tbody tr.selected{background:#eff0ff}.table-wrap{border:1px solid #e6e9f1;border-radius:14px}
.subtab.active{color:var(--accent)}.subtab:hover{color:var(--accent)}.subtab-content{background:white}.source-pill,.session-badge,.status-pill{background:#f7f8fc;color:#576071}.result-box,.note{background:#f6f8fc;color:#55606f}.file-drop{background:#fafbff;border-color:#b6c0dc}.file-drop:hover{border-color:var(--accent)}.write-guard-card{background:#fffaf3;border-color:#f2d9b6}.privacy-box{background:#e9f7ef;color:#235f43}.bootstrap-warning{background:#fff4e9;color:#804516;border-color:#f5d8b8}
.toast{background:#212541;color:white;border-color:#444c7a}.toast.error{background:#7d2533;color:white;border-color:#a6384a}.fundae-confirm-overlay{background:rgba(22,27,54,.55)}.fundae-confirm-dialog{background:white;color:#171924;border:1px solid #e5e8f2;border-radius:22px;box-shadow:0 30px 90px #18203b3d}.fundae-confirm-warning{background:#fff7e9;border-color:#e1a038;color:#80511d}.fundae-confirm-actions .button.primary{background:var(--accent);color:white}
@media(max-width:1100px){.brand-descriptor{display:none}.app-header{gap:10px}}
@media(max-width:900px){.app-header{grid-template-columns:1fr}.brand-descriptor{display:block}.formintegral-logo{width:180px;max-height:44px}.top-nav{justify-content:flex-start}}
@media(max-width:560px){.brand-descriptor{display:none}.formintegral-logo{width:170px}}

/* Identidad oficial FUNDAE y documentación de integración Previnapp */
.header-right{display:flex;align-items:center;gap:14px;justify-content:flex-end}.fundae-official-logo{height:39px;max-width:138px;width:auto;object-fit:contain}.dev-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dev-grid .card{margin-bottom:0}.dev-grid code{font-size:12px;line-height:2.1;overflow-wrap:anywhere}.dev-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.dev-flow span{padding:10px 14px;border:1px solid #dfe3f1;border-radius:14px;background:#f4f5ff;color:#292f91;font-weight:650}.dev-flow b{color:#8a91ac}@media(max-width:1050px){.header-right{gap:8px}.fundae-official-logo{height:32px;max-width:110px}}@media(max-width:700px){.dev-grid{grid-template-columns:1fr}.header-right{justify-content:flex-start;flex-wrap:wrap}.app-header{position:relative}}

/* 0.13.55 · Revisión completa del XML antes de enviar; solo lectura local. */
.fundae-confirm-dialog:has(.fundae-xml-preview){width:min(900px,98vw)}
.fundae-xml-preview{margin:14px 0;border:1px solid #dfe4f0;border-radius:16px;overflow:hidden;background:#fafbff}
.fundae-xml-preview-head{padding:12px 16px;border-bottom:1px solid #e5e8f2;display:flex;flex-direction:column;gap:3px}
.fundae-xml-preview-head small{color:#677185}
.fundae-xml-entry-list{max-height:43vh;overflow:auto;padding:10px}
.fundae-xml-entry,.fundae-xml-nested{background:white;border:1px solid #e0e5ee;border-radius:10px;margin:6px 0;overflow:hidden}
.fundae-xml-entry>summary,.fundae-xml-nested>summary{cursor:pointer;padding:10px 12px;color:#23294b}
.fundae-xml-entry>summary small{display:block;margin:3px 0 0 16px;color:#737e90;font-weight:400}
.fundae-xml-entry[open]>summary,.fundae-xml-nested[open]>summary{background:#f1f3ff}
.fundae-xml-content,.fundae-xml-children{padding:8px 12px}
.fundae-xml-children{border-left:2px solid #dce0fa;margin-left:14px;padding-left:11px}
.fundae-xml-field{display:grid;grid-template-columns:minmax(130px,38%) 1fr;gap:12px;padding:7px 3px;border-bottom:1px solid #edf0f5;overflow-wrap:anywhere}
.fundae-xml-field:last-child{border-bottom:0}
.fundae-xml-field span{color:#667185}.fundae-xml-field strong{font-weight:550;color:#202436;white-space:pre-wrap}
@media(max-width:600px){.fundae-xml-field{grid-template-columns:1fr;gap:3px}.fundae-confirm-dialog:has(.fundae-xml-preview){padding:14px}}

/* 0.13.58 · Logotipos oficiales enlazados, con foco visible para teclado. */
.logo-link{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0;text-decoration:none;border-radius:4px}
.logo-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* Identidad del laboratorio v0.13.59. El matraz no sustituye los logotipos oficiales. */
.lab-identity{display:flex;align-items:center;gap:11px;min-width:0;flex:none}
.laboratorio-logo{display:block;width:54px;height:54px;object-fit:contain;flex:none;padding:0;border:none;border-radius:0;background:transparent}
.lab-identity .brand-descriptor{margin-left:1px}
@media(max-width:1100px){.lab-identity .brand-descriptor{display:none}.laboratorio-logo{width:48px;height:48px}}
@media(min-width:901px) and (max-width:1100px){.brand-block{gap:12px}.lab-identity{gap:0}}
@media(max-width:900px){.lab-identity .brand-descriptor{display:block}}
@media(max-width:560px){.lab-identity .brand-descriptor{display:none}.laboratorio-logo{width:44px;height:44px}}

/* 0.13.60 · Identidad Elementor facilitada por Formintegral. Sin incorporar su runtime. */
:root {
    --e-global-color-primary: #6EC1E4;
    --e-global-color-secondary: #54595F;
    --e-global-color-text: #7A7A7A;
    --e-global-color-accent: #61CE70;
    --e-global-color-0f7e28c: #3D47D7;
    --e-global-color-8171cc1: #1CFDC7;
    --e-global-color-23aa61c: #81FEE0;
    --e-global-color-bcc8b32: #FFFFFF;
    --e-global-typography-primary-font-family: "Raleway";
    --e-global-typography-primary-font-weight: 600;
    --e-global-typography-secondary-font-family: "Raleway";
    --e-global-typography-secondary-font-weight: 400;
    --e-global-typography-text-font-family: "Raleway";
    --e-global-typography-text-font-weight: 400;
    --e-global-typography-accent-font-family: "Raleway";
    --e-global-typography-accent-font-weight: 500;
    --e-page-transition-entrance-animation: e-page-transition-fade-out;
    --e-page-transition-exit-animation: e-page-transition-fade-in;
    --e-page-transition-animation-duration: 200ms;
    --e-preloader-animation: pulse;
    --e-preloader-animation-duration: 1500ms;
    --e-preloader-delay: 0ms;
    --e-preloader-width: 150px;
    --accent: #3D47D7;
    --accent2: #343ACA;
}
/* Raleway se usa cuando está disponible, sin contactar con terceros desde el navegador. */
body, input, button, select, textarea { font-family: "Raleway", "Segoe UI", Arial, sans-serif; }
/* 0.13.63 · Franja de contacto con estructura, medidas e iconos FA5 de Formintegral. */
.formintegral-utility-bar {
    display:block;
    width:100%;
    min-height:40px;
    padding:0;
    margin:0;
    background:#81FEE0;
    color:#3D47D7;
    font-family:"Raleway", "Segoe UI", Arial, sans-serif;
    font-size:13px;
    font-weight:400;
    line-height:1.5;
    border:0;
}
.formintegral-utility-inner {
    width:100%;
    max-width:1140px; /* Elementor: .elementor-section-boxed > .elementor-container */
    min-height:40px;
    margin-inline:auto;
    padding-inline:10px; /* Elementor: columnas con gap por defecto */
    display:flex;
    justify-content:flex-end;
    align-items:center;
}
.formintegral-utility-links {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:24px;
    margin:0;
    padding:0;
    list-style:none;
}
.formintegral-utility-links li {
    margin:0;
    padding:0;
    list-style:none;
}
.formintegral-utility-links a {
    min-height:40px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0;
    border:0;
    color:#3D47D7;
    text-decoration:none;
    white-space:nowrap;
    font:inherit;
}
.formintegral-utility-links .fi-fa {
    display:block;
    flex:none;
    width:auto;
    height:13px;
    max-width:16px;
    overflow:visible;
}
.formintegral-utility-links a:hover, .formintegral-utility-links a:focus-visible {color:#2730A9;text-decoration:none;}
.formintegral-utility-links a:focus-visible {outline:2px solid #3D47D7;outline-offset:3px;border-radius:2px;}
@media(min-width:768px) and (max-width:1160px) {
    .formintegral-utility-inner {padding-inline:20px;}
}
/* Elementor hidden-mobile: conservar la cabecera principal del laboratorio en móvil. */
@media(max-width:767px) { .formintegral-utility-bar {display:none;} }

/* 0.13.64 · Diagnóstico técnico integrado como pestaña de navegación. */
.top-nav .top-tab-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;line-height:normal}
.top-nav .top-tab-link:focus-visible{outline:2px solid #3D47D7;outline-offset:3px}
@media(max-width:900px){.top-nav{min-width:0;flex-wrap:wrap;overflow:visible}}

/* 0.13.65 · Diagnóstico dentro del mismo workspace, sin navegación fuera de la cabecera. */
.technical-frame{display:block;width:100%;height:620px;min-height:520px;border:0;border-radius:12px;background:transparent;}
.formintegral-utility-links a{transition:color 140ms ease;text-decoration:none;}
.formintegral-utility-links a:visited{color:#3D47D7;}
.formintegral-utility-links a:hover,.formintegral-utility-links a:focus-visible{color:#2730A9!important;text-decoration:none!important;}
