@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";
*{box-sizing:border-box;margin:0;padding:0}body{margin:0;padding:0;overflow:hidden}.light-theme{--bg-app:#f3f4f5;--bg-sidebar:#fff;--bg-card:#fff;--border-color:#e0e0e0;--text-main:#1f2c33;--text-muted:#768d99;--line-color:#353542;--shadow-card:0 8px 24px #0009;--brand-color:#e33734;--status-up:#090;--status-down:#ff4d6d;--status-warn:#ffb703;--table-th:#ebebeb;--table-row-even:#f9f9f9;--table-row-odd:#fff;--table-row-hover:#e8f5ff}.dark-theme{--bg-app:#000;--bg-sidebar:#000;--bg-card:#141526;--bg-input:#0a0a14;--border-color:#2b2d42;--text-main:#fff;--text-muted:#888d9e;--line-color:#2b2d42;--shadow-card:0 8px 24px #0006;--brand-color:#1cf0d6;--status-up:#10b981;--status-down:#ef4444;--status-warn:#f59e0b;--table-th:#1e1f36;--table-row-even:#1b1c2f;--table-row-odd:#141526;--table-row-hover:#2a2c47}.app-layout{background-color:var(--bg-app);width:100vw;height:100vh;color:var(--text-main);letter-spacing:-.015em;font-family:Inter,sans-serif;transition:background-color .3s,color .3s;display:flex}.sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);white-space:nowrap;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden;box-shadow:1px 0 15px #00000005}.sidebar-resizer{cursor:col-resize;z-index:100;background-color:#0000;width:6px;height:100%;transition:background-color .2s;position:absolute;top:0;right:-3px}.sidebar-resizer:hover,.sidebar-resizer.is-resizing{background-color:var(--brand-color)}.sidebar-header{border-bottom:1px solid var(--border-color);letter-spacing:-.02em;align-items:center;height:48px;font-size:1.1rem;font-weight:600;display:flex}.sidebar-header.open{justify-content:space-between;padding:0 20px}.sidebar-header.closed{justify-content:center;padding:0}.sidebar-brand{align-items:center;transition:opacity .2s;display:flex;overflow:hidden}.sidebar-brand.open{opacity:1;width:auto}.sidebar-brand.closed{opacity:0;width:0}.sidebar-brand-icon{color:var(--brand-color);margin-right:8px}.sidebar-menu{flex-direction:column;gap:6px;padding:20px 8px;display:flex}.menu-item{color:var(--text-muted);cursor:pointer;border-left:3px solid #0000;border-radius:0;align-items:center;gap:8px;padding:6px 14px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.menu-item:hover{background-color:var(--table-row-hover);color:var(--text-main)}.menu-item.active{color:#000;border-left:4px solid var(--brand-color);background-color:#fff;font-weight:700}.menu-icon{text-align:center;flex-shrink:0;width:20px;height:20px;font-size:18px}.menu-text{flex:1;align-items:center;transition:opacity .2s;display:flex}.menu-text.open{opacity:1}.menu-text.closed{opacity:0}.alert-badge{background:var(--status-down);color:#fff;letter-spacing:0;opacity:.9;border-radius:0;margin-left:auto;padding:2px 8px;font-family:Inter,sans-serif;font-size:.65rem;font-weight:600}.main-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.topbar{background-color:var(--bg-app);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 24px;transition:background-color .3s,border-color .3s;display:flex}.topbar-left,.topbar-actions{align-items:center;gap:8px;display:flex}.minimal-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.minimal-toggle:hover{color:var(--text-main);background:#64748b1a}.minimal-toggle.active{color:var(--brand-color)}.mobile-hamburger{color:var(--text-main);cursor:pointer;background:0 0;border:none;padding:6px;display:none}.breadcrumb{color:var(--text-muted);font-size:.85rem;font-weight:500}.breadcrumb span{color:var(--text-main);font-weight:600}.theme-toggle{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;border-radius:0;align-items:center;gap:8px;padding:4px 8px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.theme-toggle:hover{border-color:var(--text-muted)}.user-avatar{background:var(--border-color);border-radius:50%;width:32px;height:32px}.content-wrapper{flex-direction:column;flex:1;display:flex;overflow:hidden}.map-container{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.zoom-panel{z-index:100;box-shadow:none;border:1px solid var(--border-color);border-radius:0;gap:2px;display:flex;position:absolute;bottom:20px;right:20px;overflow:hidden}.zoom-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;justify-content:center;align-items:center;padding:4px 8px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;transition:background-color .2s,color .2s;display:flex}.zoom-btn.middle{border-left:none;border-right:none}.zoom-btn.active{background:var(--brand-color);border-color:var(--brand-color);color:#fff}.zoom-indicator{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-color);border-left:none;border-right:none;justify-content:center;align-items:center;padding:0 8px;font-family:JetBrains Mono,monospace;font-size:.7rem;display:flex}.canvas-wrapper{background-color:var(--bg-app);flex:1;position:relative;overflow:hidden}.console-body::-webkit-scrollbar{width:14px;height:14px}.console-body::-webkit-scrollbar-track{background:var(--bg-app);border-left:1px solid var(--border-color);border-top:1px solid var(--border-color)}.console-body::-webkit-scrollbar-thumb{background:var(--line-color);border:3px solid var(--bg-app);border-radius:0}.console-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.canvas{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.line-svg{z-index:1;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.conn-path{fill:none;stroke:var(--line-color);stroke-width:1.5px;transition:stroke .3s}.conn-path.down{stroke:#ef444466;stroke-dasharray:4 4}.traffic-badge{z-index:5;background:var(--bg-card);border:1px solid var(--border-color);letter-spacing:-.03em;box-shadow:none;border:1px solid var(--border-color);border-radius:0;gap:10px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:.65rem;transition:background-color .3s,border-color .3s;display:flex;position:absolute;transform:translate(-50%,-50%)}.traffic-badge span.fault{color:var(--status-down);font-weight:500}.traffic-badge span.up{color:var(--status-up)}.traffic-badge span.down{color:var(--text-muted)}.iface-badge{z-index:4;letter-spacing:-.03em;color:var(--text-muted);background:var(--bg-app);border-radius:0;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.55rem;transition:background-color .3s;position:absolute;transform:translate(-50%,-50%)}.dev-node{z-index:10;cursor:grab;border:none;border-radius:4px;flex-direction:column;width:210px;transition:transform .15s,box-shadow .2s;display:flex;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.dev-node:active{cursor:grabbing}.dev-node.role-router.up{background:#15803d;box-shadow:0 4px 16px #15803d59}.dev-node.role-router.up:hover{background:#16a34a;box-shadow:0 6px 24px #16a34a66}.dev-node.role-switch.up{background:#eab308;box-shadow:0 4px 16px #eab30859}.dev-node.role-switch.up:hover{background:#facc15;box-shadow:0 6px 24px #facc1566}.dev-node.role-olt.up{background:#2563eb;box-shadow:0 4px 16px #2563eb59}.dev-node.role-olt.up:hover{background:#3b82f6;box-shadow:0 6px 24px #3b82f666}.dev-node.down{background:#b91c1c;animation:2s ease-in-out infinite pulse-down;box-shadow:0 4px 16px #b91c1c66}.dev-node.down:hover{background:#dc2626}@keyframes pulse-down{0%,to{box-shadow:0 4px 16px #b91c1c66}50%{box-shadow:0 4px 24px #dc2626a6,0 0 0 2px #dc26264d}}.dev-node-body{flex-direction:column;gap:6px;padding:10px 12px 8px;display:flex}.dev-node-top{align-items:center;gap:6px;display:flex}.dev-node-hostname{color:#052e16;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.88rem;font-weight:800;line-height:1.3;overflow:hidden}.dev-node.down .dev-node-hostname{color:#fff}.dev-node.role-switch.up .dev-node-hostname{color:#422006}.dev-node.role-olt.up .dev-node-hostname{color:#fff}.dev-node-badge{letter-spacing:.06em;color:#ffffffe6;background:#0003;border-radius:3px;flex-shrink:0;padding:2px 5px;font-size:.58rem;font-weight:800;line-height:1.4}.dev-node-metrics{border-top:1px solid #00000026;align-items:center;gap:10px;padding-top:5px;display:flex}.dev-node-metric{align-items:baseline;gap:4px;display:flex}.m-label{color:#00000073;text-transform:uppercase;letter-spacing:.06em;font-family:Inter,sans-serif;font-size:.62rem;font-weight:700}.dev-node.down .m-label{color:#ffffff80}.dev-node.role-switch.up .m-label{color:#42200699}.dev-node.role-olt.up .m-label{color:#ffffffb3}.m-value{color:#052e16;letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:.82rem;font-weight:800}.dev-node.down .m-value{color:#fecaca}.dev-node.role-switch.up .m-value{color:#422006}.dev-node.role-olt.up .m-value{color:#fff}.m-value.warn{color:#fef08a!important}.m-value.err{text-shadow:0 0 6px #ffffff80;color:#fff!important}.dev-node.role-switch.up .m-value.warn{color:#ea580c!important}.dev-node.role-switch.up .m-value.err{text-shadow:none;color:#dc2626!important}.dev-node.role-olt.up .m-value.warn{color:#fde047!important}.dev-node.role-olt.up .m-value.err{text-shadow:none;color:#fca5a5!important}.status-dot{background:#0003;border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.up{box-shadow:none;background:#052e16}.dev-node.role-switch.up .status-dot.up{background:#422006}.dev-node.role-olt.up .status-dot.up{background:#fff}.status-dot.down{background:#fecaca;animation:1s ease-in-out infinite blink-dot}@keyframes blink-dot{0%,to{opacity:1}50%{opacity:.3}}.dev-node-name-block{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.dev-node-status-row{align-items:center;gap:5px;display:flex}.dev-node-model{color:#00000059;font-size:.65rem}.dev-header{align-items:center;gap:6px;display:flex}.dev-title{color:#052e16;font-size:.88rem;font-weight:800}.dev-model{color:#00000059;font-size:.65rem}.dev-metrics{border-top:1px solid #00000026;gap:10px;padding-top:5px;font-family:JetBrains Mono,monospace;font-size:.82rem;display:flex}.metric-item{white-space:nowrap;align-items:baseline;gap:4px;display:flex}.metric-item .lbl{color:#00000073;text-transform:uppercase;font-size:.62rem}.metric-item .val{color:#052e16;font-weight:800}.metric-item .val.err{color:#fff}@keyframes pulse-ring{0%{opacity:1;transform:scale(1)}70%{opacity:.2;transform:scale(2)}to{opacity:0;transform:scale(1)}}.node-highlight{animation:1.5s infinite pulse-ring;border:2px solid var(--brand-color)!important;z-index:50!important}.bottom-console{border-top:1px solid var(--border-color);background:var(--bg-card);z-index:50;flex-direction:column;flex-shrink:0;transition:background-color .3s,border-color .3s;display:flex;position:relative}.bottom-console.collapsed{height:32px!important}.bottom-console.collapsed .console-body{display:none}.console-resizer{cursor:row-resize;z-index:60;background:0 0;width:100%;height:6px;transition:background-color .2s;position:absolute;top:-3px;left:0}.console-resizer:hover,.console-resizer.is-resizing{background-color:var(--brand-color)}.console-header{border-bottom:1px solid var(--border-color);background:var(--bg-sidebar);justify-content:space-between;align-items:center;height:32px;padding:0 16px;font-size:.75rem;font-weight:600;display:flex}.console-header-left{align-items:center;gap:6px;display:flex}.console-header-right{align-items:center;display:flex}.console-title{color:var(--text-muted)}.console-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:400px;margin-left:16px;font-family:JetBrains Mono,monospace;font-size:9px;overflow:hidden}.console-badge{background:var(--status-up);color:#fff;letter-spacing:0;border-radius:0;padding:2px 8px}.console-badge.down{background:var(--status-down)}.console-body{background:var(--bg-app);flex:1;padding:8px 0;font-family:JetBrains Mono,monospace;font-size:8px;overflow-y:auto}.console-row{cursor:pointer;border-bottom:1px solid #94a3b80d;gap:8px;padding:4px 16px;transition:background-color .15s;display:flex}.console-row:hover{background:#94a3b81a}.c-time{color:var(--text-muted);flex-shrink:0;width:55px}.c-sev{flex-shrink:0;width:55px;font-weight:600}.c-sev.critical{color:var(--status-down)}.c-sev.warning{color:var(--status-warn)}.c-sev.resolved{color:var(--status-up)}.c-sev.info{color:#3b82f6}.c-msg{color:var(--text-main);flex:1}.console-info{color:var(--text-muted);padding:4px 8px}.mobile-overlay{display:none}@media (max-width:768px){.sidebar{z-index:1000;border-right:none;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;transform:translate(-100%);box-shadow:2px 0 12px #00000080;width:250px!important}.sidebar.mobile-open{transform:translate(0)}.mobile-overlay{z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:block;position:absolute;inset:0}.sidebar-resizer,.minimal-toggle{display:none}.mobile-hamburger{display:flex}.topbar{padding:0 16px}.zoom-panel{bottom:10px;right:10px}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:0;flex-direction:column;width:90%;max-width:600px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.modal-header h2{color:var(--text-main);letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:500}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.2rem;transition:color .2s}.modal-body{flex-direction:column;gap:8px;padding:8px;display:flex;overflow-y:auto}.modal-body h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:16px;font-size:.85rem;font-weight:600}.add-device-form{flex-direction:column;gap:6px;display:flex}.add-device-form input{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-main);border-radius:4px;padding:8px 12px;font-family:Inter,sans-serif;font-size:.9rem;transition:border-color .2s}.add-device-form input:focus{border-color:#3b82f6;outline:none}.add-device-form button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:0;margin-top:4px;padding:6px;font-size:.95rem;font-weight:500;transition:background .2s}.add-device-form button:hover{background:#2563eb}.add-device-form button:disabled{cursor:not-allowed;opacity:.7;background:#1e3a8a}.no-devices{color:var(--text-muted);font-size:.9rem;font-style:italic}.device-list{flex-direction:column;gap:8px;display:flex}.device-list-item{background:var(--bg-app);border:1px solid var(--border-color);border-radius:0;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.d-info{flex-direction:column;gap:4px;display:flex}.d-name{color:var(--text-main);font-size:.95rem;font-weight:500}.d-status{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600}.d-status.up{color:var(--status-up)}.d-status.down{color:var(--status-down)}.del-btn{color:var(--status-down);border:1px solid var(--status-down);cursor:pointer;background:0 0;border-radius:0;padding:4px 8px;font-size:.8rem;font-weight:500;transition:all .2s}.del-btn:hover{background:var(--status-down);color:#fff}.d-actions{gap:8px;display:flex}.edit-btn{color:#3b82f6;cursor:pointer;background:0 0;border:1px solid #3b82f6;border-radius:0;padding:4px 8px;font-size:.8rem;font-weight:500;transition:all .2s}.edit-btn:hover{color:#fff;background:#3b82f6}.cancel-btn{margin-left:8px;color:var(--text-muted)!important;border:1px solid var(--border-color)!important;background:0 0!important}.cancel-btn:hover{background:var(--border-color)!important;color:var(--text-main)!important}.sidebar-footer{border-top:none;justify-content:center;margin-top:auto;padding:8px;display:flex}.zbx-collapse{color:#768d99;border:none;border-top:1px solid var(--border-color);cursor:pointer;background:0 0;width:100%;padding:4px;font-size:16px}.zbx-collapse:hover{color:#000;background:#f3f4f5}.add-device-form button[type=submit]{color:#fff!important;background:#0275b8!important;border-radius:0!important}.add-device-form button[type=submit]:hover{background:#02639c!important}.cancel-btn{color:#333!important;background:#fff!important;border:1px solid #ccc!important}.cancel-btn:hover{background:#f3f4f5!important}.zabbix-z{color:#e33734;background:0 0;margin-right:4px;padding:0 4px;font-size:1.2rem;font-weight:700;display:inline-block}.page-title{color:var(--text-main);margin:0;font-size:1.5rem;font-weight:600}.header-actions{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.table-wrapper{background:var(--bg-card);border:1px solid var(--border-color);flex-direction:column;flex:1;display:flex;overflow-y:auto}.page-container{flex-direction:column;flex:1;padding:16px;display:flex;overflow:hidden;background-color:var(--bg-app)!important}.table-header-actions{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.kis-input{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);border-radius:6px;outline:none;padding:8px 12px;font-family:Inter,sans-serif;font-size:13px}.kis-input:focus{border-color:var(--brand-color)}.kis-table{border-collapse:collapse;text-align:left;width:100%}.kis-table th{border-bottom:1px solid var(--border-color);height:24px;color:var(--text-main)!important;background:var(--table-th)!important;padding:2px 8px!important;font-size:11px!important;font-weight:700!important}.kis-table td{height:24px;color:var(--text-main)!important;padding:2px 8px!important;font-size:11px!important}.kis-table tr:nth-child(2n){background:var(--table-row-even)!important}.kis-table tr:nth-child(odd){background:var(--table-row-odd)!important}.kis-table tr:hover{background:var(--table-row-hover)!important}.action-btn{cursor:pointer;background:0 0;border:none;padding:2px}.action-btn.edit{color:var(--btn-primary,#0275b8)}.action-btn.delete{color:#e33734}.action-cell{gap:6px;display:flex}.primary-btn{color:#fff;cursor:pointer;background:#0275b8;border:1px solid #0275b8;border-radius:0;padding:4px 10px;font-size:12px}.primary-btn:hover{background:#02639c}.menu-icon svg{width:100%;height:100%;display:block}.form-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.form-actions button{width:auto;margin-top:0;padding:6px 12px}.add-device-form .cancel-btn{color:#333!important;background:#fff!important;border:1px solid #ccc!important}.add-device-form .cancel-btn:hover{background:#f3f4f5!important}.alarm-banner{border-bottom:1px solid #0000;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;animation:.2s slideDown;display:flex}.alarm-banner--critical{color:#fff;background:#b71c1c;border-bottom-color:#7f0000}.alarm-banner--high{color:#fff;background:#e53935;border-bottom-color:#c62828}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.alarm-banner-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.alarm-banner-icon{flex-shrink:0;font-size:1rem}.alarm-banner-text{flex-direction:column;gap:1px;min-width:0;display:flex}.alarm-banner-text strong{letter-spacing:.02em;font-size:12px;font-weight:700}.alarm-banner-text span{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.alarm-banner-actions{flex-shrink:0;gap:6px;display:flex}.alarm-action-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #fff6;border-radius:0;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;transition:background .15s;display:flex}.alarm-action-btn:hover{background:#ffffff47}.alarm-action-btn.muted{opacity:.65}.alarm-ack-btn{background:#ffffff38;border-color:#fff9}.alarm-ack-btn:hover{background:#ffffff59}.alarm-pulse{background:#fff;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1s ease-out infinite pulse-ring;display:inline-block}@keyframes node-pulse{0%,to{box-shadow:0 0 #e5393580}50%{box-shadow:0 0 0 6px #e5393500}}.dev-node.node-alarm-pulse{animation:1.2s ease-in-out infinite node-pulse}.tree-badge{color:#fff;letter-spacing:.03em;border-radius:2px;padding:1px 4px;font-size:9px;font-weight:700;line-height:1.4;position:absolute;top:4px;right:4px}.pattern-badge{color:#fff;letter-spacing:.04em;background:#e53935;border-radius:2px;padding:1px 6px;font-size:10px;font-weight:700;animation:1s step-start infinite pattern-blink}@keyframes pattern-blink{50%{opacity:.4}}.c-pattern{color:#ff6b6b;margin-right:4px;font-size:11px;font-weight:700}.alarm-enable-btn{color:#0275b8;cursor:pointer;background:#e8f4fb;border:1px solid #0275b8;border-radius:0;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;transition:background .15s;display:flex}.alarm-enable-btn:hover{background:#d0eaf7}.console-row.acknowledged{opacity:.6;background:0 0}.console-row.acknowledged:hover{opacity:1;background:#00000008}.c-sev.resolved{color:#768d99;font-weight:500}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background:#0006;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;flex-direction:column;width:500px;max-width:90vw;animation:.2s ease-out slideUpModal;display:flex;overflow:hidden;box-shadow:0 12px 36px #0000004d}@keyframes slideUpModal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:var(--bg-sidebar);color:var(--text-main);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-header h3{font-size:14px;font-weight:600}.modal-header h3 span{opacity:.7;margin-left:6px;font-size:12px;font-weight:400}.close-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:none;font-size:16px}.close-btn:hover{color:#fff}.modal-body{flex-direction:column;gap:20px;padding:16px;display:flex}.modal-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.trend-chart{border-bottom:1px solid var(--border-color);align-items:flex-end;gap:4px;height:80px;padding-bottom:4px;display:flex}.trend-bar-wrapper{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.trend-bar{background:var(--brand-color);opacity:.7;border-radius:2px 2px 0 0;width:100%;min-height:2px;transition:height .3s}.trend-bar-wrapper:hover .trend-bar{opacity:1}.trend-val{color:var(--text-muted);margin-top:2px;font-size:9px}.traceroute-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.traceroute-header h4{margin:0}.traceroute-console{color:#4af626;background:#1e1e1e;border-radius:4px;height:160px;padding:12px;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.5;overflow-y:auto}.traceroute-placeholder{color:#888;font-style:italic}.blink-cursor{animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.logging-container{background:var(--bg-app);flex-direction:column;flex:1;padding:24px;display:flex;overflow-y:auto}.log-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;flex:1;display:flex;overflow:hidden;box-shadow:0 4px 12px #0000000d}.log-toolbar{border-bottom:1px solid var(--border-color);background:var(--bg-card);align-items:center;gap:16px;padding:16px;display:flex}.log-search{border:1px solid var(--border-color);background:var(--bg-app);color:var(--text-main);border-radius:4px;width:300px;padding:8px 14px;font-family:Inter,sans-serif;font-size:13px}.log-search:focus{border-color:var(--brand-color);outline:none}.log-filter{border:1px solid var(--border-color);background:var(--bg-app);color:var(--text-main);border-radius:4px;padding:8px 14px;font-family:Inter,sans-serif;font-size:13px}.log-filter:focus{border-color:var(--brand-color);outline:none}.log-badge{text-transform:uppercase;border-radius:3px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.log-badge.CRITICAL{color:#fff!important;background:#e33734!important}.log-badge.RESOLVED{color:#fff!important;background:#10b981!important}.log-badge.WARNING{color:#fff!important;background:#f59e0b!important}.log-badge.INFO{color:#fff!important;background:#3b82f6!important}.log-badge.ACTIVITY{color:#fff!important;background:#8b5cf6!important}.log-footer{border-top:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);justify-content:space-between;padding:12px 16px;font-size:12px;display:flex}
