:root{--ink:#17212b;--muted:#70808f;--line:#e7edf1;--primary:#18794e;--bg:#f5f8f7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.brand{display:flex;align-items:center;gap:.65rem;font-weight:800;letter-spacing:.08em;font-size:1.15rem;color:var(--ink)}.brand i{color:var(--primary);font-size:1.5rem}.brand-logo{width:34px;height:34px;object-fit:contain;border-radius:6px}.settings-logo-preview{max-width:180px;max-height:110px;object-fit:contain;border-radius:8px;border:1px solid var(--line);padding:8px;background:#fff}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#fff;border-right:1px solid var(--line);padding:28px 18px}.sidebar .brand{padding:0 12px 36px}.nav-link{color:#71808d;border-radius:9px;margin:4px 0;padding:11px 12px;font-size:.92rem}.nav-link i{width:25px;font-size:1.05rem}.nav-link:hover,.nav-link.active{background:#eaf6ef;color:var(--primary);font-weight:600}.content{margin-left:244px;padding:0 42px 42px}.topbar{height:126px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:32px}.eyebrow{font-size:.68rem;letter-spacing:.14em;color:var(--primary);font-weight:700}.topbar h1{font-size:2rem;margin:.3rem 0 0}.kpi-card,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 12px #163b2810}.kpi-card{padding:20px;display:flex;gap:15px;align-items:center;min-height:112px}.kpi-icon{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;font-size:1.25rem}.kpi-icon.green{background:#e5f5eb;color:#18794e}.kpi-icon.blue{background:#e7f0fa;color:#3d78aa}.kpi-icon.orange{background:#fff1df;color:#c77b18}.kpi-icon.purple{background:#eeeafb;color:#7968b1}.kpi-label{font-size:.76rem;color:var(--muted);margin-bottom:5px}.kpi-value{font-weight:700;font-size:1.35rem}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#9aa5ab;margin:0 5px 2px 0}.status-dot.online{background:#22a35a}.panel{padding:22px;min-height:300px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:15px}.panel h2{font-size:1rem;margin:0 0 5px}.panel-header p{font-size:.78rem;color:var(--muted);margin:0}.empty-state{text-align:center;padding:55px 20px;color:var(--muted)}.empty-state i{font-size:2.6rem;color:#b5c9be}.empty-state h3{font-size:1rem;color:var(--ink);margin:12px 0 7px}.empty-state p{font-size:.83rem;margin:0}.system-row{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);font-size:.84rem}.system-row:last-child{border-bottom:0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,420px);background:#fff;border:1px solid var(--line);border-radius:16px;padding:38px;box-shadow:0 8px 30px #163b2810}.auth-card h1{font-size:1.5rem}.form-control{border-color:#d9e2e6;padding:.7rem .8rem}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:#12643f;border-color:#12643f}@media(max-width:800px){.sidebar{width:70px;padding:20px 10px}.sidebar .brand span,.sidebar .small,.nav-link:not(.active)::after{display:none}.nav-link{font-size:0;text-align:center}.nav-link i{font-size:1.2rem}.content{margin-left:70px;padding:0 20px 30px}.topbar{height:100px}.topbar h1{font-size:1.5rem}}

body[data-theme="dark"]{--ink:#e8eef2;--muted:#a9b7c1;--line:#33424d;--bg:#10171c;background:var(--bg);color:var(--ink)}body[data-theme="dark"] .sidebar,body[data-theme="dark"] .kpi-card,body[data-theme="dark"] .panel,body[data-theme="dark"] .auth-card{background:#182229;border-color:var(--line)}body[data-theme="dark"] .nav-link{color:#a9b7c1}body[data-theme="dark"] .nav-link:hover,body[data-theme="dark"] .nav-link.active{background:#203a30;color:#7ee2a8}body[data-theme="dark"] .form-control,body[data-theme="dark"] .form-select{background:#202d35;color:var(--ink);border-color:#4a5b66}body[data-theme="dark"] .form-control::placeholder{color:#8b9ba5}body[data-theme="dark"] .table{--bs-table-color:var(--ink);--bs-table-bg:transparent;--bs-border-color:var(--line)}body[data-theme="dark"] .text-secondary{color:var(--muted)!important}

body[data-theme="dark"] .modal-content{background:#182229;color:var(--ink);border:1px solid #40515c}body[data-theme="dark"] .modal-header,body[data-theme="dark"] .modal-footer{border-color:var(--line)}body[data-theme="dark"] .modal-title,body[data-theme="dark"] .modal-content .form-label{color:#e8eef2}body[data-theme="dark"] .modal-content .form-text{color:#a9b7c1}body[data-theme="dark"] .modal-content .form-control,body[data-theme="dark"] .modal-content .form-select{background:#202d35;color:#f2f6f8;border-color:#526671}body[data-theme="dark"] .modal-content .form-control:focus,body[data-theme="dark"] .modal-content .form-select:focus{background:#263741;color:#fff;border-color:#6c9f83;box-shadow:0 0 0 .2rem #18794e55}body[data-theme="dark"] .modal-content .form-control::placeholder{color:#9eacb5}body[data-theme="dark"] .modal-content option{background:#202d35;color:#f2f6f8}body[data-theme="dark"] .modal-content .btn-close{filter:invert(1) grayscale(100%) brightness(180%)}body[data-theme="dark"] .modal-content .invalid-feedback{color:#ff8f98}
/* Normaliza el boton de descuento de fichas cuando el archivo legado trae un signo mal codificado. */
button[title="Descontar una ficha"] {
  font-size: 0;
}

button[title="Descontar una ficha"]::after {
  content: "-";
  font-size: 1rem;
}
.chart-panel canvas{max-height:260px}.table-responsive{overflow-x:auto}
.sidebar{overflow-y:auto;max-height:100vh;padding-bottom:24px;scrollbar-width:thin;scrollbar-color:#6f7f89 transparent}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#6f7f89;border-radius:8px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--primary)}
body[data-brand-display="title"] .brand-logo,body[data-brand-display="title"] .brand i{display:none!important}body[data-brand-display="logo"] .brand span{display:none!important}.brand-logo{width:auto;height:auto;max-width:100%;max-height:48px;object-fit:contain;border-radius:6px}.sidebar .brand-logo{height:42px;max-width:90px}.auth-card .brand-logo{height:54px;max-width:100%}body[data-brand-display="logo"] .sidebar .brand-logo{width:100%;height:auto;max-width:100%;max-height:82px}body[data-brand-display="logo"] .auth-card .brand-logo{width:100%;height:auto;max-height:130px}body[data-brand-display="both"] .brand{flex-direction:column;align-items:center;text-align:center;gap:.35rem}body[data-brand-display="both"] .sidebar .brand-logo{width:100%;height:auto;max-width:190px;max-height:82px}body[data-brand-display="both"] .brand span{max-width:100%;line-height:1.15}
.panel .table-responsive{max-height:calc(100vh - 250px);overflow:auto;scrollbar-width:thin}.panel .table-responsive thead th{position:sticky;top:0;z-index:2;background:#fff;box-shadow:0 1px 0 var(--line)}body[data-theme="dark"] .panel .table-responsive thead th{background:#182229}
.conversation-list{max-height:560px;overflow-y:auto;margin-top:4px}.conversation-item{padding:15px 0;border-bottom:1px solid var(--line)}.conversation-item:last-child{border-bottom:0}.conversation-meta{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--muted)}.conversation-chat{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.conversation-chat strong{font-size:.9rem;color:var(--ink)}.conversation-chat small{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);font-size:.7rem;overflow-wrap:anywhere;text-align:right}.conversation-text{margin:8px 0 0;color:var(--ink);font-size:.88rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:800px){.conversation-chat{display:block}.conversation-chat small{display:block;text-align:left;margin-top:3px}}
.conversation-chat-group{border-bottom:1px solid var(--line);padding:2px 0}.conversation-chat-group summary{list-style:none;cursor:pointer;padding:14px 0}.conversation-chat-group summary::-webkit-details-marker{display:none}.conversation-chat-group summary:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}.conversation-summary{display:flex;justify-content:space-between;gap:12px}.conversation-summary strong{display:block;color:var(--ink);font-size:.92rem}.conversation-summary small{display:block;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;overflow-wrap:anywhere;margin-top:4px}.conversation-summary time{display:block;color:var(--muted);font-size:.68rem;margin-top:5px}.conversation-preview{color:var(--muted);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:6px 0 0;max-width:95%}.conversation-history{padding:8px 4px 12px;border-left:3px solid var(--primary)}.conversation-item{display:flex;border:0;padding:4px 0}.conversation-item.incoming{justify-content:flex-start}.conversation-item.outgoing{justify-content:flex-end}.conversation-bubble{max-width:82%;padding:9px 12px;border-radius:12px;background:color-mix(in srgb,var(--ink) 7%,transparent)}.conversation-item.incoming .conversation-bubble{border-top-left-radius:3px}.conversation-item.outgoing .conversation-bubble{border-top-right-radius:3px;background:color-mix(in srgb,var(--primary) 18%,transparent)}.conversation-bubble .conversation-meta{justify-content:space-between;gap:12px}.conversation-bubble .conversation-text{margin:5px 0 0}.conversation-bubble .badge{font-size:.62rem}
.live-indicator{font-size:.65rem;color:var(--muted)}.live-indicator span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#27b866;box-shadow:0 0 0 0 #27b86666;animation:live-pulse 1.8s infinite}@keyframes live-pulse{70%{box-shadow:0 0 0 6px transparent}100%{box-shadow:0 0 0 0 transparent}}
.flow-tree{margin-top:18px}.flow-node{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:color-mix(in srgb,var(--ink) 3%,transparent);scroll-margin-top:18px}.flow-node>summary{cursor:pointer;list-style:none;padding:14px 16px;display:flex;align-items:center;gap:10px}.flow-node>summary::-webkit-details-marker{display:none}.flow-node>summary code{color:var(--primary);font-size:.75rem}.flow-editor{border-top:1px solid var(--line);padding:18px}.flow-editor .form-text{font-size:.74rem;color:var(--muted)}.flow-editor textarea.font-monospace{font-size:.8rem;white-space:pre;min-height:100px}
.flow-option-row{display:grid;grid-template-columns:32px 1fr 1fr 1fr 38px;gap:8px;align-items:center;margin-bottom:8px}.flow-option-number{font-weight:700;color:var(--primary);text-align:center}.add-child-form{display:grid;grid-template-columns:1fr auto;gap:8px;max-width:620px}@media(max-width:800px){.flow-option-row{grid-template-columns:25px 1fr 38px}.flow-option-row select{grid-column:2 / -1}.add-child-form{grid-template-columns:1fr}}
.chatbot-tree-workspace{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(0,1.55fr);gap:20px;align-items:start}.chatbot-tree-browser{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 75%,var(--ink) 3%);overflow:hidden;position:sticky;top:18px}.chatbot-tree-toolbar{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.chatbot-tree-scroll{overflow:auto;max-height:calc(100vh - 245px);min-height:430px;padding:14px 12px}.chatbot-tree-root,.chatbot-tree-children{list-style:none;margin:0;padding:0}.chatbot-tree-children{margin-left:15px;padding-left:17px;border-left:1px dotted color-mix(in srgb,var(--muted) 70%,transparent)}.chatbot-tree-item{position:relative;min-width:max-content}.chatbot-tree-children>.chatbot-tree-item::before{content:"";position:absolute;left:-17px;top:17px;width:15px;border-top:1px dotted color-mix(in srgb,var(--muted) 70%,transparent)}.chatbot-tree-row{display:flex;align-items:center;min-height:34px;border-radius:7px;padding:2px 4px;transition:background .15s ease,box-shadow .15s ease}.chatbot-tree-row:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.chatbot-tree-row.is-selected{background:color-mix(in srgb,var(--primary) 17%,transparent);box-shadow:inset 3px 0 var(--primary)}.chatbot-tree-toggle,.chatbot-tree-toggle-spacer{display:inline-grid;place-items:center;width:24px;min-width:24px;height:28px}.chatbot-tree-toggle{border:0;background:transparent;color:var(--muted);padding:0}.chatbot-tree-toggle:hover{color:var(--primary)}.chatbot-tree-select{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--ink);padding:4px 7px;text-align:left;white-space:nowrap}.chatbot-tree-select>i{color:var(--primary);font-size:1rem}.chatbot-tree-root>.chatbot-tree-item>.chatbot-tree-row .chatbot-tree-select>i{color:#e0b700}.chatbot-tree-select code{font-size:.66rem;color:var(--muted)}.chatbot-tree-select .badge{font-size:.58rem}.chatbot-tree-edge{font-size:.66rem;line-height:1.2;padding:3px 6px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatbot-tree-edge.edge-error{color:#c53c48;background:#c53c4815}.chatbot-tree-edge.edge-success{color:#16804a;background:#16804a15}.chatbot-tree-edge.edge-detached{color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,transparent)}.chatbot-tree-arrow{font-size:.65rem;color:var(--muted);margin:0 1px}.chatbot-tree-item.is-reference>.chatbot-tree-row{opacity:.88}.chatbot-tree-item.is-inactive>.chatbot-tree-row{opacity:.58}.chatbot-tree-legend{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding:10px 12px;color:var(--muted);font-size:.68rem}.chatbot-tree-legend span{display:flex;align-items:center;gap:4px}.chatbot-node-editor-pane{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--bg) 75%,var(--ink) 2%)}.chatbot-node-editor-header{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--primary) 6%,transparent)}.chatbot-node-editor-header code{color:var(--primary)}.chatbot-editor-empty{min-height:430px;display:grid;place-content:center;text-align:center;color:var(--muted);padding:30px}.chatbot-editor-empty>i{font-size:2rem;color:var(--primary)}.chatbot-editor-empty h3{color:var(--ink);margin:12px 0 4px}.chatbot-node-editor[hidden]{display:none}.chatbot-node-editor .flow-editor{border:0}.chatbot-node-editor{scroll-margin-top:18px}@media(max-width:1100px){.chatbot-tree-workspace{grid-template-columns:1fr}.chatbot-tree-browser{position:relative;top:auto}.chatbot-tree-scroll{max-height:480px;min-height:300px}}@media(max-width:600px){.chatbot-tree-panel{padding-left:12px;padding-right:12px}.chatbot-tree-scroll{padding:10px 4px}.chatbot-tree-edge{max-width:95px}.chatbot-tree-select code{display:none}.chatbot-tree-children{margin-left:8px;padding-left:11px}.chatbot-tree-children>.chatbot-tree-item::before{left:-11px;width:10px}}
.chatbot-tree-edge{background:color-mix(in srgb,var(--ink) 10%,var(--bg));color:var(--ink);border:1px solid color-mix(in srgb,var(--muted) 65%,var(--bg));font-weight:600}.chatbot-tree-edge.edge-error{color:#9f1d2a;background:color-mix(in srgb,#c53c48 12%,var(--bg));border-color:#c53c48}.chatbot-tree-edge.edge-success{color:#126b43;background:color-mix(in srgb,#16804a 12%,var(--bg));border-color:#16804a}.chatbot-tree-edge.edge-detached{color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,var(--bg));border-color:var(--muted)}body[data-theme="dark"] .chatbot-tree-edge.edge-error{color:#ff9aa3;background:#c53c4828;border-color:#ff7f89}body[data-theme="dark"] .chatbot-tree-edge.edge-success{color:#7ee2a8;background:#16804a28;border-color:#55c98a}
