:root{--color-primary:#006f6f;--color-primary-light:#008b8b;--color-primary-dark:#004d4d;--color-primary-gradient:linear-gradient(135deg, #006f6f 0%, #008b8b 100%);--color-secondary:#faa17a;--color-secondary-light:#ff9a6b;--color-secondary-dark:#e8935f;--color-secondary-gradient:linear-gradient(135deg, #faa17a 0%, #ff9a6b 100%);--color-white:#fff;--color-gray-50:#f8f9fa;--color-gray-100:#f1f3f4;--color-gray-200:#e8eaed;--color-gray-300:#dadce0;--color-gray-400:#bdc1c6;--color-gray-500:#9aa0a6;--color-gray-600:#80868b;--color-gray-700:#5f6368;--color-gray-800:#3c4043;--color-gray-900:#202124;--color-text-primary:#2c3e50;--color-text-secondary:#34495e;--color-text-muted:#6c757d;--color-text-light:#fff;--color-success:#4caf50;--color-success-dark:#388e3c;--color-success-light:#c8e6c9;--color-warning:#ffa726;--color-warning-dark:#ef8c00;--color-warning-light:#ffecb3;--color-error:#e53e3e;--color-error-dark:#c53030;--color-error-light:#ffebee;--color-info:#29b6f6;--color-info-dark:#138496;--color-info-light:#e3f2fd;--color-status-ok:#059669;--color-status-ok-bg:#ecfdf5;--color-status-ok-border:#d1fae5;--color-status-error:#dc2626;--color-status-error-bg:#fef2f2;--color-status-error-border:#fee2e2;--color-status-warning:#d97706;--color-status-warning-bg:#fffbeb;--color-status-warning-border:#fde68a;--color-status-unknown:#64748b;--color-status-unknown-bg:#f1f5f9;--color-status-unknown-border:#e2e8f0;--color-status-live:#2ecc71;--color-status-alarm:#e74c3c;--bg-body:#f5f7fa;--bg-primary:linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--bg-secondary:linear-gradient(135deg, #fff 0%, #f8f9fa 100%);--bg-card:#fff;--bg-overlay:#00000080;--bg-table-header:linear-gradient(135deg, #ffe5d9 0%, #fff0e6 100%);--bg-inline-media:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);--border-light:#e8eaed;--border-medium:#dadce0;--border-dark:#bdc1c6;--shadow-sm:0 1px 3px #0000001f;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 25px #00000026;--shadow-xl:0 20px 40px #0003;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:50%;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-2xl:24px;--spacing-3xl:32px;--font-family-primary:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-size-2xs:11px;--font-size-xs:12px;--font-size-sm:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:24px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;--transition-bounce:.3s cubic-bezier(.68, -.55, .265, 1.55);--btn-font-weight:500;--btn-radius:8px;--btn-transition:background-color .2s ease, box-shadow .2s ease, transform .15s ease, border-color .2s ease;--btn-shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--btn-shadow-hover:0 4px 8px #0000001a, 0 2px 4px #0000000f;--btn-hover-lift:translateY(-1px);--btn-active-press:scale(.98);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}[data-theme=dark]{--color-primary:#00a3a3;--color-primary-light:#00bfbf;--color-primary-dark:teal;--color-primary-gradient:linear-gradient(135deg, teal 0%, #00a3a3 100%);--color-secondary:#faa17a;--color-secondary-light:#ffb899;--color-secondary-dark:#e8935f;--color-secondary-gradient:linear-gradient(135deg, #e8935f 0%, #faa17a 100%);--color-white:#1a1a2e;--color-gray-50:#1e1e32;--color-gray-100:#252540;--color-gray-200:#2d2d4a;--color-gray-300:#3a3a55;--color-gray-400:#555570;--color-gray-500:#8888a0;--color-gray-600:#a0a0b8;--color-gray-700:#c0c0d0;--color-gray-800:#d8d8e4;--color-gray-900:#eeeef4;--color-text-primary:#eeeef4;--color-text-secondary:#c0c0d0;--color-text-muted:#8888a0;--color-text-light:#fff;--color-success:#66bb6a;--color-success-dark:#4caf50;--color-success-light:#1b3a1b;--color-warning:#ffb74d;--color-warning-dark:#ffa726;--color-warning-light:#3a2e1b;--color-error:#ef5350;--color-error-dark:#e53e3e;--color-error-light:#3a1b1b;--color-info:#42a5f5;--color-info-dark:#29b6f6;--color-info-light:#1b2a3a;--color-status-ok:#4ade80;--color-status-ok-bg:#0f2a1a;--color-status-ok-border:#1a4028;--color-status-error:#f87171;--color-status-error-bg:#2a0f0f;--color-status-error-border:#401a1a;--color-status-warning:#fbbf24;--color-status-warning-bg:#2a1f0a;--color-status-warning-border:#40300f;--color-status-unknown:#94a3b8;--color-status-unknown-bg:#1e2433;--color-status-unknown-border:#2d3548;--color-status-live:#4ade80;--color-status-alarm:#f87171;--bg-body:#121220;--bg-primary:linear-gradient(135deg, #121220 0%, #1a1a2e 100%);--bg-secondary:linear-gradient(135deg, #1a1a2e 0%, #1e1e32 100%);--bg-card:#1e1e32;--bg-overlay:#000000b3;--bg-table-header:linear-gradient(135deg, #2a2040 0%, #322848 100%);--bg-inline-media:linear-gradient(135deg, #0d0d1a 0%, #12121f 100%);--border-light:#2d2d4a;--border-medium:#3a3a55;--border-dark:#555570;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 6px #00000040;--shadow-lg:0 10px 25px #00000059;--shadow-xl:0 20px 40px #00000073;--btn-shadow:0 1px 3px #0003, 0 1px 2px #00000026;--btn-shadow-hover:0 4px 8px #0000004d, 0 2px 4px #0003}html[data-theme],html:not([data-theme]){transition:background-color .3s}[data-theme=dark] .stats-dashboard{background:#1e1e32f2}[data-theme=dark] .stats-header{background:linear-gradient(to right, var(--color-gray-50), var(--color-gray-100));border-bottom-color:var(--border-light)}[data-theme=dark] .stat-card-icon{background:#00a3a31f}[data-theme=dark] .table-header .cell:hover{background-color:#ffffff0f}[data-theme=dark] .modal-content{box-shadow:0 20px 60px #00000080,0 4px 16px #0006}[data-theme=dark] .modal-input:focus{box-shadow:0 0 0 3px #00a3a333}[data-theme=dark] .monitoring-image-wrapper{box-shadow:0 20px 50px #0006}[data-theme=dark] .monitoring-nav-item.active{background:var(--color-gray-100)}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--color-gray-50)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-gray-300)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}[data-theme=high-contrast]{--color-primary:#000;--color-secondary:#fff;--color-text-primary:#000;--bg-card:#fff;--border-light:#000}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.bg-card{background-color:var(--bg-card)}.border-light{border-color:var(--border-light)}.border-medium{border-color:var(--border-medium)}.border-dark{border-color:var(--border-dark)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.transition-fast{transition:all var(--transition-fast)}.transition-normal{transition:all var(--transition-normal)}.transition-slow{transition:all var(--transition-slow)}.btn{cursor:pointer;font-family:var(--font-family-primary);font-weight:var(--btn-font-weight);font-size:var(--font-size-md);white-space:nowrap;border-radius:var(--btn-radius);transition:var(--btn-transition);box-shadow:var(--btn-shadow);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 18px;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{transform:var(--btn-hover-lift);box-shadow:var(--btn-shadow-hover)}.btn:active{transform:var(--btn-active-press);box-shadow:var(--btn-shadow)}.btn:disabled,.btn.disabled{opacity:.55;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-sm{font-size:var(--font-size-xs);border-radius:6px;padding:5px 12px}.btn-lg{font-size:var(--font-size-lg);padding:11px 24px}.btn-block{width:100%}.btn-primary{background:var(--color-primary-gradient);color:var(--color-text-light);border-color:#0000}.btn-primary:hover{background:var(--color-primary-light);border-color:#0000}.btn-secondary{background:var(--color-white);color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:var(--color-text-light);border-color:var(--color-primary)}.btn-ghost{color:var(--color-text-secondary);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--color-gray-100);color:var(--color-text-primary);box-shadow:none}.btn-ghost:active{background:var(--color-gray-200)}.btn-danger{background:var(--color-error);color:var(--color-text-light);border-color:#0000}.btn-danger:hover{background:var(--color-error-dark);border-color:#0000}.btn-success{background:var(--color-success);color:var(--color-text-light);border-color:#0000}.btn-success:hover{background:var(--color-success-dark);border-color:#0000}.btn-warning{background:var(--color-warning);color:var(--color-text-light);border-color:#0000}.btn-warning:hover{background:var(--color-warning-dark);border-color:#0000}.btn-info{background:var(--color-info);color:var(--color-text-light);border-color:#0000}.btn-info:hover{background:var(--color-info-dark);border-color:#0000}.btn-neutral{background:var(--color-gray-600);color:var(--color-text-light);border-color:#0000}.btn-neutral:hover{background:var(--color-gray-700);border-color:#0000}.btn-soft-danger{background:var(--color-error-light);color:var(--color-error);box-shadow:none;border-color:#0000}.btn-soft-danger:hover{background:var(--color-error);color:var(--color-text-light)}.btn-soft-success{background:var(--color-success-light);color:var(--color-success);box-shadow:none;border-color:#0000}.btn-soft-success:hover{background:var(--color-success);color:var(--color-text-light)}.btn-icon{border-radius:var(--radius-md);padding:8px}.btn-icon.btn-sm{padding:5px}@media (width<=768px){.btn{min-height:42px;font-size:var(--font-size-md);padding:10px 18px}.btn-sm{min-height:36px;padding:7px 14px}}@media (hover:none){.btn:hover{transform:none}}body{background-color:var(--bg-body);min-width:0;min-height:100vh;color:var(--color-text-primary);flex-direction:column;margin:0;padding:0;transition:background-color .3s,color .3s;display:flex}.main-container{flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.main-content{padding:var(--spacing-md) 0 var(--spacing-sm);box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;display:flex;overflow-x:hidden}@media (width<=768px){.main-content{padding:var(--spacing-sm) 0 0}}@media (width<=480px){.main-content{padding:var(--spacing-xs) 0 0}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:var(--color-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}@media (width<=1024px){.contentContainer{gap:var(--spacing-lg);flex-direction:column}.tableContainer,.selectedImageContainer{flex:none}.selectedImageContainer{min-height:200px}}@media (width<=768px){.contentContainer{gap:var(--spacing-md);padding:0;overflow:visible}.selectedImageContainer{justify-content:center;min-width:0;min-height:200px;padding:12px;overflow:visible}.table-header .cell{font-size:var(--font-size-md);padding:12px 8px}.chartContainer{margin:0}.info-tooltip{width:280px;font-size:var(--font-size-xs);padding:12px}.context-menu{min-width:120px}.context-menu-item{font-size:var(--font-size-sm);min-height:44px;padding:10px 12px}}@media (width<=480px){.dataTableContainer{margin:0 0 var(--spacing-sm) 0;width:100%}.selectedImageContainer{min-height:180px;padding:8px}.info-tooltip{width:240px;left:0}.info-tooltip:before{left:11px}}@media (-webkit-device-pixel-ratio>=2),(resolution>=192dpi){.selectedMedia{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.navbar-logo{image-rendering:-webkit-optimize-contrast}}@media (hover:none){.open-modal-button:hover,.statistic-link:hover,.moreinfo:hover,.quit:hover{box-shadow:none;transform:none}.stat-card:hover,.monitoring-button:hover:not(:disabled){transform:none}.chartTabs-selector button:hover{box-shadow:none;background:var(--bg-table-header);color:var(--color-text-primary)}.chartTabs-selector button.chartTab-active:hover{background:var(--color-primary-gradient);color:var(--color-text-light)}.row:hover{background:inherit}.cell.editable:hover{box-shadow:none;background:0 0;border-color:#0000}.header-btn:hover{opacity:1;box-shadow:0 1px 3px #00000026}.header-btn--revert:hover{background:var(--bg-card);color:var(--color-primary)}}@media print{.navbar,.header button,.info-button,.context-menu{display:none!important}.dataTableContainer,.chartTabs-container{box-shadow:none!important;border:1px solid #000!important}.row:hover{background-color:#0000!important}}.fade-in{animation:.5s ease-in-out fadeIn}.fade-in-up{animation:.6s ease-out fadeInUp}.fade-in-down{animation:.6s ease-out fadeInDown}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:.3s ease-out scaleIn}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.slide-in-right{animation:.4s ease-out slideInRight}.slide-in-left{animation:.4s ease-out slideInLeft}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.bounce-in{animation:.6s ease-out bounceIn}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.pulse{animation:2s infinite pulse}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.shake{animation:.5s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.glow{box-shadow:0 0 20px color-mix(in srgb, var(--color-primary) 30%, transparent);animation:2s ease-in-out infinite alternate glow}@keyframes glow{0%{box-shadow:0 0 20px color-mix(in srgb, var(--color-primary) 30%, transparent)}to{box-shadow:0 0 30px color-mix(in srgb, var(--color-primary) 60%, transparent)}}.hover-lift{transition:transform .3s,box-shadow .3s}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.gradient-text{background:var(--color-primary-gradient);-webkit-text-fill-color:transparent;font-weight:var(--font-weight-semibold);-webkit-background-clip:text;background-clip:text}.loading-dots:after{content:"";animation:1.5s infinite loadingDots}@keyframes loadingDots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.focus-ring:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3}.neumorphism{background:#f0f0f0;box-shadow:8px 8px 16px #d1d1d1,-8px -8px 16px #fff}.neumorphism-inset{background:#f0f0f0;box-shadow:inset 8px 8px 16px #d1d1d1,inset -8px -8px 16px #fff}.rounded-full{border-radius:var(--radius-full)}@keyframes cardEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes sectionEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.stagger-1{animation-delay:0s}.stagger-2{animation-delay:50ms}.stagger-3{animation-delay:.1s}.stagger-4{animation-delay:.15s}.stagger-5{animation-delay:.2s}.stagger-6{animation-delay:.25s}.stagger-7{animation-delay:.3s}.stagger-8{animation-delay:.35s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}.bg-gradient-primary{background:var(--color-primary-gradient)}.bg-gradient-secondary{background:var(--color-secondary-gradient)}.bg-gradient-light{background:linear-gradient(135deg,#fff 0%,#f8f9fa 100%)}
