:root{font-family:ui-sans-serif,-apple-system,SF Pro Text,system-ui,Segoe UI,sans-serif;color:var(--text);--accent: #4f46e5;--accent-strong: #4338ca;--accent-soft: #eef2ff;--bg: #fafafa;--surface: #ffffff;--surface-alt: #f4f4f5;--text: #111827;--muted: #6b7280;--border: #e5e7eb;--border-strong: #d4d4d8;--success: #059669;--success-soft: #ecfdf5;--danger: #dc2626;--danger-soft: #fef2f2;--warning: #b45309;--warning-soft: #fffbeb;--radius: 8px;--radius-lg: 10px;--tabbar-h: 62px}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px;-webkit-font-smoothing:antialiased}input,select,button{font-family:inherit;color:var(--text)}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}::placeholder{color:var(--muted)}h1,h2,h3{color:var(--text)}input[type=file],.manage-form input[type=file]{padding:6px 8px;font-size:13px;max-width:240px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface)}input[type=color]{width:44px;height:36px;padding:3px;cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.btn{border:none;border-radius:var(--radius);padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease;white-space:nowrap}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.btn-ghost:hover:not(:disabled){background:var(--surface-alt)}.btn-compact{padding:5px 10px;font-size:12px}.error{color:var(--danger);font-size:13px}.notice{color:var(--success);font-size:13px;margin-bottom:8px}.hint{color:var(--muted);font-size:12px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(180deg,#eef0f8 0%,var(--bg) 55%)}.login-card{background:var(--surface);padding:40px 34px;border:1px solid var(--border);border-radius:16px;width:360px;max-width:calc(100vw - 32px);box-shadow:0 18px 40px #4f46e51a,0 2px 6px #1118270d}.login-card h1{font-size:16px;margin:0;font-weight:700;letter-spacing:-.01em}.login-card .brand-dot{width:12px;height:12px;border-radius:4px;background:var(--accent);flex:none}.btn-accent{background-color:var(--accent)!important;border-color:var(--accent)!important}.btn-accent:hover:not(:disabled),.btn-accent:active:not(:disabled){background-color:var(--accent-strong)!important;border-color:var(--accent-strong)!important}.app{display:flex;height:100vh;min-width:0}.app-main{flex:1;display:flex;min-width:0;height:100vh;overflow:hidden}.empty{display:flex;align-items:center;justify-content:center;color:var(--muted);flex:1;font-size:13px;padding:24px}.side-nav{width:216px;flex:none;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 12px 12px}.side-nav .brand{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;padding:2px 10px 18px;letter-spacing:-.01em}.side-nav .brand-dot{width:10px;height:10px;border-radius:3px;background:var(--accent);flex:none}.nav-links{display:flex;flex-direction:column;gap:2px}.nav-link{text-align:left;padding:8px 10px;border:none;background:transparent;border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--muted);cursor:pointer}.nav-link:hover{background:var(--surface-alt);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.side-nav .spacer{flex:1}.side-user{border-top:1px solid var(--border);padding:12px 4px 0;display:flex;flex-direction:column;gap:10px}.side-user .email{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-mobile{flex-direction:column;height:100dvh}.app-mobile .app-main-mobile{height:auto;flex:1;overflow:hidden;min-height:0}.mobile-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 14px 8px;background:var(--surface);border-bottom:1px solid var(--border)}.mobile-header .brand{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;letter-spacing:-.01em}.mobile-header .brand-dot{width:10px;height:10px;border-radius:3px;background:var(--accent);flex:none}.tabbar{flex:none;display:flex;background:#ffffffdb;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;min-height:var(--tabbar-h);justify-content:center;border:none;background:transparent;cursor:pointer;font-size:11px;font-weight:500;color:var(--muted)}.tabbar-item.active{color:var(--accent);font-weight:600}.tabbar-icon{font-size:18px;line-height:1}.sidebar{width:320px;flex:none;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0}.sidebar-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:8px}.sidebar-header strong{font-size:14px;font-weight:600}.pending-toggle{padding:8px 8px 8px 12px;border-bottom:1px solid var(--border)}.pending-toggle label{display:flex}.pending-toggle input[type=checkbox]{accent-color:var(--accent)}.conv-list{flex:1;overflow-y:auto;min-height:0}.conv-row{padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s ease;-webkit-tap-highlight-color:transparent}.conv-row:active,.conv-row:hover{background:var(--surface-alt)}.conv-row.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.conv-row .top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:3px}.conv-row .top time,.conv-row .top span:not(.badge){font-variant-numeric:tabular-nums}.conv-row .cat{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-row .cat.assigned{color:var(--text)}.conv-row.active .cat,.conv-row.active .cat.assigned{color:var(--accent-strong)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--muted)}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}.badge.NUEVA{color:var(--accent)}.badge.NUEVA:before{background:var(--accent)}.badge.EN_ATENCION_CHATBOT{color:var(--accent-strong)}.badge.EN_ATENCION_CHATBOT:before{background:var(--accent-strong)}.badge.PENDIENTE_OPERADOR{color:var(--warning)}.badge.PENDIENTE_OPERADOR:before{background:var(--warning)}.badge.EN_ATENCION_OPERADOR{color:var(--success)}.badge.EN_ATENCION_OPERADOR:before{background:var(--success)}.badge.RESUELTA{color:var(--success)}.badge.RESUELTA:before{background:var(--success)}.badge.CERRADA{color:var(--muted)}.badge-on,.badge-off{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.badge-on{color:var(--success)}.badge-on:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success)}.badge-off{color:var(--danger)}.badge-off:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--danger)}.chat{flex:1;display:flex;flex-direction:column;background:var(--bg);min-width:0;min-height:0}.chat-header{padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center}.chat-header .title{font-weight:600;margin-right:auto;font-size:14px}.chat-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 20px;background:var(--surface);border-bottom:1px solid var(--border)}.chat-body{display:flex;flex:1;overflow:hidden;min-height:0}.thread{flex:1;overflow-y:auto;padding:20px 24px;min-width:0;-webkit-overflow-scrolling:touch}.bubble{max-width:min(72%,560px);padding:9px 14px;border-radius:12px;font-size:14px;margin-bottom:8px;width:fit-content;line-height:1.5;animation:bubble-in .18s ease-out}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.bubble.USER{margin-left:auto;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.bubble.BOT{background:var(--surface);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}.bubble.AGENT{background:var(--success-soft);color:#065f46;border:1px solid #a7f3d0;border-bottom-left-radius:4px}.chat-input{display:flex;padding:12px 16px;background:var(--surface);border-top:1px solid var(--border);gap:10px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.trace{width:260px;flex:none;border-left:1px solid var(--border);background:var(--surface);overflow-y:auto;padding:14px;min-height:0}.trace-title{font-size:11px;margin:0 0 10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.trace-event{font-size:12px;padding:8px 0;border-bottom:1px solid var(--border)}.trace-event .when{color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums}.transfer-select{max-width:220px}.manage{flex:1;overflow-y:auto;padding:24px;min-width:0;-webkit-overflow-scrolling:touch}.manage-inner,.manage-tabs{max-width:1080px}.manage-section h2,.manage-section>div>h2{font-size:15px;margin:0 0 14px;font-weight:700;letter-spacing:-.01em}.manage-form{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;align-items:flex-end;background:var(--surface);padding:16px;border-radius:var(--radius-lg);border:1px solid var(--border);max-width:1080px}.manage-form input{width:200px;max-width:100%}.manage-form .field{display:flex;flex-direction:column;gap:5px}.manage-form .field label{font-size:12px;color:var(--muted)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);max-width:1080px}.manage-table{border-collapse:collapse;width:100%;font-size:13px}.manage-table th,.manage-table td{padding:9px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border)}.manage-table tbody tr:last-child td{border-bottom:none}.manage-table th{background:var(--bg);font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em;font-weight:600;white-space:nowrap}.manage-table code{font-size:12px;background:var(--surface-alt);padding:2px 6px;border-radius:5px;color:var(--text)}.manage-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.file-field{display:flex;flex-direction:column;gap:2px}.file-field label{font-size:11px;color:var(--muted)}.manage-section .hint{display:inline-block;margin-top:10px}.bubble-demo{display:inline-block;max-width:320px;padding:9px 13px;border-radius:12px;font-size:13px;color:#fff;align-self:center}@media (max-width: 768px){.login-card{width:100%;padding:28px 22px}.sidebar{width:100%;border-right:none;height:100%}.chat{min-height:100%}.chat-header{padding:10px 12px;position:sticky;top:0;z-index:2}.chat-header .title{font-size:15px}.chat-actions{flex-wrap:nowrap;overflow-x:auto;padding:8px 12px;gap:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.chat-actions::-webkit-scrollbar{display:none}.chat-actions>*{flex:none;min-height:36px}.chat-body{flex-direction:column}.thread{padding:16px 14px}.bubble{max-width:84%;font-size:15px}.trace{width:auto;flex:none;border-left:none;border-top:1px solid var(--border);max-height:200px}.chat-input{padding:10px 12px}.manage{padding:14px}.manage-form{flex-direction:column;align-items:stretch;gap:12px}.manage-form input,.manage-form select{width:100%}.manage-form input[type=file],.bubble-demo{max-width:100%}.table-wrap{overflow:visible;border:none;background:transparent}.manage-table thead{display:none}.manage-table,.manage-table tbody,.manage-table tr,.manage-table td{display:block;width:100%}.manage-table tr{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:6px 14px;box-shadow:0 1px 2px #1118270a}.manage-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);min-height:40px}.manage-table td:last-child{border-bottom:none}.manage-table td:before{content:attr(data-label);font-size:12px;font-weight:600;color:var(--muted);flex:none}.manage-table td>*{min-width:0}.manage-table td code{overflow-wrap:anywhere}.manage-actions{justify-content:flex-start}}
