:root{--bg: #0d1214;--panel: #161d20;--border: #263136;--text: #e7edee;--muted: #8fa0a5;--up: #2fe6a0;--down: #ff6b57}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Space Grotesk,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;color-scheme:dark}.mono{font-family:IBM Plex Mono,monospace}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border-radius:6px;font-size:15px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--up);color:#08130f}.btn-primary:hover:not(:disabled){background:#4cffb8}.btn-ghost{border-color:var(--border);color:var(--text);background:transparent}.btn-ghost:hover{border-color:var(--muted)}.btn-link{background:none;border:none;color:var(--up);font-family:inherit;font-size:13px;cursor:pointer;text-decoration:underline;padding:0}.btn-link-danger{color:var(--down)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-footer{padding:18px 24px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.app-footer a{color:var(--muted);text-decoration:none}.app-footer a:hover{color:var(--up)}.app-footer-contacts{display:flex;gap:20px;flex-wrap:wrap}.auth-page{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:36px}.auth-logo{font-size:18px;font-weight:700;margin-bottom:28px}.auth-logo span{color:var(--up)}.auth-card h1{font-size:24px;font-weight:700;margin-bottom:6px}.auth-sub{color:var(--muted);font-size:14px;margin-bottom:26px}.auth-card form{display:flex;flex-direction:column;gap:16px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--muted)}.auth-card input,.auth-card select{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px 12px;color:var(--text);color-scheme:dark;font-size:15px;font-family:inherit}.auth-card input:focus,.auth-card select:focus{outline:2px solid var(--up);outline-offset:1px}.auth-card button{margin-top:6px}.phone-input-group{display:flex;border:1px solid var(--border);border-radius:6px;background:var(--bg);overflow:hidden}.phone-input-group:focus-within{outline:2px solid var(--up);outline-offset:1px}.phone-input-group input{border:none;border-radius:0;background:transparent;flex:1;min-width:0;padding:10px 12px}.phone-input-group input:focus{outline:none}.phone-prefix{display:flex;align-items:center;flex:0 0 auto;padding:0 12px;border-right:1px solid var(--border);color:var(--muted);font-size:15px}.contact-links{display:flex;flex-direction:column;gap:10px;margin:20px 0}.contact-links a{font-size:14px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:2px;width:fit-content}.contact-links a:hover{color:var(--up);border-color:var(--up)}.forgot-link{align-self:flex-end;font-size:13px;color:var(--muted);text-decoration:none;margin-top:-4px}.forgot-link:hover{color:var(--up)}.auth-error{color:var(--down);font-size:13.5px}.account-danger-zone{margin-top:28px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.account-danger-zone p{font-size:13px}.auth-switch{margin-top:22px;font-size:13.5px;color:var(--muted);text-align:center}.auth-switch a{color:var(--up);text-decoration:none}.app-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.app-header .auth-logo{margin-bottom:0}.company-badge{display:inline-block;font-size:12px;font-weight:500;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:3px 8px;margin-left:10px;vertical-align:middle}.agent-alert{position:relative;display:inline-flex;align-items:center;gap:6px;margin-left:14px;padding:3px 9px;border-radius:4px;border:1px solid rgba(255,107,87,.4);background:#ff6b5714;color:var(--down);font-size:12px;font-weight:600;vertical-align:middle;cursor:pointer}.agent-alert-dot{width:7px;height:7px;border-radius:50%;background:var(--down);flex-shrink:0;animation:agent-alert-blink 1.1s ease-in-out infinite}@keyframes agent-alert-blink{0%,to{opacity:1}50%{opacity:.25}}.agent-alert-popover{position:absolute;top:calc(100% + 8px);left:0;width:300px;max-width:calc(100vw - 48px);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:13px;font-weight:400;line-height:1.5;color:var(--text);box-shadow:0 8px 24px #00000059;z-index:60;cursor:default}.agent-alert-popover-row+.agent-alert-popover-row{margin-top:6px}.agent-alert-popover-note{margin-top:10px;color:var(--muted);font-size:12px}.app-nav{display:flex;gap:14px}.app-nav a{display:flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:500;padding:4px 2px;border-bottom:2px solid transparent}.nav-icon{width:16px;height:16px;flex-shrink:0}.app-nav a:hover{color:var(--text)}.app-nav a.active{color:var(--text);border-bottom-color:var(--up)}.app-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.app-header-actions .btn{display:inline-flex;align-items:center;gap:6px}.page-content{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:20px 24px 48px}.page-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--border)}.page-title{font-size:22px;font-weight:700}.row-actions{display:flex;gap:14px}.form-actions{grid-column:1 / -1;display:flex;gap:12px}.agent-status-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:24px}.dropdown{position:relative}.dropdown-trigger{width:100%;display:block;text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:9px 30px 9px 10px;color:var(--text);font-size:14px;font-family:inherit;cursor:pointer;position:relative}.dropdown-trigger:after{content:"";position:absolute;right:11px;top:45%;width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-50%) rotate(45deg)}.dropdown-trigger:focus-visible{outline:2px solid var(--up);outline-offset:1px}.dropdown-list{background:var(--panel);list-style:none;max-height:260px;overflow-y:auto}.dropdown-empty{padding:9px 12px;font-size:13px;color:var(--muted);cursor:default}.dropdown-list-portal{position:fixed;border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px #00000073;overflow:hidden;z-index:300}.dropdown-search{display:block;width:100%;box-sizing:border-box;padding:9px 12px;background:var(--bg);border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:14px;font-family:inherit}.dropdown-search:focus{outline:none}.dropdown-list li{padding:9px 12px;font-size:14px;color:var(--text);cursor:pointer}.dropdown-list li:hover,.dropdown-list li.active{background:#2fe6a01f;color:var(--up)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.stat-tile{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.stat-value{font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:600}.stat-value.stat-up{color:var(--up)}.stat-value.stat-down{color:var(--down)}.stat-label{font-size:12.5px;color:var(--muted)}.stat-tile-clickable{cursor:pointer;transition:border-color .15s ease,background .15s ease}.stat-tile-clickable:hover{border-color:var(--muted)}.stat-tile-clickable:focus-visible{outline:2px solid var(--up);outline-offset:2px}.stat-tile-clickable.stat-tile-active{border-color:var(--up);background:#2fe6a00f}.branches-sticky-header{position:sticky;top:80px;z-index:20;background:var(--bg);padding-top:4px;padding-bottom:4px}.branches-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.branch-summary-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px;cursor:pointer;transition:border-color .15s ease,transform .1s ease;display:flex;flex-direction:column;gap:14px}.branch-summary-card:hover{border-color:var(--muted)}.branch-summary-card:focus-visible{outline:2px solid var(--up);outline-offset:2px}.branch-summary-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.branch-summary-card-header h2{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-summary-location{font-size:12.5px;margin-top:2px}.branch-summary-update-badge{align-self:flex-start}.branch-summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:12px;border-top:1px solid var(--border)}.branch-summary-stats>div{display:flex;flex-direction:column;gap:2px;min-width:0}.branch-summary-stat-value{font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-summary-stat-label{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.branch-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#030607b8;display:flex;align-items:center;justify-content:center;padding:24px}.branch-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:720px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden}.branch-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px;border-bottom:1px solid var(--border);flex-shrink:0}.branch-modal-header h2{font-size:20px;font-weight:700}.branch-modal-close{background:none;border:none;color:var(--muted);font-size:26px;line-height:1;cursor:pointer;padding:0 4px}.branch-modal-close:hover{color:var(--text)}.branch-modal-body{padding:24px 28px 28px;overflow-y:auto}.branch-modal-info .stats-row{margin-bottom:14px}.branch-modal-info .stat-tile{padding:12px 14px;background:var(--bg)}.branch-modal-info .stat-value{font-size:18px}.branch-modal-info{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--border)}.device-modal-compact .branch-modal-header{padding:16px 24px}.device-modal-compact .branch-modal-body{padding:16px 24px 18px}.device-modal-compact .branch-modal-info{margin-bottom:14px;padding-bottom:12px}.device-modal-compact .branch-form{gap:10px;padding:12px}.device-modal-compact.branch-modal{max-height:calc(100vh - 24px)}@media (max-width: 480px){.branch-modal-backdrop{padding:0}.branch-modal{max-width:none;max-height:100vh;height:100vh;border-radius:0}}.branch-group{margin-bottom:28px}.branch-group-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.branch-group-header h2{font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}.branch-group-header-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.branch-collapse-icon{display:inline-block;width:7px;height:7px;flex-shrink:0;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);transition:transform .15s ease}.branch-collapse-icon-collapsed{transform:rotate(-45deg)}.branch-disconnected-count{color:var(--down);font-weight:700}.segmented{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;width:fit-content;margin-bottom:12px}.segmented button{padding:8px 14px;background:var(--bg);border:none;border-right:1px solid var(--border);color:var(--muted);font-size:13px;font-family:inherit;cursor:pointer}.segmented button:last-child{border-right:none}.segmented button.active{background:#2fe6a01f;color:var(--up);font-weight:600}.filter-row{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.filter-export-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.filter-export-row .search-input{flex:1;min-width:220px}.filter-export-row .export-toolbar{margin-bottom:0;flex:0 0 auto}.search-input{flex:1;min-width:200px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:9px 12px;color:var(--text);font-size:14px;font-family:inherit}.search-input:focus{outline:2px solid var(--up);outline-offset:1px}.filter-row .dropdown{flex:0 0 auto;width:180px}.log-controls{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.log-controls-group{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.log-controls-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.date-input{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text);font-size:13.5px;font-family:inherit;color-scheme:dark}.date-input:focus{outline:2px solid var(--up);outline-offset:1px}.pagination{display:flex;align-items:center;gap:10px}.btn-pagination{padding:7px 12px;font-size:13px;white-space:nowrap}.pagination-status{font-size:13px;white-space:nowrap}.status-trigger{display:inline-block;cursor:pointer}.status-popover{position:fixed;width:220px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:12.5px;line-height:1.6;color:var(--text);box-shadow:0 8px 24px #00000059;z-index:60}.uptime-history{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.uptime-history-label{font-size:11px;margin-bottom:5px}.uptime-history-loading{font-size:11px}.uptime-history-bars{display:flex;gap:3px;align-items:flex-end}.uptime-history-bar{width:3px;height:20px;border-radius:1px;flex-shrink:0}.device-meta-print{display:none;font-size:11px;margin-top:4px;line-height:1.4}.data-table{width:100%;border-collapse:collapse;background:var(--panel);font-size:14px}.data-table th{text-align:left;font-size:12.5px;color:var(--muted);font-weight:500;padding:14px 16px;border-bottom:1px solid var(--border)}.data-table td{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:top}.data-table tr:last-child td{border-bottom:none}.row-clickable{cursor:pointer}.row-clickable:hover{background:#2fe6a00d}.row-flash{animation:row-flash-blink 2s ease-in-out}@keyframes row-flash-blink{0%,to{background:transparent}15%,50%,85%{background:#2fe6a066}32%,67%{background:#2fe6a014}}.table-panel{border:1px solid var(--border);border-radius:10px;overflow:hidden}.table-scroll{border:1px solid var(--border);border-radius:10px;overflow:auto;max-height:calc(100vh - 460px);min-height:160px}.table-scroll .data-table thead th{position:sticky;top:0;z-index:5;background:var(--panel)}.btn-add-inline{padding:6px 14px;font-size:13px;white-space:nowrap}.table-empty-cell{padding:32px 16px;text-align:center}.edit-row{background:#2fe6a00a}.inline-input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:7px 10px;color:var(--text);font-size:13.5px;font-family:inherit}.inline-input:focus{outline:2px solid var(--up);outline-offset:1px}.inline-host-group{display:flex;gap:6px}.inline-host-group .inline-input{flex:1;min-width:0}.inline-input-port{flex:0 0 70px!important}.edit-row .dropdown{width:100%}.inline-edit-error{margin-top:6px;font-size:12.5px}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{color:var(--text)}.sortable-th-label{display:inline-flex;align-items:center;gap:5px}.sort-arrow{display:inline-block;font-size:9px;opacity:.25;transition:transform .15s,opacity .15s}.sort-arrow.active{opacity:1;color:var(--up)}.sort-arrow.asc{transform:rotate(180deg)}.sortable-th .dropdown{margin-top:6px;width:150px}.sortable-th .dropdown-trigger{font-weight:400;text-transform:none;font-size:12.5px;padding:6px 10px}.export-toolbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}@media print{.no-print,.app-header,.row-actions,.plan-banner{display:none!important}body,.page-content{background:#fff!important;color:#000!important;max-width:100%!important}.table-scroll{max-height:none!important;overflow:visible!important}.table-scroll .data-table thead th{position:static!important}.data-table{background:#fff!important;border:1px solid #999!important;color:#000!important}.data-table th,.data-table td{border-color:#ccc!important;color:#000!important}.status,.alert-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact}.topology-modal-backdrop{position:static!important;background:#fff!important;padding:0!important}.topology-modal{max-width:100%!important;max-height:none!important;border:none!important;background:#fff!important}.topology-modal-body{overflow:visible!important;padding:0!important}.topology-link{stroke:#999!important}.topology-branch-node{fill:#fff!important;stroke:#000!important}.topology-branch-label,.topology-device-label{fill:#000!important}.topology-export-logo,.topology-export-contact,.topology-export-logo-accent,.topology-tree-row{color:#000!important}.topology-tree-row:hover{background:none!important}.device-meta-print{display:block!important;color:#333!important}}.status{font-size:12px;font-weight:500;padding:3px 9px;border-radius:4px;white-space:nowrap;text-transform:capitalize}.status-up{color:var(--up);background:#2fe6a01a}.status-down{color:var(--down);background:#ff6b571f}.status-unknown{color:var(--muted);background:#8fa0a51f}.status-paused{color:var(--muted);background:#8fa0a51f;font-style:italic}.plan-banner{background:#8fa0a51a;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:12px 16px;font-size:14px;margin-bottom:20px}.agent-setup{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:24px}.agent-setup h2{font-size:16px;font-weight:600;margin-bottom:8px}.agent-setup p{font-size:13.5px;margin-bottom:18px;max-width:60ch}.agent-setup-field{margin-bottom:14px}.agent-setup-field:last-of-type{margin-bottom:0}.agent-setup-label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.agent-setup-value{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px 14px;flex-wrap:wrap}.agent-setup-value .mono{flex:1;min-width:0;font-size:13px;word-break:break-all}.copy-btn{padding:5px 12px;font-size:12px}.agent-download-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px}.branch-form{display:flex;flex-direction:column;gap:14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px}.branch-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.form-row{display:flex;gap:14px}.form-row>label{flex:1;min-width:0}.branch-form input,.branch-form select{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:9px 10px;color:var(--text);font-size:14px}.branch-form-checkbox{flex-direction:row!important;align-items:center;gap:8px!important}.branch-form-checkbox input{width:auto}.agent-setup-note{font-size:12.5px;margin-top:10px}.permissions-grid{display:flex;flex-direction:column;gap:4px}.permissions-grid-header,.permissions-grid-row{display:grid;grid-template-columns:1fr repeat(4,56px);align-items:center;gap:6px}.permissions-grid-header{font-size:11.5px;color:var(--muted);text-align:center}.permissions-grid-header span:first-child{text-align:left}.permissions-grid-row{font-size:13.5px;padding:6px 0}.permissions-checkbox{display:flex!important;justify-content:center}.permissions-checkbox input{width:auto}.alert-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;vertical-align:middle}.type-cell{display:flex;align-items:center;gap:8px}.alert-device_down,.alert-agent_unreachable{background:var(--down)}.alert-device_up,.alert-agent_reconnected,.activity-created{background:var(--up)}.activity-deleted{background:var(--down)}.activity-updated{background:#f5a623}.quiet-hours-fieldset{display:flex;flex-direction:column;gap:10px}.quiet-hours-detail{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.quiet-hours-schedule-row{border:1px solid var(--border);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.quiet-hours-times{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.quiet-hours-remove{font-size:12px;padding-bottom:2px}.quiet-hours-add{align-self:flex-start;padding:6px 12px;font-size:12.5px}.quiet-hours-times label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.quiet-hours-times input[type=time]{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:7px 10px;color:var(--text);font-size:13.5px;font-family:inherit}.quiet-hours-days{display:flex;gap:6px;flex-wrap:wrap}.day-toggle{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:12px;color:var(--muted);cursor:pointer}.day-toggle-active{background:#2fe6a01f;border-color:var(--up);color:var(--up);font-weight:600}.edit-row-quiet-hours td{padding-top:0}.quiet-hours-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--muted);font-style:italic;margin-left:6px}.update-available-badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;font-style:normal;color:var(--down);background:#ff6b571f;border-radius:4px;padding:3px 9px;text-decoration:none;white-space:nowrap}.update-available-badge:hover{text-decoration:underline}.contact-emails-field{display:flex;flex-direction:column;gap:8px}.contact-email-row{display:flex;align-items:center;gap:10px}.contact-email-row input{flex:1}.contact-email-row .btn-link{font-size:12px;white-space:nowrap}.android-qr-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.android-qr-row img{border-radius:8px;background:#fff;padding:8px;flex-shrink:0}.agent-download-link{display:inline-block;color:var(--up);text-decoration:none;word-break:break-all}.agent-download-link:hover{text-decoration:underline}.topology-intro{max-width:70ch;margin-bottom:20px}.topology-mode-switch{margin-bottom:20px}.topology-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:20px}.topology-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px}.topology-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.topology-card-head h3{font-size:15px;font-weight:600}.topology-agent-up,.topology-agent-down{font-size:11.5px;font-weight:500;padding:3px 9px;border-radius:4px}.topology-agent-up{color:var(--up);background:#2fe6a01a}.topology-agent-down{color:var(--down);background:#ff6b571f}.topology-empty{padding:30px 0;text-align:center}.topology-svg{width:100%;height:auto;max-height:460px}.topology-link{stroke:var(--border);stroke-width:1.5}.topology-branch-node{fill:var(--panel);stroke:var(--text);stroke-width:1.5}.topology-branch-label{fill:var(--text);font-size:10px;font-weight:600}.topology-device-node{cursor:pointer}.topology-device-node:focus-visible circle{outline:2px solid var(--up);outline-offset:2px}.topology-device-label{fill:var(--muted);font-size:8.5px}.topology-tree{padding:4px 0;overflow-x:auto}.topology-tree-list{list-style:none;margin:0;padding-left:20px}.topology-tree>.topology-tree-list{padding-left:0}.topology-tree-row{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;background:none;border:none;border-radius:6px;color:var(--text);font-size:13px;text-align:left;cursor:pointer;white-space:nowrap}.topology-tree-row:hover{background:#ffffff0d}.topology-tree-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.topology-tree-name{font-weight:500}.topology-tree-location{font-size:11.5px}.topology-card-head-actions{display:flex;align-items:center;gap:8px}.topology-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer}.topology-expand-btn svg{width:14px;height:14px}.topology-expand-btn:hover{color:var(--text);border-color:var(--muted)}.topology-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#030607b8;display:flex;align-items:center;justify-content:center;padding:24px}.topology-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:1100px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden}.topology-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.topology-modal-header h2{font-size:18px;font-weight:700}.topology-modal-actions{display:flex;align-items:center;gap:10px}.topology-modal-body{padding:24px;overflow:auto}.topology-export-frame{position:relative}.topology-export-logo{position:absolute;top:0;left:0;display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--text)}.topology-export-logo-accent{color:var(--up)}.topology-export-contact{position:absolute;bottom:0;right:0;font-size:11.5px;color:var(--muted)}@media (max-width: 640px){.topology-modal-backdrop{padding:0}.topology-modal{max-width:none;max-height:100vh;height:100vh;border-radius:0}}
