:root{--color-bg-base: #1a1a2e;--color-bg-surface: #16213e;--color-bg-elevated: #1e2746;--color-bg-input: #2c2f33;--color-bg-hover: rgba(255, 255, 255, .05);--color-bg-active: rgba(255, 255, 255, .08);--color-text-primary: #ffffff;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-text-disabled: #475569;--color-text-inverse: #1a1a2e;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-active: #1d4ed8;--color-primary-muted: rgba(59, 130, 246, .15);--color-primary-glow: rgba(59, 130, 246, .4);--color-primary-legacy: #3498db;--color-success: #22c55e;--color-success-hover: #16a34a;--color-success-muted: rgba(34, 197, 94, .15);--color-error: #ef4444;--color-error-hover: #dc2626;--color-error-muted: rgba(239, 68, 68, .15);--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-warning-muted: rgba(245, 158, 11, .15);--color-info: #06b6d4;--color-info-hover: #0891b2;--color-info-muted: rgba(6, 182, 212, .15);--color-online: #22c55e;--color-offline: #6b7280;--color-processing: #3b82f6;--color-error-critical: #ef4444;--color-camera-ok: #22c55e;--color-camera-warning: #f59e0b;--color-camera-error: #ef4444;--color-camera-offline: #6b7280;--color-border: rgba(255, 255, 255, .1);--color-border-strong: rgba(255, 255, 255, .2);--color-border-focus: var(--color-primary);--spacing-0: 0;--spacing-px: 1px;--spacing-0-5: 2px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-6);--spacing-xl: var(--spacing-8);--spacing-2xl: var(--spacing-12);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px var(--color-primary-glow);--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--transition-fast: .1s ease-out;--transition-normal: .2s ease-out;--transition-slow: .3s ease-out;--transition-slower: .5s ease-out;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--card-bg: var(--color-bg-surface);--card-border: var(--color-border);--card-radius: var(--radius-lg);--card-padding: var(--spacing-4);--card-shadow: var(--shadow-md);--button-height-sm: 32px;--button-height-md: 40px;--button-height-lg: 48px;--button-radius: var(--radius-md);--input-height: 40px;--input-bg: var(--color-bg-input);--input-border: var(--color-border);--input-radius: var(--radius-md);--input-focus-ring: 0 0 0 3px var(--color-primary-muted);--nav-height: 60px;--sidebar-width: 260px;--sidebar-collapsed-width: 60px}.dark-mode{color-scheme:dark}:root{color-scheme:light}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-scope .MuiOutlinedInput-root{background-color:#fff!important;border-radius:8px}.login-scope .MuiOutlinedInput-input{color:#111!important}.login-scope .MuiOutlinedInput-root fieldset{border-color:#d0d5dd!important}.login-scope .MuiOutlinedInput-root:hover fieldset{border-color:#9aa0a6!important}.login-scope .MuiOutlinedInput-root.Mui-focused fieldset{border-color:#3f51b5!important;border-width:2px!important}.login-scope .MuiInputBase-input::placeholder{color:#666;opacity:1}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #ffffff inset;box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#111!important;transition:background-color 9999s ease-out 0s}:root{--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}html,body{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}#root{touch-action:manipulation}button,a,input,select,textarea,label,div,span,nav,aside,header,footer,section,article,ul,li{touch-action:manipulation;-webkit-tap-highlight-color:transparent}svg,img,i,em{touch-action:manipulation;pointer-events:inherit}.dark-mode{--dark-bg: #1a1a1a;--dark-bg-panel: #242424;--dark-bg-header: #2c2c2c;--dark-text: #e0e0e0;--dark-text-muted: #888;--dark-border: #444;--primary-color: #3b82f6;--primary-color-hover: #2563eb;--danger-color: #a86060;--success-color: #6b9c77;--warn-color: #c9a869;color-scheme:dark}.dark-mode{background-color:var(--dark-bg);color:var(--dark-text);font-family:var(--font-family);min-height:100vh}.stats-container,.logs-viewer-container{padding:20px;max-width:95vw;margin:0 auto}.dark-mode .dashboard-header,.dark-mode .stats-header,.dark-mode .filtros-logs{background-color:var(--dark-bg-panel);border:1px solid var(--dark-border);border-radius:8px;padding:15px;margin-bottom:20px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px}.filtros-container,.filtros-principales{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.dark-mode input[type=date],.dark-mode input[type=text],.dark-mode input[type=number],.dark-mode select{background-color:var(--dark-bg);color:var(--dark-text);border:1px solid var(--dark-border);border-radius:5px;padding:8px 12px;font-size:14px}.dark-mode input[type=date]:focus,.dark-mode input[type=text]:focus,.dark-mode input[type=number]:focus,.dark-mode select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 5px var(--primary-color)}.dark-mode .btnbuscador{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color);border-radius:5px;padding:8px 15px;cursor:pointer;font-weight:700;transition:background-color .2s ease,color .2s ease}.dark-mode .btnbuscador:hover{background-color:var(--primary-color);color:#fff}.dark-mode button:not(:where(.refine-pad button)){background-color:var(--dark-bg-header);color:var(--dark-text);border:1px solid var(--dark-border);border-radius:5px;padding:8px 15px;cursor:pointer;font-weight:700;transition:background-color .2s ease,border-color .2s ease}.dark-mode button:not(:where(.refine-pad button)):hover{background-color:var(--dark-border);border-color:#555}.dark-mode button:not(:where(.refine-pad button)):disabled{background-color:var(--dark-bg-panel);color:var(--dark-text-muted);border-color:var(--dark-border);cursor:not-allowed}.dark-mode .paginador{display:flex;align-items:center;gap:15px;color:var(--dark-text-muted)}.dark-mode .tabla-responsive,.dark-mode .tabla-responsive-container{overflow-x:auto;background-color:var(--dark-bg-panel);border:1px solid var(--dark-border);border-radius:8px;padding:10px}.tabla-datos{width:100%;border-collapse:collapse;font-size:14px}.dark-mode .tabla-datos th,.dark-mode .tabla-datos td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--dark-border)}.dark-mode .tabla-datos thead th{background-color:var(--dark-bg-header);color:var(--dark-text);font-weight:700;position:sticky;top:0}.dark-mode .tabla-datos tbody tr:hover{background-color:#2a2a2a}.dark-mode .chip{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:700;background-color:var(--dark-border);color:var(--dark-text)}.dark-mode .chip-danger{background-color:var(--danger-color);color:#fff}.dark-mode .chip-success{background-color:var(--success-color);color:#fff}.navbar,.navbar *,.navbar *:before,.navbar *:after{box-sizing:border-box}.dark-mode .navbar{position:relative;z-index:1000;background:linear-gradient(135deg,#1a1a2e,#16213e);border-bottom:1px solid rgba(255,255,255,.1);padding:0 20px;height:64px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 15px #0000004d;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.menus{display:flex;list-style:none;margin:0;padding:0;align-items:center;height:100%;touch-action:manipulation}.menu-items{position:relative;height:100%;display:flex;align-items:center;touch-action:manipulation}.dark-mode .menu-items a,.dark-mode .menu-items button{display:flex;align-items:center;height:100%;padding:0 18px;color:#94a3b8;text-decoration:none;font-size:.9rem;font-weight:500;background:none;border:none;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent}.dark-mode .menu-items a:hover,.dark-mode .menu-items button:hover{color:#fff;background:#ffffff0d;border-bottom-color:#3498db}.dark-mode .Salir{background:linear-gradient(135deg,#e74c3c,#c0392b)!important;color:#fff!important;border-radius:8px!important;padding:8px 18px!important;margin-left:10px;height:auto!important;border-bottom:none!important;font-weight:600;box-shadow:0 2px 8px #e74c3c4d}.dark-mode .Salir:hover{background:linear-gradient(135deg,#c0392b,#a93226)!important;transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c66}.nav-brand{display:flex;align-items:center;gap:10px}.nav-logo{font-size:1.4rem}.nav-title{color:#fff;font-weight:700;font-size:1rem;letter-spacing:.5px}.system-status-indicator{display:flex;align-items:center;padding:0 12px!important}.user-badge{display:flex;align-items:center;padding:0 8px!important}.user-name{color:#94a3b8;font-size:14px;font-weight:500}.status-dot{width:10px;height:10px;border-radius:50%;background-color:#888;transition:background-color .3s ease;cursor:help}.status-dot.ok{background-color:#00c853;box-shadow:0 0 8px #00c85399;animation:pulse-ok 2s infinite}.status-dot.warning{background-color:#ff9800;box-shadow:0 0 8px #ff980099}.status-dot.error{background-color:#f44336;box-shadow:0 0 8px #f4433699;animation:pulse-error 1s infinite}.status-dot.unknown{background-color:#888}@keyframes pulse-ok{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse-error{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.dropdown{position:absolute;top:100%;left:0;min-width:200px;list-style:none;padding:0;margin:0;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease,visibility .3s;z-index:1000;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.dark-mode .dropdown{background-color:var(--dark-bg-header);border:1px solid var(--dark-border);border-radius:8px;box-shadow:0 4px 12px #00000080}.dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.dropdown li{width:100%}.dropdown a{display:block;padding:12px 20px;color:var(--dark-text);text-decoration:none;transition:background-color .2s ease}.dark-mode .dropdown a:hover{background-color:var(--primary-color);color:#fff}.dropdown li:first-child a{border-radius:8px 8px 0 0}.dropdown li:last-child a{border-radius:0 0 8px 8px}.menu-items button[aria-controls]:after{content:" ▼";font-size:12px;margin-left:5px;transition:transform .3s ease}.menu-items button[aria-expanded=true]:after{transform:rotate(180deg)}.hamburger-button{display:none;background:none;border:none;padding:10px;min-width:44px;min-height:44px}.dark-mode .hamburger-button{color:var(--dark-text)}.hamburger-button svg{width:28px;height:28px}.navbar :is(a,button):focus-visible{outline:3px solid #7ee9ff;outline-offset:-3px}.navbar .dropdown[hidden]{display:none}@media(max-width:1100px){.hamburger-button{display:block}.menus{display:none;position:absolute;left:0;width:100%;height:auto;flex-direction:column;z-index:1000;max-height:calc(100vh - 64px);overflow-y:auto;padding-bottom:20px}.dark-mode .menus{background-color:var(--dark-bg-panel);border-top:1px solid var(--dark-border);top:64px}.menus.active{display:flex}.menu-items{width:100%!important;height:auto!important;flex-direction:column!important;align-items:stretch!important;border-bottom:1px solid rgba(255,255,255,.1)}.dark-mode .menu-items>a,.dark-mode .menu-items>button{width:100%!important;height:auto!important;padding:16px 20px!important;justify-content:space-between!important;text-align:left;border-bottom:none!important;font-size:1rem;font-weight:600}.dark-mode .menu-items>a:hover,.dark-mode .menu-items>button:hover{background:#ffffff14;border-bottom-color:transparent}.dropdown{position:static!important;width:100%!important;min-width:100%!important;max-height:0!important;opacity:0;visibility:hidden;transform:none!important;box-shadow:none!important;border:none!important;border-radius:0!important;overflow:hidden;transition:max-height .3s ease-out,opacity .2s ease}.dropdown.show{max-height:1000px!important;opacity:1;visibility:visible;overflow:visible}.dark-mode .dropdown{background-color:#00000040!important;border:none!important}.dropdown li{width:100%;border-bottom:1px solid rgba(255,255,255,.05)}.dropdown li:last-child{border-bottom:none}.dropdown li a,.dark-mode .dropdown li a{display:block!important;width:100%!important;height:auto!important;padding:14px 20px 14px 40px!important;font-size:.95rem;color:#94a3b8!important;text-decoration:none}.dark-mode .dropdown li a:hover{background-color:#3b82f633!important;color:#fff!important}.menu-items button[aria-controls]:after{content:" ▼"!important;font-size:10px;margin-left:auto;transition:transform .3s ease}.menu-items button[aria-expanded=true]:after{transform:rotate(180deg)}.system-status-indicator,.user-badge{justify-content:center!important;padding:12px 20px!important;height:auto!important}.user-badge{border-bottom:none}.dark-mode .Salir{width:calc(100% - 40px)!important;height:auto!important;margin:16px 20px!important;justify-content:center!important}}@media(min-width:1600px){.dark-mode{--large-font-base: 15px;--large-spacing: 24px;--large-card-padding: 20px;--large-border-radius: 10px}.stats-container,.logs-viewer-container{max-width:1800px;padding:32px}.dark-mode .dashboard-header,.dark-mode .stats-header,.dark-mode .filtros-logs{padding:20px 28px;gap:20px;border-radius:var(--large-border-radius)}.dark-mode input[type=date],.dark-mode input[type=text],.dark-mode input[type=number],.dark-mode select{padding:10px 16px;font-size:15px}.dark-mode button,.dark-mode .btnbuscador{padding:10px 20px;font-size:15px}.tabla-datos{font-size:15px}.dark-mode .tabla-datos th,.dark-mode .tabla-datos td{padding:14px 18px}.dark-mode .tabla-responsive,.dark-mode .tabla-responsive-container{padding:16px;border-radius:var(--large-border-radius)}.dark-mode .menu-items a,.dark-mode .menu-items button{padding:20px 24px;font-size:15px}.dropdown a{padding:14px 24px}}@media(min-width:1440px)and (max-width:1599px){.stats-container,.logs-viewer-container{max-width:1400px;padding:28px}.dark-mode .dashboard-header,.dark-mode .stats-header,.dark-mode .filtros-logs{padding:18px 24px}}@keyframes spin{to{transform:rotate(360deg)}}/*!
 * 
 *   react-simple-keyboard v3.8.278
 *   https://github.com/hodgef/react-simple-keyboard
 *
 *   Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.
 *
 *   This source code is licensed under the MIT license found in the
 *   LICENSE file in the root directory of this source tree.
 *
 *//*!
 * 
 *   simple-keyboard v3.8.192
 *   https://github.com/hodgef/simple-keyboard
 *
 *   Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.
 *
 *   This source code is licensed under the MIT license found in the
 *   LICENSE file in the root directory of this source tree.
 *
 */.hg-theme-default{background-color:#ececec;border-radius:5px;box-sizing:border-box;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;overflow:hidden;padding:5px;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.hg-theme-default .hg-button span,.hg-theme-default .hg-button span svg{pointer-events:none}.hg-theme-default button.hg-button{border-width:0;font-size:inherit}.hg-theme-default .hg-button{display:inline-block;flex-grow:1}.hg-theme-default .hg-row{display:flex}.hg-theme-default .hg-row:not(:last-child){margin-bottom:5px}.hg-theme-default .hg-row .hg-button-container,.hg-theme-default .hg-row .hg-button:not(:last-child){margin-right:5px}.hg-theme-default .hg-row>div:last-child{margin-right:0}.hg-theme-default .hg-row .hg-button-container{display:flex}.hg-theme-default .hg-button{align-items:center;background:#fff;border-bottom:1px solid #b5b5b5;border-radius:5px;box-shadow:0 0 3px -1px #0000004d;box-sizing:border-box;cursor:pointer;display:flex;height:40px;justify-content:center;padding:5px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.hg-theme-default .hg-button.hg-standardBtn{width:20px}.hg-theme-default .hg-button.hg-activeButton{background:#efefef}.hg-theme-default.hg-layout-numeric .hg-button{align-items:center;display:flex;height:60px;justify-content:center;width:33.3%}.hg-theme-default .hg-button.hg-button-numpadadd,.hg-theme-default .hg-button.hg-button-numpadenter{height:85px}.hg-theme-default .hg-button.hg-button-numpad0{width:105px}.hg-theme-default .hg-button.hg-button-com{max-width:85px}.hg-theme-default .hg-button.hg-standardBtn.hg-button-at{max-width:45px}.hg-theme-default .hg-button.hg-selectedButton{background:#05194687;color:#fff}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn=".com"]{max-width:82px}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn="@"]{max-width:60px}.hg-candidate-box{background:#ececec;border-bottom:2px solid #b5b5b5;border-radius:5px;display:inline-flex;margin-top:-10px;position:absolute;transform:translateY(-100%);-webkit-user-select:none;-moz-user-select:none;user-select:none}ul.hg-candidate-box-list{display:flex;flex:1;list-style:none;margin:0;padding:0}li.hg-candidate-box-list-item{align-items:center;display:flex;height:40px;justify-content:center;width:40px}li.hg-candidate-box-list-item:hover{background:#00000008;cursor:pointer}li.hg-candidate-box-list-item:active{background:#0000001a}.hg-candidate-box-prev:before{content:"◄"}.hg-candidate-box-next:before{content:"►"}.hg-candidate-box-next,.hg-candidate-box-prev{align-items:center;color:#969696;cursor:pointer;display:flex;padding:0 10px}.hg-candidate-box-next{border-bottom-right-radius:5px;border-top-right-radius:5px}.hg-candidate-box-prev{border-bottom-left-radius:5px;border-top-left-radius:5px}.hg-candidate-box-btn-active{color:#444}
