:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#f3f4f6;font-synthesis:none;text-rendering:optimizelegibility;--background:#151617;--surface:#1d1f20;--surface-raised:#252728;--surface-soft:#202324;--border:#36393b;--border-strong:#4b4f52;--text:#f3f4f6;--text-secondary:#b7bcc2;--text-muted:#858b92;--primary:#5b92ff;--primary-hover:#76a5ff;--primary-on:#071325;--success:#63c692;--success-soft:#1d362a;--warning:#e7b75f;--warning-soft:#392f1d;--danger:#ef8292;--danger-soft:#3d2228;--focus:#83adff;--shadow:0 18px 48px #0000004d;background:#151617;font:100%/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box;letter-spacing:0}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}html{background:var(--background);min-width:320px}body{background:var(--background);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}h1,h2,p{margin-top:0}h1{margin-bottom:6px;font-size:32px;line-height:1.2}h2{margin-bottom:0;font-size:18px;line-height:1.3}h1:focus{outline:0}code{overflow-wrap:anywhere}.skip-link{z-index:1000;background:var(--primary);color:var(--primary-on);border-radius:6px;padding:9px 12px;font-weight:700;text-decoration:none;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{background:var(--background);min-height:100vh;display:flex}.sidebar{z-index:20;-webkit-backdrop-filter:blur(24px)saturate(130%);background:#18191ae0;border-right:1px solid #7d83883d;flex-direction:column;width:232px;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand-mark{align-items:center;gap:11px;min-width:0;padding:0 8px;display:flex}.brand-mark strong,.brand-mark small{display:block}.brand-mark strong{font-size:17px;line-height:1.2}.brand-mark small{color:var(--text-muted);margin-top:2px;font-size:12px}.brand-icon{background:var(--success);color:#0b2016;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.primary-navigation{gap:5px;margin-top:34px;display:grid}.nav-item{min-height:44px;color:var(--text-secondary);border-radius:7px;align-items:center;gap:11px;padding:0 12px;font-size:14px;font-weight:550;text-decoration:none;transition:color .14s ease-out,background-color .14s ease-out,transform .1s ease-out;display:flex}.nav-item:hover{color:var(--text);background:#ffffff0e}.nav-item.active{color:var(--text);background:var(--surface-raised);box-shadow:inset 3px 0 var(--primary)}.nav-item:active{transform:scale(.98)}.sidebar-footer{color:var(--text-muted);margin:auto 8px 0;font-size:11px;line-height:1.6}.mobile-header,.mobile-nav-dialog{display:none}.content{width:calc(100% - 232px);min-width:0;margin-left:232px;padding:44px clamp(32px,3.2vw,72px) 56px}.page-transition{width:100%;max-width:1680px;margin-inline:auto;animation:.18s ease-out both page-arrive}@keyframes page-arrive{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.page-header>div:first-child{min-width:0}.eyebrow{color:var(--primary-hover);text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.subtitle{max-width:680px;color:var(--text-secondary);margin-bottom:0;font-size:14px;line-height:1.6}.page-actions,.panel-heading-actions,.network-actions,.site-link-actions,.dialog-actions,.settings-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.primary-button,.secondary-button,.danger-button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 14px;font-size:13px;font-weight:650;transition:background-color .14s ease-out,border-color .14s ease-out,color .14s ease-out,transform .1s ease-out;display:inline-flex}.primary-button{background:var(--primary);color:var(--primary-on)}.primary-button:hover:not(:disabled){background:var(--primary-hover)}.secondary-button{border-color:var(--border);background:var(--surface-raised);color:var(--text)}.secondary-button:hover:not(:disabled){border-color:var(--border-strong);background:#2d3032}.danger-button{color:var(--danger);background:0 0;border-color:#ef829273}.danger-button:hover{background:var(--danger-soft)}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.danger-button:active:not(:disabled),.icon-button:active,.quick-link:active,.attention-row:active{transform:scale(.97)}.compact-button{min-height:36px;padding-inline:11px}.icon-button{width:44px;height:44px;color:var(--text-secondary);background:0 0;border:0;border-radius:7px;flex:none;place-items:center;transition:background-color .14s ease-out,color .14s ease-out,transform .1s ease-out;display:grid}.icon-button:hover{background:var(--surface-raised);color:var(--text)}.delete-icon-button{width:44px;height:44px;color:var(--text-muted);background:0 0;border:0;border-radius:7px;flex:0 0 44px;place-items:center;transition:background-color .14s ease-out,color .14s ease-out,transform .1s ease-out;display:grid}.delete-icon-button:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.delete-icon-button:active:not(:disabled){transform:scale(.94)}.delete-icon-button:disabled{cursor:not-allowed;opacity:.46}.action-status{color:var(--success);margin:0 0 12px;font-size:12px;line-height:1.5}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}:where(button,a,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 58%, transparent);outline-offset:2px}.section-tabs{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:4px;width:fit-content;max-width:100%;margin:-4px 0 20px;padding:4px;display:flex;overflow-x:auto}.section-tabs a{min-height:38px;color:var(--text-secondary);white-space:nowrap;border-radius:5px;flex:none;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.section-tabs a:hover{color:var(--text)}.section-tabs a[aria-current=page]{background:var(--surface-raised);color:var(--text);box-shadow:0 1px 4px #0003}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card,.panel{border:1px solid var(--border);background:var(--surface);border-radius:8px}.metric-card{flex-direction:column;min-height:122px;padding:18px;display:flex}.metric-label{color:var(--text-secondary);font-size:13px}.metric-value{font-variant-numeric:tabular-nums;margin:9px 0 2px;font-size:32px;line-height:1.2}.metric-hint{color:var(--text-muted);margin-top:auto;font-size:12px}.panel{padding:22px}.page-panel{margin-top:12px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel-note{color:var(--text-muted);margin:12px 0 0;font-size:12px}.status-pill,.link-status,.entry-state,.capability,.device-status{white-space:nowrap;border-radius:6px;align-items:center;gap:6px;display:inline-flex}.status-pill{color:var(--text-secondary);font-size:12px}.status-pill i,.link-status i,.entry-state i,.device-status i{background:currentColor;border-radius:50%;width:6px;height:6px}.status-pill.ready{color:var(--success)}.status-pill.working{color:var(--warning)}.notice{border:1px solid;border-radius:8px;align-items:flex-start;gap:10px;min-height:52px;margin-top:14px;padding:13px 14px;font-size:13px;display:flex}.notice>svg{flex:none;margin-top:1px}.notice>div{flex:1;min-width:0}.notice strong,.notice span{display:block}.notice span{margin-top:2px;line-height:1.55}.notice.warning{background:var(--warning-soft);color:var(--warning);border-color:#6c5528}.notice.warning span{color:#d9c18e}.notice.error{background:var(--danger-soft);color:var(--danger);border-color:#743943}.notice.error span{color:#e6afb7}.notice-action{color:inherit;background:0 0;border:0;flex:none;margin-left:auto;font-weight:700;text-decoration:none}.overview-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px;margin-top:12px;display:grid}.attention-list,.quick-links,.device-list,.enrollment-list,.tunnel-list,.network-list,.link-list,.site-list,.session-list{margin-top:16px}.attention-row,.quick-link{border-top:1px solid var(--border);min-height:52px;color:var(--text-secondary);align-items:center;gap:11px;text-decoration:none;transition:color .14s ease-out,transform .1s ease-out;display:flex}.attention-row:first-child,.quick-link:first-child{border-top:0}.attention-row:hover,.quick-link:hover{color:var(--text)}.attention-row>span{flex:1}.attention-row strong{color:var(--text);font-variant-numeric:tabular-nums}.quick-link-icon,.settings-icon,.site-icon{background:var(--surface-raised);width:36px;height:36px;color:var(--primary-hover);border-radius:7px;flex:none;place-items:center;display:grid}.quick-link>span:nth-child(2){flex:1;min-width:0}.quick-link strong,.quick-link small{display:block}.quick-link strong{color:var(--text);font-size:13px}.quick-link small{color:var(--text-muted);margin-top:2px;font-size:11px}.empty-state{min-height:210px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty-state strong{color:var(--text);font-size:14px}.empty-state span:last-child{font-size:12px}.empty-icon{background:var(--surface-raised);width:38px;height:38px;color:var(--primary-hover);border-radius:8px;place-items:center;display:grid}.device-row,.enrollment-row,.tunnel-row,.network-row,.site-link-card,.session-row{border-top:1px solid var(--border)}.device-row:first-child,.enrollment-row:first-child,.tunnel-row:first-child,.network-row:first-child,.site-link-card:first-child,.session-row:first-child{border-top:0}.device-row{align-items:center;gap:12px;min-height:64px;padding:10px 0;display:flex}.device-avatar{background:var(--surface-raised);width:36px;height:36px;color:var(--text-secondary);border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:750;display:grid}.device-avatar.online{background:var(--success);color:#0b2016}.device-identity{flex:1;min-width:0}.device-identity strong,.device-identity span,.network-identity strong,.network-identity span,.tunnel-identity strong,.tunnel-identity span{overflow-wrap:anywhere;display:block}.device-identity strong,.network-identity strong,.tunnel-identity strong{font-size:13px}.device-identity span,.network-identity span,.tunnel-identity span{color:var(--text-muted);margin-top:2px;font-size:11px}.tunnel-domain-binding{color:var(--primary-hover);overflow-wrap:anywhere;margin-top:3px;font-size:10px;display:block}.device-capabilities{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.device-status,.capability,.link-status,.entry-state{background:var(--surface-raised);min-height:26px;color:var(--text-secondary);padding:3px 8px;font-size:10px}.device-status.online,.capability.ready,.link-status.ready,.entry-state.ready{background:var(--success-soft);color:var(--success)}.device-status.offline,.link-status.disabled,.entry-state.not_configured{color:var(--text-muted)}.link-status.working,.entry-state.applying,.entry-state.checking{background:var(--warning-soft);color:var(--warning)}.link-status.failed,.entry-state.error{background:var(--danger-soft);color:var(--danger)}.enrollment-row{justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:10px 0;display:flex}.enrollment-row strong,.enrollment-row span{display:block}.enrollment-row strong{font-size:13px}.enrollment-row span{color:var(--text-muted);margin-top:3px;font-size:11px}.enrollment-setup{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;gap:14px;margin:16px 0;padding:16px;display:grid}.enrollment-result-heading{justify-content:space-between;gap:12px;display:flex}.enrollment-result-heading strong,.enrollment-result-heading span{display:block}.enrollment-result-heading span{color:var(--text-muted);margin-top:3px;font-size:11px}.enrollment-compose{resize:vertical;border:1px solid var(--border);background:var(--background);width:100%;min-height:270px;color:var(--text-secondary);border-radius:7px;padding:12px;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.site-create-form{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:8px;margin-bottom:14px;padding:14px;display:grid}.site-create-form label{gap:6px;display:grid}.site-create-form label>span{color:var(--text-secondary);font-size:12px}.site-create-form .form-error{grid-column:1/-1}.network-sites-panel{padding-block:10px}.network-site-columns,.network-site-summary{grid-template-columns:minmax(190px,1.2fr) minmax(170px,1fr) minmax(150px,.8fr) minmax(150px,.8fr) 96px;align-items:center;gap:18px;display:grid}.network-site-columns{min-height:36px;color:var(--text-muted);padding:0 4px;font-size:10px;font-weight:650}.network-site{border-top:1px solid var(--border)}.network-site-summary{min-height:72px;padding:10px 4px}.network-site-identity{align-items:center;gap:11px;min-width:0;display:flex}.network-site-identity-text,.network-site-fact{min-width:0}.network-site-identity strong,.network-site-identity-text span,.network-site-fact strong{overflow-wrap:anywhere;display:block}.network-site-identity strong,.network-site-fact strong{color:var(--text);font-size:12px}.network-site-identity-text span{color:var(--text-muted);margin-top:2px;font-size:10px}.network-site-label{display:none}.network-site-controls{justify-content:flex-end;align-items:center;gap:8px;width:96px;display:flex}.network-site-toggle{width:44px;height:44px;color:var(--text-secondary);background:0 0;border:0;border-radius:7px;flex:0 0 44px;place-items:center;transition:color .14s ease-out,background-color .14s ease-out,transform .18s cubic-bezier(.22,.8,.24,1);display:grid}.network-site-toggle:hover{background:var(--surface-raised);color:var(--text)}.network-site-toggle[aria-expanded=true]{transform:rotate(180deg)}.network-site-details{border-top:1px solid var(--border);background:var(--surface-soft);margin-inline:-18px;padding:0 18px 6px;animation:.18s cubic-bezier(.22,.8,.24,1) both network-details-arrive}@keyframes network-details-arrive{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.network-inline-section{padding:18px 0 12px}.network-inline-section+.network-inline-section{border-top:1px solid var(--border)}.network-inline-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.network-inline-heading h2{font-size:14px}.network-inline-heading p{color:var(--text-muted);margin:3px 0 0;font-size:11px;line-height:1.5}.network-prerequisite{color:var(--warning);margin:10px 0 0;font-size:11px}.network-inline-empty{color:var(--text-muted);margin:12px 0 0;font-size:11px}.network-view-switch{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:4px;max-width:100%;margin-top:2px;padding:4px;display:inline-flex;overflow-x:auto}.network-view-switch button{min-height:40px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-radius:5px;flex:none;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:650;display:inline-flex}.network-view-switch button:hover{color:var(--text);background:var(--surface-soft)}.network-view-switch button.selected{background:var(--surface-raised);color:var(--text);box-shadow:0 1px 4px #00000029}.desktop-hidden{display:none}.network-topology{overflow:hidden}.topology-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.topology-heading p{color:var(--text-muted);margin:5px 0 0;font-size:11px;line-height:1.5}.topology-scale{color:var(--text-muted);white-space:nowrap;flex:none;font-size:11px}.topology-layout{grid-template-columns:minmax(0,1fr) minmax(290px,360px);align-items:stretch;gap:16px;margin-top:18px;display:grid}.topology-canvas{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;min-width:0;min-height:280px;position:relative;overflow:hidden}.topology-lines,.topology-nodes,.topology-link-buttons{width:100%;height:100%;position:absolute;inset:0}.topology-lines{pointer-events:none;overflow:visible}.topology-lines line{stroke:var(--border-strong);stroke-width:3px;stroke-linecap:round;opacity:.82;vector-effect:non-scaling-stroke}.topology-lines line.selected{stroke:var(--primary);opacity:1}.topology-nodes,.topology-link-buttons{pointer-events:none}.topology-node{z-index:2;border:1px solid var(--border-strong);background:var(--surface);width:clamp(120px,17%,170px);min-height:86px;color:var(--text);pointer-events:auto;text-align:center;border-radius:8px;align-content:center;place-items:center;gap:4px;padding:12px 10px;transition:border-color .14s ease-out,background-color .14s ease-out,transform .14s ease-out,box-shadow .14s ease-out;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 22px #00000029}.topology-node:hover{border-color:var(--primary);background:var(--surface-raised);box-shadow:0 10px 28px #00000038}.topology-node:active{transform:translate(-50%,-50%)scale(.98)}.topology-node>svg{color:var(--primary-hover)}.topology-node strong,.topology-node span{overflow-wrap:anywhere;max-width:100%}.topology-node strong{font-size:12px;line-height:1.3}.topology-node span{color:var(--text-muted);font-size:10px}.topology-link-buttons{z-index:3}.topology-link-button{pointer-events:auto;background:0 0;border:0;place-items:center;width:max-content;min-width:44px;min-height:44px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.topology-link-button .link-status{border:1px solid var(--border);box-shadow:0 3px 10px #00000024}.topology-link-button:hover .link-status,.topology-link-button.selected .link-status{border-color:var(--primary);color:var(--text)}.topology-detail{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;max-height:100%;padding:16px;animation:.18s cubic-bezier(.22,.8,.24,1) both topology-detail-arrive;overflow-y:auto}@keyframes topology-detail-arrive{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.topology-detail-heading,.mobile-detail-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.topology-detail-heading h3,.mobile-detail-heading h2{overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.3}.topology-network-pairs,.mobile-detail-network-pairs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-top:16px;display:grid}.topology-network-pairs>div,.mobile-detail-network-pairs>div{gap:5px;min-width:0;display:grid}.topology-network-pairs strong,.mobile-detail-network-pairs strong{font-size:11px}.topology-network-pairs code,.mobile-detail-network-pairs code{overflow-wrap:anywhere;color:var(--text-secondary);font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.topology-network-pairs>svg,.mobile-detail-network-pairs>svg{color:var(--primary-hover)}.topology-status-list,.mobile-detail-status-list{gap:7px;margin-top:16px;display:grid}.topology-status-list>div,.mobile-detail-status-list>div{background:var(--surface-soft);border-radius:7px;gap:3px;min-width:0;padding:9px 10px;display:grid}.topology-status-list span,.mobile-detail-status-list strong{color:var(--text);overflow-wrap:anywhere;font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.topology-status-list small,.mobile-detail-status-list span,.mobile-detail-status-list small{color:var(--text-secondary);overflow-wrap:anywhere;font-size:10px;line-height:1.5}.topology-detail-actions,.mobile-detail-actions{flex-wrap:wrap;align-items:center;gap:7px;margin-top:16px;display:flex}.topology-detail-actions .delete-icon-button,.mobile-detail-actions .delete-icon-button{margin-left:auto}.mobile-detail-trigger,.mobile-site-link-detail{display:none}.mobile-detail-statuses{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.mobile-detail-route-guide{gap:7px;margin-top:16px;display:grid}.mobile-detail-route-guide>div{border:1px solid var(--border);border-radius:7px;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:9px 10px;display:grid}.mobile-detail-route-guide span,.mobile-detail-route-guide code{overflow-wrap:anywhere;min-width:0}.mobile-detail-route-guide span{color:var(--text-secondary);font-size:10px}.mobile-detail-route-guide code{color:var(--text);font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.mobile-detail-route-guide small{color:var(--text-muted);grid-column:1/-1;font-size:10px}.network-source-switch{grid-template-columns:160px minmax(0,1fr);align-items:center;gap:16px;min-width:0;display:grid}.network-source-switch>span{color:var(--text-secondary);font-size:12px;font-weight:600}.segmented-control{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;gap:3px;min-width:0;padding:3px;display:inline-flex}.segmented-control button{min-height:38px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-radius:5px;flex:1 1 0;padding:0 12px;font-size:12px;font-weight:650}.segmented-control button:hover{color:var(--text);background:var(--surface-raised)}.segmented-control button.selected{background:var(--surface-raised);color:var(--text);box-shadow:0 1px 4px #00000024}.network-checklist{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;gap:7px;min-width:0;margin:0;padding:12px;display:grid}.network-checklist legend{color:var(--text-secondary);padding:0 4px;font-size:11px;font-weight:650}.network-checklist label{min-width:0;min-height:44px;color:var(--text-secondary);cursor:pointer;border-radius:5px;align-items:center;gap:9px;padding:5px 6px;font-size:11px;display:flex}.network-checklist label:hover{background:var(--surface-raised);color:var(--text)}.network-checklist input{width:18px;height:18px;accent-color:var(--primary);flex:0 0 18px}.next-hop-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.next-hop-grid label{gap:6px;min-width:0;display:grid}.next-hop-grid label>span{color:var(--text-secondary);font-size:11px}.next-hop-grid input{border:1px solid var(--border);background:var(--background);width:100%;min-width:0;min-height:44px;color:var(--text);border-radius:7px;outline:none;padding:9px 10px;font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.next-hop-grid input:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 18%, transparent)}.network-row,.tunnel-row{grid-template-columns:minmax(190px,1fr) minmax(240px,1.35fr) auto;align-items:center;gap:18px;padding:13px 0;display:grid}.tunnel-row{grid-template-columns:32px minmax(190px,1fr) minmax(240px,1.35fr) auto}.tunnel-row.selected{background:color-mix(in srgb, var(--primary) 8%, transparent);border-radius:7px;margin-inline:-10px;padding-inline:10px}.selection-control{min-width:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:11px;display:inline-flex}.selection-control input{width:18px;height:18px;accent-color:var(--primary);flex:0 0 18px}.tunnel-selection{justify-content:center}.tunnel-selection span{display:none}.tunnel-list-header{border-bottom:1px solid var(--border);min-height:44px;color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;padding:4px 0;font-size:11px;display:flex}.tunnel-list-header .selection-control{flex:none}.tunnel-panel-heading{align-items:center}.batch-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.batch-toolbar .compact-button{min-height:44px}.batch-selection-count{color:var(--text-secondary);white-space:nowrap;font-size:11px}.batch-feedback{margin-top:12px}.batch-delete-list{border:1px solid var(--border);background:var(--surface-soft);max-height:140px;color:var(--text-secondary);border-radius:7px;margin:0;padding:10px 12px 10px 28px;font-size:12px;overflow-y:auto}.batch-delete-list li+li{margin-top:4px}.device-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.network-prefix,.tunnel-address{flex-wrap:wrap;align-items:baseline;gap:7px;min-width:0;display:flex}.network-prefix span,.network-prefix small,.tunnel-address span{color:var(--text-muted);font-size:10px}.network-prefix code,.tunnel-address code,.route-destination{color:var(--text-secondary);font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.tunnel-address-value{flex:180px;align-items:center;gap:4px;min-width:0;display:flex}.tunnel-address-value>code,.tunnel-address-link{overflow-wrap:anywhere;flex:0 auto;min-width:0}.tunnel-address-link{color:var(--primary);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 52%, transparent);text-decoration-color:color-mix(in srgb, currentColor 52%, transparent);text-underline-offset:3px}.tunnel-address-link:hover{color:var(--primary-hover);text-decoration-color:currentColor}.tunnel-address-link code{color:inherit}.tunnel-copy-button{width:34px;height:34px;color:var(--text-muted);background:0 0;border:0;border-radius:6px;flex:0 0 34px;place-items:center;transition:color .14s ease-out,background-color .14s ease-out,transform .1s ease-out;display:grid}.tunnel-copy-button:hover{background:var(--surface-raised);color:var(--text)}.tunnel-copy-button:active{transform:scale(.94)}.tunnel-copy-button[data-copied=true]{color:var(--success)}.network-prefix .network-applied{flex-basis:100%}.network-error,.network-health-error,.link-error,.link-health-error{color:var(--danger);grid-column:1/-1;margin:-4px 0 0;font-size:11px}.network-health-error,.link-health-error{color:var(--warning)}.link-action,.route-confirm-button{border:1px solid var(--border);min-height:44px;color:var(--text-secondary);background:0 0;border-radius:6px;padding:0 9px;font-size:10px}.link-action:hover:not(:disabled),.route-confirm-button:hover{border-color:var(--border-strong);background:var(--surface-raised);color:var(--text)}.site-link-card{padding:14px 0}.site-link-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.site-link-title{align-items:center;gap:8px;min-width:0;display:flex}.site-link-title strong{overflow-wrap:anywhere;font-size:13px}.site-link-title span{color:var(--text-muted)}.route-guide-list{gap:7px;margin-top:12px;display:grid}.route-guide{background:var(--surface-soft);border-radius:7px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px 10px;font-size:11px;display:grid}.route-site,.route-arrow,.route-via{color:var(--text-muted)}.route-via{grid-column:1/4}.route-confirmed{color:var(--success)}.public-entry-summary{justify-content:space-between;align-items:center;gap:20px;display:flex}.public-entry-copy{min-width:0}.public-entry-copy p:last-child{color:var(--text-muted);margin:7px 0 0;font-size:12px;line-height:1.5}.public-entry-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.status-pill.error{color:var(--danger)}.public-entry-facts{border-top:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:28px;margin:18px 0 0;padding-top:16px;display:flex}.public-entry-facts>div{min-width:130px}.public-entry-facts dt{color:var(--text-muted);font-size:10px;font-weight:650}.public-entry-facts dd{color:var(--text-secondary);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px}.domains-panel-heading{align-items:center}.panel-description{max-width:760px;color:var(--text-muted);margin:7px 0 0;font-size:12px;line-height:1.55}.domains-heading-actions{align-items:center}.domain-dependency-notice{border:1px solid var(--border);background:var(--surface);border-left-width:3px;border-radius:7px;justify-content:space-between;align-items:center;gap:18px;min-height:62px;margin-bottom:12px;padding:10px 14px;display:flex}.domain-dependency-notice.ready{border-left-color:var(--success)}.domain-dependency-notice.warning{border-left-color:var(--warning)}.domain-dependency-notice>div{gap:3px;min-width:0;display:grid}.domain-dependency-notice strong{font-size:12px}.domain-dependency-notice span{color:var(--text-muted);font-size:11px;line-height:1.45}.domain-summary-strip{border-bottom:1px solid var(--border);align-items:stretch;gap:2px;margin-top:16px;padding-bottom:10px;display:flex}.domain-summary-strip button{min-height:36px;color:var(--text-muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:inline-flex}.domain-summary-strip button:hover,.domain-summary-strip button.active{background:var(--surface-raised);color:var(--text)}.domain-summary-strip strong{font-variant-numeric:tabular-nums}.domain-filter-bar{align-items:center;gap:8px;padding:10px 0;display:flex}.domain-filter-bar label{min-width:0}.domain-filter-bar select,.domain-search input,.runtime-log-filters select{border:1px solid var(--border);background:var(--background);min-width:0;min-height:38px;color:var(--text);border-radius:7px;outline:none;padding:7px 9px;font-size:11px}.domain-filter-bar select:focus,.domain-search input:focus,.runtime-log-filters select:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 18%, transparent)}.domain-search{border:1px solid var(--border);background:var(--background);min-width:180px;color:var(--text-muted);border-radius:7px;flex:260px;align-items:center;gap:7px;padding-left:10px;display:flex}.domain-search:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 18%, transparent)}.domain-search input{border:0;flex:1;padding-left:0;box-shadow:none!important}.domain-table{border-top:1px solid var(--border);min-width:0}.domain-table-head,.domain-table-row{grid-template-columns:32px minmax(150px,1.05fr) minmax(125px,.8fr) minmax(220px,1.5fr) minmax(150px,.95fr) minmax(174px,auto);align-items:center;gap:12px;min-width:0;display:grid}.domain-table-head{min-height:36px;color:var(--text-muted);font-size:10px;font-weight:650}.domain-table-row{min-height:76px;padding:10px 0}.domain-table-item{border-bottom:1px solid var(--border)}.domain-table-item.expanded{background:color-mix(in srgb, var(--surface-soft) 62%, transparent)}.domain-table-row input[type=checkbox],.domain-table-head input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.domain-certificate-summary,.domain-combined-status,.domain-validity{gap:4px;min-width:0;display:grid}.domain-certificate-summary strong,.domain-validity strong{overflow-wrap:anywhere;font-size:11px}.domain-certificate-summary span,.domain-combined-status>span,.domain-validity span{color:var(--text-muted);overflow-wrap:anywhere;font-size:10px;line-height:1.45}.domain-combined-status .status-pill{width:fit-content}.domain-validity{font-variant-numeric:tabular-nums}.domain-compact-actions{justify-content:flex-end;align-items:center;gap:5px;min-width:0;display:flex;position:relative}.compact-icon-button{width:36px;height:36px;min-height:36px}.compact-icon-button .rotated{transform:rotate(180deg)}.domain-action-menu{position:relative}.domain-action-menu>summary{width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:7px;place-items:center;list-style:none;display:grid}.domain-action-menu>summary::-webkit-details-marker{display:none}.domain-action-menu>summary:hover{background:var(--surface-raised);color:var(--text)}.domain-action-menu>div{z-index:12;border:1px solid var(--border-strong);background:var(--surface);width:172px;box-shadow:var(--shadow);border-radius:7px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);right:0}.domain-action-menu button{min-height:38px;color:var(--text-secondary);text-align:left;background:0 0;border:0;border-radius:5px;padding:7px 9px;font-size:11px}.domain-action-menu button:hover{background:var(--surface-raised);color:var(--text)}.domain-action-menu .danger-menu-item{color:var(--danger)}.domain-expanded{padding:0 0 14px 44px}.domain-expanded-grid{grid-template-columns:minmax(140px,.65fr) repeat(2,minmax(220px,1fr));gap:10px;display:grid}.domain-expanded-grid>div:not(.domain-certificate-cell){border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;align-content:start;gap:5px;min-width:0;padding:11px 12px;display:grid}.domain-expanded-grid>div>span{color:var(--text-muted);font-size:10px}.domain-expanded-grid>div>strong{overflow-wrap:anywhere;font-size:11px}.domain-expanded-grid>div>small{color:var(--text-muted);overflow-wrap:anywhere;font-size:10px}.domain-expanded-problem{grid-column:1/-1;border-left:3px solid var(--warning)!important}.domain-expanded-problem p{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.5}.domain-no-results{color:var(--text-muted);text-align:center;margin:0;padding:28px 12px;font-size:12px}.manual-certificate-warning,.domain-delete-impact{border:1px solid color-mix(in srgb, var(--warning) 45%, var(--border));background:var(--warning-soft);color:var(--warning);border-radius:7px;align-items:flex-start;gap:9px;margin:10px 0;padding:10px 12px;display:flex}.manual-certificate-warning p,.domain-delete-impact{margin:0}.manual-certificate-warning strong,.manual-certificate-warning span{font-size:11px;line-height:1.5;display:block}.manual-certificate-warning span{color:var(--text-secondary);margin-top:2px}.text-danger-button{width:fit-content;min-height:40px;color:var(--danger);background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;margin-top:9px;padding:7px 8px;font-size:11px;display:inline-flex}.text-danger-button:hover{background:var(--danger-soft)}.domain-delete-impact{color:var(--text);display:grid}.domain-delete-impact p{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.55}.domain-list{margin-top:18px}.domain-list-header{border-bottom:1px solid var(--border);min-height:44px;color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;padding:4px 0;font-size:11px;display:flex}.domain-row{border-top:1px solid var(--border);gap:13px;padding:17px 0;display:grid}.domain-row:first-of-type{border-top:0}.domain-row-main{grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:11px;min-width:0;display:grid}.domain-selection{padding-top:3px}.domain-identity{min-width:0}.domain-title{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.domain-title strong{overflow-wrap:anywhere;font-size:15px}.domain-primary-badge{background:var(--success-soft);min-height:22px;color:var(--success);border-radius:5px;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.domain-identity>span{color:var(--text-muted);overflow-wrap:anywhere;margin-top:4px;font-size:11px;display:block}.domain-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-left:39px;display:grid}.domain-fact,.domain-certificate-cell{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;align-content:start;gap:7px;min-width:0;min-height:78px;padding:11px 12px;display:grid}.domain-fact>span,.domain-certificate-heading>span{color:var(--text-muted);font-size:10px;font-weight:650}.domain-fact strong{font-size:12px;font-weight:650}.domain-certificate-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.domain-certificate-cell>strong{color:var(--text-secondary);overflow-wrap:anywhere;font-size:11px;line-height:1.45}.domain-certificate-cell small{color:var(--text-muted);overflow-wrap:anywhere;font-size:10px;line-height:1.45}.certificate-stage-label{color:var(--text)!important;font-size:12px!important}.certificate-stage-track{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;min-width:0;margin:2px 0 4px;padding:0;list-style:none;display:grid}.certificate-stage-track li{min-width:0;color:var(--text-muted);text-align:center;justify-items:center;gap:4px;font-size:9px;display:grid}.certificate-stage-track li i{background:var(--border-strong);border-radius:2px;width:100%;height:3px;transition:background-color .18s ease-out}.certificate-stage-track li.complete,.certificate-stage-track li.current{color:var(--text-secondary)}.certificate-stage-track li.complete i{background:var(--success)}.certificate-stage-track li.current i{background:var(--primary);animation:1.8s ease-in-out infinite certificate-stage-pulse}.certificate-subjects{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.certificate-error summary{cursor:pointer;color:var(--warning);font-size:10px}.certificate-error p{color:var(--text-secondary);margin:7px 0 0;font-size:10px;line-height:1.5}@keyframes certificate-stage-pulse{50%{opacity:.42}}.inline-state{align-items:center;gap:6px;display:inline-flex}.inline-state i{background:currentColor;border-radius:50%;width:6px;height:6px}.inline-state.ready{color:var(--success)}.inline-state.working{color:var(--warning)}.inline-state.error{color:var(--danger)}.domain-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;padding-left:39px;display:flex}.domain-error-details{color:var(--text-secondary);margin-left:39px;font-size:11px}.domain-error-details summary{cursor:pointer;width:fit-content;color:var(--warning)}.domain-error-details>div{border-left:2px solid var(--warning);background:var(--warning-soft);margin-top:9px;padding:10px 12px}.domain-error-details p{margin:0 0 6px;line-height:1.55}.domain-error-details p:last-child{color:var(--text-muted);margin-bottom:0}.domain-editor-form fieldset{border:0;min-width:0;margin:0;padding:0}.domain-editor-form fieldset+fieldset{margin-top:14px}.domain-editor-form legend{border-bottom:1px solid var(--border);width:100%;color:var(--text);margin-bottom:2px;padding:10px 0 7px;font-size:12px;font-weight:700}.domain-editor-form fieldset>label{border-bottom:1px solid var(--border);grid-template-columns:160px minmax(0,1fr);align-items:center;gap:16px;min-height:64px;padding:9px 0;display:grid}.domain-editor-form fieldset>label>span{color:var(--text-secondary);font-size:12px;font-weight:600}.domain-editor-form .public-entry-form-row{margin:0}.domain-editor-form .form-hint{margin:9px 0 0}.domain-delete-form,.domain-primary-form{gap:15px;padding-top:12px;display:grid}.domain-delete-form>p,.migration-impact p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.domain-delete-form>label:not(.confirmation-check){gap:6px;display:grid}.domain-delete-form>label:not(.confirmation-check)>span{color:var(--text-secondary);font-size:11px;font-weight:650}.confirmation-check{color:var(--text-secondary);align-items:flex-start;gap:9px;font-size:12px;line-height:1.5;display:flex!important}.confirmation-check input{width:18px;height:18px;accent-color:var(--primary);flex:none;margin:0}.managed-dns-preview{gap:14px;padding-top:10px;display:grid}.dns-preview-status{min-height:20px;color:var(--text-muted);font-size:11px}.dns-preview-domain{gap:8px;display:grid}.dns-preview-domain h3{margin:0;font-size:13px}.dns-change-list{border-top:1px solid var(--border);display:grid}.dns-change{border-bottom:1px solid var(--border);grid-template-columns:minmax(130px,.7fr) minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:10px 0;display:grid}.dns-change>div{gap:2px;min-width:0;display:grid}.dns-change>div span{color:var(--text-muted);font-size:10px}.dns-change.replace>div span{color:var(--warning)}.dns-change code{overflow-wrap:anywhere;min-width:0;color:var(--text-secondary);font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.migration-impact{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;gap:8px;padding:12px;display:grid}.migration-impact strong{color:var(--text);font-size:12px}.migration-progress{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;gap:9px;padding:12px;display:grid}.migration-progress>div{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.migration-progress>div strong{color:var(--text);font-variant-numeric:tabular-nums}.migration-progress progress{width:100%;height:8px;accent-color:var(--primary)}.migration-progress small{color:var(--text-muted);font-size:10px;line-height:1.5}.field-control{gap:5px;min-width:0;display:grid}.field-control small{color:var(--text-muted);font-size:10px;line-height:1.45}.secret-input-control{min-width:0;position:relative}.secret-input-control input{padding-right:50px}.secret-visibility-button{width:44px;height:44px;color:var(--text-muted);background:0 0;border:0;border-radius:0 7px 7px 0;place-items:center;transition:color .14s ease-out,background-color .14s ease-out,transform .1s ease-out;display:grid;position:absolute;top:0;right:0}.secret-visibility-button:hover{background:var(--surface-soft);color:var(--text)}.secret-visibility-button:active{transform:scale(.94)}.inline-form{gap:13px;margin:16px 0 4px;display:grid}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.form-grid[disabled]{opacity:.7}fieldset.form-grid{border:0;min-width:0;margin:0;padding:0}.enrollment-form-grid{grid-template-columns:1fr .8fr 1.4fr}.inline-form label,.settings-form label{gap:6px;min-width:0;display:grid}.inline-form label>span,.settings-form label>span{color:var(--text-secondary);font-size:11px}.inline-form input,.inline-form select,.settings-form input,.site-create-form input{border:1px solid var(--border);background:var(--background);width:100%;min-width:0;min-height:44px;color:var(--text);border-radius:7px;outline:none;padding:9px 10px;font-size:13px}.inline-form input:focus,.inline-form select:focus,.settings-form input:focus,.site-create-form input:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 18%, transparent)}.inline-form select:disabled{color:var(--text-muted)}.form-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.form-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.form-hint{min-width:0;color:var(--text-muted);overflow-wrap:anywhere;font-size:11px;line-height:1.55}.form-error,.form-success{margin:0;font-size:12px}.form-error{color:var(--danger)}.field-error{color:var(--danger);grid-column:2;font-size:11px;font-weight:500}.form-success{color:var(--success)}.login-notice{background:var(--success-soft);border:1px solid #32684a;border-radius:7px;margin-top:14px;padding:10px 12px}.form-dialog,.mobile-nav-dialog{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:0}.form-dialog::backdrop,.mobile-nav-dialog::backdrop{-webkit-backdrop-filter:blur(3px);background:#0000007a}.form-dialog[open]{place-items:center;padding:24px;display:grid}.form-dialog-surface{width:min(760px,100%);max-height:min(820px,100dvh - 48px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(28px)saturate(125%);background:#1e2021f5;border:1px solid #979da26b;border-radius:8px;flex-direction:column;animation:.18s ease-out both dialog-arrive;display:flex;overflow:hidden}.form-dialog-surface.compact{width:min(520px,100%)}.form-dialog-surface.wide{width:min(980px,100%)}@keyframes dialog-arrive{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.form-sheet[open]{place-items:stretch end;padding:0}.form-sheet .form-dialog-surface{border-width:0 0 0 1px;border-radius:0;width:min(620px,100%);height:100dvh;max-height:100dvh;animation:.24s cubic-bezier(.22,.8,.24,1) both sheet-arrive}@keyframes sheet-arrive{0%{opacity:.7;transform:translate(36px)}to{opacity:1;transform:translate(0)}}.form-dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 16px;display:flex}.form-dialog-header h2{font-size:20px}.form-dialog-header p:last-child{max-width:600px;color:var(--text-secondary);margin:6px 0 0;font-size:12px;line-height:1.55}.form-dialog-body{min-height:0;padding:6px 22px 18px;overflow-y:auto}.form-dialog .network-form-table{margin:0}.form-dialog .network-form-table>.form-grid{grid-template-columns:1fr;gap:0;display:grid}.form-dialog .network-form-table>.form-grid>label,.form-dialog .network-form-table>.form-grid>.public-entry-form-row{border-bottom:1px solid var(--border);grid-template-columns:160px minmax(0,1fr);align-items:center;gap:16px;min-height:64px;padding:9px 0;display:grid}.form-dialog .network-form-table>.form-grid>label>span,.public-entry-form-row>label{font-size:12px;font-weight:600}.local-service-control{grid-template-columns:112px minmax(0,1fr);gap:8px;min-width:0;display:grid}.form-dialog .network-form-table>.form-footer,.form-dialog .network-form-table>.dialog-actions{z-index:2;border-top:1px solid var(--border);background:var(--surface);margin:8px -22px -18px;padding:14px 22px;position:sticky;bottom:-18px}.form-dialog .network-form-table>.form-error{margin-top:4px}.delete-confirmation-form{gap:18px;padding-top:14px;display:grid}.delete-confirmation-copy{color:var(--danger);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;display:grid}.delete-confirmation-copy p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.delete-confirmation-form .dialog-actions{margin-top:0}.runtime-log-dialog{flex-direction:column;gap:10px;min-height:0;padding-top:10px;display:flex}.runtime-log-filters{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(110px,.65fr));gap:7px;display:grid}.runtime-log-filters .domain-search{width:100%;min-width:0}.runtime-log-toolbar{min-height:38px;color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.runtime-log-toolbar>div{gap:7px;display:flex}.runtime-log-new{z-index:3;border:1px solid color-mix(in srgb, var(--primary) 55%, var(--border));background:var(--surface);min-height:36px;color:var(--primary);border-radius:7px;align-self:center;padding:6px 12px;position:sticky;top:0;box-shadow:0 8px 22px #00000029}.runtime-log-feedback{color:var(--success);margin:0;font-size:11px}.runtime-log-list{border-top:1px solid var(--border);min-height:180px;max-height:min(56dvh,560px);overflow-y:auto}.runtime-log-event{border-bottom:1px solid var(--border);min-width:0;padding:11px 4px}.runtime-log-event.error{border-left:3px solid var(--danger);padding-left:10px}.runtime-log-event.warning{border-left:3px solid var(--warning);padding-left:10px}.runtime-log-event-main{color:var(--text-muted);grid-template-columns:144px 42px 86px minmax(100px,1fr);align-items:center;gap:8px;font-size:10px;display:grid}.runtime-log-event-main time{font-variant-numeric:tabular-nums}.runtime-log-event-main strong{color:var(--text-secondary);font-size:10px}.runtime-log-level{font-weight:700}.runtime-log-level.error{color:var(--danger)}.runtime-log-level.warning{color:var(--warning)}.runtime-log-event>p{color:var(--text);overflow-wrap:anywhere;margin:7px 0 0;font-size:12px;line-height:1.5}.runtime-log-event details{color:var(--text-muted);margin-top:7px;font-size:10px}.runtime-log-event summary{cursor:pointer;width:fit-content}.runtime-log-event details p{margin:6px 0 0}.runtime-log-event pre{background:var(--background);max-height:180px;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:7px 0 0;padding:9px;font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.runtime-log-more{align-self:center}.settings-layout{gap:12px;display:grid}.settings-section{padding:0;overflow:hidden}.settings-heading{border-bottom:1px solid var(--border);gap:12px;padding:20px 22px 16px;display:flex}.settings-heading p{color:var(--text-muted);margin:4px 0 0;font-size:12px}.settings-form{gap:14px;max-width:620px;padding:20px 22px 22px;display:grid}.settings-form .form-error{grid-column:1/-1}.settings-actions{justify-content:flex-start}.session-list{margin:0;padding:0 22px}.session-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:70px;padding:10px 0;display:grid}.session-channel{color:var(--text-muted)}.session-row strong,.session-row span{display:block}.session-row strong{font-size:13px}.session-row strong em{background:var(--success-soft);color:var(--success);border-radius:5px;margin-left:7px;padding:2px 6px;font-size:9px;font-style:normal}.session-row div span{color:var(--text-muted);margin-top:3px;font-size:11px}.settings-danger{border:1px solid #ef829247;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:12px 18px;display:flex}.settings-danger strong,.settings-danger span{display:block}.settings-danger strong{font-size:13px}.settings-danger span{color:var(--text-muted);margin-top:2px;font-size:11px}.connection-error-icon{background:var(--danger-soft);width:48px;height:48px;color:var(--danger);border-radius:8px;place-items:center;margin-bottom:18px;display:grid}.update-prompt{right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));z-index:100;border:1px solid var(--border-strong);width:min(420px,100vw - 40px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px)saturate(125%);background:#1e2021f5;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex;position:fixed}.update-prompt strong,.update-prompt span{display:block}.update-prompt strong{font-size:13px}.update-prompt span{color:var(--text-secondary);margin-top:3px;font-size:11px;line-height:1.45}.update-actions{flex:none;gap:8px;display:flex}.auth-shell{background:var(--background);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-panel{border:1px solid var(--border);background:var(--surface);width:min(430px,100%);box-shadow:var(--shadow);border-radius:8px;padding:30px}.auth-brand{padding:0 0 24px}.auth-copy{color:var(--text-secondary);font-size:14px;line-height:1.6}.auth-form{gap:14px;margin-top:20px;display:grid}.auth-form label{gap:6px;display:grid}.auth-form label>span{color:var(--text-secondary);font-size:12px}.auth-form input{border:1px solid var(--border);background:var(--background);width:100%;min-height:44px;color:var(--text);border-radius:7px;padding:9px 10px}.text-button{min-height:44px;color:var(--primary-hover);background:0 0;border:0;padding:8px 0 0}@media (prefers-color-scheme:light){:root{color:#1c2024;--background:#f4f5f6;--surface:#fff;--surface-raised:#eceff1;--surface-soft:#f7f8f9;--border:#d8dcdf;--border-strong:#b7bdc2;--text:#1c2024;--text-secondary:#515860;--text-muted:#727a82;--primary:#3978eb;--primary-hover:#2d68cf;--primary-on:#fff;--success:#287d51;--success-soft:#e5f3eb;--warning:#8a620d;--warning-soft:#fbf0d8;--danger:#ad3f50;--danger-soft:#fae8eb;--focus:#3978eb;--shadow:0 20px 55px #1d242929;background:#f4f5f6}.sidebar{background:#fafbfce0;border-color:#6c737938}.nav-item:hover{background:#1c20240d}.secondary-button:hover:not(:disabled){background:#e2e6e9}.form-dialog-surface{background:#fffffff5;border-color:#6b72784d}.update-prompt{background:#fffffff5}.form-dialog .network-form-table>.form-footer,.form-dialog .network-form-table>.dialog-actions{background:var(--surface)}}@media (width>=1200px){.settings-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}.settings-danger{grid-column:1/-1}.settings-form{max-width:680px}}@media (width>=1800px){.panel{padding:24px 26px}.network-row,.tunnel-row{grid-template-columns:minmax(260px,1fr) minmax(360px,1.6fr) auto;gap:24px}.tunnel-row{grid-template-columns:32px minmax(260px,1fr) minmax(360px,1.6fr) auto}}@media (width<=1199px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1080px){.overview-grid{grid-template-columns:1fr}.domain-table-head{display:none}.domain-table-row{grid-template-columns:28px minmax(0,1fr) auto;gap:9px 12px;padding:14px 0}.domain-table-row>[role=cell]:first-child{grid-area:1/1;align-self:start;padding-top:2px}.domain-table-row .domain-identity{grid-area:1/2}.domain-table-row .domain-certificate-summary{grid-area:2/2}.domain-table-row .domain-combined-status{grid-area:3/2}.domain-table-row .domain-validity{grid-area:4/2}.domain-table-row .domain-compact-actions{grid-area:1/3/span 4;align-self:start}.domain-expanded{padding-left:40px}.domain-expanded-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-expanded-grid>div:first-of-type{grid-column:1/-1}.runtime-log-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.runtime-log-filters .domain-search{grid-column:1/-1}}@media (width<=900px){.app-shell{display:block}.sidebar{display:none}.mobile-header{z-index:15;min-height:calc(60px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(20px)saturate(125%);background:#18191ae0;border-bottom:1px solid #7d83883d;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-header .brand-mark{padding:0}.mobile-header .brand-icon{width:30px;height:30px}.mobile-header .brand-mark small{display:none}.mobile-header-spacer{width:44px}.mobile-nav-dialog[open]{display:block}.mobile-nav-sheet{width:min(310px,100vw - 40px);height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(28px)saturate(125%);background:#1d1f20f5;border-right:1px solid #979da266;animation:.22s cubic-bezier(.22,.8,.24,1) both drawer-arrive;overflow-y:auto}@keyframes drawer-arrive{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-nav-heading{justify-content:space-between;align-items:center;display:flex}.mobile-nav-heading .brand-mark{padding:0 8px}.mobile-nav-sheet .primary-navigation{margin-top:28px}.content{width:100%;padding:30px max(24px, env(safe-area-inset-right)) max(48px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));margin-left:0}.section-tabs{width:100%;overflow:visible}.section-tabs a{flex:1 1 0;justify-content:center;gap:5px;min-width:0;padding-inline:6px;font-size:12px}.network-view-switch,.network-topology{display:none}.network-relations-view.desktop-hidden{display:block}.mobile-detail-trigger{display:inline-flex}.mobile-site-link-detail{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));z-index:40;border:1px solid var(--border-strong);max-height:min(72dvh,620px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(26px)saturate(125%);background:#1d1f20f7;border-radius:10px;gap:0;padding:16px;animation:.18s cubic-bezier(.22,.8,.24,1) both mobile-detail-arrive;display:grid;position:fixed;overflow-y:auto}@keyframes mobile-detail-arrive{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.network-site-columns{display:none}.network-site:first-child{border-top:0}.network-site-summary{grid-template-columns:minmax(0,1fr) 96px;gap:10px 14px;padding-block:14px}.network-site-identity{grid-column:1}.network-site-controls{grid-area:1/2}.network-site-fact{grid-column:1/-1;grid-template-columns:90px minmax(0,1fr);gap:12px;padding-left:47px;display:grid}.network-site-label{color:var(--text-muted);font-size:10px;display:block}.network-site-details{margin-inline:-18px}.form-dialog[open]{align-items:end;padding:0}.form-dialog-surface{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 16px);border-radius:8px 8px 0 0}.form-dialog-header{padding:17px 16px 14px}.form-dialog-body{padding:4px 16px 14px}.form-dialog .network-form-table>.form-grid>label,.form-dialog .network-form-table>.form-grid>.public-entry-form-row{grid-template-columns:1fr;align-items:stretch;gap:6px;padding:10px 0}.form-dialog .network-form-table .field-error{grid-column:1}.network-source-switch{border-bottom:1px solid var(--border);grid-template-columns:1fr;align-items:stretch;gap:6px;padding:10px 0}.network-source-switch>span{font-size:11px}.form-dialog .network-form-table .network-checklist,.form-dialog .network-form-table .next-hop-grid{margin:10px 0}.form-dialog .network-form-table>.form-footer,.form-dialog .network-form-table>.dialog-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));margin:8px -16px -14px;bottom:-14px}.tunnel-panel-heading,.domains-panel-heading{align-items:stretch}.domains-heading-actions{justify-content:flex-start}.domain-filter-bar{flex-wrap:wrap}.domain-filter-bar .domain-search{flex-basis:100%}.domain-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-row-actions,.batch-toolbar{justify-content:flex-start}.update-prompt{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));width:calc(100vw - max(32px, calc(env(safe-area-inset-left) + env(safe-area-inset-right))))}}@media (prefers-color-scheme:light) and (width<=900px){.mobile-header{background:#fafbfce6}.mobile-nav-sheet{background:#fffffff7}.mobile-site-link-detail{background:#fffffffa}}@media (width<=680px){h1{font-size:28px}.content{padding:24px max(16px, env(safe-area-inset-right)) max(40px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.page-header{flex-direction:column;align-items:stretch;gap:16px}.page-actions{justify-content:flex-start}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric-card{min-height:110px;padding:14px}.metric-value{font-size:28px}.overview-grid{grid-template-columns:1fr}.panel{padding:16px}.network-site-details{margin-inline:-16px;padding-inline:16px}.network-inline-heading{flex-direction:column;align-items:stretch}.network-inline-heading .secondary-button{align-self:flex-start}.panel-heading,.site-link-heading,.enrollment-result-heading,.public-entry-summary{flex-direction:column;align-items:stretch}.public-entry-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;display:grid}.public-entry-actions .status-pill{grid-column:1/-1;justify-self:start}.public-entry-actions .secondary-button{width:100%}.domain-dependency-notice{flex-direction:column;align-items:stretch}.domain-dependency-notice .secondary-button{width:fit-content}.domain-summary-strip{overflow-x:auto}.domain-summary-strip button{flex:none}.domain-filter-bar>label:not(.domain-search){flex:140px}.domain-filter-bar select{width:100%}.domain-table-row{grid-template-columns:28px minmax(0,1fr)}.domain-table-row .domain-compact-actions{flex-wrap:wrap;grid-area:5/2;justify-content:flex-start}.domain-expanded{padding-left:40px}.domain-expanded-grid{grid-template-columns:1fr}.domain-expanded-grid>div:first-of-type{grid-column:1}.domain-action-menu>div{left:0;right:auto}.runtime-log-filters{grid-template-columns:1fr}.runtime-log-filters .domain-search{grid-column:1}.runtime-log-toolbar{flex-direction:column;align-items:flex-start}.runtime-log-event-main{grid-template-columns:auto auto minmax(0,1fr)}.runtime-log-event-main time{grid-column:1/-1}.domain-row-main{grid-template-columns:28px minmax(0,1fr)}.domain-row-main>.status-pill{grid-column:2;justify-self:start}.domain-facts-grid{grid-template-columns:1fr;padding-left:39px}.domain-row-actions,.domain-error-details{margin-left:0;padding-left:39px}.domain-row-actions .compact-button{flex:auto}.dns-change{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.dns-change>div{grid-column:1/-1}.domain-list-header{flex-direction:column;align-items:flex-start;gap:5px;padding-block:8px}.domain-editor-form fieldset>label{grid-template-columns:1fr;align-items:stretch;gap:6px;padding:10px 0}.domain-editor-form .public-entry-form-row{grid-template-columns:1fr;align-items:stretch;gap:6px}.migration-progress>div{flex-direction:column;align-items:flex-start;gap:4px}.panel-heading-actions,.site-link-actions{justify-content:flex-start}.device-row{flex-wrap:wrap;align-items:flex-start}.device-identity{flex-basis:calc(100% - 104px)}.device-capabilities{justify-content:flex-start;width:100%;padding-left:48px}.enrollment-row{flex-direction:column;align-items:stretch}.network-row,.tunnel-row{grid-template-columns:1fr;gap:8px}.tunnel-row{grid-template-columns:32px minmax(0,1fr);gap:8px 12px}.tunnel-row .tunnel-identity{grid-column:2}.tunnel-row .tunnel-address,.tunnel-row .network-actions,.tunnel-row>.network-error{grid-column:1/-1}.tunnel-copy-button{flex-basis:44px;width:44px;height:44px}.batch-toolbar{justify-content:flex-start;width:100%}.batch-selection-count{flex-basis:100%}.network-actions{justify-content:flex-start}.route-guide{grid-template-columns:auto auto minmax(0,1fr)}.route-via,.route-confirmed,.route-confirm-button{grid-column:1/-1;justify-self:start}.site-create-form{grid-template-columns:1fr 1fr}.site-create-form label{grid-column:1/-1}.form-grid,.enrollment-form-grid,.next-hop-grid{grid-template-columns:1fr}.form-footer{flex-direction:column;align-items:stretch}.form-actions{width:100%}.form-actions>button{flex:1 1 0}.enrollment-result-actions{flex-wrap:wrap}.enrollment-result-actions .panel-heading-actions{width:100%}.session-row{grid-template-columns:auto minmax(0,1fr)}.session-row .secondary-button{grid-column:2;justify-self:start}.settings-danger{flex-direction:column;align-items:stretch}.settings-danger .danger-button{align-self:flex-start}.update-prompt{flex-direction:column;align-items:stretch}.update-actions>button{flex:1 1 0}}@media (width<=420px){.metric-grid{grid-template-columns:1fr}}@media (prefers-reduced-transparency:reduce){.sidebar,.mobile-header,.mobile-nav-sheet,.form-dialog-surface,.update-prompt,.mobile-site-link-detail{background:var(--surface);-webkit-backdrop-filter:none}.form-dialog::backdrop,.mobile-nav-dialog::backdrop{-webkit-backdrop-filter:none}}@media (prefers-contrast:more){:root{--border:currentColor;--border-strong:currentColor}.sidebar,.panel,.metric-card,.primary-button,.secondary-button,.danger-button,.form-dialog-surface{border-color:currentColor}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.topology-detail,.mobile-site-link-detail,.certificate-stage-track li.current i{animation:none!important}.form-sheet .form-dialog-surface,.primary-button:active,.secondary-button:active,.danger-button:active,.icon-button:active,.delete-icon-button:active,.secret-visibility-button:active,.tunnel-copy-button:active,.quick-link:active,.attention-row:active{transform:none!important}}.official-client-layout{gap:16px;display:grid}.official-client-hero{border-color:color-mix(in srgb, var(--primary) 34%, var(--border))}.official-client-facts{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;padding-top:16px;display:grid}.official-client-facts>div{gap:5px;min-width:0;display:grid}.official-client-facts span{color:var(--text-muted);font-size:11px}.official-client-facts strong,.official-client-facts code,.official-client-facts a{overflow-wrap:anywhere;min-width:0;color:var(--text);font-size:12px}.official-client-facts code{font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.official-client-facts a{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.official-client-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.official-key-options{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.checkbox-field{border:1px solid var(--border);border-radius:7px;align-items:center;gap:8px;min-height:44px;padding:0 8px;display:flex!important}.checkbox-field input{width:18px;height:18px;accent-color:var(--primary)}.secret-reveal{border:1px solid color-mix(in srgb, var(--success) 60%, var(--border));background:var(--success-soft);border-radius:7px;gap:9px;margin-top:14px;padding:12px;display:grid}.secret-reveal code{overflow-wrap:anywhere;color:var(--text);font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.auth-key-list,.external-node-list{gap:0;display:grid}.auth-key-row,.external-node-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-width:0;padding:12px 0;display:grid}.auth-key-row>div,.external-node-row>div{gap:4px;min-width:0;display:grid}.auth-key-row strong,.external-node-row strong,.auth-key-row span,.external-node-row span{overflow-wrap:anywhere}.auth-key-row>div span,.external-node-row>div span{color:var(--text-muted);font-size:11px}@media (width<=840px){.official-client-grid,.official-client-facts,.official-key-options{grid-template-columns:1fr}}.access-policy-preview,.access-rule-editor,.access-rule-list-panel{margin-top:12px}.access-policy-preview{border-color:color-mix(in srgb, var(--primary) 28%, var(--border))}.access-policy-facts{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:11px;display:flex}.access-rule-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-top:18px;display:grid}.access-rule-form>label,.access-rule-fieldset{gap:6px;min-width:0;display:grid}.access-rule-form>label>span,.access-rule-fieldset legend{color:var(--text-secondary);font-size:12px;font-weight:600}.access-rule-form input:not([type=checkbox]),.access-rule-form select{border:1px solid var(--border);background:var(--background);width:100%;min-height:44px;color:var(--text);border-radius:7px;padding:9px 10px}.access-rule-form small{color:var(--text-muted);font-size:10px;line-height:1.45}.access-rule-fieldset{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;min-height:0;margin:0;padding:12px}.access-rule-fieldset legend{padding:0 4px}.access-choice-list{flex-wrap:wrap;gap:6px;display:flex}.access-choice-list label{min-height:38px;color:var(--text-secondary);cursor:pointer;border-radius:5px;align-items:center;gap:8px;padding:4px 8px;font-size:11px;display:inline-flex}.access-choice-list label:hover{background:var(--surface-raised);color:var(--text)}.access-choice-list input{width:18px;height:18px;accent-color:var(--primary)}.access-toggle{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;border-radius:7px;align-items:center;gap:9px;min-height:44px;padding:0 10px;display:flex!important}.access-toggle input{width:18px;height:18px;accent-color:var(--primary)}.access-grantee-fieldset{grid-column:1/-1}.access-grantee-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.access-grantee-list label{justify-content:flex-start;min-width:0}.access-grantee-list small{overflow-wrap:anywhere;min-width:0}.access-rule-actions{grid-column:1/-1;justify-content:flex-end;padding-top:2px}.access-rule-table{margin-top:16px;overflow-x:auto}.access-rule-table-head,.access-rule-table-row{grid-template-columns:minmax(170px,1.2fr) minmax(130px,1fr) minmax(130px,1fr) minmax(120px,.9fr) auto;align-items:center;gap:12px;min-width:720px;display:grid}.access-rule-table-head{border-bottom:1px solid var(--border);min-height:36px;color:var(--text-muted);padding:0 10px;font-size:10px;font-weight:650}.access-rule-table-row{border-bottom:1px solid var(--border);min-height:72px;color:var(--text-secondary);padding:10px;font-size:11px}.access-rule-table-row>div{gap:4px;min-width:0;display:grid}.access-rule-table-row strong{color:var(--text);overflow-wrap:anywhere;font-size:12px}.access-rule-table-row small{color:var(--text-muted);overflow-wrap:anywhere;line-height:1.45}.access-rule-row-actions{flex-direction:row;gap:2px;grid-template-columns:none!important;display:flex!important}.access-rule-error{color:var(--danger)!important}@media (width<=680px){.access-rule-form{grid-template-columns:1fr;gap:12px}.access-grantee-fieldset,.access-rule-actions{grid-column:auto}.access-rule-actions{justify-content:stretch}.access-rule-actions>button{flex:1 1 0}.access-policy-facts{gap:7px 14px}}
