:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--accent:#ff6a1a;--accent-hover:#e55a0d;--accent-soft:color-mix(in srgb, var(--accent) 10%, transparent);--ok:#2e9e63;--sync:#d97706;--warn:#d97706;--danger:#c2410c;--off:#8a8a86;--node:#b45309;--device:#6d6d68;--radius:4px;--font:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Noto Sans", "Noto Sans Arabic", "Noto Sans Devanagari", "Noto Sans Bengali", sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--bg0:#f6f5f2;--bg1:#fdfcfa;--bg2:#eeede9;--line:#17151229;--line-strong:#17151247;--text:#201d19;--muted:#6f6c66;--shadow:0 1px 0 #1715120f;--btn-hover:#e9e7e2;--drawer-scrim:#17151266;--primary-text:#fffdf9;--control-h:2.35rem;--chip-h:1.5rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--space-page-y:var(--space-5);--space-page-x:var(--space-5);--space-page-bottom:var(--space-8);--space-section:var(--space-4);--space-cluster:var(--space-3);--space-stack:var(--space-3);--space-inline:var(--space-2)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg0:#11100e;--bg1:#181613;--bg2:#201e1a;--line:#f5f0e824;--line-strong:#f5f0e842;--text:#f2ede5;--muted:#a49f96;--off:#7d786f;--node:#e08a3c;--device:#a8a49b;--shadow:0 1px 0 #0006;--btn-hover:#272420;--drawer-scrim:#0009;--accent-hover:#ff7d33;--primary-text:#fffdf9}}*{box-sizing:border-box}html,body,#root{min-height:100%}html,body{overflow-x:clip}body{font-family:var(--font);color:var(--text);background:var(--bg0);margin:0;font-size:14px}button,input{font:inherit}a{color:var(--accent)}.app{max-width:1180px;padding:var(--space-page-y) var(--space-page-x) var(--space-page-bottom);margin:0 auto}.demo-banner{margin:0 0 var(--space-section);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));background:var(--accent-soft);color:var(--text);border-radius:var(--radius);box-sizing:border-box;align-items:center;gap:var(--space-2);flex-wrap:wrap;width:100%;font-size:.78rem;font-weight:500;display:flex}.demo-banner-divider{opacity:.4}.demo-banner-link{align-items:center;gap:var(--space-1);color:var(--accent);text-underline-offset:2px;font-weight:600;text-decoration:underline;display:inline-flex}.demo-banner-link:hover{color:var(--accent-hover)}.top{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-section);flex-wrap:wrap;display:flex}.brand{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.brand-link{align-items:center;gap:var(--space-2);color:inherit;text-decoration:none;display:inline-flex}.brand-mark{border-radius:4px;flex-shrink:0;width:1.75rem;height:1.75rem}.brand h1{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:600}.brand h1 span{color:var(--accent)}.brand p{margin:var(--space-1) 0 0;color:var(--muted);max-width:36rem;font-size:.85rem;line-height:1.4}.account-line{align-items:flex-start;gap:var(--space-1);color:var(--text);flex-direction:column;justify-content:center;min-height:2.1rem;margin:0;font-size:.8rem;display:flex}.account-name{font-weight:600}.account-email{color:var(--muted);font-size:.72rem}.tabs{align-items:stretch;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--line);background:var(--bg1);height:var(--control-h);box-sizing:border-box;border-radius:6px;display:inline-flex}.tab{appearance:none;color:var(--muted);padding:0 var(--space-3);cursor:pointer;align-items:center;gap:var(--space-1);font:inherit;white-space:nowrap;background:0 0;border:none;border-radius:4px;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.tab:hover{color:var(--text);background:var(--btn-hover)}.tab.active{color:var(--text);background:var(--bg2)}.tab:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent);outline:none}.tabs.tabs-stretch{width:100%;margin-bottom:0;display:flex}.tabs.tabs-stretch .tab{flex:1;justify-content:center}.drawer-tabs{width:100%;margin-bottom:var(--space-section);gap:var(--space-1);padding:var(--space-1);border:1px solid var(--line);background:var(--bg0);-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-radius:6px;display:flex;overflow:auto hidden}.drawer-tabs .tab{padding:var(--space-2) var(--space-3);color:var(--muted);border-radius:4px;flex:1 0 auto;justify-content:center;min-height:2.25rem;font-size:.8rem}.drawer-tabs .tab:hover{color:var(--text);background:var(--btn-hover)}.drawer-tabs .tab.active{color:var(--text);background:var(--bg1);font-weight:600;box-shadow:0 1px 2px #00000014}.tab-badge{padding:0 var(--space-1);background:var(--bg2);color:var(--muted);border:1px solid var(--line);border-radius:999px;align-items:center;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-flex}.tab.active .tab-badge{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.mesh-toolbar{gap:var(--space-cluster);margin:0 0 var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.search-wrap,.search-box{align-items:center;gap:var(--space-2);min-width:180px;height:var(--control-h);box-sizing:border-box;background:var(--bg1);border:1px solid var(--line-strong);border-radius:var(--radius);padding:0 var(--space-3);color:var(--muted);flex:220px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.search-wrap:hover,.search-box:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line-strong))}.search-wrap:focus-within,.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);background:var(--bg0)}.search-wrap input,.search-box input{appearance:none;width:100%;min-width:0;font:inherit;font-size:.85rem;color:var(--text)!important;height:auto!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:0!important}.search-wrap .search-icon,.search-box .search-icon{color:var(--muted);flex-shrink:0}.copy-chip{appearance:none;color:inherit;padding:var(--space-1) var(--space-2);margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2));cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;font-size:.8rem;transition:background .12s,border-color .12s,color .12s}.copy-chip:hover{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, var(--line));color:var(--accent)}.muted{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.settings-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=800px){.settings-grid{grid-template-columns:1fr}}.settings-block{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);background:var(--bg1)}.settings-block h3{margin:0;font-size:.92rem;font-weight:600}.settings-block .field input{background:var(--bg0)}.dns-endpoints-block{grid-column:1/-1}.settings-intro{margin:0 0 var(--space-section)}.settings-intro h2{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:600}.settings-intro .hint{margin:var(--space-1) 0 0;max-width:42rem}.settings-block>.hint,.settings-block-head+.hint{margin:var(--space-1) 0 var(--space-3)}.settings-block .field{margin-bottom:var(--space-3)}.settings-block>h3+.maint-row,.settings-block>h3+.health-alert{margin-top:var(--space-3)}.hint-warn{color:var(--warn);margin-top:var(--space-2)}.dns-endpoint-list{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.dns-source-network-field{margin-top:var(--space-3)}.dns-source-network-field .hint{margin:var(--space-1) 0 var(--space-2)}.dns-endpoint-row{padding-top:var(--space-3);border-top:1px solid var(--line)}.dns-endpoint-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.dns-endpoint-value{margin:var(--space-1) 0 0;color:var(--text);overflow-wrap:anywhere;font-size:.76rem}.dns-endpoint-value .copy-chip{font-size:.78rem}.dns-endpoint-row>.hint{margin:var(--space-1) 0 0}.dns-endpoint-warning{margin-top:var(--space-3)}.settings-block-wide{grid-column:1/-1}.split-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.settings-block-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:0;display:flex}.settings-block-head h3{margin:0}.settings-block-head .mode-switch{margin-top:0}.split-head .hint,.split-mode-copy{margin:var(--space-1) 0 0}.split-mode-copy{margin-bottom:var(--space-3)}.mode-switch{align-items:center;gap:var(--space-2);color:var(--muted);flex-shrink:0;font-size:.72rem;font-weight:600;display:inline-flex}.mode-switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{border:1px solid var(--line);background:var(--bg2);cursor:pointer;border-radius:999px;width:2.5rem;height:1.4rem;padding:2px;transition:background .15s,border-color .15s}.switch-track span{background:var(--off);border-radius:50%;width:1rem;height:1rem;transition:transform .16s,background .15s;display:block}.mode-switch.is-on .switch-track,.mode-switch.include .switch-track{border-color:var(--accent);background:var(--accent-soft)}.mode-switch.is-on .switch-track span,.mode-switch.include .switch-track span{background:var(--accent);transform:translate(1.1rem)}.mode-switch input:focus-visible+.switch-track{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}.mode-switch input:disabled+.switch-track{opacity:.5;cursor:not-allowed}.split-list{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.route-row>.split-item-actions{flex-flow:row;flex-shrink:0}.split-add-button{width:100%}.suffix-input{align-items:center;gap:var(--space-1);height:var(--control-h);box-sizing:border-box;background:var(--bg0);border:1px solid var(--line-strong);border-radius:var(--radius);padding:0 var(--space-3);transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.suffix-input:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line-strong))}.suffix-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);background:var(--bg1)}.suffix-dot{color:var(--muted);font-family:var(--mono);flex-shrink:0}.suffix-input input{appearance:none;width:100%;min-width:0;font:inherit;font-size:.9rem;color:var(--text)!important;height:auto!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:0!important}.maint-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line);display:flex}.health-alert{justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--danger) 40%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 8%, var(--bg1));display:flex}.health-alert-copy strong{color:color-mix(in srgb, var(--danger) 85%, var(--text));font-size:.88rem}.health-alert-copy .hint{margin:var(--space-1) 0 0}.btn-repair{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));color:var(--danger);background:0 0;flex-shrink:0}.btn-repair:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:var(--danger)}.maint-row:last-child{border-bottom:none;padding-bottom:0}.maint-row:first-of-type{padding-top:0}.maint-row strong{font-size:.88rem}.maint-row .hint{margin:var(--space-1) 0 0}.drawer-meta-lines .copy-chip{display:inline-flex}.btn{appearance:none;border:1px solid var(--line-strong);background:var(--bg1);color:var(--text);border-radius:var(--radius);padding:0 var(--space-3);height:var(--control-h);box-sizing:border-box;cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:var(--space-2);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.85rem;font-weight:500;line-height:1.25;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--btn-hover);border-color:color-mix(in srgb, var(--accent) 35%, var(--line-strong))}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--primary-text);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--primary-text);box-shadow:0 1px 4px color-mix(in srgb, var(--accent) 30%, transparent)}.btn-danger{border-color:color-mix(in srgb, var(--danger) 40%, var(--line));color:var(--danger);background:color-mix(in srgb, var(--danger) 6%, transparent)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 16%, transparent);border-color:var(--danger);color:var(--danger)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--btn-hover);color:var(--text);border-color:var(--line)}.btn-active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.btn-icon,.icon-btn{appearance:none;border:1px solid var(--line);color:var(--muted);border-radius:var(--radius);width:var(--control-h);height:var(--control-h);min-width:var(--control-h);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-icon:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:var(--btn-hover);color:var(--text);border-color:var(--line-strong)}.btn-icon:focus-visible,.icon-btn:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.btn-icon:disabled,.icon-btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon.danger,.btn-icon.btn-danger,.icon-btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 30%, var(--line))}.btn-icon.danger:hover:not(:disabled),.btn-icon.btn-danger:hover:not(:disabled),.icon-btn.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 12%, transparent);border-color:var(--danger);color:var(--danger)}.btn-sm{height:auto;min-height:1.85rem;padding:var(--space-1) var(--space-2);border-radius:3px;font-size:.78rem}.panel{border:1px solid var(--line);background:var(--bg1);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-section)}.panel h2{margin:0 0 var(--space-2);align-items:center;gap:var(--space-2);font-size:.95rem;font-weight:600;display:inline-flex}.count-spin{color:var(--muted)}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-cluster);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.panel-head h2{margin:0}.filters{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.facet-wrap{position:relative}.facet-chip{appearance:none;align-items:center;gap:var(--space-2);border:1px solid var(--line);background:var(--bg1);color:var(--text);padding:var(--space-1) var(--space-3);font:inherit;cursor:pointer;border-radius:999px;font-size:.8rem;font-weight:500;transition:border-color .12s,background .12s;display:inline-flex}.facet-chip:hover{background:var(--btn-hover)}.facet-chip.active{border-color:var(--accent);background:var(--accent-soft)}.facet-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.facet-chip.active .facet-label{color:color-mix(in srgb, var(--accent) 75%, var(--muted))}.facet-value{font-weight:600}.facet-caret{color:var(--muted);transition:transform .12s}.facet-caret.open{transform:rotate(180deg)}.facet-backdrop{z-index:24;position:fixed;inset:0}.facet-menu{z-index:25;top:calc(100% + var(--space-1));min-width:9.5rem;padding:var(--space-1);border:1px solid var(--line);background:var(--bg1);border-radius:6px;gap:2px;display:grid;position:absolute;left:0;box-shadow:0 8px 24px #17151224}.facet-option{appearance:none;justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--text);padding:var(--space-2) var(--space-3);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;font-size:.82rem;display:flex}.facet-option:hover{background:var(--btn-hover)}.facet-option.selected{color:var(--accent);font-weight:600}.facet-option svg{flex-shrink:0}.applied-filters{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);flex-wrap:wrap;display:flex}.filter-chip{appearance:none;align-items:center;gap:var(--space-1);border:1px solid var(--line);background:var(--bg1);color:var(--text);padding:var(--space-1) var(--space-2);font:inherit;cursor:pointer;border-radius:999px;font-size:.76rem;font-weight:500;transition:border-color .12s,background .12s;display:inline-flex}.filter-chip:hover{border-color:var(--line-strong);background:var(--btn-hover)}.filter-chip svg{color:var(--muted)}.filter-chip:hover svg{color:var(--danger)}.filter-clear-all{padding:var(--space-1) var(--space-2);font-size:.76rem}@media (width<=800px){.app{padding:var(--space-4) var(--space-3) var(--space-6)}.demo-banner{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3)}.top{margin-bottom:var(--space-3)}.tabs{padding:var(--space-1);gap:var(--space-1)}.tab{padding:0 var(--space-2);font-size:.8rem}.filters{gap:var(--space-2)}.panel{padding:var(--space-3)}.settings-grid{gap:var(--space-3)}.settings-block{padding:var(--space-3)}.drawer{padding:var(--space-4)}th,td{padding:var(--space-3) var(--space-2)}}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label,.field-label{color:var(--muted);letter-spacing:.02em;margin-bottom:0;font-size:.74rem;font-weight:600;display:block}.input,input[type=text],input[type=password],input[type=number],input[type=url],input[type=search],input[type=email]{appearance:none;background:var(--bg0);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);padding:0 var(--space-3);height:var(--control-h);font:inherit;box-sizing:border-box;width:100%;font-size:.88rem;line-height:1.25;transition:border-color .15s,box-shadow .15s,background .15s}.input::placeholder,input::placeholder{color:var(--muted);opacity:.65}.input:hover:not(:disabled),input[type=text]:hover:not(:disabled),input[type=password]:hover:not(:disabled),input[type=number]:hover:not(:disabled),input[type=url]:hover:not(:disabled),input[type=search]:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, var(--line-strong))}.input:focus,input[type=text]:focus,input[type=password]:focus,input[type=number]:focus,input[type=url]:focus,input[type=search]:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);background:var(--bg1);outline:none}.input:disabled,input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg2)}.input.mono,input.mono{font-family:var(--mono);font-size:.82rem}.hint{color:var(--muted);margin:0;font-size:.8rem;line-height:1.45}.hint-notice{margin-top:var(--space-2);font-size:.74rem}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg1);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.86rem}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);vertical-align:middle;box-sizing:border-box;white-space:nowrap}tbody tr{transition:background .12s}tbody tr:hover{background:color-mix(in srgb, var(--accent) 4%, var(--bg1))}tbody tr:last-child td{border-bottom:none}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;-webkit-user-select:none;user-select:none;background:var(--bg1);font-size:.72rem;font-weight:600}th.sortable{cursor:pointer}th.sortable:hover{color:var(--text)}th.sorted{color:var(--accent)}.status-pill{align-items:center;gap:var(--space-1);height:var(--chip-h);padding:0 var(--space-2);box-sizing:border-box;border:1px solid var(--line);background:var(--bg0);color:var(--muted);border-radius:999px;font-size:.72rem;font-weight:500;line-height:1;display:inline-flex;position:relative}.status-pill[data-tone=ok]{border-color:color-mix(in srgb, var(--ok) 35%, transparent);background:color-mix(in srgb, var(--ok) 10%, transparent);color:var(--ok)}.status-pill[data-tone=sync]{border-color:color-mix(in srgb, var(--sync) 35%, transparent);background:color-mix(in srgb, var(--sync) 10%, transparent);color:var(--sync)}.status-pill[data-tone=danger]{border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger)}.status-pill[data-tone=warn]{border-color:color-mix(in srgb, var(--warn) 35%, transparent);background:color-mix(in srgb, var(--warn) 10%, transparent);color:var(--warn)}.status-pill[data-tone=off]{border-color:var(--line);background:var(--bg2);color:var(--muted)}.mono{font-family:var(--mono);font-size:.78rem}.badge{align-items:center;gap:var(--space-1);height:var(--chip-h);box-sizing:border-box;padding:0 var(--space-2);border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:500;line-height:1;display:inline-flex}.name-cell,.drawer-title,.filter-label,.btn-spin{align-items:center;gap:var(--space-2);display:inline-flex}.drawer-title{gap:var(--space-2)}.drawer-title-text{word-break:break-all}.spin{animation:.75s linear infinite spin}.skeleton{background:linear-gradient(90deg, var(--bg2) 0%, color-mix(in srgb, var(--bg2) 55%, var(--bg1)) 50%, var(--bg2) 100%);background-size:200% 100%;border-radius:3px;animation:1.2s ease-in-out infinite shimmer}.skeleton-stack{gap:var(--space-2);flex-direction:column;display:flex}.skeleton-label{width:55%;height:.7rem}.skeleton-input{width:100%;height:2.2rem}.skeleton-btn{border-radius:4px;width:8rem;height:2.1rem}.skeleton-row{width:100%;height:3.2rem;margin-top:var(--space-2)}.skeleton-route-primary{width:9rem;height:.7rem}.skeleton-route-secondary{width:6rem;height:.55rem}.skeleton-route-action{border-radius:4px;flex-shrink:0;width:4.5rem;height:1.9rem}.load-error{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.skeleton-cell{width:72%;height:.8rem}.skeleton-drawer-title{width:60%;height:1.3rem}.skeleton-token{width:100%;height:1.6rem}.skeleton-install{width:100%;height:6rem}.skeleton-account-name{vertical-align:middle;width:7rem;height:.9rem;display:inline-block}.skeleton-account-email{vertical-align:middle;width:9.5rem;height:.7rem;display:inline-block}.skeleton-row-tr td{padding-top:var(--space-3);padding-bottom:var(--space-3)}.badge.node{color:var(--node);border-color:color-mix(in srgb, var(--node) 30%, var(--line));background:color-mix(in srgb, var(--node) 8%, transparent)}.badge.device{color:var(--device);border-color:color-mix(in srgb, var(--device) 30%, var(--line));background:color-mix(in srgb, var(--device) 8%, transparent)}.badge.cloudflare{color:#c2600a;border-color:color-mix(in srgb, #c2600a 30%, var(--line));background:#c2600a14}.badge.local{color:var(--muted);border-color:var(--line);background:var(--bg2)}.row-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.drawer-danger-actions{gap:var(--space-2)}.drawer-backdrop{background:var(--drawer-scrim);z-index:20;opacity:0;pointer-events:none;justify-content:flex-end;transition:opacity .18s;display:flex;position:fixed;inset:0}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}.modal-backdrop{background:var(--drawer-scrim);padding:var(--space-5);z-index:30;justify-content:center;align-items:center;animation:.16s fade;display:flex;position:fixed;inset:0}.modal{background:var(--bg1);border:1px solid var(--line);width:min(420px,100%);padding:var(--space-4);border-radius:6px;animation:.18s toast-in;box-shadow:0 8px 32px #17151229}.modal h3{flex:1;min-width:0;margin:0;font-size:1rem;font-weight:600;line-height:1.25}.modal-head{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--control-h);display:flex}.modal-head .icon-btn{background:0 0;border-color:#0000;flex-shrink:0}.modal-head .icon-btn:hover:not(:disabled){border-color:#0000}.modal-stack{gap:var(--space-4);margin-top:var(--space-4);flex-direction:column;display:flex}.modal-stack form,.modal-stack>div{gap:var(--space-4);flex-direction:column;display:flex}.modal-stack .field{margin-bottom:0}.modal-stack p{margin:0}.modal-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:0;display:flex}@media (width<=800px){.modal-backdrop{justify-content:stretch;align-items:stretch;padding:0}.modal{width:100%;max-width:none;height:100%;box-shadow:none;padding:max(var(--space-4), env(safe-area-inset-top)) max(var(--space-4), env(safe-area-inset-right)) max(var(--space-4), env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));border:none;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.modal-stack{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.modal-stack form,.modal-stack>div{flex:1}.modal-actions{padding-top:var(--space-4);margin-top:auto}}.hint-danger{color:var(--danger)}.drawer{background:var(--bg1);border-left:1px solid var(--line);width:min(440px,100%);height:100%;padding:var(--space-4);transition:transform .18s;overflow-y:auto;transform:translate(100%)}.drawer-backdrop.is-open .drawer{transform:translate(0)}.drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.drawer-head .drawer-title{flex:1;min-width:0;margin:0}.drawer-close{flex-shrink:0;margin-top:-2px}.drawer h3{margin:0;font-size:1.1rem}.drawer .meta{align-items:center;gap:var(--space-2);color:var(--muted);margin-bottom:var(--space-3);flex-wrap:wrap;font-size:.82rem;display:flex}.property-grid{gap:var(--space-4);font-size:.85rem;display:grid}.property-grid .field-label{margin-bottom:var(--space-1)}.mono-break{word-break:break-all;font-family:var(--mono);font-size:.78rem}.drawer-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.drawer-section-head h4{margin:0;font-size:.95rem}.drawer-section-title{margin:0 0 var(--space-3);font-size:.95rem}.drawer-list-item-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.drawer-list-item-head .drawer-list-item-meta{margin-top:0}.drawer-list-item-name{font-weight:700}.drawer-list-item-accent{color:var(--accent)}.drawer-list{gap:var(--space-2);display:grid}.drawer-list-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg0);border:1px solid var(--line);border-radius:var(--radius);display:flex}.drawer-list-item-copy{min-width:0}.drawer-list-item-meta{color:var(--muted);margin-top:var(--space-1);font-size:.75rem}.drawer-list-item-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.drawer-danger{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}.drawer-danger .btn,.btn-block{justify-content:center;width:100%}.drawer-loading{padding:var(--space-4) 0}.route-box{margin-top:var(--space-4);border-top:1px solid var(--line);padding-top:var(--space-4)}.route-box>.hint{margin:var(--space-1) 0 var(--space-3)}.route-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.route-heading .hint{margin:var(--space-1) 0 var(--space-3)}.route-choice{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.route-option{appearance:none;border:1px solid var(--line);background:var(--bg0);color:var(--text);padding:var(--space-2) var(--space-3);text-align:left;cursor:pointer;border-radius:4px}.route-option.active{border-color:var(--accent);background:var(--accent-soft)}.route-option span{margin-top:var(--space-1);color:var(--muted);font-size:.72rem;line-height:1.35;display:block}.route-list{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.route-row{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--line);background:var(--bg0);padding:var(--space-2) var(--space-3);border-radius:4px;display:flex}.route-row>div{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.route-row .btn{flex-shrink:0}.route-add-button{width:100%}.route-form{margin-top:var(--space-3)}.route-form .field{margin-bottom:var(--space-3)}.install-box{margin-top:var(--space-4);border:1px solid var(--line);background:var(--bg0);padding:var(--space-3);border-radius:4px}.connector-setup-box{min-width:0;max-width:100%}.connector-setup-box>h4{margin:0 0 var(--space-1);font-size:.95rem}.connector-setup-box>.hint{margin:0 0 var(--space-3)}.cmd-block-wrap{margin-bottom:var(--space-4);min-width:0;max-width:100%;position:relative}.cmd-block{padding:var(--space-3) calc(var(--control-h) + var(--space-3)) var(--space-3) var(--space-3);background:var(--bg0);border:1px solid var(--line);border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;box-sizing:border-box;max-width:100%;max-height:10rem;margin:0;font-size:.78rem;line-height:1.45;overflow:auto}.cmd-block-wrap .icon-btn{top:var(--space-2);position:absolute;inset-inline-end:var(--space-2)}.setup-token-row{align-items:stretch;gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;min-width:0;max-width:100%;display:flex}.setup-token-value{background:var(--bg0);border:1px solid var(--line);border-radius:var(--radius);min-width:0;max-width:100%;max-height:6.5rem;overflow:auto}.setup-token-value .copy-chip{width:100%;padding:var(--space-2);text-align:start;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all;margin:0;font-size:.75rem;line-height:1.4;display:block}.setup-token-row>.btn{align-self:flex-start}.setup-token-label{color:var(--muted);margin-bottom:var(--space-1);font-size:.78rem}.chip{appearance:none;border:1px solid var(--line);background:var(--bg0);color:var(--muted);padding:var(--space-2) var(--space-3);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;font-size:.78rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.chip:hover{color:var(--text);background:var(--btn-hover)}.chip.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft);color:var(--text)}.chip:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.platform-chips{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.install-box pre{margin:var(--space-2) 0 0;white-space:pre-wrap;word-break:break-all;font-family:var(--mono);color:var(--text);max-height:12rem;font-size:.7rem;line-height:1.45;overflow:auto}.status-label{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);color:var(--muted);font-size:.8rem;font-weight:500;display:inline-flex}.machine-kind-status{color:var(--off);outline:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.machine-kind-status[data-tone=ok]{color:var(--ok)}.machine-kind-status[data-tone=sync]{color:var(--sync)}.machine-kind-status[data-tone=danger]{color:var(--danger)}.machine-kind-status:before{content:"";border:1px solid var(--bg1);background:currentColor;border-radius:50%;width:.35rem;height:.35rem;position:absolute;bottom:-.1rem;right:-.15rem}.machine-kind-status:after{content:attr(data-tip);left:calc(100% + var(--space-2));z-index:15;border:1px solid var(--line);background:var(--bg1);width:max-content;max-width:13rem;color:var(--text);padding:var(--space-1) var(--space-2);opacity:0;pointer-events:none;border-radius:4px;font-size:.7rem;font-weight:500;transition:opacity .12s,transform .12s;position:absolute;top:50%;transform:translateY(-50%)translate(-.2rem);box-shadow:0 4px 16px #1715121f}.machine-kind-status:hover:after,.machine-kind-status:focus-visible:after{opacity:1;transform:translateY(-50%)translate(0)}.status-label .hint{font-size:inherit;margin:0;font-weight:400}.status-dot{border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;position:relative}.status-dot[data-tone=off]{background:var(--off)}.status-dot[data-tone=ok]{background:var(--ok)}.status-dot[data-tone=sync],.status-dot[data-tone=warn]{background:var(--sync)}.status-dot[data-tone=danger]{background:var(--danger)}.status-dot:after{content:attr(data-tip);left:50%;bottom:calc(100% + var(--space-2));background:var(--bg2);color:var(--text);border:1px solid var(--line);padding:var(--space-1) var(--space-2);white-space:nowrap;opacity:0;pointer-events:none;z-index:5;border-radius:4px;font-size:.7rem;font-weight:500;transition:opacity .12s;position:absolute;transform:translate(-50%);box-shadow:0 4px 16px #1715121f}.status-dot:hover:after,.status-dot:focus-visible:after{opacity:1}.status-pill[data-tip]:after{content:attr(data-tip);left:50%;bottom:calc(100% + var(--space-2));background:var(--bg2);color:var(--text);border:1px solid var(--line);padding:var(--space-1) var(--space-2);white-space:nowrap;opacity:0;pointer-events:none;z-index:15;border-radius:4px;font-size:.7rem;font-weight:500;transition:opacity .12s;position:absolute;transform:translate(-50%);box-shadow:0 4px 16px #1715121f}.status-pill[data-tip]:hover:after,.status-pill[data-tip]:focus-visible:after{opacity:1}.toast-stack{right:var(--space-4);bottom:var(--space-4);z-index:50;gap:var(--space-2);max-width:min(360px, calc(100vw - var(--space-8)));flex-direction:column;display:flex;position:fixed}.toast{border:1px solid var(--line);background:var(--bg1);color:var(--text);padding:var(--space-3) var(--space-4);cursor:pointer;border-radius:4px;font-size:.85rem;line-height:1.35;animation:.16s toast-in;box-shadow:0 4px 16px #17151224}.toast.error{border-color:color-mix(in srgb, var(--danger) 40%, var(--line));background:color-mix(in srgb, var(--danger) 8%, var(--bg1))}.toast.success{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.empty{color:var(--muted);padding:var(--space-6) var(--space-2);text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty-title{color:var(--text);margin:0;font-size:.9rem;font-weight:500}.empty .btn{min-width:9rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.login-screen{min-height:100vh;padding:var(--space-5);place-items:center;display:grid;position:relative}.login-screen .login-lang{top:var(--space-5);position:absolute;inset-inline-end:var(--space-5)}.login-card{width:min(100%,26rem);padding:var(--space-6);background:var(--bg1);border:1px solid var(--line);border-radius:6px}.login-brand{margin-bottom:var(--space-5)}.login-brand h1{letter-spacing:-.02em;margin:0;font-size:1.4rem}.login-brand .hint{margin:var(--space-1) 0 0}.login-card .btn-primary{justify-content:center;width:100%}.error-text{color:var(--danger);margin:0 0 var(--space-3);font-size:.85rem}.header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.btn-logout{height:var(--control-h);padding:0 var(--space-2);align-items:center;gap:var(--space-1);display:inline-flex}.lang-selector-wrapper{flex-shrink:0;position:relative}.lang-toggle-btn{align-items:center;gap:var(--space-1);background:var(--bg1);border:1px solid var(--line);padding:0 var(--space-2);height:var(--control-h);box-sizing:border-box;color:var(--text);cursor:pointer;border-radius:6px;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.lang-toggle-btn:hover{background:var(--btn-hover);border-color:var(--accent)}.lang-toggle-btn:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.lang-code{letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-size:.78rem;font-weight:700;line-height:1}.lang-flag-badge{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:700}.lang-dropdown-menu{top:calc(100% + var(--space-1));background:var(--bg1);border:1px solid var(--line-strong);border-radius:var(--radius);min-width:220px;max-height:380px;padding:var(--space-1);z-index:50;position:absolute;right:0;overflow-y:auto;box-shadow:0 4px 16px #00000026}.lang-dropdown-item{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);color:var(--text);cursor:pointer;text-align:start;background:0 0;border:none;border-radius:3px;font-size:.82rem;transition:background .12s;display:flex}.lang-dropdown-item:hover{background:var(--btn-hover)}.lang-dropdown-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.lang-dropdown-item-left{align-items:center;gap:var(--space-2);display:flex}.lang-item-native{font-size:.82rem}.lang-item-en{color:var(--muted);font-size:.72rem}@media (width<=640px){.lang-dropdown-menu{max-width:calc(100vw - var(--space-8));right:0}}[dir=rtl]{text-align:right}[dir=rtl] .mono,[dir=rtl] code,[dir=rtl] pre,[dir=rtl] .copy-chip,[dir=rtl] .token-box,[dir=rtl] .cmd-block,[dir=rtl] .dest-val,[dir=rtl] .subdomain-text,[dir=rtl] input[type=password],[dir=rtl] .ip-cell,[dir=rtl] .host-cell{text-align:left;unicode-bidi:isolate;direction:ltr!important}[dir=rtl] .drawer{border-left:none;border-right:1px solid var(--line);transform:translate(-100%)}[dir=rtl] .drawer-backdrop.is-open .drawer{transform:translate(0)}[dir=rtl] .modal-actions{justify-content:flex-start}[dir=rtl] .search-box{flex-direction:row-reverse}[dir=rtl] [data-tip]:after{left:auto;right:50%;transform:translate(50%)}[dir=rtl] .header-actions{flex-direction:row-reverse}[dir=rtl] .lang-menu{left:0;right:auto}
