:root { --bg:#03080f; --bg2:#07111d; --panel:rgba(10,24,40,.72); --solid:#0a1828; --line:rgba(80,200,255,.16); --line2:rgba(80,200,255,.42); --text:#d7ecf7; --muted:#7d98ab;
  --cyan:#3fe0ff; --cyanDim:rgba(63,224,255,.14); --amber:#ffb547; --green:#3dffa8; --red:#ff4d6d; --font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif; --mono:ui-monospace,"JetBrains Mono",monospace; }
* { box-sizing:border-box; }
html,body { height:100%; margin:0; }
body { background:radial-gradient(1200px 700px at 50% 110%,rgba(var(--ac-rgb), .08),transparent 60%),linear-gradient(rgba(var(--ac-rgb), .035) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(var(--ac-rgb), .035) 1px,transparent 1px) 0 0/40px 40px,var(--bg);
  color:var(--text); font:15px/1.55 var(--font); }
button,input,select,textarea { font:inherit; color:inherit; }
button { cursor:pointer; }
a { color:var(--cyan); }
.btn { background:transparent; border:1px solid var(--line); border-radius:9px; padding:8px 14px; color:var(--text); }
.btn:hover:not([disabled]) { color:var(--cyan); border-color:var(--line2); background:var(--cyanDim); }
.btn.pri { background:var(--cyanDim); border-color:var(--line2); color:var(--cyan); font-weight:600; }
.btn.peligro:hover { color:var(--red); border-color:var(--red); background:rgba(255,77,109,.1); }
.btn[disabled] { opacity:.4; cursor:default; }
input,select,textarea { background:rgba(var(--bg-rgb), .7); border:1px solid var(--line); border-radius:9px; padding:9px 12px; width:100%; }
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--cyan); box-shadow:0 0 0 2px var(--cyanDim); }
label { display:block; color:var(--muted); font-size:13px; margin:12px 0 4px; }
.err { color:var(--red); min-height:1.4em; margin:10px 0 0; font-size:14px; }
.ok { color:var(--green); }
.muted { color:var(--muted); }

/* entrada */
.centro { min-height:100%; display:grid; place-items:center; padding:20px; }
.caja { width:min(420px,100%); background:var(--panel); border:1px solid var(--line2); border-radius:16px; padding:30px 28px; box-shadow:0 0 40px rgba(var(--ac-rgb), .12); }
.marca { font:700 28px var(--font); letter-spacing:.3em; color:var(--cyan); text-shadow:0 0 14px rgba(var(--ac-rgb), .5); margin:0 0 2px; }
.sub { color:var(--muted); margin:0 0 18px; }
.caja .btn { width:100%; margin-top:18px; padding:11px; }
.pie { margin-top:18px; font-size:12.5px; color:var(--muted); text-align:center; }

/* aplicación */
.app { height:100%; display:grid; grid-template-columns:270px 1fr; grid-template-rows:54px 1fr; grid-template-areas:"top top" "nav main"; }
.top { grid-area:top; display:flex; align-items:center; gap:14px; padding:0 18px; border-bottom:1px solid var(--line); background:rgba(var(--bg-rgb), .6); }
.top .marca { font-size:20px; margin:0; }
.top .spacer { flex:1; }
.top .quien { color:var(--muted); font-size:14px; }
.nav { grid-area:nav; border-right:1px solid var(--line); padding:14px 12px; overflow:auto; background:rgba(var(--b2-rgb), .5); }
.nav h3 { font:600 11px var(--mono); letter-spacing:.14em; color:var(--muted); text-transform:uppercase; margin:6px 6px 10px; }
.dep { display:block; width:100%; text-align:left; background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:11px 13px; margin-bottom:8px; }
.dep b { display:block; }
.dep small { color:var(--muted); display:block; font-size:12.5px; }
.dep:hover, .dep.on { border-color:var(--cyan); background:var(--cyanDim); }
.dep .est { float:right; font:600 10px var(--mono); letter-spacing:.08em; color:var(--green); }
.dep .est.no { color:var(--amber); }
.principal { grid-area:main; min-width:0; min-height:0; display:flex; flex-direction:column; }
.cab { padding:14px 22px 10px; border-bottom:1px solid var(--line); }
.cab h2 { margin:0; font:600 20px var(--font); letter-spacing:.06em; text-transform:uppercase; }
.cab p { margin:2px 0 0; color:var(--muted); font-size:13.5px; }
.chat { flex:1; min-height:0; overflow-y:auto; padding:18px 22px; display:flex; flex-direction:column; gap:12px; }
.msg { max-width:min(780px,92%); padding:10px 14px; border-radius:12px; border:1px solid var(--line); overflow-wrap:anywhere; }
.msg.u { align-self:flex-end; background:rgba(255,181,71,.07); border-color:rgba(255,181,71,.3); }
.msg.a { align-self:flex-start; background:var(--panel); border-left:3px solid var(--cyan); }
.msg .hora { display:block; font:11px var(--mono); color:var(--muted); margin-bottom:4px; }
.msg p { margin:0 0 .6em; } .msg p:last-child { margin:0; }
.msg ul, .msg ol { margin:.3em 0 .6em 1.2em; padding:0; }
.msg code { font-family:var(--mono); font-size:.9em; background:rgba(var(--ac-rgb), .1); padding:1px 5px; border-radius:5px; }
.msg pre { background:rgba(var(--bg-rgb), .8); border:1px solid var(--line); border-radius:8px; padding:10px; overflow:auto; margin:.5em 0; }
.msg pre code { background:none; padding:0; }
.msg.err2 { border-color:var(--red); color:var(--red); }
.pensando { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--cyan); animation:pulso 1s infinite; }
@keyframes pulso { 50% { opacity:.25; } }
.entrada { border-top:1px solid var(--line); padding:12px 18px; display:flex; gap:10px; align-items:flex-end; background:rgba(var(--bg-rgb), .5); }
.entrada textarea { resize:none; max-height:160px; min-height:44px; }
.vacio { margin:auto; text-align:center; color:var(--muted); padding:30px; }
.vacio h2 { color:var(--text); letter-spacing:.08em; }

