@charset "UTF-8";:root{--vt-grafito: #18202b;--vt-pizarra: #212c3a;--vt-pizarra-2: #2b3849;--vt-azul: #0062e6;--vt-azul-hover: #004fba;--vt-azul-e: #3d8bff;--vt-cian: #00e0fc;--vt-pulso: linear-gradient(90deg, #0062e6 0%, #0a8cff 55%, #00e0fc 100%);--vt-pulso-v: linear-gradient(180deg, #0062e6 0%, #0a8cff 55%, #00e0fc 100%);--vt-blanco: #ffffff;--vt-niebla: #f4f7fb;--vt-hielo: #e8eef5;--vt-linea: #d5dee8;--vt-bruma: #9aa8b8;--vt-acero: #566578;--vt-borde-oscuro: #3a4a5e;--vt-ok: #2fd38c;--vt-ok-d: #0b7a52;--vt-ok-suave: #d3f2e3;--vt-aviso: #ffb020;--vt-aviso-d: #9a6200;--vt-aviso-suave: #fff1d6;--vt-alarma: #ff8a3d;--vt-alarma-d: #c2410c;--vt-alarma-suave: #fce6d8;--bg: var(--vt-niebla);--surface: var(--vt-blanco);--surface-2: var(--vt-hielo);--surface-sunken: var(--vt-niebla);--border: var(--vt-linea);--text: var(--vt-grafito);--muted: var(--vt-acero);--primary: var(--vt-azul);--primary-hover: var(--vt-azul-hover);--primary-soft: rgb(0 98 230 / 10%);--on-primary: var(--vt-blanco);--success: var(--vt-ok-d);--success-soft: var(--vt-ok-suave);--warning: var(--vt-aviso-d);--warning-soft: var(--vt-aviso-suave);--alarm: var(--vt-alarma-d);--alarm-soft: var(--vt-alarma-suave);--shell-bg: var(--vt-grafito);--shell-surface: var(--vt-pizarra);--shell-border: var(--vt-pizarra-2);--shell-text: var(--vt-hielo);--shell-muted: var(--vt-bruma);--shell-accent: var(--vt-azul-e);--shell-live: var(--vt-cian);--shadow: 0 1px 2px rgb(24 32 43 / 6%), 0 8px 24px rgb(24 32 43 / 10%);--font-sans: "Barlow", "Segoe UI", system-ui, sans-serif;--font-display: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--radius-lg: 12px;--radius: 8px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15.5px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600;line-height:1.25}h1,.display{font-family:var(--font-display);font-weight:700;letter-spacing:.005em;line-height:1.05}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.mono{font-family:var(--font-mono)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.25rem;padding:0 1rem;border:1px solid transparent;border-radius:var(--radius);background:var(--surface-2);color:var(--text);font-weight:500;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}.btn:hover:not(:disabled){border-color:var(--border)}.btn:disabled{opacity:.55;cursor:default}.btn.btn-primary{background:var(--primary);color:var(--on-primary)}.btn.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:transparent}.btn.btn-success{background:var(--success);color:var(--on-primary)}.btn.btn-success:hover:not(:disabled){background:color-mix(in srgb,var(--success) 85%,var(--vt-grafito));border-color:transparent}.btn.btn-danger{background:var(--alarm);color:var(--on-primary)}.btn.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--alarm) 85%,var(--vt-grafito));border-color:transparent}.btn.btn-go{background:var(--success-soft);color:var(--success)}.btn.btn-go:hover:not(:disabled){background:var(--success);color:var(--on-primary);border-color:transparent}.btn.btn-ghost{background:transparent;color:var(--muted)}.btn.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--surface-2);border-color:transparent}.btn.btn-sm{min-height:1.85rem;padding:0 .7rem;font-size:.85rem}.crumbs{margin-bottom:.75rem;color:var(--muted);font-size:.875rem}.crumbs ol{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}.crumbs li+li:before{content:"\203a";margin:0 .45rem;opacity:.6}.crumbs a{color:var(--muted);text-decoration:none;border-radius:4px}.crumbs a:hover,.crumbs [aria-current]{color:var(--text)}.tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;overflow-x:auto;border-bottom:1px solid var(--border);scrollbar-width:none}.tabs a{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:-1px;padding:.7rem .9rem;border-bottom:2px solid transparent;border-radius:6px 6px 0 0;color:var(--muted);font-weight:500;text-decoration:none;white-space:nowrap;transition:color .12s,border-color .12s,background-color .12s}.tabs a:hover{color:var(--text);background:var(--surface)}.tabs a.active{color:var(--text);border-bottom-color:var(--primary)}.tabs a.active .tab-count{background:var(--primary-soft);color:var(--primary)}.tab-count{min-width:1.5rem;padding:0 .4rem;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.75rem;text-align:center}.tab-count.is-alert,.tabs a.active .tab-count.is-alert{background:var(--alarm-soft);color:var(--alarm)}.role{display:inline-block;padding:.05rem .55rem;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.75rem;font-weight:600;white-space:nowrap}.role.is-admin{border-color:transparent;background:var(--primary-soft);color:var(--primary)}.role.is-technician{border-color:transparent;background:var(--surface-2);color:var(--text)}.link{padding:0;border:none;background:none;color:var(--primary);font-weight:500;cursor:pointer}.link:hover{text-decoration:underline}.skeleton{display:flex;flex-direction:column;gap:.7rem;margin-top:1.25rem}.skeleton span{height:.8rem;border-radius:4px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:sweep 1.4s ease-in-out infinite}.skeleton span:nth-child(2){width:92%}.skeleton span:nth-child(3){width:78%}.skeleton span:nth-child(4){width:55%}@keyframes sweep{0%{background-position:100% 0}to{background-position:-100% 0}}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}.input{width:100%;min-height:2.5rem;padding:0 .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);color:var(--text);font-size:.95rem;transition:border-color .12s,box-shadow .12s}.input::placeholder{color:var(--muted);opacity:.7}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}select.input{cursor:pointer}textarea.input{display:block;min-height:5.5rem;padding:.6rem .8rem;line-height:1.5;resize:vertical}.field-hint{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.78rem}.ai-context{display:inline-flex;align-items:center;gap:.35rem;color:var(--primary);font-size:.8rem;font-weight:500}.ai-context svg{flex:none}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.panel-title{font-size:1rem}.panel-desc{margin:.2rem 0 1rem;color:var(--muted);font-size:.875rem}.led{--led: var(--muted);display:inline-block;flex:none;width:.6rem;height:.6rem;border-radius:2px;background:var(--led);box-shadow:0 0 0 3px color-mix(in srgb,var(--led) 20%,transparent)}.led.is-online{--led: var(--vt-ok)}.led.is-agent_connected,.led.is-offline,.led.is-error{--led: var(--vt-aviso)}.led.is-alarm{--led: var(--vt-alarma)}.led.none{background:transparent;box-shadow:inset 0 0 0 1px var(--border)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .6rem;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:500}.table-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem}.table-search{position:relative;flex:1;max-width:340px;min-width:200px}.table-search svg{position:absolute;top:50%;left:.7rem;color:var(--muted);transform:translateY(-50%);pointer-events:none}.table-search .input{min-height:2.25rem;padding-left:2.1rem;font-size:.875rem}.table-count{color:var(--muted);font-size:.8rem}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th,.table td{padding:.55rem .8rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.table thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);font-size:.8rem;font-weight:500;white-space:nowrap}.table tbody tr:last-child>td{border-bottom:none}.table tbody tr:hover>td{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.table .num{text-align:right}.table .actions{width:1%;text-align:right;white-space:nowrap}.table .muted{color:var(--muted)}.table .clip{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table .table-empty td{padding:2rem 1rem;color:var(--muted);text-align:center}.sort{display:inline-flex;align-items:center;gap:.3rem;margin:-.2rem -.35rem;padding:.2rem .35rem;border:none;border-radius:4px;background:none;color:inherit;font:inherit;cursor:pointer}.sort:after{content:"\2195";opacity:.45}.sort:hover{color:var(--text)}[aria-sort=ascending]>.sort,[aria-sort=descending]>.sort{color:var(--text)}[aria-sort=ascending]>.sort:after,[aria-sort=descending]>.sort:after{opacity:1;color:var(--primary)}[aria-sort=ascending]>.sort:after{content:"\2191"}[aria-sort=descending]>.sort:after{content:"\2193"}.dropzone{position:relative;display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-sunken);color:var(--muted);font-size:.875rem;cursor:pointer;transition:border-color .12s,background-color .12s}.dropzone strong{display:block;color:var(--text);font-weight:500}.dropzone svg{flex:none;color:var(--primary)}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone:hover,.dropzone:focus-within{border-color:var(--primary);background:var(--primary-soft)}.dropzone.is-busy{pointer-events:none;opacity:.6}.notice{margin:.75rem 0 0;padding:.6rem .8rem;border-radius:var(--radius);font-size:.875rem;background:var(--surface-2);color:var(--muted)}.notice.is-success{background:var(--success-soft);color:var(--success)}.notice.is-warning{background:var(--warning-soft);color:var(--warning)}.notice.is-error{background:var(--alarm-soft);color:var(--alarm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
