:root{--bg:#eef0f3;--panel:#fff;--ink:#15181d;--muted:#6b7280;--line:#e3e6ea;--bar:#16181d;--red:#e5484d;--amber:#e0a200;--green:#2f9e63;--gray:#9aa1ab;--blue:#2f6fdb}
*{box-sizing:border-box}html,body{margin:0}body{font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink)}
header{background:var(--bar);color:#fff;padding:13px 20px;position:sticky;top:0;z-index:20}.htop{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.htop h1{font-size:16px;margin:0;font-weight:650}.htop .sub{color:#aeb4be;font-size:12px}
.tabs{display:flex;gap:6px;margin-top:12px}.tabs button{background:#23262d;border:1px solid #2f333b;color:#cfd4db;padding:9px 16px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600}.tabs button.on{background:#fff;color:#15181d;border-color:#fff}
main{padding:20px;max-width:1100px;margin:0 auto}
.card2{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}.card2 h3{font-size:14px;margin:0 0 4px}.card2 .smh{color:var(--muted);font-size:12.5px;margin:0 0 12px}
.btn{background:#15181d;color:#fff;border:0;border-radius:9px;padding:9px 15px;font-size:13px;font-weight:700;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn.sec{background:#fff;color:#374151;border:1px solid var(--line)}.btn.sm{padding:5px 10px;font-size:12px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lbl{font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-right:2px}
.keybar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.keybar input{flex:1;min-width:240px;font:inherit;border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:#fff}
.kstat{font-weight:800;font-size:13px;padding:6px 12px;border-radius:999px}.kstat.off{background:#fdecec;color:#b42318}.kstat.on{background:#e3f4ea;color:#1f7a4d}.kstat.test{background:#fef3d6;color:#8a6100}
.dz{border:2px dashed #c7ccd3;border-radius:14px;background:#fafbfc;padding:22px;text-align:center;color:var(--muted);cursor:pointer}.dz.sm{padding:14px}.dz b{color:var(--ink);font-size:15px}
.rule{display:grid;grid-template-columns:120px 1fr 92px 30px;gap:8px;align-items:start;margin-bottom:8px}.rule input,.rule textarea,.rule select{font:inherit;border:1px solid var(--line);border-radius:8px;padding:6px 8px;width:100%;background:#fff}.rule textarea{resize:vertical;min-height:38px}
.rhead{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.x{background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--red);font-weight:700}
.prow{display:grid;grid-template-columns:1.2fr 1fr 110px 30px;gap:8px;margin-bottom:6px}.prow input{font:inherit;border:1px solid var(--line);border-radius:8px;padding:6px 8px;width:100%;background:#fff;font-size:12.5px}
.pill{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer;font-weight:600}.pill .n{font-weight:800}.pill.on{background:#15181d;color:#fff;border-color:#15181d}.pill.on .n{color:#fff}
.pill.green .n{color:var(--green)}.pill.amber .n{color:#a87a00}.pill.blue .n{color:var(--blue)}.pill.red .n{color:var(--red)}.plat{background:#eef2fb;border-color:#d6e0f5}
.falt{background:#fff7e6;border:1px solid #f3e0b0;color:#7a5b00;border-radius:12px;padding:11px 14px;margin:6px 0 12px;font-size:13px}
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:18px;align-items:start}@media(max-width:880px){.split{grid-template-columns:1fr}}
.lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:42px 16px;border:2px dashed var(--line);border-radius:14px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative;cursor:pointer}.card.sel{outline:2px solid #15181d}
.tw{aspect-ratio:1/1;background:#f6f7f9;display:flex;align-items:center;justify-content:center;overflow:hidden}.tw img{width:100%;height:100%;object-fit:contain}
.plab{position:absolute;top:8px;left:8px;background:rgba(21,24,29,.82);color:#fff;font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:6px;text-transform:uppercase}
.dot{position:absolute;top:8px;right:8px;width:14px;height:14px;border-radius:50%;border:2px solid #fff;background:var(--gray)}
.dot.aprobado{background:var(--green)}.dot.en_duda{background:var(--blue)}.dot.a_revisar{background:var(--red)}.dot.analizando{background:var(--gray);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.4}}
.cm{padding:8px 10px}.cm .combo{font-size:12px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cm .vz{font-size:9px;color:#8b8f98;text-transform:uppercase;letter-spacing:.3px;margin-top:3px}.cm .st{font-size:10px;margin-top:4px;font-weight:700}
.st.aprobado{color:var(--green)}.st.en_duda{color:var(--blue)}.st.a_revisar{color:var(--red)}.st.analizando{color:var(--gray)}
.detalle{position:sticky;top:90px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;min-height:300px}.detalle .ph{color:var(--muted);text-align:center;padding:60px 12px}
.dimg{width:100%;border-radius:10px;border:1px solid var(--line)}.dcombo{font-size:16px;font-weight:700;margin:10px 0 6px}.vzlab{font-size:12px;color:var(--muted);margin-bottom:8px}
.find{border-left:3px solid var(--line);background:#fafbfc;border-radius:0 8px 8px 0;padding:9px 12px;margin:8px 0}
.find .tag{display:inline-block;font-size:9.5px;font-weight:800;text-transform:uppercase;padding:2px 7px;border-radius:5px;margin-right:7px}
.tag.ok{background:#e3f4ea;color:#1f7a4d}.tag.alta{background:#fde8e8;color:#b42318}.tag.media{background:#e7eefc;color:#2353b8}.tag.baja{background:#eef0f3;color:#4b5563}.tag.error{background:#fde8e8;color:#b42318}
.find .reg{font-size:10.5px;color:var(--muted);font-weight:700;text-transform:uppercase}.find .msg{margin-top:3px;font-size:13px}.prog{font-size:13px;color:var(--muted);margin:8px 0}

#botFab{position:fixed;right:16px;bottom:14px;width:90px;height:104px;background:transparent;border:0;cursor:pointer;z-index:60;display:none;align-items:flex-end;justify-content:center;filter:drop-shadow(0 6px 9px rgba(0,0,0,.35));transition:transform .12s}
#botFab:hover{transform:translateY(-3px) scale(1.06)}
#botFab img{width:100%;height:100%;object-fit:contain}
#botChat{position:fixed;right:20px;bottom:20px;width:360px;max-width:92vw;height:480px;max-height:80vh;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 44px rgba(0,0,0,.28);z-index:61;display:none;flex-direction:column;overflow:hidden}
#botChat .bch{background:#15181d;color:#fff;padding:9px 12px;display:flex;align-items:center;gap:9px;cursor:move;user-select:none}
#botChat .bch .botav{width:30px;height:30px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
#botChat .bch .botav img{width:24px;height:24px;object-fit:contain}
#botChat .bch b{font-size:13px;flex:1}
#botChat .bch button{background:transparent;border:0;color:#cfd4db;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}
#botMsgs{flex:1;overflow:auto;padding:12px;background:#f6f7f9;display:flex;flex-direction:column;gap:8px}
.bmsg{max-width:88%;padding:8px 11px;border-radius:13px;font-size:13px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.bmsg.u{align-self:flex-end;background:#15181d;color:#fff;border-bottom-right-radius:3px}
.bmsg.a{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:3px}
.bmsg.sys{align-self:center;color:var(--muted);font-size:11px;text-align:center}
#botIn{display:flex;gap:6px;padding:9px;border-top:1px solid var(--line);background:#fff}
#botIn textarea{flex:1;font:inherit;font-size:13px;border:1px solid var(--line);border-radius:9px;padding:7px 9px;resize:none;height:38px;max-height:90px}
#botIn button{background:#15181d;color:#fff;border:0;border-radius:9px;padding:0 13px;font-weight:700;cursor:pointer;font-size:15px}