/* administración */
.admin { padding:18px 24px; overflow:auto; }
.pestanas { display:flex; gap:8px; margin-bottom:16px; }
.tabla { width:100%; border-collapse:collapse; font-size:14px; }
.tabla th { text-align:left; color:var(--muted); font:600 11px var(--mono); letter-spacing:.1em; text-transform:uppercase; padding:8px 10px; border-bottom:1px solid var(--line2); }
.tabla td { padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
.tabla .acc { display:flex; gap:6px; flex-wrap:wrap; }
.tabla .acc .btn { padding:4px 9px; font-size:12.5px; }
.etq { display:inline-block; font:600 11px var(--mono); letter-spacing:.06em; padding:2px 8px; border-radius:20px; border:1px solid var(--line2); color:var(--cyan); margin:0 4px 3px 0; }
.etq.rojo { color:var(--red); border-color:var(--red); } .etq.amb { color:var(--amber); border-color:var(--amber); }
.formulario { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin-bottom:18px; max-width:640px; }
.formulario .fila { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.checks { display:flex; flex-direction:column; gap:6px; margin-top:6px; }
.checks label { display:flex; align-items:center; gap:10px; margin:0; color:var(--text); font-size:14px; }
.checks input[type=checkbox] { width:auto; }
.checks select { width:auto; margin-left:auto; padding:4px 8px; }
.velo { position:fixed; inset:0; background:rgba(var(--bg-rgb), .85); display:grid; place-items:center; z-index:50; padding:20px; }
.velo[hidden] { display:none; }
.modal { width:min(460px,100%); background:var(--solid); border:1px solid var(--line2); border-radius:14px; padding:24px; }
.modal h3 { margin:0 0 8px; letter-spacing:.06em; }
.clave-tmp { font:700 22px var(--mono); letter-spacing:.08em; background:rgba(var(--bg-rgb), .9); border:1px dashed var(--amber); color:var(--amber); padding:14px; text-align:center; border-radius:10px; margin:14px 0; user-select:all; }
@media (max-width:760px) { .app { grid-template-columns:1fr; grid-template-rows:54px auto 1fr; grid-template-areas:"top" "nav" "main"; } .nav { border-right:0; border-bottom:1px solid var(--line); max-height:34vh; } .tabla { font-size:13px; } }

/* conocimiento por departamento */
.dep-pes { padding:0 24px 10px; margin:0; } .chat[hidden], .entrada[hidden], .zona-conoc[hidden] { display:none !important; }
.zona-conoc { flex:1; min-height:0; overflow:auto; padding:6px 24px 24px; }
.subida { display:flex; align-items:center; gap:10px; flex-wrap:wrap; border:1px dashed var(--line2); border-radius:12px; padding:14px 16px; margin:10px 0; } .subida.suelta { border-color:var(--cyan); background:rgba(var(--ac-rgb), .06); }

.para { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; flex-basis:100%; } .chk { display:flex; align-items:center; gap:4px; margin:0; font-size:14px; } .chk input { width:auto; }

/* jerarquía, bandeja y peticiones entre departamentos */
.dep .num { float:right; margin-left:8px; min-width:22px; text-align:center; font:700 11px var(--mono); color:var(--bg); background:var(--amber); border-radius:20px; padding:2px 6px; } .dep .num[hidden] { display:none; }
.dos { flex:1; min-height:0; display:grid; grid-template-columns:minmax(300px,420px) minmax(0,1fr); } .dos[hidden] { display:none !important; }
.bandeja { min-height:0; overflow:auto; padding:4px 14px 18px 22px; border-right:1px solid var(--line); }
.conv { min-width:0; min-height:0; display:flex; flex-direction:column; }
.cifras { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:12px; }
.cifra { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:8px 12px; } .cifra b { display:block; font:700 22px var(--font); font-variant-numeric:tabular-nums; } .cifra span { color:var(--muted); font-size:12.5px; }
.cifra.av { border-color:rgba(255,181,71,.5); } .cifra.av b { color:var(--amber); }
.filtros { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; } .filtros .btn { padding:5px 10px; font-size:13px; }
.aviso { border:1px solid rgba(255,181,71,.5); background:rgba(255,181,71,.07); color:var(--text); border-radius:10px; padding:9px 12px; font-size:13.5px; margin:0 0 10px; }
.tk { background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--line2); border-radius:10px; padding:10px 12px; margin-bottom:9px; } .tk.urg { border-left-color:var(--amber); }
.tk-cab { display:flex; flex-wrap:wrap; align-items:center; gap:2px 4px; font-size:12.5px; }
.tk-txt { margin:6px 0; font-size:14px; overflow-wrap:anywhere; white-space:pre-wrap; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; } .tk-txt.largo { -webkit-line-clamp:12; }
.tk-pie { font-size:12px; overflow-wrap:anywhere; } .tk-acc { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; } .tk-acc .btn { padding:4px 10px; font-size:12.5px; }
.modal.ancho { width:min(760px,100%); max-height:90vh; overflow:auto; }
.tk-full { white-space:pre-wrap; overflow-wrap:anywhere; font:13px/1.5 var(--mono); background:rgba(var(--bg-rgb), .8); border:1px solid var(--line); border-radius:8px; padding:12px; max-height:60vh; overflow:auto; margin:10px 0 14px; }
.alcance { margin:8px 0 0; padding:8px 12px; border-left:3px solid var(--cyan); background:var(--cyanDim); border-radius:0 8px 8px 0; font-size:13.5px; }
.sub2 { font:600 12px var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:22px 0 10px; }
.pestanas { flex-wrap:wrap; } .zona-conoc .tabla { min-width:560px; } .zona-conoc { overflow-x:auto; }
.solo-estrecho { display:none; }
@media (max-width:1000px) { .solo-estrecho { display:inline-block; } .dos { grid-template-columns:minmax(0,1fr); } .dos .conv { display:none; } .dos.ver-chat .conv { display:flex; } .dos.ver-chat .bandeja { display:none; }
  .bandeja { border-right:0; padding:4px 14px 12px; } .dep-pes { padding:0 14px 10px; } .cab { padding:12px 14px 8px; } .zona-conoc { padding:6px 14px 20px; } }
@media (max-width:760px) { .nav { max-height:26vh; } .cifras { grid-template-columns:repeat(4,minmax(0,1fr)); } .cifra { padding:6px 8px; } .cifra b { font-size:18px; } .cifra span { font-size:11px; line-height:1.25; display:block; } .formulario .fila { grid-template-columns:1fr; } }

/* ficheros en el chat */
.conv { position:relative; } .conv.suelta::after { content:"Suelta aquí el fichero o el correo"; position:absolute; inset:8px; display:grid; place-items:center; font:600 17px var(--font); color:var(--cyan);
  background:rgba(var(--bg-rgb), .82); border:2px dashed var(--cyan); border-radius:14px; pointer-events:none; z-index:5; }
.chips { display:flex; flex-wrap:wrap; gap:6px; padding:8px 18px 0; } .chips[hidden] { display:none; }
.chip { display:inline-flex; align-items:center; gap:6px; max-width:100%; font-size:13px; border:1px solid var(--line2); border-radius:20px; padding:3px 4px 3px 11px; background:var(--cyanDim); overflow-wrap:anywhere; }
.chip.sube { opacity:.6; } .chip.mal { border-color:var(--red); color:var(--red); background:rgba(255,77,109,.08); }
.chip button { border:0; background:transparent; color:inherit; font-size:16px; line-height:1; padding:2px 6px; border-radius:50%; } .chip button:hover { background:rgba(255,255,255,.12); }
.fichas { display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.ficha { display:grid; grid-template-columns:auto 1fr; column-gap:10px; align-items:center; text-decoration:none; color:var(--text); border:1px solid var(--line2); border-radius:10px; padding:8px 12px; background:rgba(var(--bg-rgb), .55); max-width:420px; }
.ficha:hover { border-color:var(--cyan); background:var(--cyanDim); }
.ficha .ext { grid-row:1 / span 2; font:700 11px var(--mono); letter-spacing:.06em; color:var(--bg); background:var(--cyan); border-radius:6px; padding:6px 7px; min-width:40px; text-align:center; }
.ficha b { font-weight:600; font-size:14px; overflow-wrap:anywhere; } .ficha small { color:var(--muted); font-size:12px; }
.a-pdf { display:block; margin-top:8px; border:0; background:transparent; color:var(--muted); font-size:12px; padding:0; text-decoration:underline; text-underline-offset:3px; } .a-pdf:hover:not([disabled]) { color:var(--cyan); }
.doc-ini { color:var(--muted); font-style:italic; }
.entrada .btn { flex:none; }
@media (max-width:760px) { .entrada { padding:10px; gap:6px; } .entrada .btn { padding:8px 10px; } }

/* ayuda */
.ayuda { flex:1; min-height:0; overflow:auto; padding:20px 24px 40px; }
.ayuda section { max-width:900px; margin:0 0 30px; }
.ayuda h3 { font:600 18px var(--font); letter-spacing:.03em; margin:0 0 12px; color:var(--cyan); }
.ayuda p { margin:0 0 10px; max-width:70ch; } .ayuda ul, .ayuda ol { margin:6px 0 0; padding-left:20px; } .ayuda li { margin-bottom:5px; }
.ay-lead { font-size:17px; } .ay-idea { font-size:17px; font-weight:500; background:var(--cyanDim); border:1px solid var(--line2); border-radius:12px; padding:16px 18px; max-width:none !important; }
.ay-encargo { border-left:3px solid var(--amber); padding-left:12px; font-weight:500; }
.ay-dos { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; }
.ay-lado, .ay-nota { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:14px 18px; display:flex; flex-direction:column; min-width:0; }
.ay-lado.si { border-color:var(--cyan); } .ay-quien { font:600 11px var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); } .ay-lado.si .ay-quien { color:var(--cyan); }
.ay-fin { margin:auto 0 0 !important; padding-top:10px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; } .ay-lado.si .ay-fin { color:var(--text); }
.ay-ganas { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px 26px; } .ay-ganas b { display:block; margin-bottom:3px; } .ay-ganas p { color:var(--muted); font-size:14px; margin:0; }
.ay-pasos { list-style:none; padding:0 !important; margin:0; counter-reset:paso; }
.ay-pasos li { counter-increment:paso; display:grid; grid-template-columns:38px 1fr; gap:14px; padding:12px 0; border-top:1px solid var(--line); margin:0; }
.ay-pasos li::before { content:counter(paso); width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font:700 16px var(--font); color:var(--cyan); background:var(--cyanDim); border:1px solid var(--line2); }
.ay-pasos b { display:block; } .ay-pasos span { color:var(--muted); font-size:14px; }
@media (max-width:760px) { .ayuda { padding:14px 14px 30px; } }

/* MIA: espacio personal */
.dep.mia { border-color:rgba(255,181,71,.45); } .dep.mia b { color:var(--amber); letter-spacing:.18em; } .dep.mia:hover, .dep.mia.on { border-color:var(--amber); background:rgba(255,181,71,.08); }
.tk.hoy { display:flex; flex-direction:column; gap:2px; width:100%; text-align:left; color:var(--text); font-size:14px; } .tk.hoy:hover { border-color:var(--cyan); background:var(--cyanDim); }
.bandeja .sub2:first-child { margin-top:8px; } .bandeja .fichas .ficha { max-width:none; }
.tabla td a:not(.btn) { color:var(--text); text-decoration:none; overflow-wrap:anywhere; } .tabla td a:not(.btn):hover { color:var(--cyan); text-decoration:underline; }
.tabla .acc a.btn { text-decoration:none; padding:4px 9px; font-size:12.5px; }

/* CONFIG */
.menu a[hidden] { display: none; }
.cfg-rej { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; margin-bottom: 14px; } .cfg-t { margin: 0; max-width: none; }
.cfg-fila { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-bottom: 1px solid var(--line); font-size: 14px; } .cfg-fila:last-child { border-bottom: 0; } .cfg-fila b { text-align: right; overflow-wrap: anywhere; font-weight: 600; }
.cfg-fila b.ok { color: var(--green); } .cfg-fila b.mal { color: var(--red); }
.cfg-migas { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 10px 0 12px; } .cfg-migas .btn { padding: 5px 10px; }
.cfg-dir { cursor: pointer; } .cfg-dir:hover td, .cfg-fich:hover td { background: var(--cyanDim); } .cfg-ico { margin-right: 8px; } .tabla .acc a.btn { text-decoration: none; padding: 4px 9px; font-size: 12.5px; }
.cfg-vista { border: 1px solid var(--line2); border-radius: 12px; padding: 12px; margin: 0 0 14px; background: rgba(var(--bg-rgb), .7); } .cfg-vista[hidden] { display: none; }
.cfg-vcab { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; overflow-wrap: anywhere; } .cfg-vcab .btn { padding: 4px 10px; flex: none; }
.cfg-vista pre { margin: 0; max-height: 60vh; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: 13px/1.5 var(--mono); } .cfg-vista img { max-width: 100%; max-height: 60vh; display: block; margin: auto; }
.formulario h3 + label { margin-top: 6px; } .formulario h3:not(:first-child) { margin-top: 20px; }

/* STAFF */
.st { max-width: 1280px; }
.st-alta { display: grid; grid-template-columns: 1.4fr 1fr 1.3fr 1fr 1.3fr .9fr auto; gap: 8px; align-items: center; background: var(--panel); border: 1px solid var(--line2); border-radius: 12px; padding: 12px; }
.st-alta .btn { white-space: nowrap; padding: 9px 16px; } .st-buscar { max-width: 420px; margin-bottom: 10px; }
.st-lista { display: flex; flex-direction: column; gap: 8px; }
.st-p { border: 1px solid var(--line); border-radius: 12px; background: var(--panel); } .st-p.on { border-color: var(--cyan); } .st-p.baja { opacity: .6; }
.st-cab { display: grid; grid-template-columns: minmax(170px, 1.1fr) minmax(0, 2fr) auto; gap: 12px; align-items: center; width: 100%; text-align: left; background: none; border: 0; padding: 11px 14px; color: var(--text); }
.st-cab:hover { background: var(--cyanDim); border-radius: 12px; } .st-nom b { display: block; font-size: 15.5px; } .st-nom small { color: var(--muted); font-size: 12.5px; overflow-wrap: anywhere; } .st-acc { font-size: 12.5px; white-space: nowrap; }
.st-det { border-top: 1px solid var(--line); padding: 14px; } .st-cols { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(280px, 1.5fr) minmax(200px, 1fr); gap: 22px; }
.st-col h4 { margin: 0 0 6px; font: 600 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); } .st-col label:first-of-type { margin-top: 4px; }
.st-ag { margin: 10px 0 4px; display: flex; flex-wrap: wrap; gap: 2px 4px; align-items: center; } .st-nota { font-size: 12.5px; margin: 6px 0 0; }
.st-botones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.st-clave { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 14px; padding: 12px 14px; border: 1px dashed var(--amber); border-radius: 10px; background: rgba(255,181,71,.06); }
.st-clave > b { font: 700 19px var(--mono); letter-spacing: .06em; color: var(--amber); user-select: all; } .st-envio { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-left: auto; } .st-envio a.btn { text-decoration: none; }
@media (max-width: 1100px) { .st-alta { grid-template-columns: 1fr 1fr; } .st-cols { grid-template-columns: 1fr; } .st-cab { grid-template-columns: 1fr; gap: 6px; } .st-envio { margin-left: 0; } }

