@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-card: #1e2130;--bg-card-hover: #252839;--bg-input: #252839;--bg-header: #161822;--bg-sidebar: #141620;--bg-tooltip: #2a2d3e;--border-color: #2a2d3e;--border-light: #333650;--text-primary: #e4e6f0;--text-secondary: #8b8fa3;--text-muted: #5c6078;--text-white: #ffffff;--accent-green: #00e676;--accent-green-dim: rgba(0, 230, 118, .15);--accent-blue: #448aff;--accent-blue-dim: rgba(68, 138, 255, .15);--accent-cyan: #00e5ff;--accent-cyan-dim: rgba(0, 229, 255, .15);--accent-purple: #7c4dff;--accent-purple-dim: rgba(124, 77, 255, .15);--accent-orange: #ff9100;--accent-orange-dim: rgba(255, 145, 0, .15);--accent-red: #ff5252;--accent-red-dim: rgba(255, 82, 82, .15);--accent-yellow: #ffd740;--accent-yellow-dim: rgba(255, 215, 64, .15);--accent-teal: #1de9b6;--accent-teal-dim: rgba(29, 233, 182, .15);--accent-pink: #ff4081;--severity-low: #448aff;--severity-medium: #ffd740;--severity-high: #ff9100;--severity-critical: #ff5252;--status-online: #00e676;--status-offline: #5c6078;--status-error: #ff5252;--status-disabled: #ffd740;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow-green: 0 0 20px rgba(0, 230, 118, .2);--shadow-glow-blue: 0 0 20px rgba(68, 138, 255, .2);--shadow-glow-red: 0 0 20px rgba(255, 82, 82, .2);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;transition:all var(--transition-normal)}.card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.card-header h3,.card-header h4{font-weight:600;color:var(--text-primary);font-size:15px}.card-header .icon{font-size:18px}.card-header .subtitle{color:var(--text-secondary);font-size:12px;margin-top:2px}.kpi-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px 24px;display:flex;align-items:center;gap:16px;transition:all var(--transition-normal);position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-md) var(--radius-md) 0 0}.kpi-card.green:before{background:var(--accent-green)}.kpi-card.blue:before{background:var(--accent-blue)}.kpi-card.cyan:before{background:var(--accent-cyan)}.kpi-card.purple:before{background:var(--accent-purple)}.kpi-card.orange:before{background:var(--accent-orange)}.kpi-card.red:before{background:var(--accent-red)}.kpi-card.teal:before{background:var(--accent-teal)}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.kpi-card .kpi-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.kpi-card .kpi-icon.green{background:var(--accent-green-dim);color:var(--accent-green)}.kpi-card .kpi-icon.blue{background:var(--accent-blue-dim);color:var(--accent-blue)}.kpi-card .kpi-icon.cyan{background:var(--accent-cyan-dim);color:var(--accent-cyan)}.kpi-card .kpi-icon.purple{background:var(--accent-purple-dim);color:var(--accent-purple)}.kpi-card .kpi-icon.orange{background:var(--accent-orange-dim);color:var(--accent-orange)}.kpi-card .kpi-icon.red{background:var(--accent-red-dim);color:var(--accent-red)}.kpi-card .kpi-icon.teal{background:var(--accent-teal-dim);color:var(--accent-teal)}.kpi-card .kpi-content{flex:1}.kpi-card .kpi-content .kpi-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);margin-bottom:4px}.kpi-card .kpi-content .kpi-value{font-size:28px;font-weight:700;color:var(--text-white);line-height:1}.kpi-card .kpi-content .kpi-sub{font-size:11px;color:var(--text-muted);margin-top:4px}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap}.data-table td{padding:12px 16px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-color);vertical-align:middle}.data-table tr:hover td{background:var(--bg-card-hover)}.data-table tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge.online{background:var(--accent-green-dim);color:var(--accent-green)}.badge.offline{background:#5c607833;color:var(--text-muted)}.badge.error{background:var(--accent-red-dim);color:var(--accent-red)}.badge.disabled{background:var(--accent-yellow-dim);color:var(--accent-yellow)}.badge.low{background:var(--accent-blue-dim);color:var(--severity-low)}.badge.medium{background:var(--accent-yellow-dim);color:var(--severity-medium)}.badge.high{background:var(--accent-orange-dim);color:var(--severity-high)}.badge.critical{background:var(--accent-red-dim);color:var(--severity-critical)}.badge.normal{background:var(--accent-green-dim);color:var(--accent-green)}.badge.info{background:var(--accent-cyan-dim);color:var(--accent-cyan)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-blue);color:#fff}.btn-primary:hover:not(:disabled){background:#5a9aff;box-shadow:var(--shadow-glow-blue)}.btn-success{background:var(--accent-green);color:#0f1117}.btn-success:hover:not(:disabled){background:#33eb91;box-shadow:var(--shadow-glow-green)}.btn-danger{background:var(--accent-red);color:#fff}.btn-danger:hover:not(:disabled){background:#ff7575;box-shadow:var(--shadow-glow-red)}.btn-outline{background:transparent;border:1px solid var(--border-light);color:var(--text-secondary)}.btn-outline:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--text-muted)}.btn-icon{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-icon.danger:hover{color:var(--accent-red);border-color:var(--accent-red)}.btn-icon.success:hover{color:var(--accent-green);border-color:var(--accent-green)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-control{width:100%;padding:9px 14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:inherit;transition:all var(--transition-fast);outline:none}.form-control:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-dim)}.form-control::placeholder{color:var(--text-muted)}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b8fa3' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.online{background:var(--status-online);box-shadow:0 0 8px var(--status-online)}.status-dot.offline{background:var(--status-offline)}.status-dot.error{background:var(--status-error);box-shadow:0 0 8px var(--status-error)}.grid{display:grid;gap:20px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1200px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}}.chart-container{position:relative;width:100%}.chart-container canvas{width:100%!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .3s ease forwards}.loading-pulse{animation:pulse 1.5s ease-in-out infinite}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;min-width:400px;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-content .modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-content .modal-header h3{font-size:16px;font-weight:600}.modal-content .modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.empty-state{text-align:center;padding:48px 20px;color:var(--text-muted)}.empty-state .icon{font-size:48px;margin-bottom:12px;opacity:.4}.empty-state p{font-size:14px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:22px;font-weight:700;color:var(--text-white)}.page-header .header-actions{display:flex;align-items:center;gap:10px}.section-header{display:flex;align-items:center;gap:10px;margin:28px 0 16px}.section-header h2{font-size:16px;font-weight:600;color:var(--text-primary)}.section-header .icon{font-size:20px}.filters-bar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filters-bar .search-input{flex:1;min-width:220px;position:relative}.filters-bar .search-input input{width:100%;padding:9px 14px 9px 36px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;outline:none;transition:all var(--transition-fast);font-family:inherit}.filters-bar .search-input input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-dim)}.filters-bar .search-input input::placeholder{color:var(--text-muted)}.progress-bar{height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.progress-bar .progress-fill{height:100%;border-radius:3px;transition:width var(--transition-normal)}.progress-bar .progress-fill.green{background:var(--accent-green)}.progress-bar .progress-fill.blue{background:var(--accent-blue)}.progress-bar .progress-fill.orange{background:var(--accent-orange)}.progress-bar .progress-fill.red{background:var(--accent-red)}
