/* Inicio + Bandejas · estilos acotados (solo cuando <body class="ox">, es decir #/inicio y #/bandejas).
 * Medidas, paleta y tipografía tomadas del original backoffice-render/{inicio,bandejas}/index.html.
 * Todas las clases llevan prefijo o- para no chocar con el resto del panel. Las otras vistas no cambian. */
body.ox{
  --o-bg:#f2f3ef; --o-card:#fff; --o-ink:#131f19; --o-ink-2:#3d4a43; --o-ink-3:#6f7c74;
  --o-line:#e5e8e1; --o-forest:#1e3d2f; --o-forest-2:#162d22;
  --o-gold:#c8922a; --o-gold-2:#e8b04b; --o-gold-soft:#faf1dd;
  --o-night-1:#0c1a2e; --o-night-2:#12253f; --o-neon:#35e0d0;
  --o-wa:#25d366; --o-ig:#e1306c; --o-blue:#2f6fd0; --o-red:#e5484d;
  --o-r:16px; --o-shadow:0 1px 2px rgba(19,31,25,.04),0 10px 30px rgba(19,31,25,.07);
  font-family:"Inter","Segoe UI",system-ui,sans-serif;font-size:14px;
  background:radial-gradient(1000px 500px at 85% -10%,rgba(200,146,42,.06),transparent 60%),var(--o-bg);
  color:var(--o-ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;
}
body.ox .preview-band, body.ox header.top, body.ox aside.kimi{display:none!important}
body.ox .layout{display:block;padding:0}
body.ox .main{display:block;gap:0}
body.ox #view:focus{outline:none}
.ox .o-sora{font-family:"Sora","Inter","Segoe UI",sans-serif}
.ox button{font-family:inherit}
.ox .o-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== Cabecera (66 px) ===== */
.o-top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--o-line)}
.o-top-in{max-width:1560px;margin:0 auto;padding:0 28px;height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.o-brand{display:flex;align-items:center;gap:11px;margin-right:14px;text-decoration:none;color:inherit;flex:none}
.o-logo{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--o-forest),var(--o-forest-2));display:grid;place-items:center;box-shadow:0 4px 12px rgba(30,61,47,.28)}
.o-logo svg{width:19px;height:19px}
.o-word{font-family:"Sora","Segoe UI",sans-serif;font-weight:800;font-size:17px;letter-spacing:.02em;line-height:1.1}
.o-word small{display:block;font-family:"Inter","Segoe UI",sans-serif;font-weight:600;font-size:9.5px;letter-spacing:.22em;color:var(--o-ink-3);text-transform:uppercase;margin-top:1px}
.o-tabs{display:flex;gap:4px;height:66px;align-items:center;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.o-tabs::-webkit-scrollbar{display:none}
.o-tab{height:66px;display:flex;align-items:center;gap:8px;padding:0 15px;font-size:13.5px;font-weight:600;color:var(--o-ink-3);border-bottom:3px solid transparent;white-space:nowrap;text-decoration:none;background:none;border-top:0;border-left:0;border-right:0;flex:none}
.o-tab svg{width:15px;height:15px;opacity:.75}
.o-tab:hover{color:var(--o-ink)}
.o-tab[aria-current="page"]{color:var(--o-ink);border-bottom-color:var(--o-gold);font-weight:700}
.o-more{position:relative;flex:none}
.o-more-menu{position:absolute;top:58px;left:0;z-index:60;background:#fff;border:1px solid var(--o-line);border-radius:12px;box-shadow:var(--o-shadow);padding:6px;min-width:190px;display:none}
.o-more[data-open="1"] .o-more-menu{display:block}
.o-more-menu a{display:block;padding:9px 12px;border-radius:8px;color:var(--o-ink-2);text-decoration:none;font-size:13px;font-weight:600}
.o-more-menu a:hover,.o-more-menu a:focus-visible{background:#f4f6f2;color:var(--o-ink)}
.o-right{display:flex;align-items:center;gap:10px;flex:none}
.o-label{text-align:right;line-height:1.25;margin-right:8px}
.o-label small{display:block;font-size:10px;color:var(--o-ink-3);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.o-label strong{font-family:"Sora","Segoe UI",sans-serif;font-size:14.5px;font-weight:700}
.o-ib{width:35px;height:35px;border-radius:50%;border:1px solid var(--o-line);background:#fff;display:grid;place-items:center;color:var(--o-ink-2);position:relative;padding:0;flex:none}
.o-ib:hover{border-color:#cfd6cc;color:var(--o-forest);background:#fafbf8}
.o-ib svg{width:16px;height:16px}
.o-ib .o-dot{position:absolute;top:-2px;right:-2px;width:9px;height:9px;background:var(--o-red);border-radius:50%;border:2px solid #fff}
.o-ib.off{color:#9aa79f}
.o-me{width:38px;height:38px;border-radius:50%;margin-left:4px;background:linear-gradient(135deg,#e8b04b,#b97e1e);display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;font-family:"Sora","Segoe UI",sans-serif;box-shadow:0 3px 10px rgba(185,126,30,.35);border:0;padding:0;flex:none}
.o-me.none{background:#dfe4dc;color:#56625b;box-shadow:none}
.o-pop{position:absolute;z-index:70;background:#fff;border:1px solid var(--o-line);border-radius:14px;box-shadow:0 2px 6px rgba(19,31,25,.06),0 20px 50px rgba(19,31,25,.16);padding:14px 16px;width:min(340px,calc(100vw - 24px));font-size:12.5px;line-height:1.5;color:var(--o-ink-2)}
.o-pop h3{margin:0 0 8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--o-ink-3)}
.o-pop ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.o-pop li{display:flex;gap:8px;align-items:flex-start}
.o-pop a{color:var(--o-forest);font-weight:700}

/* ===== Lienzo y grilla ===== */
.o-canvas{max-width:1560px;margin:0 auto;padding:0 28px;height:calc(100vh - 67px);display:flex;flex-direction:column}
.o-grid{display:grid;gap:22px;padding:22px 0;flex:1;min-height:0}
.o-home .o-grid{grid-template-columns:300px 350px minmax(0,1fr) 300px}
.o-inbox .o-grid{grid-template-columns:270px minmax(0,1fr) 350px}
.o-stack{display:flex;flex-direction:column;gap:22px;min-height:0;min-width:0}
.o-card{background:var(--o-card);border:1px solid var(--o-line);border-radius:var(--o-r);box-shadow:var(--o-shadow);position:relative}
.o-head{display:flex;align-items:center;gap:9px;padding:17px 20px 13px;font-size:10.5px;font-weight:700;letter-spacing:.13em;color:var(--o-ink-3);text-transform:uppercase;margin:0}
.o-head svg{width:15px;height:15px;color:var(--o-gold);flex:none}
.o-more-dots{margin-left:auto;letter-spacing:2px;color:var(--o-ink-3);font-size:14px;line-height:1;background:none;border:0;padding:2px 4px;border-radius:6px}

/* Estados de bloque (no conectado / cargando / error / vacío / sin permiso / desactualizado) */
.o-state{margin:0 16px 14px;border:1px dashed #cfd6cc;border-radius:12px;padding:10px 12px;font-size:11.5px;line-height:1.45;color:var(--o-ink-2);background:#fbfcfa}
.o-state b{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.o-state.off b{color:#56625b}.o-state.err b{color:#b4232a}.o-state.deny b{color:#8a6410}.o-state.load b{color:#0b6e62}.o-state.stale b{color:#8a6410}
.o-dark .o-state{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.22);color:#c5d4df}
.o-dark .o-state.off b{color:#cfe0ea}
.o-state .o-retry{margin-top:6px;border:1px solid currentColor;background:none;border-radius:8px;padding:4px 10px;font-size:11px;font-weight:700;color:inherit}
.o-skel{height:12px;border-radius:6px;background:linear-gradient(90deg,#eef1ec,#f7f9f5,#eef1ec);background-size:200% 100%;animation:o-sk 1.2s infinite;margin:6px 0}
.o-dark .o-skel{background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.12),rgba(255,255,255,.06));background-size:200% 100%}
@keyframes o-sk{to{background-position:-200% 0}}
.o-src{font-size:9.5px;color:var(--o-ink-3);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.o-fx{display:inline-block;font-size:8.5px;font-weight:800;letter-spacing:.08em;padding:2px 6px;border-radius:6px;background:#fff4d6;color:#7a4b00;border:1px solid #e8c67a;vertical-align:middle}
.o-dark .o-fx{background:rgba(232,176,75,.16);color:#f1c878;border-color:rgba(232,176,75,.4)}

/* ===== Kimi (columna izquierda) ===== */
.o-chat{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.o-agent{background:linear-gradient(135deg,var(--o-forest) 0%,var(--o-forest-2) 100%);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:11px;flex:none;border-radius:var(--o-r) var(--o-r) 0 0}
.o-face{width:44px;height:44px;border-radius:50%;flex:none;overflow:hidden;background:radial-gradient(circle at 35% 25%,#1b3a5e,var(--o-night-1) 75%);border:2px solid rgba(53,224,208,.45);box-shadow:0 0 14px rgba(53,224,208,.30)}
.o-face img{width:100%;height:100%;object-fit:contain;display:block}
.o-agent .o-name{font-family:"Sora","Segoe UI",sans-serif;font-size:13.5px;font-weight:700;line-height:1.3}
.o-agent .o-status{font-size:11px;color:#9fd8c9;display:flex;align-items:center;gap:6px;margin-top:3px}
.o-pulse{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.22);flex:none}
.o-pulse.off{background:#9aa79f;box-shadow:0 0 0 3px rgba(154,167,159,.25)}
.o-badge{margin-left:auto;background:var(--o-neon);color:#062a26;font-size:10px;font-weight:800;letter-spacing:.09em;padding:5px 10px;border-radius:20px;white-space:nowrap;box-shadow:0 0 12px rgba(53,224,208,.45)}
.o-badge.off{background:rgba(255,255,255,.14);color:#e3ece7;box-shadow:none;font-size:9px;letter-spacing:.05em;padding:5px 8px}
.o-chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:14px}
.o-daysep{text-align:center;font-size:10px;color:var(--o-ink-3);font-weight:700;letter-spacing:.1em;text-transform:uppercase;position:relative;margin:4px 0}
.o-daysep::before,.o-daysep::after{content:"";position:absolute;top:50%;width:38%;height:1px;background:var(--o-line)}
.o-daysep::before{left:0}.o-daysep::after{right:0}
.o-m{display:flex;gap:9px;width:fit-content;max-width:88%}
.o-m>div{min-width:0}
.o-mav{width:30px;height:30px;border-radius:50%;flex:none;overflow:hidden;background:radial-gradient(circle at 40% 25%,#1b3a5e,var(--o-night-1) 75%);border:1.5px solid rgba(53,224,208,.4)}
.o-mav img{width:100%;height:100%;object-fit:contain;display:block}
.o-bub{background:#f4f6f2;border:1px solid var(--o-line);border-radius:14px 14px 14px 4px;padding:11px 14px;font-size:12.5px;line-height:1.55;color:var(--o-ink-2);overflow-wrap:anywhere}
.o-bub b{color:var(--o-ink)}
.o-who{font-size:10px;color:var(--o-ink-3);font-weight:700;margin-bottom:4px;letter-spacing:.04em}
.o-m.me{margin-left:auto;flex-direction:row-reverse}
.o-m.me .o-bub{background:linear-gradient(135deg,var(--o-forest),var(--o-forest-2));color:#eef5f0;border:none;border-radius:14px 14px 4px 14px}
.o-m.me .o-who{text-align:right}
.o-time{display:block;font-size:9.5px;color:var(--o-ink-3);margin-top:5px}
.o-m.me .o-time{text-align:right}
.o-cite{display:block;font-size:9.5px;color:var(--o-ink-3);margin-top:6px}
.o-chat-foot{flex:none;border-top:1px solid var(--o-line);padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px}
.o-chips{display:flex;flex-wrap:wrap;gap:6px}
.o-chip{border:1.5px solid var(--o-line);background:#fff;border-radius:18px;padding:6px 12px;font-size:11px;font-weight:600;color:var(--o-ink-2);text-decoration:none;line-height:1.3}
.o-chip:hover{border-color:var(--o-forest);color:var(--o-forest);background:#f6faf7}
.o-chip[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.o-ask{display:flex;gap:8px;align-items:center}
.o-input{flex:1;min-width:0;border:1.5px solid var(--o-line);border-radius:22px;padding:10px 16px;font-size:12.5px;color:var(--o-ink);background:#fbfcfa;height:40px}
.o-input::placeholder{color:var(--o-ink-3)}
.o-input:disabled{background:#f3f5f1;cursor:not-allowed}
.o-round{width:40px;height:40px;border-radius:50%;border:none;flex:none;display:grid;place-items:center;background:linear-gradient(135deg,var(--o-forest),var(--o-forest-2));color:var(--o-neon);box-shadow:0 5px 14px rgba(30,61,47,.30);padding:0}
.o-round svg{width:16px;height:16px}
.o-round:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.o-round.send{color:#fff}

/* ===== Inicio · columna B ===== */
.o-irow{display:flex;align-items:center;gap:12px;padding:11px 20px;text-decoration:none;color:inherit;width:100%;background:none;border:0;text-align:left}
.o-irow:hover{background:#fafbf8}
.o-iico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none}
.o-iico svg{width:17px;height:17px}
.o-iico.gold{background:var(--o-gold-soft);color:var(--o-gold)}
.o-iico.teal{background:#e2f5f1;color:#0b6e62}
.o-iico.blue{background:#e3edfb;color:var(--o-blue)}
.o-irow .o-lbl{font-size:13.5px;font-weight:600}
.o-irow .o-lbl small{display:block;font-size:10px;color:var(--o-ink-3);font-weight:500;margin-top:1px}
.o-count{margin-left:auto;background:#eef1ec;color:var(--o-ink-3);font-size:11.5px;font-weight:700;min-width:23px;height:23px;border-radius:12px;display:grid;place-items:center;padding:0 7px;flex:none}
.o-count.hot{background:var(--o-forest);color:#fff}
.o-count.off{background:none;border:1px dashed #cfd6cc;color:#7d8a82;font-size:10px;letter-spacing:.04em}
.o-dark{background:linear-gradient(165deg,var(--o-night-1) 0%,#0e2036 60%,var(--o-night-2) 100%);color:#fff;border:none}
.o-dark .o-head{color:#8fb4c9;padding-bottom:6px}
.o-dark .o-head svg{color:var(--o-neon)}
.o-btabs{display:flex;gap:7px;padding:2px 16px 12px}
.o-btab{flex:1;text-align:center;font-size:11px;font-weight:700;padding:7px 0;border-radius:8px;background:rgba(255,255,255,.06);color:#a8bfd0;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent}
.o-btab svg{width:13px;height:13px}
.o-btab[aria-selected="true"].wa{background:rgba(37,211,102,.14);color:#4ade80;border-color:rgba(37,211,102,.35)}
.o-btab[aria-selected="true"].ig{background:rgba(225,48,108,.14);color:#f472b6;border-color:rgba(225,48,108,.35)}
.o-conv{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid rgba(255,255,255,.05);width:100%;background:none;border-left:0;border-right:0;border-bottom:0;color:#fff;text-align:left;text-decoration:none}
.o-conv:hover{background:rgba(255,255,255,.03)}
.o-cav{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11.5px;font-weight:800;color:#fff;font-family:"Sora","Segoe UI",sans-serif}
.o-conv .o-cw{font-size:13px;font-weight:700}
.o-conv .o-cp{font-size:11px;color:#8ba3b5;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.o-conv .o-cm{min-width:0;flex:1}
.o-n{margin-left:auto;background:var(--o-wa);color:#052e14;font-size:11.5px;font-weight:800;min-width:23px;height:23px;border-radius:50%;display:grid;place-items:center;padding:0 6px;flex:none}
.o-n.ig{background:var(--o-ig);color:#fff}

/* ===== Inicio · columna C ===== */
.o-agenda{margin:0 16px 16px;background:linear-gradient(135deg,#fdf6e3,#faeed2);border:1px solid #eed9a8;border-radius:13px;padding:13px 16px;display:block;text-decoration:none;color:inherit}
.o-agenda .t{font-size:14px;font-weight:800;font-family:"Sora","Segoe UI",sans-serif}
.o-agenda .s{font-size:11.5px;color:#7d5d0c;margin-top:3px}
.o-alerts{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.o-ptabs{display:flex;gap:6px;padding:0 16px 14px;flex-wrap:wrap}
.o-ptab{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;padding:6px 11px;border-radius:16px;border:1.5px solid var(--o-line);color:var(--o-ink-3);background:#fff}
.o-ptab .pd{width:8px;height:8px;border-radius:50%}
.o-ptab[aria-pressed="true"]{border-color:currentColor}
.o-ptab.p1{color:#8a5f0e}.o-ptab.p1 .pd{background:var(--o-gold-2)}
.o-ptab.p2{color:#0b6e62}.o-ptab.p2 .pd{background:#14b8a6}
.o-ptab.p3{color:var(--o-blue)}.o-ptab.p3 .pd{background:var(--o-blue)}
.o-ptab.p4{color:var(--o-ink-3)}.o-ptab.p4 .pd{background:#9aa79f}
.o-ptab[aria-pressed="false"]{opacity:.62}
.o-hero{margin:0 16px 8px;background:linear-gradient(135deg,#fdf6e3,#faeed2);border:1px solid #eed9a8;border-radius:14px;padding:13px 16px;display:flex;align-items:center;gap:13px;box-shadow:var(--o-shadow);text-decoration:none;color:inherit;width:calc(100% - 32px);text-align:left}
.o-hero .ico{width:42px;height:42px;border-radius:11px;background:#fff;display:grid;place-items:center;flex:none;border:1px solid #eed9a8}
.o-hero .ico svg{width:23px;height:23px;color:#1eae54}
.o-hero .t{font-size:9.5px;color:#7d5d0c;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.o-hero .n{font-size:15.5px;font-weight:800;font-family:"Sora","Segoe UI",sans-serif;margin-top:2px}
.o-hero .tm{margin-left:auto;font-size:10.5px;color:#7d5d0c;font-weight:700;white-space:nowrap}
.o-stage{flex:1;min-height:0;position:relative;display:flex;align-items:flex-end;padding:8px 20px 20px}
.o-stage-bg{position:absolute;inset:0;background:radial-gradient(460px 320px at 22% 82%,rgba(53,224,208,.09),transparent 65%),linear-gradient(180deg,#fff 0%,#f6f8f5 100%);border-radius:0 0 var(--o-r) var(--o-r)}
.o-fig{position:relative;z-index:2;width:188px;flex:none;display:flex;flex-direction:column;align-items:center}
.o-fig .halo{width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(53,224,208,.20),transparent 70%);position:absolute;top:8px;filter:blur(4px)}
.o-fig .imgw{position:relative;width:150px;height:196px;border-radius:30px;overflow:hidden;background:radial-gradient(circle at 50% 18%,#173a63,var(--o-night-1) 82%);border:1px solid rgba(53,224,208,.35);box-shadow:0 16px 38px rgba(12,26,46,.32),inset 0 0 26px rgba(53,224,208,.10)}
.o-fig .imgw img{width:100%;height:100%;object-fit:contain;padding:8px 4px 0;display:block}
.o-fig .cap{position:relative;margin-top:9px;font-size:10px;font-weight:800;letter-spacing:.1em;color:#0b6e62;background:#e2f5f1;padding:5px 12px;border-radius:14px;text-transform:uppercase;white-space:nowrap}
.o-lines{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;gap:12px;padding-left:34px;margin-left:-8px;min-width:0;max-height:100%;overflow-y:auto;padding-top:4px;padding-bottom:2px}
.o-lines>:first-child{margin-top:auto}
.o-lines>:last-child{margin-bottom:auto}
.o-ai{position:relative;display:flex;align-items:center;gap:10px}
.o-ai::before{content:"";position:absolute;left:-26px;top:50%;width:26px;border-top:2px dashed #b9c6bd}
.o-ai::after{content:"";position:absolute;left:-31px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:#fff;border:2px solid #b9c6bd}
.o-ai.p1::after{border-color:var(--o-gold-2);background:var(--o-gold-2)}.o-ai.p1::before{border-color:#e3cd9a}
.o-ai.p2::after{border-color:#14b8a6;background:#14b8a6}.o-ai.p2::before{border-color:#a9ddd6}
.o-abub{flex:1;min-width:0;background:#fff;border:1px solid var(--o-line);border-radius:14px 14px 14px 4px;padding:11px 14px;box-shadow:var(--o-shadow);text-align:left;color:inherit;text-decoration:none;display:block;width:100%}
.o-abub:hover{border-color:#cfd6cc}
.o-abub .o-abtop{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.o-pb{font-size:9px;font-weight:800;letter-spacing:.07em;padding:3px 8px;border-radius:10px;white-space:nowrap}
.o-pb.p1{background:var(--o-gold-soft);color:#8a5f0e;border:1px solid #eed9a8}
.o-pb.p2{background:#e2f5f1;color:#0b6e62;border:1px solid #bfe8df}
.o-pb.p3{background:#e3edfb;color:var(--o-blue);border:1px solid #c5dbf6}
.o-pb.p4{background:#eef1ec;color:var(--o-ink-3);border:1px solid var(--o-line)}
.o-abub .txt{font-size:12.5px;color:var(--o-ink-2);line-height:1.45}
.o-abub .txt b{color:var(--o-ink)}
.o-abub .when{margin-left:auto;font-size:9.5px;color:var(--o-ink-3);font-weight:600}

/* ===== Inicio · columna D ===== */
.o-metric-card{background:linear-gradient(160deg,var(--o-forest) 0%,var(--o-forest-2) 100%);color:#fff;border:none}
.o-metric-card .o-head{color:#a8cbb9}
.o-metric-card .o-head svg{color:var(--o-gold-2)}
.o-metric{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 20px;border-top:1px solid rgba(255,255,255,.08)}
.o-metric:first-of-type{border-top:none}
.o-metric .k{font-size:12px;color:#a8cbb9;font-weight:500}
.o-metric .v{font-size:14.5px;font-weight:800;font-family:"Sora","Segoe UI",sans-serif;white-space:nowrap}
.o-metric .v.money{color:var(--o-gold-2)}
.o-metric .v.na{color:#8fae9f;font-weight:700}
.o-metric-def{padding:4px 20px 14px;font-size:10px;color:#8fae9f;line-height:1.45}
.o-metric-card .o-state{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2);color:#cfe3d8}
.o-metric-card .o-state b{color:#e8f3ec}
.o-donut-wrap{display:flex;align-items:center;gap:18px;padding:4px 20px 20px}
.o-donut{width:118px;height:118px;border-radius:50%;flex:none;position:relative;background:var(--o-forest)}
.o-donut.na{background:repeating-conic-gradient(#e5e8e1 0 6deg,#f2f3ef 6deg 12deg)}
.o-donut::after{content:"";position:absolute;inset:23px;background:#fff;border-radius:50%;box-shadow:inset 0 2px 8px rgba(19,31,25,.08)}
.o-donut .hole{position:absolute;inset:0;display:grid;place-items:center;z-index:2;text-align:center}
.o-donut .hole b{font-family:"Sora","Segoe UI",sans-serif;font-size:19px;display:block}
.o-donut .hole small{font-size:8.5px;color:var(--o-ink-3);font-weight:700;letter-spacing:.1em}
.o-legend{display:flex;flex-direction:column;gap:8px;min-width:0}
.o-legend .li{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--o-ink-2);font-weight:600;background:none;border:0;padding:0;text-align:left}
.o-legend .li em{font-style:normal;color:var(--o-ink-3);font-weight:700;margin-left:2px}
.o-legend .sw{width:10px;height:10px;border-radius:3.5px;flex:none}
.o-legend-note{padding:0 20px 16px;font-size:10px;color:var(--o-ink-3);line-height:1.45;margin-top:-8px}
.o-qbtn{display:flex;align-items:center;justify-content:center;gap:9px;width:calc(100% - 40px);margin:0 20px 12px;background:linear-gradient(135deg,var(--o-forest) 0%,var(--o-forest-2) 100%);color:#fff;font-size:12px;font-weight:800;letter-spacing:.07em;padding:14px 0;border-radius:12px;border:none;box-shadow:0 7px 18px rgba(30,61,47,.26);font-family:"Sora","Segoe UI",sans-serif;text-decoration:none}
.o-qbtn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(30,61,47,.32)}
.o-qbtn svg{width:15px;height:15px;color:var(--o-gold-2)}
.o-qbtns .o-qbtn:last-child{margin-bottom:20px}

/* ===== Etiqueta inferior (fuente de datos y pruebas) ===== */
.o-tag{position:fixed;bottom:14px;right:16px;z-index:45;background:rgba(19,31,25,.92);color:#cdeeda;font-size:10px;font-weight:700;letter-spacing:.1em;padding:8px 14px;border-radius:20px;text-transform:uppercase;backdrop-filter:blur(6px);border:0;max-width:calc(100vw - 32px)}
.o-tag.fx{background:rgba(122,75,0,.94);color:#ffe9b8}
.o-tools{position:fixed;bottom:56px;right:16px;z-index:46;width:min(340px,calc(100vw - 32px));background:#fff;border:1px solid var(--o-line);border-radius:14px;box-shadow:0 20px 50px rgba(19,31,25,.18);padding:14px;font-size:12px;color:var(--o-ink-2);display:flex;flex-direction:column;gap:10px}
.o-tools h3{margin:0;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--o-ink-3)}
.o-tools label{display:flex;flex-direction:column;gap:4px;font-weight:600}
.o-tools select{height:34px;border-radius:8px;border:1px solid var(--o-line);padding:0 8px;background:#fff}
.o-tools .row{display:flex;gap:8px;flex-wrap:wrap}
.o-tools .row button{border:1px solid var(--o-line);background:#fbfcfa;border-radius:8px;padding:6px 10px;font-size:11.5px;font-weight:700;color:var(--o-ink-2)}
.o-tools .row button[aria-pressed="true"]{background:var(--o-forest);color:#fff;border-color:var(--o-forest)}

/* ===== Bandejas ===== */
.o-kbody{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:16px;overflow-y:auto}
.o-knote{background:linear-gradient(150deg,var(--o-forest),var(--o-forest-2));border-radius:14px;padding:14px;font-size:12px;line-height:1.6;color:#e9f2ec}
.o-knote strong{color:var(--o-gold-2)}
.o-knote .o-ksub{color:#93b3a2;font-size:11px;margin-top:6px;display:block}
.o-knote .cite{color:#7fa190;font-size:9.5px;margin-top:6px;display:block;letter-spacing:.02em}
.o-inbox .o-chip{padding:7px 13px;font-size:11.5px}
.o-cv{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.o-cvh{padding:16px 20px 14px;border-bottom:1px solid var(--o-line);flex:none}
.o-cvt{font-size:10.5px;font-weight:800;letter-spacing:.13em;color:var(--o-ink-3);text-transform:uppercase;display:flex;align-items:center;gap:9px;margin:0}
.o-cvt .o-more-dots{margin-left:auto}
.o-ctx{position:relative;margin-left:auto}
.o-ctx-menu{position:absolute;right:0;top:26px;z-index:20;background:#fff;border:1px solid var(--o-line);border-radius:12px;box-shadow:0 20px 50px rgba(19,31,25,.16);padding:6px;min-width:250px;display:none;text-transform:none;letter-spacing:0}
.o-ctx[data-open="1"] .o-ctx-menu{display:block}
.o-ctx-menu button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 11px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--o-ink-2)}
.o-ctx-menu button:hover:not(:disabled){background:#f4f6f2}
.o-ctx-menu button:disabled{opacity:.5;cursor:not-allowed}
.o-ctx-menu small{display:block;font-size:10px;color:var(--o-ink-3);font-weight:500;padding:2px 11px 6px}
.o-cvm{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.o-cust{width:46px;height:46px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:14px;font-weight:800;color:#fff;font-family:"Sora","Segoe UI",sans-serif}
.o-custn{font-family:"Sora","Segoe UI",sans-serif;font-size:16px;font-weight:800}
.o-custs{font-size:11.5px;color:#15803d;font-weight:600;display:flex;align-items:center;gap:6px;margin-top:3px}
.o-custs .g{width:7px;height:7px;border-radius:50%;background:#22c55e}
.o-custs.off{color:var(--o-ink-3)}.o-custs.off .g{background:#9aa79f}
.o-sbs{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.o-sb{font-size:11.5px;font-weight:700;padding:8px 14px;border-radius:20px;border:1.5px solid var(--o-line);color:var(--o-ink-2);background:#fbfcfa;white-space:nowrap}
.o-sb b{color:inherit}
.o-sb.is-alarm{border-color:rgba(229,72,77,.45);background:#fdf0f0;color:#b4232a}
.o-sb.human{border-color:rgba(200,146,42,.55);background:var(--o-gold-soft);color:#7a5a0e}
.o-sb.pending{border-color:#9adbcf;background:#e2f5f1;color:#0b6e62}
.o-sb.error{border-color:#e5484d;background:#fff;color:#b4232a}
.o-cvs{flex:1;min-height:0;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px;position:relative}
.o-cvs .o-m{max-width:78%}
.o-cvs .o-bub{font-size:13px;padding:12px 15px}
.o-m.bot .o-bub{background:#f4f6f2}
.o-m.cli{margin-left:auto;flex-direction:row-reverse}
.o-m.cli .o-bub{background:#dbeafe;border-color:#c7ddfa;color:#1e3a5f;border-radius:14px 14px 4px 14px}
.o-m.cli .o-who,.o-m.cli .o-time{text-align:right}
.o-m.ase{margin-left:auto;flex-direction:row-reverse}
.o-m.ase .o-bub{background:linear-gradient(135deg,#fdf6e3,#f9edd2);border-color:#e8d5a6;color:#5c4712;border-radius:14px 14px 4px 14px}
.o-m.ase .o-time{text-align:right}
.o-tagline{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.08em;margin-bottom:4px;color:var(--o-ink-3)}
.o-tagline svg{width:12px;height:12px}
.o-m.bot .o-tagline svg{color:#0b6e62}
.o-m.ase .o-tagline{color:#8a6410;justify-content:flex-end}
.o-mst{font-size:9.5px;font-weight:700;margin-left:6px}
.o-mst.fallido{color:#b4232a}.o-mst.pendiente{color:#0b6e62}.o-mst.enviado{color:#56625b}
.o-mst button{border:1px solid currentColor;background:none;border-radius:6px;font-size:9.5px;font-weight:800;padding:1px 6px;margin-left:6px;color:inherit}
.o-sys{display:flex;align-items:center;gap:7px;font-size:10.5px;color:#56625b;font-weight:600;align-self:flex-end;max-width:80%;text-align:right}
.o-sys svg{width:12px;height:12px;color:var(--o-gold);flex:none}
.o-sys.warn{color:#b4232a}.o-sys.warn svg{color:#e5484d}
.o-prod{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--o-line);border-radius:13px;padding:12px 14px;margin-bottom:9px;box-shadow:var(--o-shadow)}
.o-prod img,.o-prod .ph{width:58px;height:58px;border-radius:11px;flex:none;object-fit:cover;border:1px solid var(--o-line);background:linear-gradient(150deg,#e8eef7,#d7e2ee)}
.o-prod .pi{flex:1;min-width:0}
.o-prod .pn{font-family:"Sora","Segoe UI",sans-serif;font-size:13.5px;font-weight:800;color:var(--o-ink)}
.o-prod .pv{font-size:11px;color:var(--o-ink-3);margin-top:3px}
.o-prod .pp{font-family:"Sora","Segoe UI",sans-serif;font-size:15px;font-weight:800;white-space:nowrap;color:var(--o-ink)}
.o-alarm{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#e5484d,#c0262c);color:#fff;border-radius:13px;padding:13px 15px;box-shadow:0 8px 24px rgba(229,72,77,.38);flex-wrap:wrap}
.o-alarm .ai{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:none}
.o-alarm .ai svg{width:18px;height:18px}
.o-alarm .at{font-family:"Sora","Segoe UI",sans-serif;font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase}
.o-alarm .as{font-size:11px;opacity:.95;margin-top:2px;line-height:1.45}
.o-alarm .ab{margin-left:auto;background:#fff;color:#b4232a;font-size:10.5px;font-weight:800;letter-spacing:.07em;border:none;border-radius:9px;padding:10px 14px;white-space:nowrap;font-family:"Sora","Segoe UI",sans-serif}
.o-alarm .ab:disabled{opacity:.7;cursor:progress}
.o-alarm.solved{background:linear-gradient(135deg,var(--o-forest),var(--o-forest-2));box-shadow:0 8px 22px rgba(30,61,47,.30)}
.o-alarm.solved .ab{background:rgba(255,255,255,.14);color:#cdeeda}
.o-alarm .err{flex-basis:100%;font-size:11px;background:rgba(0,0,0,.18);border-radius:8px;padding:6px 9px}
.o-newmsgs{position:sticky;bottom:6px;align-self:center;background:var(--o-forest);color:#fff;border:0;border-radius:16px;padding:6px 12px;font-size:11px;font-weight:700;box-shadow:0 6px 16px rgba(30,61,47,.3)}
.o-cva{flex:none;border-top:1px solid var(--o-line);padding:12px 16px 14px;display:flex;flex-direction:column;gap:11px}
.o-qbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.o-qb{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--o-forest),var(--o-forest-2));color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;padding:12px 4px;border-radius:11px;border:none;box-shadow:0 6px 15px rgba(30,61,47,.24);font-family:"Sora","Segoe UI",sans-serif;text-decoration:none;text-align:center}
.o-qb:hover{transform:translateY(-1px)}
.o-qb svg{width:14px;height:14px;color:var(--o-gold-2);flex:none}
.o-reply-note{font-size:10.5px;color:var(--o-ink-3);margin-top:-4px}
.o-reply-note.err{color:#b4232a}
.o-uni{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.o-unih{padding:16px 18px 10px;font-family:"Sora","Segoe UI",sans-serif;font-size:15px;font-weight:800;display:flex;align-items:center;gap:9px;margin:0;color:#fff}
.o-unih svg{width:16px;height:16px;color:var(--o-neon)}
.o-cht{display:flex;gap:7px;padding:4px 14px 10px}
.o-ch{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:700;padding:8px 4px;border-radius:9px;background:rgba(255,255,255,.05);color:#a8bfd0;border:1px solid transparent;min-width:0}
.o-ch svg{width:13px;height:13px;flex:none}
.o-ch .n{background:rgba(255,255,255,.14);border-radius:10px;padding:1px 7px;font-size:10.5px}
.o-ch[aria-pressed="true"].wa{background:rgba(37,211,102,.13);color:#4ade80;border-color:rgba(37,211,102,.35)}
.o-ch[aria-pressed="true"].wa .n{background:#25d366;color:#052e14}
.o-ch[aria-pressed="true"].ig{background:rgba(225,48,108,.13);color:#f472b6;border-color:rgba(225,48,108,.35)}
.o-ch[aria-pressed="true"].ig .n{background:#e1306c;color:#fff}
.o-ch[aria-pressed="true"].ml{background:rgba(232,176,75,.13);color:#e8b04b;border-color:rgba(232,176,75,.35)}
.o-ch[aria-pressed="true"].ml .n{background:#e8b04b;color:#3d2c05}
.o-flt{display:flex;flex-wrap:wrap;gap:6px;padding:2px 14px 12px}
.o-fc{font-size:10.5px;font-weight:700;padding:6px 12px;border-radius:15px;background:rgba(255,255,255,.05);color:#a8bfd0;border:1px solid transparent}
.o-fc[aria-pressed="true"]{background:rgba(53,224,208,.12);color:var(--o-neon);border-color:rgba(53,224,208,.35)}
.o-fc.is-alarm{background:rgba(229,72,77,.16);color:#ff9a9e;border-color:rgba(229,72,77,.5)}
.o-fc.is-alarm[aria-pressed="true"]{background:rgba(229,72,77,.3);color:#fff}
.o-fsum{padding:0 16px 8px;font-size:10px;color:#7d94a6}
.o-ul{flex:1;min-height:0;overflow-y:auto;border-top:1px solid rgba(255,255,255,.06)}
.o-uc{display:flex;gap:11px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05);width:100%;background:none;border-top:0;border-left:3px solid transparent;border-right:0;color:#fff;text-align:left}
.o-uc:hover{background:rgba(255,255,255,.03)}
.o-uc[aria-current="true"]{background:rgba(53,224,208,.07);border-left-color:var(--o-neon)}
.o-uav{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff;font-family:"Sora","Segoe UI",sans-serif;position:relative}
.o-uav .chan{position:absolute;bottom:-2px;right:-2px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--o-night-1)}
.o-uav .chan svg{width:8px;height:8px}
.o-uav .live{position:absolute;top:-2px;right:-2px;width:12px;height:12px;background:var(--o-red);border-radius:50%;border:2px solid var(--o-night-1)}
.o-um{flex:1;min-width:0;display:block}
.o-uc .o-up{display:block}
.o-uc .o-ut{display:flex;align-items:baseline;gap:8px}
.o-un{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-uh{margin-left:auto;font-size:10px;color:#8ba3b5;font-weight:600;white-space:nowrap}
.o-up{font-size:11px;color:#8ba3b5;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.o-uc .o-ub{display:flex;align-items:center;gap:7px;margin-top:6px;flex-wrap:wrap}
.o-us{font-size:9px;font-weight:800;letter-spacing:.06em;padding:3px 9px;border-radius:9px;text-transform:uppercase}
.o-us.cotiz{background:rgba(232,176,75,.15);color:#e8b04b;border:1px solid rgba(232,176,75,.3)}
.o-us.nuevo{background:rgba(53,224,208,.12);color:var(--o-neon);border:1px solid rgba(53,224,208,.3)}
.o-us.cita{background:rgba(37,211,102,.13);color:#4ade80;border:1px solid rgba(37,211,102,.3)}
.o-us.otro{background:rgba(255,255,255,.08);color:#c5d4df;border:1px solid rgba(255,255,255,.18)}
.o-us.is-alarm{background:rgba(229,72,77,.16);color:#ff9a9e;border:1px solid rgba(229,72,77,.5)}
.o-us.human{background:rgba(232,176,75,.15);color:#e8b04b;border:1px solid rgba(232,176,75,.3)}
.o-uk{background:var(--o-wa);color:#052e14;font-size:10.5px;font-weight:800;min-width:19px;height:19px;border-radius:50%;display:grid;place-items:center;padding:0 5px;margin-left:auto}
.o-uk.red{background:var(--o-red);color:#fff}
.o-more-list{margin:10px 16px 16px;border:1px solid rgba(255,255,255,.2);background:none;color:#c5d4df;border-radius:10px;padding:8px;font-size:11.5px;font-weight:700;width:calc(100% - 32px)}
.o-panes{display:none}

/* ===== Foco y teclado ===== */
.ox a:focus-visible,.ox button:focus-visible,.ox input:focus-visible,.ox select:focus-visible{outline:3px solid var(--o-gold);outline-offset:2px}
.ox .o-dark button:focus-visible,.ox .o-dark a:focus-visible{outline-color:var(--o-neon)}

/* ===== Reflujo (no hay render móvil aprobado: adaptación propuesta para revisión) ===== */
@media (max-width:1499px){
  .o-home .o-grid{grid-template-columns:300px 340px minmax(0,1fr)}
  .o-home .o-col-d{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
  .o-home .o-col-d>.o-card{margin:0}
}
@media (max-width:1499px),(max-height:820px){
  body.ox{overflow:auto}
  .o-canvas{height:auto;min-height:calc(100vh - 67px)}
  .o-home .o-chat{height:720px;flex:none}
  .o-home .o-alerts{min-height:560px}
  .o-inbox .o-grid{min-height:760px}
}
@media (max-width:1199px){
  .o-home .o-grid{grid-template-columns:300px minmax(0,1fr)}
  .o-home .o-col-c{grid-column:1/-1}
  .o-inbox .o-grid{grid-template-columns:minmax(0,1fr) 330px}
  .o-inbox .o-col-k{grid-column:1/-1;order:-1}
  .o-inbox .o-col-k .o-chat{flex:none}
  .o-inbox .o-col-k .o-kbody{flex-direction:row;flex-wrap:wrap;align-items:flex-start;overflow:visible}
  .o-inbox .o-col-k .o-knote{flex:1 1 320px}
}
@media (max-width:1439px){.o-label{display:none}}
@media (max-width:899px){
  .o-top-in{padding:0 16px;gap:12px;flex-wrap:wrap;height:auto;min-height:66px}
  .o-tabs{order:3;flex-basis:100%;height:48px}
  .o-tab{height:48px;padding:0 12px}
  .o-more-menu{top:44px}
  .o-canvas{padding:0 16px}
  .o-home .o-grid{grid-template-columns:minmax(0,1fr)}
  .o-home .o-col-d{grid-template-columns:minmax(0,1fr)}
  .o-home .o-chat{height:560px}
  .o-stage{flex-direction:column;align-items:stretch;gap:14px}
  .o-fig{width:auto;flex-direction:row;gap:12px}
  .o-fig .halo{display:none}
  .o-fig .imgw{width:76px;height:100px;border-radius:18px}
  .o-lines{padding-left:0}
  .o-ai::before,.o-ai::after{display:none}
  .o-inbox .o-grid{grid-template-columns:minmax(0,1fr);min-height:0}
  .o-panes{display:flex;gap:6px;position:sticky;top:0;z-index:30;background:var(--o-bg);padding:10px 0 4px}
  .o-panes button{flex:1;border:1.5px solid var(--o-line);background:#fff;border-radius:12px;padding:9px 6px;font-size:12px;font-weight:700;color:var(--o-ink-2)}
  .o-panes button[aria-pressed="true"]{background:var(--o-forest);color:#fff;border-color:var(--o-forest)}
  .o-inbox .o-col-k,.o-inbox .o-col-c,.o-inbox .o-col-l{display:none}
  .o-inbox[data-mpane="kimi"] .o-col-k,.o-inbox[data-mpane="conv"] .o-col-c,.o-inbox[data-mpane="list"] .o-col-l{display:flex}
  .o-inbox .o-col-k .o-kbody{flex-direction:column}
  .o-inbox .o-cv{height:calc(100vh - 190px);min-height:520px}
  .o-inbox .o-uni{height:calc(100vh - 190px);min-height:520px}
  .o-inbox .o-col-k .o-chat{min-height:420px}
  .o-sbs{margin-left:0}
  .o-qbs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .o-cvs .o-m,.o-cvs .o-sys{max-width:92%}
  .o-tag{position:static;display:block;margin:14px auto 18px}
  .o-prod{flex-wrap:wrap}
  .o-prod .pi{flex:1 1 150px}
  .o-prod .pp{flex-basis:100%;text-align:right}
}
@media (max-width:480px){
  .o-word small{display:none}
  .o-right{gap:6px}
  .o-ib{width:32px;height:32px}
  .o-me{width:34px;height:34px}
  .o-hero .tm{display:none}
}
@media (prefers-reduced-motion:no-preference){
  .o-alarm:not(.solved){animation:o-ap 1.6s infinite}
  @keyframes o-ap{0%,100%{box-shadow:0 8px 24px rgba(229,72,77,.38)}50%{box-shadow:0 8px 34px rgba(229,72,77,.62)}}
}

/* ---------- Datos reales (modo real) ---------- */
body.ox .o-srcline{margin:0 16px 12px;line-height:1.4}
body.ox .o-dark .o-srcline .o-src,body.ox .o-dark .o-acct{color:#9fb3c0}
body.ox .o-acct{margin-left:6px;font-size:9px;font-weight:700}
body.ox .o-state.err .o-src{color:inherit;opacity:.8}
body.ox .o-state .o-retry{display:inline-block}
body.ox .o-fc[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
body.ox .o-ro-take{margin-left:4px;opacity:.6;cursor:not-allowed;padding:7px 13px;font-size:11.5px}
body.ox .o-cvs .o-srcline{margin:6px 0 0}
body.ox .o-cvs .o-state{margin-left:0;margin-right:0}

/* ---------- Mapa de conexiones (ayuda de revisión) ---------- */
body.ox .o-pins{position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden}
body.ox .o-pin{position:absolute;left:0;top:0;pointer-events:auto;min-width:22px;height:16px;padding:0 5px;border-radius:9px;border:1.5px solid #fff;font:800 9px/13px Inter,"Segoe UI",sans-serif;letter-spacing:.02em;color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.4);cursor:pointer;white-space:nowrap}
body.ox .o-pin:focus-visible{outline:2px solid #131f19;outline-offset:2px;z-index:2}
body.ox .o-pin.s-gris,body.ox .o-mp-st.s-gris i,body.ox .o-maplegend i.s-gris{background:#6f7c74}
body.ox .o-pin.s-amarillo,body.ox .o-mp-st.s-amarillo i,body.ox .o-maplegend i.s-amarillo{background:#f2b705}
body.ox .o-pin.s-amarillo{color:#2b2000}
body.ox .o-pin.s-azul,body.ox .o-mp-st.s-azul i,body.ox .o-maplegend i.s-azul{background:#2f6fd0}
body.ox .o-pin.s-rojo,body.ox .o-mp-st.s-rojo i,body.ox .o-maplegend i.s-rojo{background:#c2272d}
body.ox .o-pin.s-verde,body.ox .o-mp-st.s-verde i,body.ox .o-maplegend i.s-verde{background:#1f9d55}
body.ox .o-mappanel{position:fixed;top:72px;right:12px;left:auto;z-index:80;width:min(370px,calc(100vw - 24px));max-height:72vh;overflow:auto}
body.ox .o-mp-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
body.ox .o-mp-h h3{margin:0}
body.ox .o-mp-x{border:1px solid var(--o-line);background:#fbfcfa;border-radius:8px;width:26px;height:26px;font-size:12px;color:var(--o-ink-2)}
body.ox .o-mp{margin:0;display:flex;flex-direction:column;gap:7px}
body.ox .o-mp dt{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--o-ink-3)}
body.ox .o-mp dd{margin:1px 0 0;font-size:12px;line-height:1.4;color:var(--o-ink)}
body.ox .o-mp code{font-size:11px;background:#f1f3ee;border-radius:5px;padding:1px 5px;word-break:break-all}
body.ox .o-mp-st{display:flex;align-items:center;gap:7px;font-weight:800;font-size:12px}
body.ox .o-mp-st i,body.ox .o-maplegend i{display:inline-block;width:11px;height:11px;border-radius:50%;flex:none}
body.ox .o-maplegend{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600}
body.ox .o-maplegend span{display:flex;align-items:center;gap:7px}
body.ox .o-tools{max-height:calc(100vh - 80px);overflow:auto}
@media (max-width:768px){body.ox .o-mappanel{top:auto;bottom:8px;max-height:42vh}}
body.ox .o-notext{font-style:italic;opacity:.65}

/* ---------- Atención real · etapa 2 ---------- */
body.ox .o-at{margin:10px 20px 0;border:1px solid var(--o-line);border-radius:12px;background:#fbfcfa;padding:10px 12px;font-size:11.5px;line-height:1.45;color:var(--o-ink-2);max-height:200px;overflow:auto;flex:none}
body.ox .o-at-h{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:4px;color:var(--o-ink)}
body.ox .o-at-b{font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:9px;border:1px solid #d3d7d3;background:#eef1ec;color:#56625b}
body.ox .o-at-b.on{background:var(--o-gold-soft);border-color:rgba(200,146,42,.55);color:#7a5a0e}
body.ox .o-at-row{margin:2px 0}
body.ox .o-at-row.ok{color:#14653b}
body.ox .o-at-row.bad{color:#b4232a}
body.ox .o-at-row code{font-size:10.5px;background:#f1f3ee;border-radius:5px;padding:1px 5px}
body.ox .o-at-list{margin:4px 0 0;padding-left:16px;font-size:10.5px;color:var(--o-ink-3)}
body.ox .o-at-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
body.ox .o-at-act .o-chip[disabled]{opacity:.55;cursor:not-allowed}
body.ox .o-at-dialog .o-at-go{background:var(--o-forest);color:#fff;border-color:var(--o-forest)}
body.ox .o-ro-take:not(:disabled){opacity:1;cursor:pointer;background:var(--o-forest);color:#fff;border-color:var(--o-forest)}