/* ---------- Menú de áreas: árbol plegable con buscador ---------- */
.nav h3 { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.nav-todo { flex:none; width:24px; height:24px; padding:0; display:grid; place-items:center; background:transparent; border:1px solid var(--line); border-radius:7px; color:var(--muted); } .nav-todo:hover { color:var(--cyan); border-color:var(--line2); }
.nav-todo::before { content:""; width:6px; height:6px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-top:-3px; } .nav-todo.abierto::before { transform:rotate(-135deg); margin-top:3px; }
.dep.mejor { border-color:var(--cyan); }
.nav-busca { position:sticky; top:-14px; z-index:3; margin:-4px -4px 10px; padding:8px 4px 6px; background:rgb(var(--b2-rgb)); }
.nav-busca input { width:100%; padding:9px 34px 9px 34px; border-radius:10px; border:1px solid var(--line); color:var(--text);
  background:rgb(var(--pn-rgb)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237d98ab' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.500-3.500'/%3E%3C/svg%3E") 10px 50%/16px no-repeat; }
.nav-busca input:focus { outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px var(--cyanDim); } .nav-busca input::-webkit-search-cancel-button { display:none; }
.nav-x { position:absolute; right:10px; top:50%; transform:translateY(-50%); width:24px; height:24px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--muted); font-size:12px; } .nav-x:hover { color:var(--cyan); background:var(--cyanDim); } .nav-x[hidden] { display:none; }
.dep-fila { position:relative; margin-bottom:8px; } .dep-fila .dep { margin-bottom:0; } .dep-fila.con-hijos .dep { padding-left:34px; }
.dep-mas { position:absolute; left:5px; top:9px; z-index:1; width:26px; height:26px; padding:0; display:grid; place-items:center; border:0; border-radius:8px; background:transparent; color:var(--muted); }
.dep-mas::before { content:""; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); transition:transform .15s; margin-left:-3px; }
.dep-mas.abierto::before { transform:rotate(45deg); margin:-3px 0 0; } .dep-mas:hover { color:var(--cyan); background:var(--cyanDim); } .dep-mas[disabled] { opacity:.45; pointer-events:none; }
.dep-mas:focus-visible, .dep:focus-visible, .nav-todo:focus-visible { outline:2px solid var(--cyan); outline-offset:1px; }
.dep-dentro { display:inline-block; margin-top:5px; padding:1px 8px; border-radius:20px; font:600 10.5px var(--mono); letter-spacing:.04em; color:var(--muted); border:1px solid var(--line); }
.dep.paso { opacity:.6; } .dep.coincide { border-color:var(--line2); } .nav-nada { margin:6px; }

/* ---------- agentes del departamento ---------- */
.ag { display:grid; grid-template-columns:minmax(220px,280px) minmax(0,1fr); gap:18px; align-items:start; }
.ag-lista { display:flex; flex-direction:column; gap:8px; }
.ag-tar { text-align:left; background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:11px 13px; color:var(--text); cursor:pointer; font:inherit; }
.ag-tar:hover { border-color:var(--line2); } .ag-tar.act { border-color:var(--cyan); background:var(--cyanDim); }
.ag-tit { display:flex; align-items:center; gap:8px; flex-wrap:wrap; } .ag-tit .etq { margin:0; }
.ag-emo { font-size:18px; line-height:1; } .ag-emo.grande { font-size:34px; }
.ag-pue { font-size:13px; margin:5px 0 3px; } .ag-num { font-size:12px; }
.ag-det { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:16px 18px; min-width:0; }
.ag-cab { display:flex; gap:14px; align-items:center; margin-bottom:12px; } .ag-cab h3 { margin:0; font-size:19px; } .ag-cab p { margin:2px 0 0; }
.ag-pes { margin-bottom:12px; } .ag-pes .btn { padding:5px 11px; font-size:13px; }
.ag-dato { display:grid; grid-template-columns:150px minmax(0,1fr); gap:12px; padding:8px 0; border-bottom:1px solid var(--line); font-size:14px; } .ag-dato:last-child { border-bottom:0; }
.ag-ins { border:1px solid var(--line); border-radius:10px; padding:9px 13px; margin-bottom:9px; } .ag-ins summary { cursor:pointer; } .ag-ins .md { margin-top:10px; font-size:14px; overflow-wrap:anywhere; }
.ag-sk { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:8px; margin-bottom:6px; }
.ag-skill { border:1px solid var(--line); border-radius:10px; padding:9px 11px; font-size:13px; display:flex; flex-direction:column; gap:3px; } .ag-skill b { font-family:var(--mono); font-size:12.5px; color:var(--cyan); }
.ag-skill.off { opacity:.6; } .ag-skill.off b { color:var(--muted); }
.ag-hueco { border-left:3px solid var(--amber); padding:2px 0 2px 14px; margin:10px 0; font-size:14px; }
.ag-doc { max-height:62vh; overflow:auto; font-size:14px; overflow-wrap:anywhere; } .ag-pre { white-space:pre-wrap; font:12.5px var(--mono); margin:0; }
.ag-det .tabla { min-width:0; } .ag-det .sub2:first-child { margin-top:4px; }
@media (max-width:900px) { .ag { grid-template-columns:1fr; } .ag-lista { flex-direction:row; overflow-x:auto; padding-bottom:4px; } .ag-tar { min-width:210px; } .ag-dato { grid-template-columns:1fr; gap:2px; } }
.ag-acc { display:flex; gap:8px; justify-content:flex-end; margin-top:14px; } .ag-acc a.btn { text-decoration:none; }
.ag-acc.izq { justify-content:flex-start; align-items:center; margin-top:10px; flex-wrap:wrap; } .ag-ins summary .etq { margin-left:8px; }
.ag-edit { width:100%; box-sizing:border-box; margin-top:10px; background:var(--bg2); color:var(--text); border:1px solid var(--line2); border-radius:10px; padding:11px 12px; font:13px/1.5 var(--mono); resize:vertical; }
.ag-aviso { border:1px solid var(--red); border-radius:10px; padding:8px 12px 10px; margin-top:10px; font-size:13.5px; } .ag-aviso p { margin:2px 0 8px; } .ag-aviso .btn { margin-right:8px; padding:4px 10px; font-size:13px; }
.ag-skill.elige { flex-direction:row; gap:10px; align-items:flex-start; cursor:pointer; } .ag-skill.elige div { display:flex; flex-direction:column; gap:3px; min-width:0; } .ag-skill.elige.si { border-color:var(--cyan); background:var(--cyanDim); }
.ag-skill.elige input { margin-top:2px; accent-color:var(--cyan); }
.con-quien { display:flex; gap:6px; align-items:center; flex-wrap:wrap; padding:8px 24px 0; font-size:13px; }
.con-ag { background:transparent; border:1px solid var(--line2); color:var(--text); border-radius:20px; padding:4px 11px; font:inherit; font-size:13px; cursor:pointer; } .con-ag:hover { border-color:var(--cyan); }
.con-ag.act { background:var(--cyanDim); border-color:var(--cyan); color:var(--cyan); font-weight:600; } .con-ag:disabled { opacity:.5; cursor:default; }
.ag-hablar { margin-left:auto; } .etq.eq { display:inline-flex; align-items:center; gap:4px; } .etq.eq button { background:none; border:0; color:inherit; cursor:pointer; padding:0 0 0 2px; font-size:14px; line-height:1; }
.eq-mas { font-size:12.5px; padding:3px 6px; max-width:170px; }
@media (max-width:760px) { .con-quien { padding:6px 14px 0; } }
.formulario a.btn { text-decoration:none; display:inline-block; }
.formulario.conex { max-width:860px; } .conex .ag-cab { align-items:flex-start; } .conex .ag-acc { margin:0 0 0 auto; } .conex .ag-acc .btn { padding:4px 10px; font-size:13px; }
.conex-ags { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:8px 0 10px; font-size:13px; } .conex-ags label.con-ag { user-select:none; }
.solo-ag { margin:-2px 0 8px 26px; }
.solo-ag { margin:-2px 0 8px 26px; }
.con-quien[hidden], .conex-ags[hidden] { display:none; }
.auto-ins { font-size:14px; margin:6px 0 10px; white-space:pre-wrap; } .conex .tabla { margin-top:4px; }
.conex .ag-acc { flex-shrink:0; } .conex .ag-acc .btn { white-space:nowrap; }
.piezas { max-width:1000px; } .piezas h3 { text-transform:capitalize; } .pz-nota { font-size:12.5px; margin-top:3px; }

/* ---------- guía del instalador ---------- */
.guia-cab { max-width:860px; margin-bottom:16px; } .guia-cab h3 { margin:0 0 4px; font-size:20px; }
.guia-barra { height:8px; border-radius:8px; background:var(--cyanDim); overflow:hidden; margin:12px 0 6px; } .guia-barra div { height:100%; background:var(--green); border-radius:8px; }
.guia-num { margin:0; font-size:13.5px; }
.guia-paso { max-width:860px; background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--line2); border-radius:12px; margin-bottom:9px; }
.guia-paso.ok { border-left-color:var(--green); } .guia-paso.falta { border-left-color:var(--red); } .guia-paso.rev { border-left-color:var(--amber); }
.guia-paso summary { display:flex; align-items:center; gap:12px; padding:12px 16px; cursor:pointer; list-style:none; } .guia-paso summary::-webkit-details-marker { display:none; }
.guia-paso summary b { flex:1; min-width:0; font-size:15.5px; }
.guia-n { flex:none; width:26px; height:26px; border-radius:50%; border:1px solid var(--line2); display:grid; place-items:center; font:600 12.5px var(--mono); color:var(--muted); }
.guia-paso.ok .guia-n { background:var(--green); border-color:var(--green); color:var(--bg); }
.etq.guia-e { margin:0; flex:none; } .etq.guia-e.ok { color:var(--green); border-color:var(--green); } .etq.guia-e.falta { color:var(--red); border-color:var(--red); } .etq.guia-e.rev { color:var(--amber); border-color:var(--amber); } .etq.guia-e.info { color:var(--muted); border-color:var(--line2); }
.guia-cuerpo { padding:0 16px 14px 54px; font-size:14.5px; } .guia-cuerpo p { margin:0 0 8px; } .guia-cuerpo ul { margin:4px 0 10px; padding-left:18px; color:var(--muted); font-size:13.5px; } .guia-cuerpo li { margin:3px 0; }
.guia-det { border:1px solid var(--line); border-radius:9px; padding:8px 11px; font-size:13.5px; background:var(--bg2); } .guia-cuerpo a.btn { text-decoration:none; }
@media (max-width:760px) { .guia-cuerpo { padding-left:16px; } .guia-paso summary { flex-wrap:wrap; } }
@media print { .top, .nav, .pestanas, .cab, .guia-cuerpo .ag-acc, .guia-paso + button, .zona > button { display:none !important; } .app { display:block; height:auto; } body { background:#fff; color:#000; zoom:1; } .guia-paso, .guia-det { background:#fff; border-color:#999; break-inside:avoid; } .guia-cuerpo ul, .muted { color:#333; } }
.guia-paso.ok { color:var(--text); }

/* ---------- Configuración → Fallos ---------- */
.checks label b { flex: none; min-width: 96px; } .checks label .muted { font-size: 13px; } tr.reg-crit td { background: rgba(255,77,109,.07); }

/* ---------- Ayuda para diseñar el organigrama (Config → Ayuda organigrama) ---------- */
.og-controles { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:18px; align-items:start; margin:14px 0; padding:14px 18px 18px; background:var(--panel); border:1px solid var(--line); border-radius:12px; }
.og-campo label { margin-top:0; }
.og-rango { padding:0; margin:10px 0 0; border:0; background:none; accent-color:var(--cyan); }
.og-rango:focus { box-shadow:none; }
.og-escala { display:flex; justify-content:space-between; color:var(--muted); font-size:11.5px; }
.og-nota { color:var(--muted); font-size:12px; margin-top:4px; }
.og-cuerpo { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:16px; align-items:start; }
.og-barra { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:10px; }
.og-resumen { flex:1 1 240px; font-size:13.5px; }
.og-visor { overflow:auto; min-height:320px; max-height:70vh; border:1px solid var(--line); border-radius:12px; background:radial-gradient(rgba(var(--ln-rgb), .22) 1px,transparent 1px) 0 0/19px 19px,rgba(var(--b2-rgb), .6); }
.og-visor:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
.og-diagrama { position:relative; display:grid; justify-items:center; align-items:center; min-width:100%; width:max-content; min-height:320px; padding:28px; }
.og-diagrama canvas { position:absolute; inset:0; pointer-events:none; color:var(--muted); }
.og-diagrama ul { margin:0; padding:0; list-style:none; }
.og-arbol { position:relative; }
.og-caja { display:grid; place-items:center; width:150px; min-height:46px; padding:8px 10px; border-radius:10px; border:1px solid var(--line2); background:rgb(var(--pn-rgb)); color:var(--text); text-align:center; font-size:13.5px; line-height:1.25; overflow-wrap:anywhere; }
.og-caja:hover, .og-caja:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
.og-caja .og-term { display:block; margin-top:3px; font-size:11.5px; font-weight:500; color:var(--muted); }
.og-caja .og-ya { display:block; margin-top:4px; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--green); }
.og-caja.ya { border-style:dashed; }
.og-n0 > .og-caja { background:var(--cyanDim); border-color:var(--cyan); color:var(--cyan); font-weight:700; min-height:58px; }
.og-n1 > .og-caja { font-weight:650; border-width:1.5px; }
.og-n3 > .og-caja { font-size:12.5px; }
.og-piramidal li { display:flex; flex-direction:column; align-items:center; gap:26px; }
.og-piramidal ul ul { display:flex; align-items:flex-start; gap:14px; }
.og-horizontal li { display:flex; align-items:center; gap:38px; }
.og-horizontal ul ul { display:grid; gap:12px; }
.og-vertical { justify-items:start; align-items:start; }
.og-vertical li { display:grid; justify-items:start; gap:12px; }
.og-vertical ul ul { display:grid; gap:12px; margin-left:29px; }
.og-vertical .og-caja { width:230px; text-align:left; place-items:center start; }
.og-charla { display:flex; flex-direction:column; gap:10px; background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:14px; max-height:calc(70vh + 52px); min-height:380px; }
.og-charla-cab { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.og-limpiar { background:none; border:0; padding:0; color:var(--muted); font-size:12.5px; text-decoration:underline; }
.og-mensajes { flex:1 1 auto; overflow:auto; display:flex; flex-direction:column; gap:8px; min-height:120px; }
.og-msg { max-width:92%; padding:8px 11px; border-radius:11px; font-size:14px; border:1px solid var(--line); }
.og-msg p { margin:0 0 6px; white-space:pre-wrap; overflow-wrap:anywhere; } .og-msg p:last-of-type { margin-bottom:0; }
.og-msg.u { align-self:flex-end; background:var(--cyanDim); border-color:var(--line2); }
.og-msg.a { align-self:flex-start; background:rgba(var(--b2-rgb), .7); }
.og-pensando { color:var(--muted); font-style:italic; }
.og-cambio { display:inline-block; margin-top:6px; font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--green); }
.og-sugerencias { display:flex; flex-wrap:wrap; gap:6px; }
.og-sug { padding:4px 10px; font-size:12.5px; border-radius:999px; }
.og-enviar { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:end; }
.og-enviar textarea { resize:vertical; min-height:44px; }
.og-dialogo { width:min(calc(100% - 32px),520px); max-height:88vh; overflow:auto; padding:22px; color:var(--text); background:var(--solid); background:rgb(var(--pn-rgb)); border:1px solid var(--line2); border-radius:14px; }
.og-dialogo::backdrop { background:rgba(0,0,0,.55); }
.og-dialogo h3 { margin:0 0 6px; }
.og-acc { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.og-lista { display:grid; gap:2px; margin:12px 0 0; max-height:46vh; overflow:auto; border:1px solid var(--line); border-radius:10px; padding:8px; }
.og-fila { display:flex; align-items:center; gap:8px; margin:0; padding-top:4px; padding-bottom:4px; color:var(--text); font-size:14px; }
.og-fila input { width:auto; }
.og-fila .muted { margin-left:auto; font-size:12px; }
@media (max-width:1100px) { .og-cuerpo { grid-template-columns:minmax(0,1fr); } .og-charla { max-height:none; } }
@media (max-width:600px) { .og-diagrama { padding:18px; } .og-vertical .og-caja { width:160px; } .og-vertical ul ul { margin-left:20px; } }

/* Configuración → Copias */
.cp-caja { max-width: 820px; } .cp-tabla { max-width: 980px; margin-bottom: 10px; }
.cp-pasos { margin: 8px 0 10px 1.2em; padding: 0; } .cp-pasos li { margin-bottom: 10px; }
.cp-cod { display: block; margin-top: 6px; padding: 8px 10px; border-radius: 8px; background: rgba(var(--ln-rgb), .07); font-size: 13px; overflow-wrap: anywhere; user-select: all; }
