:root{--ink:#17212b;--muted:#5b6975;--line:#dbe3e8;--canvas:#f3f6f8;--surface:#fff;--navy:#003b5c;--blue:#0879bb;--blue-pale:#e8f4fb;--green:#16774a;--green-pale:#e8f6ed;--amber-pale:#fff5db;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#edf3f7 0,var(--canvas) 290px)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:10px 14px;font-weight:650}button:hover{border-color:var(--blue);background:#f7fbfe}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #63b8e8;outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}.shell{max-width:1080px;margin:0 auto;padding:34px 22px 72px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 28px rgba(30,60,80,.06)}.login-card{max-width:460px;margin:11vh auto;padding:34px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--blue)}h1{font-size:32px;letter-spacing:-.025em;line-height:1.12;margin:7px 0}h2{font-size:24px;letter-spacing:-.018em;line-height:1.2;margin:0}h3{font-size:13px;letter-spacing:.075em;color:var(--navy);margin:0 0 14px;font-weight:850}h4{font-size:15px;margin:0 0 8px}p{line-height:1.5}.login-help,.header-subtitle{margin:0;color:var(--muted)}label{display:block;font-size:13px;font-weight:750;margin:18px 0 7px}input,select,textarea{width:100%;border:1px solid #bfcbd3;border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #d7effc;outline:none}.primary{background:var(--navy);border-color:var(--navy);color:#fff}.primary:hover{background:#00517d;border-color:#00517d}.secondary{background:transparent;color:var(--navy)}.login-card .primary{width:100%;margin-top:16px}#loginError,.error{color:#b3261e;font-weight:650}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:0 0 18px}.topbar h1{color:var(--navy)}nav{display:flex;gap:4px;margin:0 0 16px;padding:4px;background:#dfe8ed;border-radius:11px;width:max-content}nav button{border:0;background:transparent;color:var(--muted);padding:8px 12px}nav button:first-child{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(10,30,45,.12)}.search-card{padding:22px 24px}.privacy-note{margin:0;padding:11px 13px;border-left:4px solid #d89b18;background:var(--amber-pale);color:#49340c;font-size:14px}.query-row{display:grid;grid-template-columns:1fr auto;gap:10px}.examples{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:15px;font-size:13px;color:var(--muted)}.examples button{padding:7px 10px;border-radius:999px;background:#f7fafb;font-size:13px}#status{min-height:1.5rem;margin:14px 2px;color:var(--muted);font-size:14px}.result-card{margin-top:18px;padding:0 28px 28px;overflow:hidden}.result-head{margin:0 -28px;padding:27px 28px 24px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#f7fbfd 0,#e8f4fa 100%)}.result-head h2{color:var(--navy);max-width:760px}.result-head p{margin:10px 0;color:#354957;max-width:820px}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.badge.ok{background:var(--green-pale);color:var(--green)}.section{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;clear:both}.section:first-of-type{border-top:0}.section[data-section="validacion"]{background:#f7fbfe;margin-left:-12px;margin-right:-12px;padding:18px 12px;border-radius:12px;border:1px solid #d8ebf5}.validation-card{position:relative;border:1px solid #cde2ee;border-radius:12px;padding:14px 15px;margin:10px 0;background:#fff}.validation-card h4{color:var(--navy)}.validation-card ul{margin:8px 0 0;padding-left:20px}.validation-card+.validation-card:before{content:"Si no supera el nivel anterior";display:block;position:absolute;top:-25px;left:0;font-size:12px;color:var(--muted)}.step-list{counter-reset:steps;list-style:none;padding:0;margin:0;max-width:850px}.step-list li{counter-increment:steps;position:relative;padding:0 0 15px 42px;line-height:1.5}.step-list li:before{content:counter(steps);position:absolute;left:0;top:-2px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--blue-pale);color:var(--navy);font-size:13px;font-weight:850}.plain-list{padding-left:21px;margin:0}.plain-list li{margin:7px 0;line-height:1.45}.ask-group,.route-card,.closure-card{border:1px solid var(--line);border-radius:12px;padding:15px 16px;margin:10px 0;background:#fff}.ask-group h4{color:var(--navy)}.ask-group small{display:inline-block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.035em}.route-card{border-left:4px solid var(--blue);background:#f8fcff}.closure-card{border-left:4px solid var(--green);background:#f8fcf9}.template{margin:0;white-space:pre-wrap;background:#102b3a;color:#f5fbff;border-radius:10px;padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;overflow:auto}#copyTemplate{margin:0 0 10px;background:var(--blue-pale);border-color:#b8ddf0;color:var(--navy)}.control-row,#flowPanel>button,.section[data-section="flujos"]>button{margin-right:8px}.section[data-section="flujos"]>button{background:#f7fafb;color:var(--navy)}.info-box,.full-panel{margin-top:14px;padding:16px;border:1px solid #cfe1eb;border-radius:12px;background:#f7fbfe}.graph-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.graph-node{border:1px solid #cadbe4;border-radius:12px;padding:14px;background:#fff}.graph-node h4{color:var(--navy)}.graph-node ul{padding-left:18px;font-size:13px;color:var(--muted)}dl{margin:10px 0}dt{font-size:12px;font-weight:800;text-transform:capitalize;color:var(--muted)}dd{margin:3px 0 11px}.feedback{display:flex;gap:8px;flex-wrap:wrap}.feedback button{background:#fff}#staffArea{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}[hidden]{display:none!important}@media(max-width:720px){.shell{padding:22px 12px 52px}.topbar{align-items:flex-start}.topbar h1{font-size:27px}.query-row{grid-template-columns:1fr}.result-card{padding:0 16px 20px}.result-head{margin:0 -16px;padding:22px 16px}.search-card{padding:18px}.validation-card{padding:13px}.graph-grid{grid-template-columns:1fr}}
.catalog{margin:24px 2px 0}.catalog>p{margin:5px 0 13px;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.catalog-card{min-height:126px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:16px;border-color:#cbdce5;background:#fff}.catalog-card:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(20,60,85,.08)}.catalog-card span{font-size:11px;font-weight:850;letter-spacing:.07em;color:var(--blue)}.catalog-card strong{font-size:16px;line-height:1.25;color:var(--navy)}.catalog-card small{color:var(--muted);font-weight:500}@media(max-width:720px){.catalog-grid{grid-template-columns:1fr}.catalog-card{min-height:100px}}
.validation-card+.validation-card:before{content:none}.validation-card{margin:12px 0}.validation-outcome{margin:14px 0 0;padding:12px 14px;border-left:4px solid #a96c00;border-radius:8px;background:var(--amber-pale);color:#49340c}.validation-outcome p{margin:6px 0 0}.applies{margin:5px 0 0;color:var(--muted);font-size:12px;font-weight:650}.pending-card{border:1px solid #efd59a;border-left:4px solid #c28508;border-radius:12px;padding:15px 16px;margin:10px 0;background:var(--amber-pale)}.pending-card h4{color:#734a00}.template-editor{display:block;width:100%;min-height:0;resize:none;overflow:hidden;border:0;outline:0}.template-editor:focus{box-shadow:0 0 0 3px #63b8e8}.template-note{margin:0 0 10px;color:var(--muted);font-size:12px}.suggestion-card{margin-top:26px;padding:22px}.suggestion-card h2{margin-bottom:16px}.suggestion-card [data-code]{margin:0 8px 0 0}.section[data-section="pedir"] .ask-group{margin-top:14px}.section[data-section="flujos"] #flowPanel{margin-top:14px}

[data-theme="oscuro"]{--ink:#edf5fa;--muted:#b7c7d1;--line:#36505f;--canvas:#10202a;--surface:#172b36;--navy:#8dd3ff;--blue:#59b9ec;--blue-pale:#183e52;--green:#71d69c;--green-pale:#173e2b;--amber-pale:#4a3915}[data-theme="oscuro"] body,[data-theme="oscuro"] .card,[data-theme="oscuro"] .ask-group,[data-theme="oscuro"] .graph-node{background:var(--surface);color:var(--ink)}[data-theme="oscuro"] .result-head,[data-theme="oscuro"] .search-card{background:#1b3442}[data-theme="oscuro"] input,[data-theme="oscuro"] select,[data-theme="oscuro"] textarea,[data-theme="oscuro"] button{background:#203945;color:var(--ink);border-color:var(--line)}.theme-toggle{margin-top:12px}.header-actions{display:flex;gap:8px;align-items:center}.recent-changes{margin:22px 0;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.recent-changes h2{color:var(--navy);font-size:20px}.recent-changes p{margin:6px 0 14px;color:var(--muted)}.recent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.recent-item{text-align:left;display:grid;gap:6px}.recent-item span{font-size:12px;color:var(--muted)}

[data-theme="oscuro"] .validation-card,[data-theme="oscuro"] .ask-group,[data-theme="oscuro"] .route-card,[data-theme="oscuro"] .closure-card,[data-theme="oscuro"] .graph-node,[data-theme="oscuro"] .recent-changes,[data-theme="oscuro"] .recent-item,[data-theme="oscuro"] .catalog-card{background:#203b49!important;color:#f2f8fc!important;border-color:#416274!important}
[data-theme="oscuro"] .validation-card h4,[data-theme="oscuro"] .ask-group h4,[data-theme="oscuro"] .catalog-card strong,[data-theme="oscuro"] h1,[data-theme="oscuro"] h2,[data-theme="oscuro"] h3,[data-theme="oscuro"] h4{color:#8fd5ff!important}
[data-theme="oscuro"] .validation-outcome,[data-theme="oscuro"] .privacy-note,[data-theme="oscuro"] .pending-card{background:#4b380d!important;color:#fff3c9!important;border-color:#c98c10!important}
[data-theme="oscuro"] .validation-outcome *,[data-theme="oscuro"] .privacy-note *{color:#fff3c9!important}
[data-theme="oscuro"] .result-head,[data-theme="oscuro"] .section[data-section="validacion"],[data-theme="oscuro"] .info-box{background:#18313e!important;color:#f2f8fc!important;border-color:#416274!important}
[data-theme="oscuro"] button,[data-theme="oscuro"] nav button:first-child{background:#274b5d!important;color:#f7fbff!important;border-color:#4d7183!important}
[data-theme="oscuro"] button.primary{background:#0879bb!important;border-color:#4bc1f3!important;color:#fff!important}
[data-theme="oscuro"] #flowBtn,[data-theme="oscuro"] #fullBtn,[data-theme="oscuro"] #copyTemplate,[data-theme="oscuro"] .theme-toggle{background:#274b5d!important;color:#f7fbff!important;border-color:#5a8093!important}
[data-theme="oscuro"] input,[data-theme="oscuro"] select,[data-theme="oscuro"] textarea{background:#18313e!important;color:#f7fbff!important;border-color:#4d7183!important}
[data-theme="oscuro"] .template{background:#0b1d27!important;color:#f7fbff!important}
.theme-toggle{min-height:42px;min-width:124px;white-space:nowrap;margin-top:0}.login-card .theme-toggle{margin:18px 0 0;width:100%}.header-actions{flex-wrap:wrap;justify-content:flex-end}
.section-help{margin:-6px 0 12px;color:var(--muted);font-size:13px}.checklist{display:grid;gap:10px}.checklist label{display:flex;gap:10px;align-items:flex-start;margin:0;font-weight:500;line-height:1.45}.checklist input{width:18px;height:18px;flex:0 0 auto;margin-top:2px}.recent-item small{font-size:10px;letter-spacing:.08em;font-weight:800;color:var(--blue)}.recent-item em{font-size:12px;line-height:1.35;color:var(--muted);font-style:normal}[data-theme="oscuro"] .section-help,[data-theme="oscuro"] .recent-item em,[data-theme="oscuro"] .recent-item span{color:#c9dbe4!important}
/* Ajustes de legibilidad y ritmo visual para Staff y modo oscuro. */
#staffContent > .card { margin: 0 0 1.5rem; padding: 1.5rem; }
#staffContent .card > * + * { margin-top: .9rem; }
#staffContent label { display:block; margin-top: 1rem; }
#staffContent fieldset { margin: 1.25rem 0; padding: 1rem; }
#staffContent h3 { margin: 0 0 1rem; }
[data-theme="oscuro"] #staffContent .card, [data-theme="oscuro"] #metricsContent .card { background:#173342; border-color:#47788f; color:#f4f8fa; }
[data-theme="oscuro"] #staffContent input, [data-theme="oscuro"] #staffContent textarea, [data-theme="oscuro"] #staffContent select, [data-theme="oscuro"] #metricsContent select { background:#102935; color:#f4f8fa; border-color:#5b91a8; }
[data-theme="oscuro"] .result-head p { color:#dcecf3; opacity:1; }
[data-theme="oscuro"] .result-head small { color:#e8f4f8; }
[data-theme="oscuro"] #staffContent button, [data-theme="oscuro"] #metricsContent button { background:#285a70; color:#fff; border-color:#6baecc; }

.pilot-row{display:flex!important;align-items:center;gap:.75rem;padding:.65rem .8rem;margin:.35rem 0!important;border:1px solid var(--border,#47788f);border-radius:.5rem}.pilot-row input{width:auto!important;margin:0!important}.pilot-row small{opacity:.85}

/* Selección de asesores: lista filtrable, foco visible y estado de selección claro. */
.pilot-list{max-height:31rem;overflow:auto;margin:1rem 0;padding:.15rem .25rem .15rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pilot-row{cursor:pointer;transition:border-color .15s,background .15s}.pilot-row:hover{border-color:var(--blue);background:var(--blue-pale)}
.pilot-row:has(input:checked){border-color:var(--blue);background:var(--blue-pale);box-shadow:inset 3px 0 0 var(--blue)}
.pilot-row input:focus-visible{outline:3px solid #63b8e8;outline-offset:3px}.selection-status{font-weight:800;color:var(--navy)}
#pilotResult{margin-top:1rem}.success{padding:.8rem 1rem;border-left:4px solid var(--green);border-radius:8px;background:var(--green-pale);color:#125738}
#pilotResult ul{padding-left:1.25rem}.pilot-list [hidden]{display:none!important}
[data-theme="oscuro"] .pilot-row{border-color:#47788f;background:#173342}.pilot-row:hover,[data-theme="oscuro"] .pilot-row:has(input:checked){background:#285266!important;border-color:#75c9ea!important}.pilot-row:has(input:checked){box-shadow:inset 3px 0 0 #0879bb}[data-theme="oscuro"] .selection-status{color:#a9e1ff}[data-theme="oscuro"] .success{background:#173e2b;color:#dcf9e5}
@media(max-width:720px){.pilot-list{max-height:24rem}.pilot-row{padding:.8rem}.pilot-row small{display:block;line-height:1.4}}

/* Métricas: lectura operacional sin exponer detalles de consultas. */
.metrics-toolbar{display:flex;align-items:end;gap:1rem;justify-content:space-between;flex-wrap:wrap}.metrics-toolbar p{max-width:640px}.metrics-toolbar label{margin:0;min-width:180px}.metrics-toolbar button{margin-bottom:0}.metric-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}.metric-summary article{padding:1rem;border:1px solid var(--line);border-radius:10px;background:#f7fbfe}.metric-summary strong{display:block;font-size:1.6rem;color:var(--navy)}.metric-summary span{color:var(--muted);font-size:.85rem}.metrics-section{margin-top:1.5rem}.metrics-section h4{color:var(--navy)}.metric-alert{padding:.8rem 1rem;border-left:4px solid #c28508;border-radius:8px;background:var(--amber-pale);color:#49340c}.metric-ok{padding:.8rem 1rem;border-left:4px solid var(--green);border-radius:8px;background:var(--green-pale);color:#125738}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:.75rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-size:.9rem}th{background:#f7fbfe;color:var(--navy);font-weight:800}tbody tr:last-child td{border-bottom:0}.audit-details{margin-top:1.5rem}.audit-details p{font-size:.875rem;border-bottom:1px solid var(--line);padding-bottom:.5rem}[data-theme="oscuro"] .metric-summary article,[data-theme="oscuro"] th{background:#203b49;color:#eaf6fc}[data-theme="oscuro"] .metric-summary strong,[data-theme="oscuro"] .metrics-section h4{color:#8fd5ff}[data-theme="oscuro"] .metric-alert{background:#4b380d;color:#fff3c9}[data-theme="oscuro"] .metric-ok{background:#173e2b;color:#dcf9e5}@media(max-width:720px){.metric-summary{grid-template-columns:1fr}.metrics-toolbar{align-items:stretch}.metrics-toolbar label{width:100%}}
/* En móvil, las áreas de Staff conservan sus etiquetas sin forzar desborde de página. */
@media(max-width:720px){
  nav[role="tablist"]{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
  nav[role="tablist"] [role="tab"]{flex:0 0 auto;white-space:nowrap}
}

/* Respeta la preferencia del sistema para reducir movimiento. */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

.template-copy-status{min-height:1.25rem;margin:.5rem 0 0;color:var(--green);font-size:.875rem;font-weight:700}[data-theme="oscuro"] .template-copy-status{color:#91e4b1}
/* Modo oscuro consistente en las áreas internas de Staff y auditoría. */
[data-theme="oscuro"] #staffArea{background:#122b37;color:#edf5fa;border-color:#47788f}
[data-theme="oscuro"] #staffArea h2,[data-theme="oscuro"] #metricsArea>h2{color:#8fd5ff}
[data-theme="oscuro"] #staffContent fieldset{border-color:#5b91a8;background:#102935}
[data-theme="oscuro"] #staffContent legend{color:#ccecff;font-weight:800}
[data-theme="oscuro"] #staffContent details,[data-theme="oscuro"] #metricsContent details{border-color:#47788f;color:#edf5fa}
[data-theme="oscuro"] #staffContent summary,[data-theme="oscuro"] #metricsContent summary{color:#a9e1ff;font-weight:750}
[data-theme="oscuro"] #metricsContent td{background:#173342;color:#edf5fa;border-color:#365d70}
[data-theme="oscuro"] #metricsContent .table-scroll{border-color:#47788f}
[data-theme="oscuro"] #staffContent input::placeholder,[data-theme="oscuro"] #staffContent textarea::placeholder,[data-theme="oscuro"] #metricsContent input::placeholder{color:#adc1cb;opacity:1}
[data-theme="oscuro"] #staffContent input:disabled,[data-theme="oscuro"] #staffContent textarea:disabled,[data-theme="oscuro"] #staffContent select:disabled,[data-theme="oscuro"] #metricsContent button:disabled{background:#29424e!important;color:#c2d0d7!important;border-color:#49606a!important;opacity:1}

/* Acceso directo por teclado: permanece fuera de pantalla hasta recibir foco. */
.skip-link{position:fixed;z-index:1000;top:10px;left:10px;transform:translateY(-180%);padding:10px 14px;border:2px solid var(--navy);border-radius:9px;background:var(--surface);color:var(--navy);font-weight:800;text-decoration:none;transition:transform .15s ease}
.skip-link:focus{transform:translateY(0);outline:3px solid #63b8e8;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}
.source-card{margin:16px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.source-card h4{color:var(--navy)}
.source-card p{margin:7px 0;color:var(--muted)}
.source-certified{border-left:4px solid var(--green);background:#f8fcf9}
[data-theme="oscuro"] .source-card{background:#203b49!important;color:#f2f8fc!important;border-color:#416274!important}
[data-theme="oscuro"] .source-card h4{color:#8fd5ff!important}
[data-theme="oscuro"] .source-card p{color:#d7e6ed!important}
[data-theme="oscuro"] .source-certified{background:#173e2b!important;border-left-color:#71d69c!important}

/* Circuito de ingesta con IA local: propuesta visible, sin convertirla en aprobación. */
.ai-source {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--border, #b7d2e3);
  border-radius: .7rem;
  background: var(--surface-alt, #f5fafc);
}
.ai-source h5 { margin: 0 0 .5rem; }
.ai-source ul { margin: .35rem 0 .75rem; }
.ai-source pre { max-height: 18rem; overflow: auto; white-space: pre-wrap; }
.ai-pending { border-left: 4px solid #087bb8; }
.ai-warning { border-left: 4px solid #bd7500; }
.ai-ready { border-left: 4px solid #14804a; }
.source-actions { display: grid; gap: .65rem; margin-top: 1rem; }
body[data-theme="dark"] .ai-source { background: #173747; border-color: #3d6578; color: #f2f8fb; }
body[data-theme="dark"] .ai-warning { background: #503b12; color: #fff7df; }
body[data-theme="dark"] .ai-ready { background: #123c2c; color: #e6fff0; }
