.login-wrapper[data-v-99b531e2]{font-family:Segoe UI,sans-serif;background-color:#f4f5f9;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.login-box[data-v-99b531e2]{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 12px #0000001a;width:100%;max-width:400px;text-align:center}.logo[data-v-99b531e2]{height:50px;margin-bottom:1rem;object-fit:contain}.titulo-crm[data-v-99b531e2]{font-size:1.5rem;font-weight:700;margin-bottom:2rem;color:#222}form[data-v-99b531e2]{display:flex;flex-direction:column;gap:1rem}label[data-v-99b531e2]{text-align:left;font-size:.9rem;color:#333}input[data-v-99b531e2]{padding:.7rem;border:1px solid #ccc;border-radius:8px;font-size:1rem}button[data-v-99b531e2]{background-color:#b9001f;color:#fff;padding:.75rem;border:none;border-radius:24px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .3s}button[data-v-99b531e2]:hover{background-color:#a0001a}*,*:before,*:after{box-sizing:border-box}:root{--brand:#b9001f;--bg:#f4f5f9;--card:#ffffff;--text:#222;--muted:#6b7280;--line:#e5e7eb;--shadow:0 1px 6px rgba(0,0,0,.08);--header-h:64px}html,body,.dashboard{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.pdf-table{border-collapse:collapse;width:100%;font-family:Arial,sans-serif;font-size:12px}.pdf-table th,.pdf-table td{border:1px solid #000;padding:8px;text-align:left;vertical-align:top;word-wrap:break-word}.pdf-table th{background:#f2f2f2;font-weight:700}.dashboard{font-family:Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;background:var(--bg);min-height:100vh;padding-bottom:2rem;font-size:clamp(13px,.9vw,16px)}@supports (height: 100svh){.dashboard{min-height:100svh}}@supports (height: 100dvh){.dashboard{min-height:100dvh}}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50}.header-right{display:flex;align-items:center;gap:1rem}.logo{height:40px;max-width:120px;object-fit:contain;cursor:pointer}.btn-logout{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.5rem;border-radius:10px}.btn-logout:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.titulo-contenedor{text-align:left;margin:1rem 2rem .5rem}.titulo-crm{font-size:clamp(1.1rem,1.6vw,1.5rem);font-weight:700;color:var(--text)}button{font:inherit}button:disabled{opacity:.6;cursor:not-allowed}input[type=date],select{font:inherit}.loader-container{text-align:center;padding:5rem 0}@keyframes spin{to{transform:rotate(360deg)}}.top-bar,.chart-toolbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;gap:clamp(8px,1vw,16px);flex-wrap:wrap}.chart-toolbar{padding:1rem 2rem .5rem;position:static;top:auto;z-index:auto;background:transparent}.date-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-filter input[type=date]{padding:6px 10px;border-radius:8px;border:1px solid var(--line);background:#fff;min-width:clamp(110px,12vw,170px)}.date-filter button:not(.btn-exportar){background:#f3f4f6;border:1px solid var(--line);padding:6px 10px;border-radius:16px;cursor:pointer;font-weight:700;height:36px;white-space:nowrap}.chart-label{font-weight:700;color:#374151}.chart-select{min-width:0;width:clamp(120px,14vw,220px);padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:600}@media (min-width:1024px){.top-bar,.chart-toolbar,.date-filter{flex-wrap:nowrap}.top-bar>*,.chart-toolbar>*,.date-filter>*{min-width:0;flex:0 1 auto}.toolbar-spacer{flex:1 1 auto}}.exportar-panel{position:relative}.btn-exportar{background:var(--brand);color:#fff;padding:6px 12px;border-radius:24px;font-weight:800;border:none;cursor:pointer;display:flex;align-items:center;height:36px;white-space:nowrap}.btn-exportar .icon-left{margin-right:6px}.dropdown-content{position:absolute;background:#fff;border-radius:10px;box-shadow:0 8px 24px #0000001f;margin-top:8px;right:0;z-index:120;display:flex;flex-direction:column;padding:8px 0;min-width:160px;max-width:calc(100vw - 2rem)}.dropdown-content button{padding:10px 14px;border:none;background:none;cursor:pointer;text-align:left;font-size:.95rem;width:100%}.dropdown-content button:hover{background:#f9fafb}.tabs{display:flex;gap:8px;padding:.75rem 2rem 0;overflow:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{background:#f0f0f0;border:none;padding:8px 14px;border-radius:16px;font-weight:700;cursor:pointer;white-space:nowrap}.tabs button.active{background:var(--brand);color:#fff}.tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;padding:1rem 2rem}.card{background:var(--card);border-radius:16px;padding:1rem;box-shadow:0 4px 12px #00000014;text-align:center;min-width:140px}.card.seleccionada{box-shadow:0 0 0 3px #add8e6cc;border:2px solid rgba(173,216,230,.6);background:#fff}.titulo-card{font-size:.9rem;color:#555}.valor-card{font-size:1.4rem;font-weight:700;margin-top:.5rem}.graficas{position:relative;isolation:isolate}.chart-toolbar .toolbar-spacer{flex:1 1 auto}.charts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:1rem 1.25rem 1.25rem;grid-auto-rows:minmax(0,auto)}.chart-card{background:var(--card);border-radius:12px;box-shadow:var(--shadow);padding:14px;position:relative;display:flex;flex-direction:column}.chart-card h3{margin:0 0 10px;font-size:1rem}.chart-canvas.donut{position:relative;width:100%;aspect-ratio:1 / 1;max-height:420px;min-height:220px;margin-inline:auto}.chart-canvas.donut canvas{width:100%!important;height:100%!important}.chart-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 16px;margin-top:10px}.legend-item{display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:2px;align-items:flex-start;padding:4px;border-radius:6px;transition:opacity .2s,filter .2s,text-decoration-color .2s;cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent;border:0;font-size:clamp(11px,.85vw,13px);line-height:1.25;text-align:left;white-space:normal;word-break:break-word}.legend-item .legend-color{width:12px;height:12px;border-radius:3px;border:1px solid #9CA3AF;position:relative;margin-top:2px}.legend-item .legend-text{display:block;font-size:inherit;line-height:1.25}.legend-item.legend-hidden{opacity:.65;filter:grayscale(20%)}.legend-item.legend-hidden .legend-text{text-decoration:line-through;text-decoration-thickness:2px}.legend-item.legend-hidden .legend-color:after{content:"";position:absolute;left:-2px;right:-2px;top:50%;border-top:2px solid #6B7280;transform:rotate(-18deg)}.legend-item:hover{opacity:.9}.bar-chart{display:flex;flex-direction:column;min-height:180px;grid-column:1 / -1}.bar-chart canvas{width:100%!important;height:100%!important}.chart-caption{text-align:center;margin-top:6px;font-size:.9rem;color:var(--muted);font-weight:700}.tasa-resolucion{margin:12px auto 0;padding:8px 14px;border-radius:20px;font-size:.95rem;font-weight:800;text-align:center;display:inline-block}.tasa-alta{background:#dcfce7;color:#166534;border:1px solid #16a34a}.tasa-media{background:#fef9c3;color:#854d0e;border:1px solid #facc15}.tasa-baja{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.graficas,.graficas .charts-grid{overflow:visible!important;max-height:none!important}.graficas .chart-card{overflow:visible!important}.graficas,.reporte{position:relative;isolation:isolate}.chart-card{position:relative}.view-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff29;-webkit-backdrop-filter:blur(.6px);backdrop-filter:blur(.6px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;z-index:2000;pointer-events:all}.chart-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1f;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;z-index:20;pointer-events:none}.spinner{width:44px;height:44px;border-radius:50%;border:4px solid rgba(0,0,0,.14);border-top-color:var(--brand);animation:spin .85s linear infinite;will-change:transform;transform:translateZ(0);box-shadow:inset 0 0 0 2px #ffffffd9,0 1px 6px #00000014}.overlay-text{display:flex;align-items:center;gap:6px;font-weight:800;font-size:.98rem;color:#111827;text-shadow:0 1px 0 rgba(255,255,255,.7);-webkit-user-select:none;user-select:none}.overlay-text .label{animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.65}to{opacity:1}}.overlay-text .dots{display:inline-flex;gap:3px}.overlay-text .dots i{width:6px;height:6px;border-radius:50%;background:#111827;opacity:.25;animation:blink 1.2s infinite}.overlay-text .dots i:nth-child(2){animation-delay:.2s}.overlay-text .dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.reporte{position:relative}.tabla-section{padding:1rem 2rem}.reporte-filtros{display:flex;align-items:center;gap:8px;margin-bottom:1rem;flex-wrap:wrap}.reporte-filtros .chart-select{min-width:0;width:clamp(120px,14vw,220px)}@media (min-width:1024px){.reporte-filtros{flex-wrap:nowrap}.reporte-filtros>*{min-width:0;flex:0 1 auto}}.tabla-scroll{max-height:clamp(320px,45vh,540px);overflow:auto;border-radius:8px;background:#fff;-webkit-overflow-scrolling:touch}@supports (height: 100svh){.tabla-scroll{max-height:clamp(320px,45svh,540px)}}.tabla-tickets{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}.tabla-tickets thead th{position:sticky;top:0;z-index:2;background:#fff;box-shadow:0 2px #00000008}.tabla-tickets th,.tabla-tickets td{padding:9px 10px;border:1px solid #ddd;text-align:left;font-size:.84rem;white-space:normal;overflow:visible;text-overflow:clip;vertical-align:top}.col-numero{white-space:nowrap;width:80px}.col-estado{white-space:nowrap;width:110px}.col-fecha{min-width:150px}.col-email,.col-agente{min-width:160px}.col-asunto{width:30%}.cell-asunto{display:block;white-space:normal;word-break:normal}.col-comentario{max-width:260px}@media (max-width:1024px){.col-numero,.col-estado,.col-fecha,.col-email,.col-agente,.col-asunto,.col-comentario{width:auto;min-width:0}}.tabla-tickets tbody tr:nth-child(2n){background:#fafafa}.th-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:800}.th-btn .sort{font-size:.8rem;opacity:.6}.th-btn:hover .sort{opacity:1}.paginacion-compacta{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;overflow:auto;scrollbar-width:none}.paginacion-compacta::-webkit-scrollbar{display:none}.page-btn{min-width:34px;height:34px;border-radius:999px}.page-btn.activo{background:var(--brand);color:#fff}.page-nav{min-width:34px;height:34px;border-radius:999px}.paginacion-compacta .page-btn,.paginacion-compacta .page-nav{background:#f0f0f0;border:none;padding:6px 10px;cursor:pointer;font-weight:600}.paginacion-compacta .page-btn.activo{background:var(--brand);color:#fff}.paginacion-compacta .page-nav:disabled,.paginacion-compacta .page-btn:disabled{opacity:.6;cursor:not-allowed}.paginacion-compacta .ellipsis{color:#888;padding:0 4px}.hint-toast{position:absolute;top:10px;right:10px;background:#fef3c7;border:1px solid #FACC15;color:#854d0e;padding:8px 12px;border-radius:10px;font-weight:700;font-size:12px;box-shadow:0 2px 8px #00000014;z-index:3}.pdf-root{width:1122px;max-width:1122px;background:#fff}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}@media (max-width:1400px){.chart-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1200px){.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){.header{padding:.75rem 1.25rem}.titulo-crm{font-size:1.25rem}.chart-toolbar{padding:1rem 1.25rem .5rem}.titulo-contenedor{margin:1rem 1.25rem .5rem}.tabs{padding:.5rem 1.25rem 0}.top-bar,.chart-toolbar,.reporte-filtros{flex-wrap:wrap}.date-filter,.reporte-filtros{width:100%}.date-filter input[type=date],.chart-select{width:100%;min-width:0}}@media (max-width:768px){.charts-grid{grid-template-columns:1fr;padding:1rem;gap:14px}.chart-legend{grid-template-columns:1fr}.tabla-section{padding:1rem}}@media (max-width:640px){.chart-card h3{font-size:.95rem}.tabla-tickets th,.tabla-tickets td{padding:8px;font-size:.8rem}}@media (max-width:480px){.header{padding:.6rem 1rem}.titulo-crm{font-size:1.1rem}.btn-exportar{padding:7px 12px}}@media (max-height: 820px){.valor-card{font-size:1.25rem}.card{padding:.9rem}.chart-card h3{font-size:.95rem}}:where(button,[role=button],.chart-select,input[type=date]):focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tabs button:focus-visible,.page-btn:focus-visible,.page-nav:focus-visible,.th-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:10px}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.header-center{flex:1 1 auto;display:flex;justify-content:center;align-items:center;pointer-events:none}.header-toast{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;padding:8px 12px;height:36px;background:#111827;color:#fff;border-radius:999px;box-shadow:0 8px 24px #0000001f;font-weight:700;font-size:.98rem;max-width:min(700px,60vw);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-toast .dot{width:8px;height:8px;border-radius:50%;background:#ef4444;display:inline-block}.header-toast .title{font-weight:800}.header-toast .sep{opacity:.9}.header-toast .text{font-weight:600}@media (max-width:640px){.header-toast{font-size:.9rem;max-width:70vw}}.tabla-contenedor{position:relative;overflow:visible}.refresh-line{position:absolute;left:0;right:0;top:-18px;height:3px;background:linear-gradient(90deg,transparent,var(--brand),transparent);opacity:.75;animation:shimmer 1s linear infinite;pointer-events:none}.sk-row td{padding:10px 12px}.sk-bar{height:14px;border-radius:8px;background:linear-gradient(90deg,#eee,#f5f5f5,#eee);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chart-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--muted);font-weight:600;background:linear-gradient(to bottom,#ffffffd9,#ffffffe6);text-align:center;padding:0 12px}.dashboard{--crm-header-bg: linear-gradient(120deg, #4facfe 0%, #00f2fe 100%);--crm-accent: #008cff;--crm-accent-soft: #e3f2ff;--crm-text-strong: #102a43}.header{background:var(--crm-header-bg);color:#fff}.tabs button.active{background:var(--crm-accent);color:#fff}.tabs button:not(.active):hover{background:var(--crm-accent-soft)}.user-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .9rem;border-radius:999px;background:var(--crm-accent-soft);color:var(--crm-text-strong);font-weight:600;font-size:.9rem;box-shadow:0 0 0 1px #ffffff80}.user-pill--vip{background:#ffd43b;color:#7f4a00;box-shadow:0 0 12px #ffd43bb3}.user-spark{font-size:.95rem}.user-text{white-space:nowrap}.user-info{display:flex;flex-direction:column;align-items:flex-end;margin-right:4px}.user-greeting{font-size:1.05rem;font-weight:500;color:#111827;line-height:1.2}.user-greeting strong{font-weight:700}.vip-pill{margin-top:4px;padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.08em;background:linear-gradient(90deg,#ff6a00,#ff007a);color:#fff;text-transform:uppercase;display:inline-flex;align-items:center;gap:4px;box-shadow:0 0 8px #ff007a99,0 0 16px #ff6a0066;position:relative;overflow:hidden}.vip-spark{display:inline-block;animation:vipSparkle 1.4s infinite ease-in-out}.vip-spark:first-child{animation-delay:0s}.vip-spark:last-child{animation-delay:.4s}.vip-text{position:relative;z-index:1}.vip-pill:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(circle at 0 0,rgba(255,255,255,.6),transparent 60%);transform:translate(-120%);animation:vipGlow 2.2s infinite;opacity:.9}@keyframes vipSparkle{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.25);opacity:1}}@keyframes vipGlow{0%{transform:translate(-120%)}60%{transform:translate(120%)}to{transform:translate(120%)}}.tabla-tickets .col-asunto{max-width:260px;width:260px}.cell-asunto{position:relative;max-width:240px}.cell-asunto-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-asunto:after{display:none;content:attr(data-full);position:absolute;left:0;top:100%;z-index:9999;margin-top:4px;min-width:260px;max-width:480px;white-space:normal;line-height:1.4;background:#111;color:#fff;padding:8px 10px;border-radius:8px;box-shadow:0 4px 12px #00000040;font-size:12px}.cell-asunto.is-long:hover:after{display:block}.tabla-tickets.tabla-tickets--compacta{font-size:11px}.tabla-tickets.tabla-tickets--compacta thead th,.tabla-tickets.tabla-tickets--compacta tbody td{padding:4px 6px;line-height:1.2}.tabla-tickets.tabla-tickets--compacta tbody tr{height:26px}.tabla-tickets.tabla-tickets--compacta .col-numero{width:80px;max-width:90px}.tabla-tickets.tabla-tickets--compacta .col-area,.tabla-tickets.tabla-tickets--compacta .col-agente{width:120px;max-width:150px}.tabla-tickets.tabla-tickets--compacta .col-cliente{width:140px;max-width:160px}.tabla-tickets.tabla-tickets--compacta .col-levantado{width:120px;max-width:150px}.tabla-tickets.tabla-tickets--compacta .col-email{width:auto;max-width:none;white-space:nowrap}.tabla-tickets.tabla-tickets--compacta .col-asunto{width:220px;max-width:220px}.tabla-tickets.tabla-tickets--compacta .cell-asunto{max-width:210px}.tabla-tickets.tabla-tickets--compacta .col-catcrm,.tabla-tickets.tabla-tickets--compacta .col-subcatcrm,.tabla-tickets.tabla-tickets--compacta .col-aseg{max-width:150px}.tabla-tickets.tabla-tickets--compacta .col-numcomp,.tabla-tickets.tabla-tickets--compacta .col-niu{width:110px;max-width:120px}.tabla-tickets.tabla-tickets--compacta .col-fecha,.tabla-tickets.tabla-tickets--compacta .col-tiempo,.tabla-tickets.tabla-tickets--compacta .col-mayor48{white-space:nowrap;font-size:10px}.tabla-tickets.tabla-tickets--compacta .col-mayor48 .tag-yes,.tabla-tickets.tabla-tickets--compacta .col-mayor48 .tag-no{padding:2px 6px;font-size:10px}.tabla-scroll{position:relative}
