:root{--v-blue: #07a1c2;--v-red: #e44634;--v-orange: #f2a23e;--v-green: #65b03b;--v-dark: #0a3d4f;--v-mid: #07697d;--v-blue-50: #ebf7fa;--v-blue-100: #d9f0f5;--v-blue-200: #b4e2ec;--v-blue-300: #8fd4e3;--v-blue-400: #51bdd4;--v-blue-500: #07a1c2;--v-blue-600: #088ca9;--v-blue-700: #09748e;--v-blue-800: #0b5c71;--v-blue-900: #0c4050;--v-red-50: #fcf0ee;--v-red-100: #fae3e0;--v-red-200: #f6c7c2;--v-red-300: #f2aba3;--v-red-400: #ec7d70;--v-red-500: #e44634;--v-red-600: #c43e30;--v-red-700: #9f362d;--v-red-800: #792e2a;--v-red-900: #4e2526;--v-orange-50: #fdf7ef;--v-orange-100: #fdf1e2;--v-orange-200: #fbe3c5;--v-orange-300: #f9d5a8;--v-orange-400: #f5bd77;--v-orange-500: #f2a23e;--v-orange-600: #cf8d39;--v-orange-700: #a97534;--v-orange-800: #805c2f;--v-orange-900: #534029;--v-green-50: #f2f8ef;--v-green-100: #e7f3e1;--v-green-200: #d0e7c4;--v-green-300: #b9dba6;--v-green-400: #93c775;--v-green-500: #65b03b;--v-green-600: #589936;--v-green-700: #467a2e;--v-green-800: #355b25;--v-green-900: #253e1c;--n0: #ffffff;--n50: #f7f9fb;--n100: #edf2f5;--n200: #dde4e9;--n300: #c2ccd3;--n400: #94a3ad;--n500: #6b7b86;--n600: #4c5b65;--n700: #2f3b44;--n800: #1a2329;--wa-chat-bg: #efeae2;--wa-burbuja-saliente: #d9fdd3;--wa-burbuja-entrante: #ffffff;--wa-texto: #111b21;--wa-texto-suave: #54656f;--wa-verde: #25d366;--wa-cabecera: #008069;--v-amber: #b45309;--v-amber-a10: rgba(245, 158, 11, .1);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(221, 228, 233, .6);--v-blue-a10: rgba(7, 161, 194, .1);--v-blue-a20: rgba(7, 161, 194, .2);--v-orange-a10: rgba(242, 162, 62, .12);--v-orange-a20: rgba(242, 162, 62, .2);--v-red-a10: rgba(228, 70, 52, .1);--v-purple: #8b6bc7;--v-purple-a10: rgba(139, 107, 199, .12);--mono: ui-monospace, SFMono-Regular, Menlo, monospace;--v-green-a10: rgba(101, 176, 59, .1);--font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--sombra-primario: 0 4px 12px rgba(7, 161, 194, .28);--sombra-primario-hover: 0 6px 16px rgba(7, 161, 194, .38);--bg-body: var(--n100);--bg-header: #fff;--bg-card: #fff;--bg-input: var(--n50);--color-text: var(--v-dark);--border-header: var(--n200);--row-hover: var(--n50)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-body);color:var(--color-text);background:var(--n100)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em}.material-symbols-outlined{font-variation-settings:"opsz" 20,"wght" 400,"FILL" 0,"GRAD" 0;vertical-align:middle;line-height:1}.icon-16{font-size:16px}.icon-18{font-size:18px}.icon-20{font-size:20px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--n300);border-radius:999px;background:transparent;color:var(--n600);cursor:pointer;transition:background .15s ease,transform .16s ease,box-shadow .16s ease}.icon-btn:hover:not(:disabled){background:var(--row-hover);transform:translateY(-1px);box-shadow:var(--sombra-primario)}.icon-btn:disabled{cursor:default;color:var(--n400)}.icon-btn.primario{width:40px;height:40px;border-color:var(--v-blue);background:var(--v-blue);color:var(--n0);box-shadow:var(--sombra-primario)}.icon-btn.primario:hover:not(:disabled){background:var(--v-blue-700);border-color:var(--v-blue-700);box-shadow:var(--sombra-primario-hover)}.icon-btn.primario:disabled{opacity:.45;box-shadow:none;color:var(--n0)}.recorta{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barra-filtros{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}.barra-filtros .filtro{display:flex;flex-direction:column;gap:4px}.barra-filtros .filtro-control{min-height:38px;display:flex;align-items:center}.icon-btn.girando .material-symbols-outlined{animation:icon-btn-giro .8s linear infinite}@keyframes icon-btn-giro{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.icon-btn.girando .material-symbols-outlined{animation:none}.icon-btn{transition:background .15s ease}.icon-btn:hover:not(:disabled){transform:none}}.chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:currentColor;display:inline-block}.btn-acento{position:relative;overflow:hidden;isolation:isolate;transition:transform .18s ease,box-shadow .18s ease,background .15s ease}.btn-acento:hover:not(:disabled):not(.disabled){transform:translateY(-1px);box-shadow:var(--sombra-primario-hover)}.btn-acento:active:not(:disabled):not(.disabled){transform:translateY(0)}.btn-acento .onda{position:absolute;left:50%;top:50%;border-radius:50%;background:#ffffff73;transform:scale(0);pointer-events:none;animation:onda .85s cubic-bezier(.22,.61,.36,1) forwards}@keyframes onda{to{transform:scale(1);opacity:0}}@media(prefers-reduced-motion:reduce){.btn-acento{transition:box-shadow .18s ease,background .15s ease}.btn-acento:hover:not(:disabled):not(.disabled){transform:none}.btn-acento .onda{display:none;animation:none}}.fondo-chat{background-color:var(--wa-chat-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128' viewBox='0 0 128 128'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='.05' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 18h14M12 24h9'/%3E%3Cpath d='M28 60l6 6 11-13'/%3E%3Cpath d='M74 54h18v13H84l-5 6v-6h-5z'/%3E%3Cpath d='M16 98c5-7 12-7 17 0'/%3E%3Cpath d='M56 20v11M50.5 25.5h11'/%3E%3Crect x='88' y='12' width='20' height='15' rx='4'/%3E%3Cpath d='M98 12V7M85 20h-3M111 20h3M94 24h8'/%3E%3Ccircle cx='98' cy='5.5' r='2'/%3E%3Ccircle cx='94' cy='19' r='1.5'/%3E%3Ccircle cx='102' cy='19' r='1.5'/%3E%3Crect x='54' y='84' width='20' height='15' rx='4'/%3E%3Cpath d='M64 84v-5M51 92h-3M77 92h3M60 96h8'/%3E%3Ccircle cx='64' cy='77.5' r='2'/%3E%3Ccircle cx='60' cy='91' r='1.5'/%3E%3Ccircle cx='68' cy='91' r='1.5'/%3E%3Cpath d='M100 60l5 5 5-5'/%3E%3C/g%3E%3C/svg%3E")}.switch-row{display:flex;flex-direction:row;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.switch-row input{position:absolute;opacity:0;width:0;height:0}.switch-row .switch{position:relative;flex-shrink:0;width:38px;height:22px;border-radius:999px;background:var(--n300);transition:background .18s ease}.switch-row .switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0a3d4f40;transition:transform .18s ease}.switch-row input:checked+.switch{background:var(--v-blue)}.switch-row input:checked+.switch:after{transform:translate(16px)}.switch-row input:focus-visible+.switch{outline:2px solid var(--v-blue);outline-offset:2px}.switch-row input:disabled+.switch{opacity:.5}@media(prefers-reduced-motion:reduce){.switch-row .switch,.switch-row .switch:after{transition:none}}.hint{margin:0;padding:12px 16px;background:var(--bg-card);border:1px solid var(--n200);border-radius:12px;color:var(--n600);font-size:13px;line-height:1.5}.btn{font-family:var(--font-body);font-size:12px;font-weight:700;padding:7px 14px;border-radius:999px;border:1px solid var(--n300);background:var(--n0);color:var(--v-dark);cursor:pointer;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.btn:hover:not(:disabled){background:var(--n50)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--v-green);border-color:var(--v-green);color:#fff}.btn-primary:hover:not(:disabled){background:var(--v-green);filter:brightness(.95)}.btn-ghost{border-color:var(--n200);color:var(--n600)}.btn-sm{padding:5px 11px;font-size:11.5px}.chip{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--n100);color:var(--n700);white-space:nowrap;display:inline-flex;align-items:center;gap:4px;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis}.ag-cell .chip{display:inline-block;vertical-align:middle}.chip-cat{background:var(--v-blue-a10);color:var(--v-blue)}.chip-late{background:var(--v-red-a10);color:var(--v-red)}.chip-wait{background:var(--v-purple-a10);color:var(--v-purple)}.chip-prio-urgente{background:var(--v-red);color:#fff}.chip-prio-alta{background:var(--v-red-a10);color:var(--v-red-700)}.chip-prio-normal{background:var(--n100);color:var(--n600)}.chip-prio-baja{background:var(--n100);color:var(--n400)}.chip-motivo{background:var(--v-orange-a10);color:var(--v-orange-700)}.chip-sinmotivo{background:var(--n100);color:var(--n600)}.chip-aria{background:var(--v-green-a10);color:var(--v-green-700)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.dot-open{background:var(--v-orange)}.dot-in_progress{background:var(--v-blue)}.dot-waiting_resident{background:var(--v-purple)}.dot-resolved{background:var(--v-green)}.folio-cell{display:inline-flex;align-items:center;gap:4px}.folio-cell .material-symbols-outlined{font-size:15px;color:var(--v-blue)}.mono{font-family:var(--mono);font-size:11px;color:var(--n600)}.grupo-titulo{display:inline-flex;max-width:100%;min-width:0;align-items:baseline}.grupo-titulo .grupo-n{flex-shrink:0;white-space:nowrap;margin-left:4px;color:var(--n500);font-weight:500}.modal-overlay{position:fixed;inset:0;background:#0a3d4f73;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-card{background:var(--n0);border-radius:16px;width:100%;max-width:780px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0a3d4f59;position:relative;color:var(--v-dark)}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--n400);cursor:pointer}.modal-head{padding:18px 46px 12px 20px;border-bottom:1px solid var(--n200)}.modal-head .row1{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.modal-head .folio-big{font-family:var(--mono);font-weight:700;color:var(--n600)}.modal-head .row1b{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;font-size:12.5px;color:var(--n600);min-width:0}.modal-head .row1b b{color:var(--v-dark)}.modal-head .row2{display:flex;gap:8px;flex-wrap:wrap}.modal-head select{font-family:var(--font-body);font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;border:1px solid var(--n300);background:var(--n0);color:var(--v-dark);max-width:100%}.modal-tabs{display:flex;gap:2px;padding:0 20px;border-bottom:1px solid var(--n200);margin-top:8px;overflow-x:auto}.modal-tab{padding:11px 13px;font-size:12.5px;font-weight:700;color:var(--n500);border:none;border-bottom:2px solid transparent;cursor:pointer;background:none;font-family:var(--font-body);white-space:nowrap}.modal-tab.active{color:var(--v-dark);border-bottom-color:var(--v-blue)}.modal-tab .badge{background:var(--n200);border-radius:999px;padding:0 6px;font-size:10px;margin-left:4px}.modal-body{padding:16px 20px;overflow-y:auto;flex:1;min-height:220px}.modal-body .vacio{color:var(--n500);font-size:12.5px}.modal-foot{padding:12px 20px;border-top:1px solid var(--n200);display:flex;flex-direction:column;gap:10px}.modal-foot .aviso{margin:0;font-size:12px;background:var(--n50);border-radius:8px;padding:6px 10px}.foot-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.turno{margin:0 0 10px;font-size:12.5px;overflow-wrap:anywhere}.turno .quien{font-weight:700;font-size:11px;color:var(--n500);display:block;margin-bottom:2px}.turno .hora{color:var(--n400);font-size:10.5px;font-weight:500;margin-left:6px}.turno.aria .quien{color:var(--v-green-700)}.turno.persona .quien{color:var(--v-blue)}.turno.aviso{color:var(--v-red-700)}.ventana{font-size:11.5px;display:flex;gap:6px;align-items:center;color:var(--n600)}.ventana.cerrada{background:var(--v-orange-a10);color:var(--v-orange-700);padding:8px 10px;border-radius:8px;align-items:flex-start}.como-box{background:var(--v-green-a10);border-radius:10px;padding:12px 14px;font-size:13px;margin-bottom:12px;display:flex;flex-direction:column;gap:2px}.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;font-size:12.5px}.kv dt{color:var(--n500)}.kv dd{margin:0}@media(max-width:640px){.kv{grid-template-columns:1fr}}.filtro-label{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--n500);white-space:nowrap}.toggle-group{display:inline-flex;flex-wrap:wrap;background:var(--n0);border:1px solid var(--n200);border-radius:999px;padding:3px}.toggle-group button{padding:6px 12px;border:none;background:transparent;color:var(--n600);font-family:var(--font-body);font-weight:600;font-size:12px;border-radius:999px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.toggle-group button.active{background:var(--v-blue);color:#fff}.panel{background:var(--n0);border-radius:14px;padding:14px 16px;box-shadow:0 1px 3px #0a3d4f14}.lbl{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--n500);margin-bottom:6px}.barra-enviar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.barra-enviar p{margin:0;color:var(--n500);font-size:12.5px;max-width:70ch}.interruptor{display:flex;gap:10px;align-items:flex-start;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.interruptor input{position:absolute;opacity:0;pointer-events:none}.interruptor-pista{flex-shrink:0;width:36px;height:20px;border-radius:999px;background:var(--n300);position:relative;transition:background .15s;margin-top:1px}.interruptor-pista:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px #0003}.interruptor input:checked+.interruptor-pista{background:var(--v-blue)}.interruptor input:checked+.interruptor-pista:after{left:18px}.interruptor input:focus-visible+.interruptor-pista{outline:2px solid var(--v-blue);outline-offset:2px}.interruptor b{display:block;font-size:13px}.interruptor small{display:block;font-size:12px;color:var(--n500)}.ag-row.fila-fuera{background-color:var(--n50);color:var(--n500)}.ag-row.fila-fuera .cell-2l b{color:var(--n500)}.largo-alto{background-color:var(--v-orange-a10, rgba(239, 138, 23, .1));color:var(--v-orange-700, var(--color-text))}.largo-no{background-color:var(--v-red-a10, rgba(228, 70, 52, .1));color:var(--v-red-700, var(--v-red))}.cell-2l{display:flex;flex-direction:column;justify-content:center;line-height:1.25;height:100%;min-width:0}.cell-2l small{font-size:11px;color:var(--n500)}.chips-celda{display:flex;gap:3px;align-items:center;height:100%}.chip-clave{font-family:var(--mono);font-size:10.5px;font-weight:700;min-width:22px;padding:2px 6px;justify-content:center;cursor:default}.chip-admin{background:#0a3d4f1a;color:var(--v-dark)}.chip-comite{background:var(--v-purple-a10);color:var(--v-purple)}.chip-contacto{background:var(--v-blue-a10);color:var(--v-blue-700, var(--v-blue))}.chip-envia{background:var(--v-green-a10, rgba(46, 160, 67, .12));color:var(--v-green-700, var(--color-text))}.chip-quitado{background:var(--n100);color:var(--n600)}.chip-pagado{background:var(--v-blue-a10);color:var(--v-blue-700, var(--v-blue))}.chip-error{background:var(--v-red-a10, rgba(228, 70, 52, .1));color:var(--v-red-700, var(--v-red))}.chip-falta{background:var(--v-orange-a10, rgba(239, 138, 23, .1));color:var(--v-orange-700, var(--color-text))}.icon-btn-sm{width:30px;height:30px}.modal-titulo{margin:0;font-family:var(--font-display);font-size:17px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--v-dark);color:#fff;padding:10px 18px;border-radius:999px;font-size:12.5px;font-weight:600;box-shadow:0 8px 20px #0a3d4f4d;z-index:200;max-width:80vw;text-align:center;pointer-events:none}.adj{display:inline-flex;align-items:center;gap:2px;color:var(--n600);font-family:var(--mono);font-size:12px}.principal-cell{display:inline-flex;align-items:center;gap:4px;min-width:0}.celda-accion{display:inline-flex;align-items:center;gap:4px;padding:1px 9px;border:1px dashed var(--n300);border-radius:999px;background:transparent;color:var(--n500);font-family:var(--font-body);font-size:11.5px;font-weight:700;line-height:20px;cursor:pointer}.celda-accion:hover{background:var(--n50);color:var(--v-dark)}.celda-accion.accion-desligar{border:none;padding:0 4px}
