:root{--verde:#14532d;--verde-2:#15803d;--verde-claro:#dcfce7;--fondo:#f6f5f1;--panel:#ffffff;--linea:#e7e5df;--texto:#1c1917;--muted:#78716c;--amarillo:#fef3c7;--amarillo-t:#92400e;--rojo:#fee2e2;--rojo-t:#991b1b;--azul:#dbeafe;--azul-t:#1e40af;--burbuja-in:#ffffff;--burbuja-out:#e7f6ec;--r:12px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--texto)}*{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--fondo)}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;color:inherit}.brand{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--verde);letter-spacing:-.01em}.dot{width:10px;height:10px;border-radius:50%;background:var(--verde-2);box-shadow:0 0 0 3px var(--verde-claro)}.login{min-height:100%;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--linea);border-radius:16px;padding:28px;display:grid;grid-gap:14px;gap:14px}.login-card h1{margin:0;font-size:20px}.login-card input{padding:12px;border:1px solid var(--linea);border-radius:10px}.login-card button{padding:12px;border:0;border-radius:10px;background:var(--verde);color:#fff;font-weight:600}.err{color:var(--rojo-t);margin:0;font-size:14px}.app{display:grid;grid-template-columns:360px 1fr;height:100dvh}.lista{background:var(--panel);border-right:1px solid var(--linea);min-height:0}.lista,.top{display:flex;flex-direction:column}.top{padding:14px 16px 10px;gap:8px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:0;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.chip.alerta{background:var(--rojo);color:var(--rojo-t)}.chip.aviso{background:var(--amarillo);color:var(--amarillo-t)}.buscador{display:flex;gap:6px;padding:0 16px 10px;border-bottom:1px solid var(--linea)}.buscador input{flex:1 1;min-width:0;padding:8px 10px}.buscador input,.buscador select{border:1px solid var(--linea);border-radius:8px;background:var(--fondo)}.buscador select{padding:8px;max-width:130px}.lista ul{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1}.lista li{padding:12px 16px;border-bottom:1px solid var(--linea);cursor:pointer;display:grid;grid-gap:4px;gap:4px}.lista li:hover{background:#fafaf8}.lista li.activo{background:var(--verde-claro)}.lista li.vacio{color:var(--muted);cursor:default}.fila1{display:flex;justify-content:space-between;gap:8px}.fila1 strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t{font-size:12px}.prev,.t{color:var(--muted);white-space:nowrap}.prev{font-size:13px;overflow:hidden;text-overflow:ellipsis;display:block}.fila3{display:flex;gap:4px;flex-wrap:wrap}.etq{font-size:11px;padding:2px 7px;border-radius:6px;font-weight:600}.e-gris{background:#f1f0ec;color:#57534e}.e-amarillo{background:var(--amarillo);color:var(--amarillo-t)}.e-verde{background:var(--verde-claro);color:var(--verde)}.e-verde-fuerte{background:var(--verde-2);color:#fff}.e-rojo{background:var(--rojo);color:var(--rojo-t)}.e-azul{background:var(--azul);color:var(--azul-t)}.chat{min-width:0;min-height:0;display:flex}.vacio-chat{margin:auto;color:var(--muted)}.conv{display:flex;flex-direction:column;width:100%;min-height:0}.conv-top{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--linea)}.volver{display:none;border:0;background:none;font-size:28px;line-height:1;color:var(--verde);padding:0 6px 0 0}.quien{display:grid;flex:1 1;min-width:0}.quien span{color:var(--muted);font-size:13px}.banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:var(--rojo);color:var(--rojo-t);font-size:14px}.banner button{border:1px solid;background:transparent;color:inherit;border-radius:8px;padding:4px 10px;font-size:13px;white-space:nowrap}.mensajes{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.burbuja{max-width:min(560px,85%);padding:8px 12px;border-radius:var(--r);background:var(--burbuja-in);border:1px solid var(--linea);display:grid;grid-gap:4px;gap:4px}.burbuja p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45;font-size:14.5px}.burbuja.out{align-self:flex-end;background:var(--burbuja-out);border-color:#cfe9d8}.burbuja.humano{background:#eef2ff;border-color:#dfe3fb}.burbuja.failed{border-color:var(--rojo-t)}.burbuja.draft{background:var(--amarillo);border:1px dashed var(--amarillo-t);width:min(560px,85%)}.burbuja.draft textarea{width:100%;border:1px solid #f3d27a;border-radius:8px;padding:8px;background:#fffdf5;resize:vertical;line-height:1.45}.tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.adj,.tag{color:var(--muted)}.adj{font-size:13px}.burbuja .t{justify-self:end}.acciones{display:flex;gap:6px;flex-wrap:wrap}.btn-pri{border:0;background:var(--verde);color:#fff;border-radius:8px;padding:8px 14px;font-weight:600}.btn-sec{border:1px solid var(--linea);color:var(--texto);border-radius:8px;padding:7px 12px;font-size:14px}.btn-sec,.escribir{background:var(--panel)}.escribir{border-top:1px solid var(--linea);padding:10px 16px 14px;display:grid;grid-gap:8px;gap:8px}.barra{display:flex;gap:6px;flex-wrap:wrap}.escribir form{display:flex;gap:8px;align-items:flex-end}.escribir textarea{flex:1 1;border:1px solid var(--linea);border-radius:10px;padding:10px;resize:none;background:var(--fondo)}.ficha{flex:1 1;overflow-y:auto;padding:16px;display:grid;grid-gap:12px;gap:12px;align-content:start}.ficha label{display:grid;grid-gap:6px;gap:6px;font-weight:600;font-size:14px}.ficha select{padding:10px;border:1px solid var(--linea);border-radius:8px;background:var(--panel);font-weight:400}.ficha dl{display:grid;grid-template-columns:140px 1fr;grid-gap:8px 12px;gap:8px 12px;margin:0;font-size:14px}.ficha dt{color:var(--muted)}.ficha dd{margin:0;overflow-wrap:anywhere}.ficha h3{margin:8px 0 0;font-size:15px}.cita{margin:0;font-size:14px;padding:8px 10px;background:var(--panel);border:1px solid var(--linea);border-radius:8px}.muted{color:var(--muted);margin:0}@media (max-width:800px){.app{grid-template-columns:1fr}.app.con-chat .lista,.app:not(.con-chat) .chat{display:none}.volver{display:block}.ficha dl{grid-template-columns:1fr;gap:2px}.ficha dd{margin-bottom:8px}.mensajes{padding:12px}.escribir{padding:8px 12px 12px}}