@charset "UTF-8";:root{--zavpn-bg: #04111f;--zavpn-bg-elevated: #081b2c;--zavpn-panel: #0b2032;--zavpn-panel-strong: #0e273c;--zavpn-line: #20384d;--zavpn-line-strong: #36536a;--zavpn-ink: #f5f8fb;--zavpn-muted: #8ea0b4;--zavpn-muted-strong: #c7d4e3;--zavpn-red: #e6302f;--zavpn-red-hover: #ff4947;--zavpn-red-dark: #b91d27;--zavpn-green: #15b86f;--zavpn-amber: #f59e0b;--zavpn-blue: #2d72ff;--zavpn-danger: #ff4d57;--zavpn-line-soft: #173047;--zavpn-muted-dim: #61758a;--zavpn-white: #ffffff;--zavpn-series-second: #c47c0c;--zavpn-bg-deep: #061624;--zavpn-ink-soft: #dfe8f3;--zavpn-muted-soft: #9eb0c3;--zavpn-disabled-ink: #6f7f91;--zavpn-disabled-bg: #102232;--zavpn-line-hover: #57738c;--zavpn-panel-hover: #132f47;--zavpn-success-ink: #6ef0ae;--zavpn-warning-ink: #ffc06a;--zavpn-info-ink: #9fc2ff;--zavpn-danger-ink: #ffb7bd;--zavpn-success-bright: #36d399;--zavpn-success-soft: #9ff2c9;--zavpn-warning-bright: #ffd37a;--zavpn-sky: #60a5fa;--zavpn-violet: #a855f7;--zavpn-warning-soft: #ffe1a6;--zavpn-cyan: #38bdf8;--zavpn-orange: #fb9f2d;--zavpn-pink: #f472b6;--zavpn-control-radius: 6px;--zavpn-card-radius: 8px;--zavpn-font-base: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--zavpn-space-xs: 4px;--zavpn-space-sm: 8px;--zavpn-space-md: 12px;--zavpn-space-lg: 16px;--zavpn-space-xl: 24px;--zavpn-space-xxl: 32px;--zavpn-text-caption: 11px;--zavpn-text-small: 12px;--zavpn-text-body: 13px;--zavpn-text-base: 14px;--zavpn-text-lead: 16px;--zavpn-text-title: 20px;--zavpn-text-display: 28px;--zavpn-text-heading: 24px;--zavpn-text-headline: 32px;--zavpn-text-hero: 48px;--zavpn-text-hero-xl: 64px}h1,h2,p{margin:0}td small{display:block;color:var(--muted);font-size:var(--zavpn-text-small)}td small.error-text{color:var(--danger)}label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;gap:var(--form-control-gap, 8px);margin-top:0;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:800}input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),select:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){box-sizing:border-box;min-width:0;width:100%;border:1px solid rgba(255,255,255,.15);border-radius:5px;color:var(--ink);background:#030d1894;font:inherit;outline:none}input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):focus,select:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):focus,textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):focus{border-color:var(--zavpn-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--zavpn-blue) 18%,transparent)}input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),select:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-height:44px;padding:0 12px}input[type=checkbox],input[type=radio]{width:auto;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-height:190px;padding:12px;resize:vertical;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:var(--zavpn-text-small);line-height:1.45}table:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){width:100%;border-collapse:collapse;table-layout:auto}th:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),td:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){padding:12px 10px;text-align:left;vertical-align:middle}th:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:var(--zavpn-text-small);font-weight:700}td:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){color:var(--zavpn-ink-soft);font-size:var(--zavpn-text-base)}tbody tr:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):hover{background:#ffffff08}code{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}input.mat-mdc-input-element,textarea.mat-mdc-input-element,.mat-mdc-select-trigger{color:var(--zavpn-ink);caret-color:var(--zavpn-info-ink)}input.mat-mdc-input-element::placeholder,textarea.mat-mdc-input-element::placeholder{color:var(--zavpn-muted-dim)}.status{--tone: var(--zavpn-muted);--tone-ink: var(--zavpn-muted-strong);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:24px;border:1px solid color-mix(in srgb,var(--tone) 45%,transparent);border-radius:var(--zavpn-control-radius);padding:0 var(--zavpn-space-sm);color:var(--tone-ink);background:color-mix(in srgb,var(--tone) 12%,transparent);font-size:var(--zavpn-text-small);font-weight:800;line-height:1;white-space:nowrap}.status.tone-ok,.status.active,.status.valid,.status.online{--tone: var(--zavpn-green);--tone-ink: var(--zavpn-success-ink)}.status.tone-neutral,.status.disabled,.status.revoked,.status.offline,.status.stale,.status.invalid{--tone: var(--zavpn-muted-dim);--tone-ink: var(--zavpn-muted-soft)}.status.tone-warn,.status.expired,.status.error,.status.updating,.status.on_backup{--tone: var(--zavpn-amber);--tone-ink: var(--zavpn-warning-ink)}.status.tone-info,.status.pending,.status.pending_approval{--tone: var(--zavpn-blue);--tone-ink: var(--zavpn-info-ink)}.status.tone-error{--tone: var(--zavpn-danger);--tone-ink: var(--zavpn-danger-ink)}.status.unsaved-draft{--tone: var(--zavpn-warning-bright);--tone-ink: var(--zavpn-warning-bright)}.ds-facts{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:2px;margin:0;color:var(--zavpn-muted);font-size:var(--zavpn-text-small);line-height:1.4}.ds-facts>div{display:inline-flex;align-items:baseline;gap:var(--zavpn-space-xs);min-width:0}.ds-facts>div:not(:last-child):after{content:"\b7";margin:0 var(--zavpn-space-sm);color:var(--zavpn-muted-dim)}.ds-facts dt{font-weight:400}.ds-facts dd{margin:0;color:var(--zavpn-ink-soft);font-weight:600;overflow-wrap:anywhere}.ds-facts dd small{margin-left:var(--zavpn-space-xs);color:var(--zavpn-muted);font-size:var(--zavpn-text-caption);font-weight:400}.ds-facts .ds-fact-attention dd{color:var(--zavpn-warning-ink)}app-root{--bg: var(--zavpn-bg);--bg-2: var(--zavpn-bg-elevated);--panel: var(--zavpn-panel);--panel-2: var(--zavpn-panel-strong);--line: var(--zavpn-line);--line-soft: var(--zavpn-line-soft);--ink: var(--zavpn-ink);--muted: var(--zavpn-muted);--muted-2: var(--zavpn-muted-dim);--red: var(--zavpn-red);--red-dark: var(--zavpn-red-dark);--green: var(--zavpn-green);--amber: var(--zavpn-amber);--blue: var(--zavpn-blue);--danger: var(--zavpn-danger);--dialog-block-gap: 20px;--dialog-section-gap: 18px;--form-control-gap: 8px;display:block;width:100%;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 78% 16%,rgba(230,48,47,.18),transparent 24rem),radial-gradient(circle at 14% 0%,rgba(45,114,255,.15),transparent 26rem),linear-gradient(180deg,var(--zavpn-bg) 0%,var(--zavpn-bg-elevated) 48%,var(--zavpn-bg) 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:clip}*{box-sizing:border-box}app-root a[x-apple-data-detectors],app-root a[x-apple-data-detectors]:hover,app-root a[x-apple-data-detectors]:focus{color:inherit!important;font:inherit!important;text-decoration:none!important}.app-shell{min-height:100vh}.public-shell{min-height:100vh;overflow:hidden}.hero-art-frame{position:relative;pointer-events:none}.brand,.topbar,.top-actions,.form-actions,.panel-title,.dashboard-head,.config-layout,.table-actions,.sidebar-title,.inline-money,.status-line{display:flex;align-items:center}.brand{gap:12px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;width:46px;height:46px;place-items:center;border:1px solid var(--zavpn-line-hover);border-radius:8px;color:var(--zavpn-bg);background:linear-gradient(180deg,var(--zavpn-white),var(--zavpn-muted-strong));box-shadow:0 16px 36px #00000042;font-size:var(--zavpn-text-heading);font-weight:900}.brand-mark.small{width:34px;height:34px;font-size:var(--zavpn-text-lead)}.brand strong,.sidebar-title strong{display:block;font-size:var(--zavpn-text-display);line-height:.95;font-weight:950;letter-spacing:0}.brand strong span,.sidebar-title strong span{color:var(--red)}.zavpn-word{display:inline-flex;align-items:baseline;gap:0;color:transparent;font-weight:950;letter-spacing:0;line-height:.82;text-transform:uppercase;filter:drop-shadow(0 13px 24px rgba(0,0,0,.26))}.zavpn-word span{position:relative;display:inline-block}.word-white,.word-red{color:transparent;-webkit-background-clip:text;background-clip:text}.word-white{background-image:linear-gradient(116deg,transparent 0 18%,rgba(91,101,113,.28) 19% 20%,transparent 21% 47%,rgba(255,255,255,.18) 48% 49%,transparent 50%),linear-gradient(23deg,transparent 0 38%,rgba(32,42,54,.2) 39% 40%,transparent 41% 100%),radial-gradient(ellipse at 18% 22%,rgba(255,255,255,.42) 0 8%,transparent 18%),radial-gradient(ellipse at 69% 74%,rgba(83,94,108,.34) 0 10%,transparent 23%),radial-gradient(circle at 12% 18%,rgba(7,17,29,.78) 0 .75px,transparent 1.28px),radial-gradient(circle at 34% 78%,rgba(7,17,29,.66) 0 .7px,transparent 1.24px),radial-gradient(circle at 58% 31%,rgba(7,17,29,.68) 0 .66px,transparent 1.18px),conic-gradient(from 12deg at 42% 46%,#ffffff2e,#555e6a33,#e6ebef47,#2a364438,#ffffff2e),linear-gradient(180deg,var(--zavpn-white) 0%,var(--zavpn-ink) 30%,var(--zavpn-muted-strong) 66%,var(--zavpn-muted-soft) 100%);background-size:132px 94px,104px 88px,100% 100%,100% 100%,42px 34px,36px 42px,33px 38px,76px 68px,100% 100%;text-shadow:0 1px 0 rgba(255,255,255,.3),0 4px 0 rgba(0,0,0,.18)}.word-red{background-image:linear-gradient(112deg,transparent 0 24%,rgba(63,7,13,.34) 25% 26%,transparent 27% 58%,rgba(255,119,100,.16) 59% 60%,transparent 61%),linear-gradient(28deg,transparent 0 41%,rgba(50,6,11,.28) 42% 43%,transparent 44% 100%),radial-gradient(ellipse at 21% 20%,rgba(255,95,84,.36) 0 9%,transparent 20%),radial-gradient(ellipse at 72% 70%,rgba(77,8,15,.38) 0 12%,transparent 25%),radial-gradient(circle at 14% 22%,rgba(48,7,11,.7) 0 .72px,transparent 1.22px),radial-gradient(circle at 41% 66%,rgba(74,11,18,.66) 0 .68px,transparent 1.16px),radial-gradient(circle at 75% 38%,rgba(39,6,10,.72) 0 .76px,transparent 1.28px),conic-gradient(from 18deg at 50% 48%,#ff443d3d,#6f0d163d,#f02a2d2e,#49070e42,#ff443d3d),linear-gradient(180deg,var(--zavpn-red-hover) 0%,var(--zavpn-red) 42%,var(--zavpn-red-dark) 100%);background-size:128px 92px,98px 82px,100% 100%,100% 100%,42px 38px,36px 44px,48px 40px,74px 66px,100% 100%;text-shadow:0 1px 0 rgba(255,103,92,.22),0 4px 0 rgba(0,0,0,.24)}.letter-a{margin-left:-.02em}.letter-a:after{content:"";position:absolute;left:50%;top:50.5%;z-index:5;display:block;width:.46em;height:.47em;background:var(--zavpn-bg);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%);filter:drop-shadow(0 1px 0 rgba(255,255,255,.1));transform:translate(-50%,-50%)}.zavpn-word .a-star{display:none}.zavpn-word-logo{font-size:var(--zavpn-text-hero)}.zavpn-word-hero{font-size:clamp(112px,11vw,168px)}.brand small,.sidebar-title small{display:block;color:var(--muted);font-size:var(--zavpn-text-small)}.segmented-control.compact{display:inline-flex;width:fit-content;gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#04111f85}.segmented-control.compact button{min-height:30px;padding:0 10px;border:0;border-radius:6px;color:var(--muted);background:transparent;font:inherit;font-size:var(--zavpn-text-small);font-weight:800;cursor:pointer}.segmented-control.compact button.active{color:var(--ink);background:var(--panel-2)}.segmented-control.compact button:disabled{cursor:not-allowed;opacity:.55}.agent-logging-mode,.agent-logging-buffer{gap:8px}.agent-logging-buffer input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){width:18px;height:18px;accent-color:var(--green)}.billing-client-cell strong{display:block;line-height:1.2}.billing-client-cell small{margin-top:3px;overflow-wrap:anywhere}.topbar{width:min(1400px,100% - 64px);min-height:116px;margin:0 auto;justify-content:flex-end;gap:24px}.link-button{border:0;color:var(--zavpn-ink-soft);background:transparent;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.icon-button{display:inline-grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid var(--zavpn-line-strong);border-radius:6px;color:var(--zavpn-ink-soft);background:#0c1f30b8;font:inherit;font-size:var(--zavpn-text-title);line-height:1;cursor:pointer}.icon-button app-icon{width:18px;height:18px;pointer-events:none}.icon-button .inline-action-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.icon-button app-icon *{pointer-events:none}.icon-button:hover{background:var(--zavpn-panel-hover);border-color:var(--zavpn-line-hover)}.icon-button:disabled{cursor:not-allowed;opacity:.55}.create-icon-button{color:var(--zavpn-white);border-color:#15b86f7a;background:#15b86f29}.create-icon-button:hover,.create-icon-button:focus-visible{border-color:#15b86fb3;background:#15b86f3d}.top-actions{gap:12px;justify-content:flex-end}.user-pill{max-width:340px;overflow:hidden;color:var(--muted);font-size:var(--zavpn-text-body);text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid transparent;border-radius:6px;padding:0 16px;color:var(--ink);background:var(--zavpn-panel-strong);font:inherit;font-weight:800;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .18s ease,border-color .18s ease,color .18s ease}.btn-primary{color:var(--zavpn-white);background:linear-gradient(180deg,var(--zavpn-red),var(--zavpn-red-dark));border-color:var(--zavpn-red-hover);box-shadow:0 14px 28px #e6302f38}.btn-primary:hover{background:linear-gradient(180deg,var(--zavpn-red-hover),var(--zavpn-red-dark))}.btn-secondary,.btn-ghost{color:var(--zavpn-ink-soft);background:#0c1f30b8;border-color:var(--zavpn-line-strong)}.btn-secondary:hover,.btn-ghost:hover{background:var(--zavpn-panel-hover);border-color:var(--zavpn-line-hover)}.btn-lg{min-height:52px;padding:0 28px;font-size:var(--zavpn-text-lead)}.btn:disabled{cursor:not-allowed;color:var(--zavpn-disabled-ink);background:var(--zavpn-disabled-bg);border-color:var(--zavpn-line);box-shadow:none;transform:none}.landing{width:min(1400px,100% - 64px);margin:0 auto;padding:20px 0 56px;overflow:hidden}.public-landing{padding-top:136px}.hero{position:relative;display:grid;grid-template-columns:minmax(560px,.92fr) minmax(520px,1.08fr);gap:44px;align-items:center;min-height:640px}.hero-copy{display:grid;gap:25px;z-index:1}.eyebrow{color:var(--zavpn-muted-strong);font-size:var(--zavpn-text-body);font-weight:900;letter-spacing:0;text-transform:uppercase}.hero h1{line-height:.82;font-weight:950;letter-spacing:0;text-shadow:0 12px 30px rgba(0,0,0,.38)}.hero h2{color:var(--zavpn-white);font-size:clamp(46px,4.3vw,72px);line-height:.98;font-weight:950;letter-spacing:0;text-transform:uppercase}.lead{max-width:650px;color:var(--zavpn-ink-soft);font-size:var(--zavpn-text-title);line-height:1.58}.vpn-preview{position:relative;min-height:560px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.hero-art-frame{width:min(806px,100%);margin-left:auto}.hero-picture{display:block}.hero-art{display:block;position:relative;width:100%;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 28px 70px rgba(0,0,0,.32));-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.16) 8%,black 30%,black 88%,transparent 100%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.72) 9%,black 18%,black 82%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.16) 8%,black 30%,black 88%,transparent 100%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.72) 9%,black 18%,black 82%,transparent 100%);mask-composite:intersect}.wire-glow{position:absolute;left:43.3%;top:73.7%;z-index:2;width:clamp(15px,5.7%,26px);aspect-ratio:1;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--zavpn-white) 0 8%,rgb(255,244,190) 9% 18%,rgba(255,168,54,.82) 24%,rgba(255,77,38,.34) 45%,transparent 72%);mix-blend-mode:screen;filter:blur(.5px) drop-shadow(0 0 8px rgba(255,244,190,.96)) drop-shadow(0 0 22px rgba(255,92,37,.76)) drop-shadow(0 0 46px rgba(255,59,48,.46));animation:wireGlowPulse 3.7s ease-in-out infinite}.wire-glow:before,.wire-glow:after{content:"";position:absolute;inset:-58%;border-radius:50%;background:radial-gradient(circle,rgba(255,246,205,.34) 0 12%,rgba(255,118,45,.2) 30%,transparent 64%);opacity:.7;transform:scale(.72);animation:wireGlowHalo 2.7s ease-in-out infinite}.wire-glow:after{inset:-92%;opacity:.38;animation-delay:.45s}@keyframes wireGlowPulse{0%,to{opacity:.68;transform:translate(-50%,-50%) scale(.86)}45%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}68%{opacity:.84;transform:translate(-50%,-50%) scale(.96)}}@keyframes wireGlowHalo{0%,to{opacity:.24;transform:scale(.68)}48%{opacity:.86;transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.wire-glow,.wire-glow:before,.wire-glow:after{animation:none}}.auth-card,.panel,.state-panel{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#0e273cf5,#081927f5);box-shadow:0 18px 42px #0000003d}.auth-card{display:grid;width:min(430px,100vw - 40px);gap:13px;padding:22px}.auth-copy{align-content:center;justify-items:start;gap:18px}.auth-panel{display:grid;width:min(470px,100%);gap:20px;padding:6px 0 8px}.inline-auth-panel{position:relative}.inline-auth-panel:before{content:"";position:absolute;left:-22px;top:-10px;bottom:-10px;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.2),transparent)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:min(330px,100%);border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:4px;background:#04111f6b}.auth-tabs button:not(.icon-button){min-height:36px;border:0;border-radius:6px;color:var(--zavpn-muted-soft);background:transparent;font:inherit;font-size:var(--zavpn-text-body);font-weight:850;cursor:pointer}.auth-tabs button.active{color:var(--zavpn-white);background:#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff14}.auth-form{display:grid;width:100%;gap:16px}.form-actions{gap:10px;row-gap:10px;flex-wrap:wrap;margin-top:4px}.notice{border:1px solid var(--zavpn-line-strong);border-radius:6px;padding:10px 12px;color:var(--zavpn-muted-strong);background:var(--zavpn-panel);font-size:var(--zavpn-text-body);line-height:1.4}.notice.success{border-color:#15b86f70;color:var(--zavpn-success-soft);background:#15b86f1a}.notice.error{border-color:#ff4d5780;color:var(--zavpn-danger-ink);background:#ff4d571a}.notice.warning{border-color:#f59e0b8a;color:var(--zavpn-warning-ink);background:#f59e0b1a}.dialog-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px;background:#020912c2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-card{display:grid;grid-template-columns:minmax(0,1fr);width:min(470px,100%);max-width:100%;max-height:calc(100vh - 44px);max-height:calc(100dvh - 44px);overflow:auto;gap:var(--dialog-block-gap, 20px);border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:22px;background:linear-gradient(180deg,#0e273cfa,#071826fa),var(--panel);box-shadow:0 24px 70px #0000007a}.dialog-head{display:grid;gap:8px}.dialog-card-wide{width:min(980px,100vw - 32px)}.issued-config-dialog{display:flex;flex-direction:column;overflow:hidden}.issued-config-dialog .issued-config-body{flex:1 1 auto;overflow:hidden}.dialog-head h2{color:var(--zavpn-white);font-size:var(--zavpn-text-heading);line-height:1.05}.dialog-card p{color:var(--zavpn-ink-soft);font-size:var(--zavpn-text-base);line-height:1.55}.dialog-loading-state{display:grid;min-height:250px;place-items:center}.dialog-loading-spinner,.key-create-spinner{width:36px;height:36px;color:var(--zavpn-info-ink);animation:admin-spinner-spin .85s linear infinite}.dialog-warning{border:1px solid rgba(255,77,87,.44);border-radius:6px;padding:12px;color:var(--zavpn-danger-ink);background:#ff4d571a;font-size:var(--zavpn-text-body);line-height:1.45}.cancel-confirm-dialog{gap:24px}.cancel-confirm-dialog>p{margin-top:4px}.cancel-confirm-dialog .key-duration-summary,.cancel-confirm-dialog .dialog-warning,.cancel-confirm-dialog .notice.error{margin-top:4px}.cancel-confirm-dialog .dialog-actions{margin-top:8px}.rotate-confirm-content{display:grid;gap:12px}.rotate-confirm-content>*{margin:0}.rotate-confirm-content .dialog-actions{margin-top:4px}.rotate-topology-details{display:grid;gap:6px;margin-top:-4px}.rotate-topology-details .direction-description{margin:0}.issued-config-warning{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;border:1px solid rgba(245,158,11,.6);border-radius:8px;padding:13px 14px;color:var(--zavpn-warning-soft);background:#f59e0b29;box-shadow:inset 0 0 0 1px #ffffff0a}.issued-config-warning app-icon{width:24px;height:24px;margin-top:1px}.issued-config-warning strong,.issued-config-warning span{display:block}.issued-config-warning strong{color:color-mix(in srgb,var(--zavpn-warning-soft) 50%,var(--zavpn-white));font-size:var(--zavpn-text-base)}.issued-config-warning span{margin-top:3px;color:var(--zavpn-warning-soft);font-size:var(--zavpn-text-body);line-height:1.45}.issued-config-close-progress{display:grid;gap:8px;border:1px solid var(--line-soft);border-radius:8px;padding:10px 12px;background:#040d179e}.issued-config-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:800}.issued-config-progress-head strong{color:var(--ink)}.issued-config-progress-track{overflow:hidden;height:7px;border-radius:999px;background:#ffffff17}.issued-config-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--zavpn-red),var(--zavpn-amber));transition:width .25s linear}.dialog-note{border-color:#ffffff2e;color:var(--zavpn-muted-strong);background:#ffffff0f}.dialog-error-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.dialog-error-list li{border:1px solid rgba(245,158,11,.42);border-radius:6px;padding:9px 11px;color:var(--zavpn-warning-ink);background:#f59e0b1a;font-size:var(--zavpn-text-body);line-height:1.35}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;row-gap:12px;flex-wrap:wrap;margin-top:10px}.btn-danger-action{background:linear-gradient(180deg,var(--zavpn-danger),var(--zavpn-red-dark));border-color:var(--zavpn-danger);box-shadow:0 14px 28px #ff4d5733}.btn-danger-action:hover{background:linear-gradient(180deg,var(--zavpn-danger),var(--zavpn-red-dark))}.btn-danger{color:var(--zavpn-danger-ink);border-color:#ff4d5785;background:#ff4d5714}.btn-danger:hover{border-color:#ff4d57c7;background:#ff4d5724}.hint{color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.4}.direction-description{margin:-2px 0 4px;max-width:560px}.reachability-warning{display:inline-flex;align-items:center;gap:7px;width:fit-content;max-width:100%;color:var(--zavpn-warning-bright);font-size:var(--zavpn-text-small);font-weight:850;line-height:1.3}.reachability-warning strong{display:inline-grid;place-items:center;flex:0 0 auto;width:18px;height:18px;border:1px solid rgba(255,211,122,.58);border-radius:999px;color:var(--zavpn-warning-bright);background:#ffd37a1a;font-size:var(--zavpn-text-body)}.account-reachability-warning{margin:0 0 6px}.key-direction-cell{display:grid;gap:3px;min-width:0}.key-direction-cell span,.key-direction-cell small{overflow-wrap:anywhere}.key-direction-cell small{color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35}.key-direction-cell .country-route-line{flex-wrap:wrap;row-gap:4px}.country-inline{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-width:0;vertical-align:baseline}.country-flag{display:inline-block;flex:0 0 auto;font-size:1.05em;line-height:1}.country-route-line{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0}.country-route-line .country-inline{min-width:0}.key-application-cell{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-width:0;color:var(--ink);font-weight:850}.key-application-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border:1px solid var(--line-soft);border-radius:8px;background:#ffffff0d;color:var(--zavpn-ink-soft)}.key-application-icon app-icon{width:16px;height:16px}.key-application-cell>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-application-bindings{display:flex;flex-wrap:wrap;gap:10px 16px;row-gap:10px}.admin-application-icon-cell{display:inline-flex;align-items:center;gap:6px;max-width:100%}.admin-application-icon-option{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border:1px solid var(--line-soft);border-radius:8px;color:var(--zavpn-ink-soft);background:#ffffff0d;cursor:pointer}.admin-application-icon-option:hover:not(:disabled){border-color:#93c5fdc7;background:#93c5fd21}.admin-application-icon-option.active{border-color:var(--zavpn-info-ink);color:var(--zavpn-white);background:#2e7dff3d}.admin-application-icon-option:disabled{cursor:default;opacity:1}.admin-application-icon-option app-icon{width:18px;height:18px}.checkbox-line.admin-application-toggle,.checkbox-line.admin-application-binding{display:inline-flex;align-items:center;gap:8px;min-height:32px}.admin-application-binding.unsupported{color:var(--muted)}.admin-application-networks{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.admin-application-networks-empty{color:var(--muted)}.admin-application-networks-editor{display:grid;gap:8px;min-width:220px}.admin-application-networks-editor textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){font-family:var(--mono);resize:vertical}.admin-application-networks-actions{display:flex;gap:8px}.topology-pricing-section{gap:14px}.customer-create-form label .hint{display:block;margin-top:4px}.topology-pricing-entry-list{display:grid;gap:12px}.topology-pricing-entry-card{display:grid;gap:14px;border:1px solid var(--line);border-radius:8px;padding:16px;background:linear-gradient(180deg,var(--zavpn-panel),var(--zavpn-bg-elevated))}.topology-pricing-entry-head,.topology-pricing-entry-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.topology-pricing-entry-head>label{display:grid;gap:6px;min-width:0}.topology-pricing-entry-head input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-width:0;font-size:var(--zavpn-text-base);font-weight:800}.topology-pricing-entry-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.topology-pricing-empty{border:1px dashed var(--line);border-radius:8px;padding:20px}.customer-details-dialog{width:min(760px,100vw - 32px)}.group-details-dialog{width:min(980px,100vw - 32px)}.group-details-tabs{justify-self:start}.group-usage-section{align-content:start}.group-usage-section .dialog-note{margin:0}.group-usage-table-wrap{width:100%;max-height:min(45vh,480px);max-height:min(45dvh,480px);overflow:auto;border-bottom:1px solid var(--line-soft)}.group-usage-table-wrap table{min-width:620px}.group-usage-table-wrap thead th{position:sticky;top:0;z-index:1;background:var(--zavpn-panel)}.customer-details-section{gap:14px}.customer-email-with-loyalty{display:inline-flex;align-items:center;gap:.45rem}.loyalty-warning{color:var(--zavpn-amber);font-size:1.1rem}.loyalty-details-section .panel-title{margin-bottom:.75rem}.loyalty-signals-table{margin-top:.75rem}.loyalty-rule-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1fr) minmax(220px,2fr) auto;align-items:end;margin-bottom:1rem}.loyalty-trusted-form{grid-template-columns:minmax(220px,1fr) minmax(120px,180px) auto;align-items:end;margin-bottom:1rem}@media(max-width:860px){.loyalty-rule-form,.loyalty-trusted-form{grid-template-columns:1fr}}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;background:linear-gradient(180deg,var(--zavpn-bg-deep),var(--zavpn-bg))}.account-workspace{align-content:start;grid-template-columns:320px minmax(0,1fr)}.account-sidebar .sidebar-title{grid-template-columns:34px minmax(0,1fr) auto;align-items:center}.account-sidebar .account-sidebar-actions{grid-column:3;flex-wrap:nowrap;width:auto}.dialog-card .mode-tabs[role=tablist]{display:flex;justify-self:stretch;width:100%;min-width:0;max-width:none;gap:0;overflow-x:auto;border:0;border-bottom:1px solid var(--zavpn-line);border-radius:0;padding:0;background:transparent;scrollbar-width:none}.dialog-card .mode-tabs[role=tablist] button{flex:1 0 auto;min-height:40px;margin-bottom:-1px;border-bottom:2px solid transparent;border-radius:0;padding:0 var(--zavpn-space-md);color:var(--zavpn-muted);background:transparent;font-size:var(--zavpn-text-base);font-weight:600;white-space:nowrap}.dialog-card .mode-tabs[role=tablist] button:hover:not(:disabled){color:var(--zavpn-ink)}.dialog-card .mode-tabs[role=tablist] button.active{border-bottom-color:var(--zavpn-blue);color:var(--zavpn-ink);background:transparent}.dialog-card .mode-tabs[role=tablist]+.settings-group,.dialog-card .mode-tabs[role=tablist]+*>.settings-group:first-child{border-top:0;padding-top:0}.section-title-row.section-actions-row{justify-content:flex-end}.dialog-card .mode-tabs[role=tablist] button:focus-visible{outline:none;color:var(--zavpn-ink);background:var(--zavpn-panel-hover)}.dialog-card>*{min-width:0}.dialog-card>.dialog-actions{position:sticky;bottom:-22px;z-index:2;margin:0 -22px -22px;padding:var(--zavpn-space-md) 22px 22px;border-top:1px solid var(--zavpn-line-soft);background:var(--zavpn-bg-deep)}@media(max-width:480px){.dialog-backdrop{place-items:start center;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:none;backdrop-filter:none}.dialog-card:not(.key-create-wizard-dialog){max-height:none;overflow:visible}.dialog-card>.dialog-actions{bottom:-14px;margin:0 -16px -16px;padding:var(--zavpn-space-md) 16px 16px;border-radius:0 0 8px 8px}}.sidebar{position:sticky;top:0;z-index:30;display:grid;align-content:start;gap:8px;min-height:100vh;border-right:1px solid var(--line);padding:18px 10px;overflow:hidden;background:linear-gradient(180deg,var(--zavpn-bg-deep),var(--zavpn-bg))}.sidebar-title{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:74px;padding:0 10px 14px;border-bottom:1px solid var(--line)}.sidebar-identity{min-width:0}.sidebar-title strong{overflow:hidden;font-size:var(--zavpn-text-heading);text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{grid-column:2;justify-self:start;margin-left:0;min-height:32px;border:1px solid var(--line);color:var(--zavpn-ink-soft);background:#0c1f3085}.sidebar button{display:flex;align-items:center;width:100%;max-width:100%;min-height:40px;border:0;border-radius:6px;padding:0 12px;overflow:hidden;color:var(--zavpn-muted-soft);background:transparent;text-align:left;font:inherit;font-weight:800;cursor:pointer}.sidebar-title .sidebar-logout{width:auto;min-height:32px;padding:0 10px;font-size:var(--zavpn-text-small)}.account-sidebar-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;row-gap:8px;align-items:center;justify-content:flex-end}.account-header-action{width:34px;height:34px;color:var(--zavpn-ink-soft);border-color:#ffffff24;background:#0c1f3085}.sidebar button.active,.sidebar button:hover{color:var(--zavpn-white);background:linear-gradient(90deg,#e6302f73,#e6302f26)}.sidebar .account-header-action{display:inline-grid;width:34px;height:34px;min-height:34px;place-items:center;place-content:center;border:1px solid rgba(255,255,255,.14);padding:0;color:var(--zavpn-ink-soft);background:#0c1f3085}.account-sidebar .account-sidebar-actions .account-header-action{justify-content:center}@media(min-width:861px){.account-sidebar .sidebar-title{grid-template-columns:34px minmax(0,1fr);align-items:start}.account-sidebar .account-sidebar-actions{grid-column:2;justify-content:flex-start}.account-sidebar .sidebar-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.sidebar .account-header-action app-icon{display:block}.sidebar-nav{display:grid;gap:7px}.admin-sidebar-nav{margin-top:8px}.sidebar .admin-nav-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;min-height:58px;border:1px solid transparent;padding:8px 10px}.admin-nav-group{padding:10px 10px 2px;color:var(--zavpn-muted);font-size:var(--zavpn-text-caption);font-weight:700;letter-spacing:.04em}@media(min-width:861px){.admin-sidebar{height:100vh;height:100dvh;min-height:0;grid-template-rows:auto minmax(0,1fr)}.admin-sidebar-nav{align-content:start;gap:2px;overflow-y:auto;overscroll-behavior:contain}.sidebar .admin-nav-item{grid-template-columns:26px minmax(0,1fr) auto;min-height:34px;padding:4px 10px}.admin-sidebar .admin-nav-icon{width:24px;height:24px;border-radius:6px;font-size:var(--zavpn-text-base)}}@media(min-width:861px){.mobile-shell .shell-menu{display:contents}.mobile-shell .shell-menu-toggle,.mobile-shell .shell-current-section,.mobile-shell .shell-menu-account,.mobile-shell .shell-menu-backdrop{display:none}}.admin-nav-icon{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:7px;color:var(--zavpn-muted-soft);background:#ffffff0d;font-size:var(--zavpn-text-lead);line-height:1}.admin-nav-item span{display:grid;gap:2px;min-width:0}.admin-nav-item strong{overflow:hidden;color:inherit;font-size:var(--zavpn-text-body);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.admin-nav-item small{overflow:hidden;color:var(--zavpn-muted);font-size:var(--zavpn-text-caption);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.sidebar .admin-nav-item.active,.sidebar .admin-nav-item:hover{border-color:#e6302f52}.admin-nav-item.active .admin-nav-icon,.admin-nav-item:hover .admin-nav-icon{border-color:#ffffff3d;color:var(--zavpn-white);background:#ffffff1f}.admin-nav-item.active small,.admin-nav-item:hover small{color:var(--zavpn-muted-strong)}.content{display:grid;gap:16px;min-width:0;padding:22px}.content:before{content:"\2315  \41f\43e\438\441\43a  \43f\43e  \43a\43b\44e\447\430\43c, \43f\43e\43b\44c\437\43e\432\430\442\435\43b\44f\43c, \441\435\440\432\435\440\430\43c...";display:flex;align-items:center;min-height:38px;width:min(520px,56vw);border:1px solid var(--line);border-radius:6px;padding:0 14px;color:var(--muted-2);background:var(--zavpn-bg-deep);font-size:var(--zavpn-text-body)}.user-content:before,.admin-content:before{content:none}.user-content,.admin-content{align-content:start}.user-content>.panel,.user-content>.stack,.admin-content>.panel,.admin-content>.stack{align-self:start}.stack{display:grid;gap:16px;min-width:0}.button-glyph{font-size:var(--zavpn-text-lead);font-weight:900;line-height:1}@keyframes admin-spinner-spin{to{transform:rotate(360deg)}}.cabinet-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:16px;align-items:start}.cabinet-main{min-width:0}.dashboard-head,.panel-title{justify-content:space-between;gap:14px}.balance-inline{color:var(--zavpn-white);font-size:var(--zavpn-text-title);line-height:1;white-space:nowrap}.panel-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;row-gap:10px;flex-wrap:wrap}.dashboard-head h1{font-size:var(--zavpn-text-heading);line-height:1.1}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metrics article{position:relative;display:grid;gap:8px;min-height:104px;border:1px solid var(--line);border-radius:8px;padding:16px;overflow:hidden;background:linear-gradient(180deg,var(--zavpn-panel-strong),var(--zavpn-bg-elevated))}.metrics article:after{content:"";position:absolute;right:0;bottom:0;left:44%;height:36px;background:linear-gradient(135deg,transparent 18%,rgba(230,48,47,.34) 19% 22%,transparent 23% 42%,rgba(45,114,255,.26) 43% 46%,transparent 47%);opacity:.85}.metrics span,.panel-title span{color:var(--muted);font-size:var(--zavpn-text-small)}.metrics strong{font-size:var(--zavpn-text-display);line-height:1}.metrics small{color:var(--green);font-size:var(--zavpn-text-small)}.panel,.state-panel{padding:16px}.two-column,.admin-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:16px;align-items:start}.agents-grid,.interfaces-grid,.topology-grid{grid-template-columns:minmax(0,1fr)}.agents-table-panel,.interfaces-table-panel{min-width:0}.agents-panel-actions{flex-wrap:wrap;row-gap:10px}.agent-cluster-map-panel{min-width:0}.agent-route-explorer{margin-top:14px}.agent-route-focus{min-width:0;padding:14px;border:1px solid var(--line);border-radius:4px;background:linear-gradient(90deg,rgba(142,160,180,.08) 1px,transparent 1px),linear-gradient(180deg,rgba(142,160,180,.08) 1px,transparent 1px),var(--zavpn-bg);background-size:24px 24px}.agents-table-name-col{width:320px}.agents-table-status-col{width:170px}.agents-table-architecture-col{width:150px}.agents-table-version-col{width:120px}.agents-table-last-seen-col{width:190px}.agent-last-seen-age{display:block;margin-top:4px;color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.25}.interfaces-table-name-col{width:260px}.interfaces-table-status-col{width:150px}.interfaces-table-agent-col{width:220px}.interfaces-table-port-col{width:110px}.interfaces-table-traffic-col{width:140px}.account-key-name-col{width:300px}.account-key-direction-col{width:260px}.account-key-application-col{width:170px}.account-key-status-col{width:150px}.account-key-paid-col,.account-billing-date-col{width:190px}.account-billing-amount-col,.account-billing-balance-col{width:140px}.agent-name-cell,.agent-status-cell,.interface-name-cell,.account-key-name-cell{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-width:0}.admin-key-status-cell{display:flex;flex-wrap:wrap;align-items:center;gap:7px 9px;min-width:0}.admin-key-renewal-restriction{display:inline-flex;align-items:center;gap:4px;min-width:0;color:color-mix(in srgb,var(--zavpn-warning-ink) 70%,var(--zavpn-muted-dim));font-size:var(--zavpn-text-caption);font-weight:750;line-height:1.2;white-space:nowrap}.admin-key-renewal-restriction app-icon{width:12px;height:12px;opacity:.82}.agent-name-cell,.interface-name-cell,.account-key-name-cell{width:100%}.account-keys-table .account-key-name-cell{display:flex;flex-wrap:wrap;align-items:center;gap:8px;row-gap:12px}.account-key-name-editor{min-width:0;flex:1 1 auto}.account-keys-table .account-key-name-editor{flex:0 0 auto;max-width:100%}.account-keys-table .account-key-actions{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;row-gap:8px;flex:0 0 auto;margin-left:auto;min-width:0}.account-key-name-cell strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-name-content{display:inline-flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}.agent-name-editor{min-width:0;flex:1 1 auto}.agent-delete-button,.agent-approve-button{width:30px;height:30px;font-size:var(--zavpn-text-lead)}.agent-delete-button{color:var(--zavpn-danger-ink);border-color:#ff4d576b;background:#ff4d5714}.agent-delete-button:hover{border-color:#ff4d579e;background:#ff4d5724}.agent-status-cell{flex-wrap:wrap;row-gap:8px}.agent-health-chip{display:inline-flex;align-items:center;gap:4px;max-width:150px;padding:3px 7px;color:var(--zavpn-warning-ink);border:1px solid rgba(245,158,11,.42);border-radius:999px;background:#f59e0b1a;font-size:var(--zavpn-text-caption);font-weight:800;line-height:1.2}.agent-health-chip app-icon{width:13px;height:13px;flex:0 0 auto}.interface-name-button{min-width:0;border:0;padding:0;color:var(--zavpn-white);background:transparent;font:inherit;font-weight:900;text-align:left;cursor:pointer;overflow-wrap:anywhere}.interface-name-button:hover,.interface-name-button:focus-visible{color:var(--zavpn-info-ink)}.agent-approve-button{color:var(--zavpn-success-soft);border-color:#15b86f70;background:#15b86f1a}.agent-approve-button:hover{border-color:#15b86f9e;background:#15b86f29}.inline-form,.dev-topup-card{display:grid;gap:12px}.inline-money{grid-template-columns:minmax(0,1fr) auto;gap:10px}.quick-amounts{display:flex;flex-wrap:wrap;gap:8px;row-gap:8px}.issued-config-body{display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch;min-height:0}.issued-config-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.issued-config-tab{border:1px solid var(--line-soft);border-radius:999px;padding:9px 14px;color:var(--muted);background:#ffffff0a;font:inherit;font-size:var(--zavpn-text-body);font-weight:800;cursor:pointer}.issued-config-tab.active{border-color:#2d72ff6b;color:var(--ink);background:#2d72ff29}.issued-config-section-label{display:block;margin-bottom:10px;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:900;letter-spacing:.04em;text-transform:uppercase}.issued-config-qr-card,.issued-config-instructions,.issued-config-url-card,.issued-config-json-card{display:grid;gap:10px;min-height:220px;border:1px solid var(--line-soft);border-radius:10px;padding:14px;background:linear-gradient(180deg,#081826eb,#06121deb)}.interfaces-table.hellford-resources-table{table-layout:auto}.hellford-resources-table td{overflow-wrap:anywhere}.hellford-error-cell{max-width:240px}.hellford-error-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hellford-error-cell.past{color:var(--muted)}.hellford-error-cell.current{color:var(--zavpn-warning-ink)}.issued-config-qr-card{justify-items:center;align-content:start}.issued-config-qr-card img{width:100%;max-width:232px;aspect-ratio:1;border:10px solid var(--zavpn-white);border-radius:12px;background:var(--zavpn-white)}.issued-config-qr-card p{max-width:240px;margin:0;color:var(--muted);font-size:var(--zavpn-text-body);line-height:1.45;text-align:center}.issued-config-instructions{display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;height:100%;min-height:0;overflow:hidden}.issued-config-json-card{align-content:start}.issued-config-url-card{min-height:auto;align-content:start}.issued-config-json-card pre{max-height:min(58vh,620px);overflow:auto;margin:0;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;color:var(--zavpn-ink-soft);background:#020a136b;font-size:var(--zavpn-text-small);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.copy-field{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center}.copy-field input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--zavpn-text-small)}.issued-config-instruction-image{display:grid;gap:10px;justify-items:center;align-content:start;min-height:0;max-height:none;overflow:auto;border-radius:12px;background:var(--zavpn-white)}.issued-config-instruction-image img{display:block;width:100%;height:auto;border-radius:inherit}.issued-config-install-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;row-gap:8px;padding:0 0 10px}.issued-config-install-link{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid var(--zavpn-muted-strong);border-radius:8px;padding:0 12px;color:var(--zavpn-disabled-bg);background:var(--zavpn-white);font-size:var(--zavpn-text-small);font-weight:800;text-decoration:none}.issued-config-install-link:hover,.issued-config-install-link:focus-visible{border-color:var(--zavpn-blue);color:color-mix(in srgb,var(--zavpn-blue) 75%,black)}.issued-config-instruction-empty{display:grid;place-items:center;min-height:220px;color:var(--muted);font-size:var(--zavpn-text-body);font-weight:700;text-align:center}.issued-config-platform-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:5px;border:1px solid rgba(45,114,255,.2);border-radius:14px;background:#020a1357}.issued-config-platform-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid transparent;border-radius:10px;padding:0 8px;color:var(--zavpn-muted-soft);background:transparent;font:inherit;font-size:var(--zavpn-text-small);font-weight:900;cursor:pointer}.issued-config-platform-tab app-icon{width:15px;height:15px}.issued-config-platform-tab.active,.issued-config-platform-tab:hover{color:var(--zavpn-ink);border-color:#2d72ff66;background:#2d72ff29}.table-panel{overflow:hidden}.agents-table-panel table,.agents-table,.interfaces-table-panel table,.interfaces-table,.account-keys-table,.account-billing-table,.account-api-tokens-table{table-layout:fixed}.account-api-intro{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:12px 0 18px}.account-api-description{max-width:760px;color:var(--muted);font-size:var(--zavpn-text-body);line-height:1.55}.account-api-doc-link{flex:0 0 auto;border:0;padding:0;color:var(--blue);background:transparent;font-size:var(--zavpn-text-body);font-weight:700;text-decoration:none;cursor:pointer}.account-api-doc-link:hover{text-decoration:underline}.account-api-doc-frame{width:100%;min-height:900px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.account-api-token-name-col{width:24%}.account-api-token-prefix-col{width:19%}.account-api-token-permissions-col{width:23%}.account-api-token-date-col,.account-api-token-expiry-col{width:17%}.account-api-token-name-cell,.service-token-name-cell{display:flex;align-items:center;justify-content:space-between;gap:10px}.account-api-token-name-cell .icon-button,.service-token-name-cell .icon-button{flex:0 0 auto}.account-api-tokens-table code,.service-tokens-table code{color:var(--zavpn-muted-strong);font-size:var(--zavpn-text-small)}.service-token-secret-hint{color:var(--muted);font-size:var(--zavpn-text-body);line-height:1.5}.account-api-token-form,.service-token-form{display:grid;gap:16px}.account-api-token-permissions,.service-token-permissions{display:grid;gap:10px;margin:0;border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:12px 14px 14px}.account-api-token-permissions legend,.service-token-permissions legend{padding:0 6px;color:var(--zavpn-ink-soft);font-size:var(--zavpn-text-body);font-weight:800}.account-api-token-permissions label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.service-token-permissions label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:flex;align-items:center;gap:10px;min-height:24px;color:var(--ink);cursor:pointer}.account-api-token-permissions input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.service-token-permissions input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){flex:0 0 auto}.account-api-token-form button.btn:disabled,.service-token-form button.btn:disabled{color:var(--zavpn-disabled-ink);background:var(--zavpn-disabled-bg);border-color:var(--zavpn-line);box-shadow:none}.agents-table-panel th:nth-child(1),.agents-table-panel td:nth-child(1),.agents-table th:nth-child(1),.agents-table td:nth-child(1),.interfaces-table-panel th:nth-child(1),.interfaces-table-panel td:nth-child(1),.interfaces-table th:nth-child(1),.interfaces-table td:nth-child(1){width:320px;max-width:320px}.interfaces-table-panel th:nth-child(1),.interfaces-table-panel td:nth-child(1),.interfaces-table th:nth-child(1),.interfaces-table td:nth-child(1){width:260px;max-width:260px}.agents-table-panel td:nth-child(1),.agents-table td:nth-child(1),.interfaces-table-panel td:nth-child(1),.interfaces-table td:nth-child(1){overflow:hidden}.account-keys-table th:nth-child(1),.account-keys-table td:nth-child(1){width:300px;max-width:300px;overflow:hidden}.table-actions{gap:8px;row-gap:8px;justify-content:flex-end;flex-wrap:wrap}.table-filters{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:10px;align-items:end;margin:0 0 14px}.table-filters label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){margin:0}.table-filters label span{display:block;margin-bottom:5px}.table-filters .btn{min-height:44px}.agent-version-cell{display:inline-flex;align-items:center;gap:8px;min-width:0}.agent-update-button,.key-rotate-button,.key-cancel-button,.key-auto-renew-button,.key-extend-button,.key-remote-config-button,.key-details-button{width:30px;height:30px;font-size:var(--zavpn-text-lead)}.key-auto-renew-button.active{color:var(--zavpn-success-ink);border-color:#15b86f7a;background:#15b86f1f}.key-paid-cell{display:grid;justify-items:start;gap:8px;width:100%;min-width:0}.key-paid-actions{display:flex;align-items:center;gap:8px}.key-auto-renew-hint{display:inline-flex}.key-paid-cell>span{white-space:nowrap}.key-duration-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin:0;padding:0;border:0}.key-duration-options legend,.key-create-direction-options legend,.key-create-section-title{grid-column:1/-1;margin-bottom:2px;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:800;line-height:1.2;text-transform:uppercase}.key-create-section-title{display:block}.key-duration-options label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:62px;border:1px solid var(--line-soft);border-radius:8px;padding:14px 16px;background:#ffffff0a;color:var(--ink);cursor:pointer;font-weight:800;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.key-duration-options label.active{border-color:#5c97ffd1;background:#2d72ff21;box-shadow:0 0 0 1px #2d72ff66}.key-duration-options label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):has(.key-duration-input:focus-visible){outline:2px solid rgba(170,211,255,.78);outline-offset:2px}.key-duration-input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.key-duration-radio{display:inline-grid;place-items:center;width:18px;height:18px;border:2px solid rgba(154,176,201,.84);border-radius:999px;background:#050f1bb8}.key-duration-radio:after{content:"";width:8px;height:8px;border-radius:inherit;background:transparent}.key-duration-options label.active .key-duration-radio{border-color:var(--zavpn-info-ink)}.key-duration-options label.active .key-duration-radio:after{background:var(--zavpn-info-ink)}.key-duration-options strong{color:var(--accent)}.key-duration-summary{display:grid;gap:10px;border:1px solid var(--line-soft);border-radius:8px;padding:14px 16px;background:#070d185c;color:var(--muted);font-size:var(--zavpn-text-body);font-weight:700}.key-duration-summary strong{color:var(--ink)}.key-extend-lead{margin:0;color:var(--muted)}.key-duration-monthly{display:block;margin-top:2px;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:400}.key-extend-auto-renew{display:grid;gap:8px;border-top:1px solid var(--line-soft);padding-top:14px}.key-extend-auto-renew .hint{margin:0;line-height:1.5}.key-extend-dialog>div:not(.dialog-loading-state){display:grid;gap:var(--dialog-section-gap, 18px)}.key-create-empty-state{display:grid;gap:0}.key-create-empty-state .notice{margin:0}.key-create-wizard-dialog{width:min(1120px,100vw - 32px);height:min(760px,100dvh - 32px);max-height:calc(100dvh - 32px);grid-template-rows:auto minmax(0,1fr);overflow:hidden}.key-create-wizard-dialog.key-create-compact-dialog{height:auto;min-height:0;overflow:auto}.key-create-wizard-body{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:var(--dialog-section-gap, 18px);min-height:0}.key-create-compact-dialog .key-create-wizard-body,.key-create-compact-dialog .key-create-wizard-body.key-create-expert-body{grid-template-rows:auto auto auto}.key-create-wizard-body.key-create-expert-body{grid-template-rows:auto minmax(0,1fr);gap:var(--dialog-section-gap, 18px)}.key-create-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}.key-create-title-row small{display:block;align-self:end;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:800;line-height:1.2;text-align:right;white-space:nowrap}.key-create-progress{display:grid;gap:4px;margin-bottom:18px}.key-create-progress span{height:3px;border-radius:999px;background:#ffffff14}.key-create-progress span.active{background:var(--zavpn-blue)}.key-create-step{display:grid;gap:var(--dialog-section-gap, 18px);min-height:0;overflow:auto;padding-right:2px}.key-create-compact-dialog .key-create-step,.key-create-welcome-step{overflow:visible;padding-right:0}.key-create-mode-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.key-create-mode-option{min-height:126px}.key-create-expert-step{align-content:start;gap:var(--dialog-section-gap, 18px);overflow:auto}.key-create-expert-step>label{gap:var(--form-control-gap, 8px)}.key-create-expert-step .key-duration-options legend{margin-bottom:8px}.key-create-expert-step .key-duration-options{gap:14px 16px}.key-create-expert-step .key-duration-options label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-height:48px}.key-create-expert-step .key-create-auto-renew{margin-top:2px}.key-create-welcome,.key-create-step-copy{display:grid;gap:4px;border:0;padding:0;background:transparent}.key-create-welcome strong,.key-create-step-copy strong{color:var(--ink);font-size:var(--zavpn-text-base)}.key-create-welcome span,.key-create-step-copy span{color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.4}.key-create-choice-list{display:grid;gap:10px;margin:0;border:0;padding:0}.key-create-choice-list legend{margin-bottom:2px;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:900;text-transform:uppercase}.key-create-choice-list label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-width:0;border:1px solid var(--line-soft);border-radius:8px;padding:10px 11px;color:var(--ink);background:transparent}.key-create-choice-list label.active{border-color:#2d72ffb3;background:#2d72ff17}.key-create-choice-list label.disabled{cursor:not-allowed;opacity:.62}.key-create-choice-list input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){width:18px;height:18px}.key-create-choice-list span{display:grid;gap:3px;min-width:0}.key-create-choice-list small{color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35}.key-create-direction-picker{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:2px}.key-create-direction-options{display:grid;min-width:0;min-height:0;margin:0;padding:0;border:0}.key-create-direction-options legend{margin-bottom:8px}.key-create-direction{display:grid;flex:0 0 auto;grid-template-columns:18px minmax(0,7fr) minmax(0,3fr);column-gap:10px;row-gap:3px;align-items:start;width:100%;min-width:0;min-height:48px;border:1px solid var(--line-soft);border-radius:8px;padding:8px 10px;color:var(--ink);text-align:left;background:#04152257;cursor:pointer}.key-create-direction:not(:has(.key-create-app-chips)){grid-template-columns:18px minmax(0,1fr)}.key-create-direction.active{border-color:#2d72ffc7;background:#2d72ff1a}.key-create-direction:disabled{cursor:not-allowed;opacity:.62}.key-create-direction-unavailable{display:block;margin-top:4px;color:var(--zavpn-warning-bright);font-weight:800}.key-create-direction-radio{grid-column:1;grid-row:1/span 2;align-self:center;display:block;width:14px;height:14px;border:2px solid rgba(220,236,255,.45);border-radius:999px;background:#ffffff14}.key-create-direction.active .key-create-direction-radio{border-color:var(--zavpn-info-ink);box-shadow:inset 0 0 0 3px #0b2033;background:var(--zavpn-info-ink)}.key-create-direction-copy{grid-column:2;grid-row:1;display:grid;gap:3px;min-width:0}.key-create-direction strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-create-direction small{overflow:hidden;color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.key-create-direction .key-create-direction-description{grid-column:auto;grid-row:auto;min-width:0;max-width:100%;overflow:hidden;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.key-create-direction .key-create-offer-limits{color:var(--ink-soft)}.key-create-topology-search{display:grid;gap:5px;margin:0 0 2px}.key-create-topology-search span,.key-create-direction-count{color:var(--muted);font-size:var(--zavpn-text-caption);font-weight:900;text-transform:uppercase}.key-create-topology-search input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-height:40px}.key-create-direction-count{display:flex;justify-content:flex-end;margin:-2px 0 2px}.key-create-app-chips{grid-column:3;grid-row:1/span 2;align-self:center;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;row-gap:5px;min-width:0;max-width:100%}.key-create-app-chip{display:inline-flex;align-items:center;gap:5px;min-height:24px;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:2px 8px 2px 4px;color:var(--muted);background:#ffffff0a;font-size:var(--zavpn-text-caption);font-weight:850;white-space:nowrap}.key-create-app-chip app-icon{width:16px;height:16px}.key-create-expert-direction-picker{max-height:min(42dvh,380px)}.key-create-expert-direction-select{display:none;gap:6px}.key-create-expert-direction-select>span{color:var(--muted);font-size:var(--zavpn-text-small);font-weight:900}.key-create-expert-direction-select small{overflow:hidden;color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.key-create-expert-direction-select .key-create-expert-direction-description{display:block;max-width:100%;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.traffic-pricing-notice{display:grid;gap:12px;padding:14px 16px}.traffic-pricing-copy{display:grid;gap:4px;min-width:0}.traffic-pricing-copy strong,.traffic-pricing-copy span{overflow-wrap:anywhere}.traffic-pricing-copy strong{font-size:var(--zavpn-text-base);line-height:1.4}.traffic-pricing-copy span{color:var(--zavpn-warning-ink);font-weight:650}.traffic-pricing-acceptance{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;color:var(--ink);font-size:var(--zavpn-text-body);line-height:1.35;cursor:pointer}.traffic-pricing-acceptance input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){width:18px;height:18px;margin:0;accent-color:var(--zavpn-amber)}.key-create-app-list{display:grid;gap:10px}.key-create-app-option{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;width:100%;border:1px solid var(--line-soft);border-radius:8px;padding:10px 11px;color:var(--ink);text-align:left;background:transparent;cursor:pointer}.key-create-app-option.active{border-color:#2d72ffb3;background:#2d72ff17}.key-create-app-logo{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:var(--zavpn-ink);background:#ffffff0d;font-size:var(--zavpn-text-base);font-weight:900}.key-create-app-logo app-icon{width:24px;height:24px}.key-create-app-option>span:last-child{display:grid;gap:3px;min-width:0}.key-create-app-option small{color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35}.key-create-connection-state{display:inline-flex;align-items:center;gap:8px;width:fit-content;border:1px solid rgba(255,77,87,.26);border-radius:8px;padding:8px 10px;color:var(--zavpn-danger-ink);background:transparent}.key-create-connection-state.connected{border-color:#10b98157;color:var(--zavpn-success-soft);background:transparent}.key-create-connection-dot{width:10px;height:10px;border-radius:999px;background:var(--zavpn-danger)}.key-create-connection-state.connected .key-create-connection-dot{background:var(--green)}.key-create-connection-state strong{font-size:var(--zavpn-text-body)}.key-create-config-loading{display:inline-flex;align-items:center;gap:10px;width:fit-content;border:1px solid var(--line-soft);border-radius:8px;padding:10px 12px;color:var(--muted);background:#ffffff0a;font-size:var(--zavpn-text-body);font-weight:800}.key-create-auto-renew{color:var(--ink)}.key-create-wizard-dialog .dialog-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.key-create-wizard-dialog .key-create-step>.dialog-actions{position:sticky;bottom:0;margin:0 -2px -18px;padding:12px 0 18px;background:linear-gradient(180deg,#07182600,#071826fa 22px)}.key-create-compact-dialog .key-create-step>.dialog-actions{position:static;margin:14px 0 0;padding:0;background:transparent}.key-create-wizard-dialog .key-create-expert-step>.dialog-actions{margin-top:12px}.key-create-wizard-dialog .issued-config-json-card pre{max-height:clamp(180px,32dvh,360px)}.key-create-wizard-dialog .dialog-actions app-icon{width:18px;height:18px}.table-pagination,.pagination-actions{display:flex;align-items:center}.table-pagination{justify-content:space-between;gap:14px;border-top:1px solid var(--line-soft);padding-top:14px;color:var(--muted);font-size:var(--zavpn-text-body);font-weight:800}.pagination-actions{justify-content:flex-end;gap:10px;row-gap:10px;flex-wrap:wrap}.pagination-button{width:34px;height:34px}.pagination-actions span{color:var(--ink);white-space:nowrap}.wide-actions{min-width:300px}.wide-actions input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){max-width:190px}.empty-cell{padding:28px 12px;color:var(--muted);text-align:center}.customers-list{display:grid;gap:8px}.customer-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid transparent;border-radius:6px;padding:12px;color:var(--zavpn-ink-soft);background:transparent;text-align:left;font:inherit;cursor:pointer}.customer-row:hover,.customer-row.active{border-color:var(--zavpn-line-strong);background:var(--zavpn-panel)}.customer-row small{display:block;margin-top:2px;color:var(--muted)}.customer-balance-cell{display:inline-flex;align-items:center;gap:10px;min-width:0}.customer-balance-cell span{min-width:82px;color:var(--zavpn-white);font-weight:900;white-space:nowrap}.btn-compact{min-height:32px;padding:0 10px}.wizard-panel{display:grid;gap:14px}.agent-onboarding-dialog{width:min(920px,100vw - 32px)}.agent-onboarding-choice,.agent-onboarding-flow{display:grid;gap:14px}.agent-onboarding-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-onboarding-option{display:grid;gap:7px;min-height:116px;border:1px solid var(--line);border-radius:8px;padding:16px;color:var(--zavpn-ink);background:var(--zavpn-bg-elevated);text-align:left;font:inherit;cursor:pointer}.agent-onboarding-option:hover{border-color:var(--zavpn-line-strong);background:var(--zavpn-panel)}.agent-onboarding-option:disabled{cursor:not-allowed;opacity:.55}.agent-onboarding-option strong{color:var(--zavpn-white);font-size:var(--zavpn-text-lead);line-height:1.2}.agent-onboarding-option small,.modal-section-head span{color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35}.modal-section-head,.agent-onboarding-start{display:flex;gap:12px;align-items:center;justify-content:space-between}.modal-section-head h3{margin:0;color:var(--zavpn-white);font-size:var(--zavpn-text-lead);line-height:1.2}.wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wizard-steps span{min-height:34px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;color:var(--muted);background:var(--zavpn-bg-elevated);font-size:var(--zavpn-text-small);font-weight:900;text-align:center}.wizard-steps span.active{color:var(--zavpn-white);border-color:#2d72ff8a;background:#2d72ff29}.inline-form-grid{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(220px,1.8fr) minmax(100px,.5fr);gap:12px;align-items:end}.cluster-section{gap:16px}.cluster-endpoint-row label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.cluster-policy-grid label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){color:var(--muted);font-size:var(--zavpn-text-small);font-weight:900}.cluster-endpoint-list{display:grid;gap:10px}.cluster-endpoint-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(260px,2fr) minmax(90px,.55fr) minmax(170px,1fr) minmax(130px,.8fr) auto;gap:10px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:6px;background:#071a2ab8}.cluster-endpoint-row label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.cluster-policy-grid label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;gap:6px}.cluster-endpoint-row select:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.cluster-endpoint-row input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.cluster-policy-grid input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *))[type=number]{width:100%}.cluster-policy-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.55fr) repeat(3,minmax(150px,.8fr));gap:12px;align-items:end}.cluster-policy-grid .toggle-row{display:flex!important;min-height:42px;flex-direction:row!important;align-items:center;gap:8px!important}.cluster-policy-grid .toggle-row input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *))[type=checkbox]{width:18px;height:18px}@media(max-width:860px){.cluster-endpoint-row,.cluster-policy-grid{grid-template-columns:1fr}.cluster-endpoint-row .icon-button{justify-self:start}}.checks-list{display:grid;gap:8px}.check-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:4px 12px;border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:var(--zavpn-bg-elevated)}.check-row strong{color:var(--zavpn-white)}.check-row span{min-width:92px;color:var(--zavpn-muted-strong);font-size:var(--zavpn-text-small);font-weight:900;text-align:right}.check-row small{color:var(--muted);grid-column:1/-1}.check-row.ok{border-color:#15b86f6b}.check-row.missing,.check-row.warning{border-color:#f59e0b80}.check-row.unsupported,.check-row.error{border-color:#ff4d5780}.deployment-release-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.deployment-release-row label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-width:0}@media(max-width:480px){.deployment-release-row{grid-template-columns:1fr;align-items:stretch}}.deployment-log{display:grid;gap:8px}.deployment-log pre{max-height:280px;margin:0;overflow:auto;border:1px solid var(--line-soft);border-radius:6px;padding:12px;color:var(--zavpn-muted-strong);background:var(--zavpn-bg-deep);font-size:var(--zavpn-text-small);line-height:1.45}.token-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.token-copy-row input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-width:0;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:var(--zavpn-text-small)}.agent-card{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--zavpn-bg-elevated)}.agent-card strong{display:block;color:var(--zavpn-white);font-size:var(--zavpn-text-body);overflow-wrap:anywhere}.agent-card small{display:block;margin-top:3px;color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35}.switch-row{display:inline-flex;align-items:center;gap:8px;min-height:24px}.switch-row input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *))[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--green)}.interface-delete-button{width:30px;height:30px;color:var(--zavpn-danger-ink);border-color:#ff4d576b;background:#ff4d5714}.interface-delete-button:hover{border-color:#ff4d579e;background:#ff4d5724}.interface-create-dialog{width:min(760px,100vw - 32px)}.interface-details-dialog{width:min(980px,100vw - 32px)}.admin-key-details-dialog{display:flex;flex-direction:column;width:min(1040px,100vw - 32px);overflow:hidden}.admin-key-sessions-section{display:flex;flex:1 1 auto;min-height:0;overflow:hidden;flex-direction:column;gap:12px}.admin-key-sessions-table-wrap{width:100%;max-height:min(55vh,560px);max-height:min(55dvh,560px);overflow:auto;border-bottom:1px solid var(--line-soft)}.admin-key-sessions-table{min-width:760px}.admin-key-sessions-table thead th{position:sticky;top:0;z-index:1;background:var(--zavpn-panel)}.admin-key-renewal-section{display:grid;gap:12px}.admin-key-network-section{display:grid;gap:16px}.admin-key-anti-fraud-reset{gap:16px;align-items:center}.admin-key-anti-fraud-reset small{flex:1 1 auto;min-width:0}.admin-key-anti-fraud-reset button{flex:0 0 auto;white-space:nowrap}.admin-key-anti-fraud-section{display:grid;flex:1 1 auto;align-content:start;gap:14px;min-height:0;overflow-y:auto}.admin-key-anti-fraud-section .admin-key-anti-fraud-facts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--zavpn-space-xs) var(--zavpn-space-md);margin:0;color:var(--muted);font-size:var(--zavpn-text-body)}.admin-key-anti-fraud-facts strong{color:var(--ink)}.admin-key-renewal-access-command{align-items:center;border:1px solid var(--line-soft);border-radius:8px;padding:12px;background:#ffffff0a}.admin-key-renewal-access-command>div{min-width:0}.key-session-period,.key-session-traffic{display:grid;gap:4px}.key-session-period strong,.key-session-traffic strong{color:var(--ink);font-size:var(--zavpn-text-body)}.key-session-period small,.key-session-traffic small{color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35}.agent-capabilities-list{display:flex;flex-wrap:wrap;gap:8px;row-gap:8px}.agent-capability-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#ffffff0d;font-family:var(--mono);font-size:var(--zavpn-text-small);line-height:1.2;overflow-wrap:anywhere}.agent-capability-chip.active{border-color:#40c0708c}.agent-capability-chip.inactive{border-color:#e060608c}.agent-capability-mark{margin-right:6px;font-weight:600}.agent-capability-chip.active .agent-capability-mark{color:#60d088}.agent-capability-chip.inactive .agent-capability-mark{color:#e87878}.dialog-head small{display:block;margin-top:6px;color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35}.interface-create-form{gap:14px}.interface-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.interface-create-grid label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;gap:7px;min-width:0}.interface-role-controls{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.interface-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.interface-settings-grid label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;gap:7px;min-width:0}.interface-settings-grid input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.interface-settings-grid textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.interface-settings-grid select:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.topology-block-form input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.topology-block-form textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.topology-block-form select:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){max-width:100%}.role-list{display:flex;flex-wrap:wrap;gap:5px;row-gap:5px;margin-top:7px}.role-list em{border:1px solid rgba(86,157,217,.3);border-radius:999px;padding:2px 7px;color:var(--zavpn-info-ink);background:#3470a429;font-size:var(--zavpn-text-caption);font-style:normal;line-height:1.2}.settings-group{display:grid;gap:10px;border-top:1px solid var(--line-soft);padding-top:14px}.topology-offer-list{display:grid;gap:10px}.topology-offer-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;padding:12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-soft)}.topology-offer-row label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-width:0}.topology-offer-remove{min-height:42px}.checkbox-list{display:grid;gap:8px}.section-title-row,.peer-tree-heading,.peer-node-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-title-row h3{margin-bottom:3px}.section-title-row small,.peer-node-head small{color:var(--muted);font-size:var(--zavpn-text-small)}.interface-peer-tree,.interface-peers-table-section{gap:14px}.wg-peers-table-wrap{overflow-x:auto;border:1px solid var(--line-soft);border-radius:8px}.wg-peers-table{min-width:920px;table-layout:fixed;background:#ffffff04}.wg-peers-table th,.wg-peers-table td{padding:10px 12px;vertical-align:top}.wg-peers-table th{color:var(--muted);font-size:var(--zavpn-text-caption);letter-spacing:0;text-transform:uppercase}.wg-peers-table td{border-top:1px solid var(--line-soft);color:var(--zavpn-ink-soft);font-size:var(--zavpn-text-body)}.wg-peers-table th:nth-child(1),.wg-peers-table td:nth-child(1){width:92px}.wg-peers-table th:nth-child(2),.wg-peers-table td:nth-child(2){width:180px}.wg-peers-table th:nth-child(3),.wg-peers-table td:nth-child(3){width:170px}.wg-peers-table th:nth-child(5),.wg-peers-table td:nth-child(5),.wg-peers-table th:nth-child(6),.wg-peers-table td:nth-child(6){width:150px}.wg-peers-table th:nth-child(7),.wg-peers-table td:nth-child(7){width:120px}.wg-peers-table code{color:var(--zavpn-muted-strong);font:inherit;overflow-wrap:anywhere}.wg-peers-table small,.wg-peer-name small{display:block;margin-top:3px;color:var(--muted);font-size:var(--zavpn-text-small)}.wg-peer-name{display:grid;gap:2px;min-width:0}.wg-peer-name strong,.wg-peers-table td{overflow-wrap:anywhere}.peer-type-pill{display:inline-flex;align-items:center;min-height:24px;border:1px solid rgba(35,196,142,.28);border-radius:999px;padding:0 8px;color:var(--zavpn-success-soft);background:#23c48e1a;font-size:var(--zavpn-text-small);font-weight:900}.peer-type-pill.topology{border-color:#2d72ff4d;color:var(--zavpn-info-ink);background:#2d72ff1f}.agent-details-dialog{display:flex;flex-direction:column;width:min(980px,100vw - 32px);overflow:hidden}.agent-details-tabs{flex:0 0 auto;overflow-x:auto;scrollbar-width:thin}.agent-details-body{display:grid;flex:1 1 auto;min-height:0;align-content:start;gap:var(--dialog-block-gap, 20px);overflow-y:auto;padding-right:4px}.agent-summary-panel{display:grid;gap:12px}.agent-control-plane-access{display:grid;gap:6px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--zavpn-bg-elevated)}.agent-control-plane-access-options{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:4px}.agent-control-plane-access-options label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:flex;align-items:center;gap:7px}.agent-journal-settings-content{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px 26px;padding:0 16px 16px}.agent-journal-settings-content .agent-logging-mode,.agent-journal-settings-content .agent-logging-buffer,.agent-logging-manifest-interval,.agent-logging-buffer-settings label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;gap:6px;align-content:start;justify-items:start}.agent-journal-settings-content .agent-logging-mode>span,.agent-journal-settings-content .agent-logging-buffer>span,.agent-logging-manifest-interval>span,.agent-logging-buffer-settings label>span{color:var(--muted);font-size:var(--zavpn-text-small)}.agent-logging-buffer-settings{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px 26px}.agent-logging-buffer-settings label>input,.agent-logging-manifest-interval>input{width:110px}.agent-logging-buffer-settings>small,.agent-logging-manifest-interval>small{flex-basis:100%;max-width:420px;color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35}.agent-country{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--zavpn-bg-elevated)}.agent-country-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.agent-country-value>span,.agent-country-source,.agent-country-attribution,.agent-country-form label>span{color:var(--muted);font-size:var(--zavpn-text-small)}.agent-country-attribution a{color:inherit}.agent-country-actions,.agent-country-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px}.agent-country-form label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;gap:6px}.agent-country-cell{display:flex;width:fit-content;margin-top:4px;color:var(--muted);font-size:var(--zavpn-text-small)}.peer-tree-section{display:grid;gap:8px}.peer-tree-heading{align-items:center;border:1px solid var(--line-soft);border-radius:8px;padding:9px 11px;background:#ffffff05}.peer-tree-heading span{display:inline-grid;min-width:28px;min-height:24px;place-items:center;border-radius:999px;color:var(--zavpn-info-ink);background:#2d72ff2e;font-size:var(--zavpn-text-small);font-weight:900}.peer-node{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--zavpn-bg-deep)}.diagnostic-journal{gap:14px}.topology-journal-view{align-items:start}.topology-journal-scope-tabs{position:relative;z-index:2;display:flex;width:100%;max-width:100%;overflow-x:auto;pointer-events:auto}.topology-journal-scope-tabs button{pointer-events:auto}.topology-journal-scope-tabs button:hover,.topology-journal-scope-tabs button:focus-visible{color:var(--zavpn-white);background:#ffffff14;outline:none}.inline-input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}@media(max-width:480px){.inline-input-action{grid-template-columns:1fr}}.peer-node-head strong{overflow-wrap:anywhere}.topology-peer-node{border-color:#2d72ff42}.settings-group h3{margin:0;color:var(--zavpn-white);font-size:var(--zavpn-text-lead);line-height:1.2}.toggle-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;margin:0;border:1px solid var(--line);border-radius:8px;padding:12px;color:var(--zavpn-ink-soft);background:var(--zavpn-bg-elevated);cursor:pointer}.compact-toggle{grid-template-columns:38px minmax(0,1fr);padding:10px}.compact-toggle .toggle-control{width:36px;height:22px}.compact-toggle .toggle-control:after{top:3px;left:3px;width:14px;height:14px}.compact-toggle input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):checked+.toggle-control:after{transform:translate(14px)}.toggle-row input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.toggle-control{position:relative;display:block;width:42px;height:24px;border:1px solid var(--zavpn-line-strong);border-radius:999px;background:var(--zavpn-disabled-bg);transition:background .18s ease,border-color .18s ease}.toggle-control:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--zavpn-muted-soft);transition:transform .18s ease,background .18s ease}.toggle-row input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):checked+.toggle-control{border-color:#15b86f94;background:#15b86f33}.toggle-row input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):checked+.toggle-control:after{background:var(--zavpn-success-ink);transform:translate(18px)}.toggle-row strong{display:block;color:var(--zavpn-white);font-size:var(--zavpn-text-base);line-height:1.25}.toggle-row small{display:block;margin-top:5px;color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.4}.topology-library,.topology-builder{display:grid;gap:14px}.topology-create-form{display:grid;gap:16px;min-width:0}.topology-create-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.topology-create-grid label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;gap:7px;min-width:0}.topology-create-grid textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-height:96px;font-family:inherit}.topology-name-editor{min-width:0}.topology-apply-actions{justify-content:flex-start}.topology-diagnostic-state{align-self:center;color:var(--text-muted);font-size:var(--zavpn-text-body)}.topology-metadata-view{max-width:760px}.topology-countries{display:grid;gap:8px}.topology-country{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.topology-country>span,.topology-country>small,.topology-countries-hint{color:var(--muted);font-size:var(--zavpn-text-small)}.topology-metadata-view textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-height:132px;font-family:inherit;font-size:var(--zavpn-text-base);line-height:1.5}.topology-editor-footer{border-top:1px solid var(--line-soft);padding-top:14px}.validation-list{display:grid;gap:8px}.validation-list span{border:1px solid rgba(245,158,11,.42);border-radius:6px;padding:9px 11px;color:var(--zavpn-warning-ink);background:#f59e0b1a;font-size:var(--zavpn-text-small);line-height:1.35}.topology-chain,.topology-available{display:grid;gap:8px}.topology-block-chain{gap:10px}.topology-block{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:14px;align-items:start;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--zavpn-bg-elevated)}.topology-block.status-stale,.topology-node.status-stale,.topology-diagram-node.status-stale{border-color:#f59e0b9e;background:#f59e0b17;box-shadow:inset 0 0 0 1px #f59e0b1a}.topology-block.status-error,.topology-node.status-error,.topology-diagram-node.status-error{border-color:#ff4d5794;background:#ff4d5717;box-shadow:inset 0 0 0 1px #ff4d571a}.topology-block.status-pending,.topology-node.status-pending,.topology-diagram-node.status-pending{border-color:#2d72ff7a;background:#2d72ff14}.topology-block strong,.topology-block small{display:block;min-width:0;overflow-wrap:anywhere}.topology-block small{margin-top:4px;color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35}.block-type{display:inline-flex;align-items:center;min-height:22px;margin-bottom:8px;border:1px solid var(--zavpn-line-strong);border-radius:999px;padding:2px 9px;color:var(--zavpn-ink-soft);background:var(--zavpn-panel-strong);font-size:var(--zavpn-text-caption);font-weight:700;line-height:1;text-transform:uppercase}.topology-node-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0}.topology-node-heading strong,.topology-node-heading .block-type{min-width:0}.status-dot{display:inline-block;width:9px;height:9px;border:1px solid var(--zavpn-muted);border-radius:999px;background:var(--zavpn-muted);box-shadow:0 0 0 3px #7890a824}.status-dot.active,.status-dot.online{border-color:var(--zavpn-success-ink);background:var(--zavpn-success-ink);box-shadow:0 0 0 3px #15b86f29}.status-dot.pending,.status-dot.pending_approval,.status-dot.updating{border-color:var(--zavpn-info-ink);background:var(--zavpn-info-ink);box-shadow:0 0 0 3px #2d72ff29}.status-dot.error,.status-dot.expired{border-color:var(--zavpn-warning-ink);background:var(--zavpn-warning-ink);box-shadow:0 0 0 3px #f59e0b29}.status-dot.disabled,.status-dot.revoked,.status-dot.offline,.status-dot.stale,.status-dot.invalid{border-color:var(--zavpn-muted-soft);background:var(--zavpn-muted-soft);box-shadow:0 0 0 3px #9eb0c324}.status-dot.role-applied{border-color:var(--zavpn-success-ink);background:var(--zavpn-success-ink);box-shadow:0 0 0 3px #15b86f29}.status-dot.role-saved{border-color:var(--zavpn-muted-soft);background:var(--zavpn-muted-soft);box-shadow:0 0 0 3px #9eb0c324}.status-dot.role-pending{border-color:var(--zavpn-warning-ink);background:var(--zavpn-warning-ink);box-shadow:0 0 0 3px #f59e0b29}.status-dot.role-degraded{border-color:var(--zavpn-warning-bright);background:var(--zavpn-warning-bright);box-shadow:0 0 0 3px #facc152e}.status-dot.role-invalid,.status-dot.role-unhealthy{border-color:var(--zavpn-danger);background:var(--zavpn-danger);box-shadow:0 0 0 3px #ff4d5729}.status-dot.role-draft{border-color:var(--zavpn-muted-soft);background:transparent;box-shadow:0 0 0 3px #9eb0c31a}.topology-block-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end;min-width:0}.topology-block-form label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;gap:5px;min-width:0}.topology-block-form label.toggle-row{display:flex}.topology-block-form>.form-actions{grid-column:1/-1;margin-top:0}.topology-block-form span{color:var(--muted);font-size:var(--zavpn-text-caption)}.topology-block-form input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-width:0}.topology-inspector-section .inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.ingress-block{border-color:#36d39966}.egress-block{border-color:#60a5fa66}.topology-interface-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--zavpn-bg-elevated)}.topology-interface-row.disabled{opacity:.72}.topology-interface-row.disabled .position-badge{color:var(--zavpn-muted-soft);background:var(--zavpn-panel)}.topology-interface-row strong,.topology-interface-row small{display:block;min-width:0;overflow-wrap:anywhere}.topology-interface-row small{margin-top:3px;color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35}.position-badge{display:inline-grid;min-width:30px;height:30px;place-items:center;border:1px solid var(--zavpn-line-strong);border-radius:999px;padding-inline:8px;color:var(--zavpn-white);background:var(--zavpn-panel-strong);font-size:var(--zavpn-text-small);font-weight:900}.topology-edge{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(150px,auto) auto;gap:12px;align-items:center;border:1px solid rgba(96,165,250,.34);border-radius:8px;padding:10px 12px;background:#60a5fa12}.topology-edge.disconnected{border-style:dashed;border-color:#f59e0b7a;background:#f59e0b14}.topology-edge-main{display:grid;gap:3px;min-width:0}.topology-edge-main strong,.topology-edge-main small{min-width:0;overflow-wrap:anywhere}.topology-edge-main small{color:var(--muted);font-size:var(--zavpn-text-small)}.topology-edge select:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-width:150px}.topology-edge-delete-button{color:var(--zavpn-danger-ink);border-color:#ff4d576b;background:#ff4d5714}.topology-palette,.topology-inspector{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--zavpn-bg-deep)}.topology-palette h3,.topology-inspector h3{margin:0;color:var(--zavpn-white);font-size:var(--zavpn-text-base);line-height:1.2}.topology-palette h3:not(:first-child){margin-top:8px}.topology-palette-section{display:grid;gap:8px}.topology-palette-section+.topology-palette-section,.topology-palette-section+.topology-palette-heading{margin-top:8px}.topology-palette-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.topology-palette-heading h3{min-width:0}.topology-palette-heading .icon-button{flex:0 0 auto}.topology-palette-agent-heading{margin-bottom:-2px}.topology-palette-search{display:grid;gap:5px;min-width:0}.topology-palette-search span{color:var(--muted);font-size:var(--zavpn-text-caption);font-weight:800;letter-spacing:0}.topology-palette-search input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--zavpn-ink-soft);background:var(--zavpn-bg);font:inherit;font-size:var(--zavpn-text-small);outline:none}.topology-palette-search input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):focus{border-color:#60a5fab3;box-shadow:0 0 0 2px #60a5fa29}.topology-palette-list,.topology-palette-agent-list{display:grid;gap:8px}.topology-palette-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:54px;border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--zavpn-ink-soft);background:var(--zavpn-bg-elevated);text-align:left}.topology-palette-item:hover{border-color:#60a5fa8c;background:var(--zavpn-panel)}.topology-palette-agent-card{display:grid;gap:8px;align-items:start;width:100%;min-height:70px;border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--zavpn-ink-soft);background:var(--zavpn-bg-elevated)}.topology-palette-agent-card:hover{border-color:#60a5fa8c;background:var(--zavpn-panel)}.topology-palette-item.disabled,.topology-palette-agent-card.disabled{opacity:.56}.topology-palette-item strong,.topology-palette-item small,.topology-palette-agent-card strong,.topology-palette-agent-card small{display:block;min-width:0;overflow-wrap:anywhere}.topology-palette-item strong,.topology-palette-agent-card strong{overflow:hidden;font-size:var(--zavpn-text-body);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.topology-palette-agent-card strong{overflow:visible;text-overflow:clip;white-space:normal}.topology-palette-item small,.topology-palette-agent-card small{margin-top:3px;color:var(--muted);font-size:var(--zavpn-text-caption);line-height:1.3}.topology-palette-item-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;min-width:0}.topology-palette-item-title .status-dot{width:8px;height:8px}.topology-palette-agent-summary{display:grid;gap:7px;min-width:0}.topology-palette-agent-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-width:0}.topology-component-action{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:30px;border:1px solid rgba(20,184,166,.42);border-radius:7px;padding:0 6px;color:var(--zavpn-success-soft);background:#14b8a61f;font:inherit;font-size:var(--zavpn-text-caption);font-weight:900;line-height:1;text-align:center}.topology-component-action:hover:not(:disabled),.topology-component-action:focus-visible:not(:disabled){border-color:#60a5fab8;color:var(--zavpn-ink-soft);background:#60a5fa2e}.topology-component-action:disabled{cursor:not-allowed}.topology-palette-item>.icon-button app-icon{color:var(--zavpn-success-ink)}.topology-canvas-shell{position:relative;width:100%;height:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background-color:var(--zavpn-bg-deep);background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px;overflow:hidden;overscroll-behavior:contain;cursor:grab;-webkit-user-select:none;user-select:none}.topology-canvas-shell.panning{cursor:grabbing}.topology-canvas{position:absolute;top:0;left:0;transform-origin:0 0;-webkit-user-select:none;user-select:none}.empty-canvas{inset:0;display:grid;place-items:center;cursor:default}.topology-edge-layer{position:absolute;z-index:1;inset:0;overflow:visible;pointer-events:none}.topology-edge-layer marker path{fill:var(--zavpn-sky)}.topology-edge-path,.topology-edge-preview{fill:none;stroke:var(--zavpn-sky);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5;pointer-events:none}.topology-edge-path.selected{stroke:var(--zavpn-white);filter:drop-shadow(0 0 6px rgba(96,165,250,.7))}.topology-edge-path.wg-edge-standard{stroke:var(--zavpn-sky)}.topology-edge-path.wg-edge-obfuscated-udp{stroke:var(--zavpn-violet);stroke-dasharray:10 8}.topology-edge-path.wg-edge-obfuscated-tcp{stroke:var(--zavpn-orange);stroke-dasharray:10 8}.topology-edge-path.local-link-edge-path{stroke:var(--zavpn-cyan)}.topology-edge-path.local-route-edge-path{stroke:var(--zavpn-success-bright)}.topology-edge-path.hellford-edge-path{stroke:var(--zavpn-violet);stroke-dasharray:12 7}.ingress-edge-path{stroke:var(--zavpn-success-bright);stroke-dasharray:0}.egress-edge-path{stroke:var(--zavpn-amber);stroke-dasharray:0}.topology-edge-hit{fill:none;stroke:transparent;stroke-width:18;cursor:pointer;pointer-events:stroke}.topology-edge-preview{stroke:var(--zavpn-success-bright);stroke-dasharray:8 7}.topology-edge-label{fill:var(--zavpn-ink-soft);paint-order:stroke;stroke:var(--zavpn-bg-deep);stroke-width:5px;stroke-linejoin:round;cursor:pointer;font-size:var(--zavpn-text-caption);font-weight:900;letter-spacing:.04em;pointer-events:auto;text-transform:uppercase}.topology-wg-edge-badge{cursor:pointer;pointer-events:auto}.topology-wg-edge-badge-ring{fill:var(--zavpn-bg-deep);stroke:var(--zavpn-sky);stroke-width:2.5;filter:drop-shadow(0 0 8px rgba(64,150,255,.35))}.topology-wg-edge-badge-symbol{fill:none;stroke:var(--zavpn-sky);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.topology-wg-edge-badge.wg-edge-obfuscated-udp .topology-wg-edge-badge-ring,.topology-wg-edge-badge.wg-edge-obfuscated-udp .topology-wg-edge-badge-symbol{stroke:var(--zavpn-violet);filter:drop-shadow(0 0 8px rgba(168,85,247,.35))}.topology-wg-edge-badge.wg-edge-obfuscated-tcp .topology-wg-edge-badge-ring,.topology-wg-edge-badge.wg-edge-obfuscated-tcp .topology-wg-edge-badge-symbol{stroke:var(--zavpn-orange);filter:drop-shadow(0 0 8px rgba(251,159,45,.35))}.topology-wg-edge-badge.selected .topology-wg-edge-badge-ring{stroke:var(--zavpn-white);filter:drop-shadow(0 0 10px rgba(255,255,255,.45))}.topology-diagram-node{position:relative;display:grid;align-content:start;gap:6px;min-height:140px;border:1px solid var(--zavpn-line-strong);border-radius:8px;padding:14px;color:var(--zavpn-ink-soft);background:var(--zavpn-panel);box-shadow:0 12px 24px #00000029;cursor:pointer}.wg-diagram-node{position:absolute;z-index:2;width:240px;min-height:152px;cursor:grab;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.hellford-diagram-node{background:linear-gradient(180deg,var(--zavpn-panel-strong) 0%,var(--zavpn-panel) 100%)}.ingress-diagram-node{position:absolute;z-index:2;width:220px;min-height:152px;cursor:grab}.ingress-diagram-node.vless-reality-ingress-node{border-color:#f472b68f;background:linear-gradient(180deg,color-mix(in srgb,var(--zavpn-pink) 14%,var(--zavpn-bg)) 0%,var(--zavpn-panel) 100%)}.egress-diagram-node{position:absolute;z-index:2;width:220px;min-height:152px;cursor:grab}.topology-diagram-node.role-applied{border-color:#36d3999e;box-shadow:inset 0 0 0 1px #36d3991a,0 12px 24px #00000029}.topology-diagram-node.role-saved{border-color:#9eb0c394;box-shadow:inset 0 0 0 1px #9eb0c31a,0 12px 24px #00000029}.topology-diagram-node.role-pending{border-color:#f59e0bad;box-shadow:inset 0 0 0 1px #f59e0b1f,0 12px 24px #00000029}.topology-diagram-node.role-degraded{border-color:#facc15a8;box-shadow:inset 0 0 0 1px #facc151f,0 12px 24px #00000029}.topology-diagram-node.role-invalid,.topology-diagram-node.role-unhealthy{border-color:#ff4d57a8;box-shadow:inset 0 0 0 1px #ff4d571f,0 12px 24px #00000029}.topology-diagram-node.role-draft{border-color:#9eb0c394;box-shadow:inset 0 0 0 1px #9eb0c30f,0 12px 24px #00000029}.topology-diagram-node.dragging{opacity:.58;cursor:grabbing;transition:none}.topology-diagram-node.selected{border-color:var(--zavpn-sky);box-shadow:0 0 0 2px #60a5fa38,0 14px 28px #0003}.topology-diagram-node.link-source{border-color:var(--zavpn-success-bright);box-shadow:0 0 0 2px #36d39933,0 14px 28px #0003}.topology-diagram-node.link-target{border-color:var(--zavpn-warning-ink);background:var(--zavpn-panel-strong)}.topology-diagram-node.endpoint-node{border-color:#36d3996b}.topology-diagram-node strong,.topology-diagram-node small{display:block;min-width:0;overflow-wrap:anywhere}.topology-diagram-node strong{color:var(--zavpn-white);font-size:var(--zavpn-text-base);line-height:1.18}.topology-diagram-node small{color:var(--zavpn-muted-strong);font-size:var(--zavpn-text-small);line-height:1.35}.topology-node-errors,.topology-validation-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.topology-node-errors{align-self:end;justify-self:stretch;margin-top:auto;padding-top:4px}.topology-node-errors li,.topology-validation-list li{display:flex;gap:7px;align-items:flex-start;color:var(--zavpn-warning-bright);font-size:var(--zavpn-text-caption);font-weight:400;line-height:1.35}.validation-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:16px;height:16px;border:1px solid rgba(250,204,21,.58);border-radius:999px;color:var(--zavpn-warning-bright);background:#facc151a;font-size:var(--zavpn-text-caption);font-weight:650;line-height:1}.topology-diagram-node em{align-self:end;justify-self:start;border:1px solid rgba(21,184,111,.48);border-radius:999px;padding:3px 8px;color:var(--zavpn-success-ink);background:#15b86f1f;font-size:var(--zavpn-text-caption);font-style:normal;font-weight:850}.topology-node-traffic{display:flex;align-items:center;gap:10px;margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding-top:6px;min-width:0}.topology-node-traffic span{display:inline-flex;align-items:baseline;gap:4px;min-width:0;color:var(--zavpn-ink-soft);font-size:var(--zavpn-text-caption);font-weight:750;line-height:1.2;overflow:hidden;white-space:nowrap}.topology-node-traffic b{flex:0 0 auto;color:var(--zavpn-muted);font-size:var(--zavpn-text-caption);font-weight:850;line-height:1;text-transform:uppercase}.topology-node-traffic strong{min-width:0;overflow:hidden;color:var(--zavpn-ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:var(--zavpn-text-caption);font-weight:750;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.topology-node-limits{display:flex;flex-wrap:wrap;gap:6px}.topology-node-limits span{border:1px solid rgba(54,211,153,.34);border-radius:999px;padding:3px 7px;color:var(--zavpn-success-soft);background:#36d3991a;font-size:var(--zavpn-text-caption);font-weight:850;line-height:1.15}.topology-node-badges{display:flex;flex-wrap:wrap;gap:6px;row-gap:6px}.topology-node-badge{border:1px solid rgba(54,211,153,.42);border-radius:999px;padding:3px 8px;color:var(--zavpn-success-ink);background:#36d3991f;font:inherit;font-size:var(--zavpn-text-caption);font-weight:950;letter-spacing:.04em;line-height:1.1;text-transform:uppercase;cursor:pointer}.topology-node-badge.egress-badge{border-color:#60a5fa7a;color:var(--zavpn-info-ink);background:#60a5fa1f}.topology-node-badge.ingress-type-badge{cursor:default}.topology-node-badge.wg-ingress-type-badge{border-color:#60a5fa7a;color:var(--zavpn-info-ink);background:#60a5fa1f}.topology-node-badge.vless-reality-ingress-type-badge{border-color:#f472b685;color:color-mix(in srgb,var(--zavpn-pink) 60%,var(--zavpn-white));background:#f472b61f}.topology-peer-count{justify-self:start;border:1px solid rgba(148,163,184,.32);border-radius:999px;padding:3px 8px;color:var(--zavpn-muted-strong);background:#94a3b81a;font-size:var(--zavpn-text-caption);font-weight:900;letter-spacing:.03em;line-height:1.15;text-transform:uppercase}.topology-peer-count.has-peers{border-color:#f59e0b94;color:var(--zavpn-warning-ink);background:#f59e0b1f}.warning-hint{color:var(--zavpn-warning-ink)}.topology-link-handle{position:absolute;top:68px;right:-10px;width:20px;height:20px;border:2px solid var(--zavpn-bg-deep);border-radius:999px;padding:0;background:var(--zavpn-sky);box-shadow:0 0 0 2px #71b9ff4d,0 6px 12px #00000047;cursor:crosshair}.topology-link-handle:after{content:"";position:absolute;inset:5px;border-radius:inherit;background:var(--zavpn-white)}.topology-link-handle.active{background:var(--zavpn-success-bright);box-shadow:0 0 0 4px #36d39938,0 6px 12px #00000047}.topology-edge-strip{display:flex;flex-wrap:wrap;grid-column:1/-1;gap:8px;row-gap:8px;align-items:center;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.diagram-link{position:relative;display:inline-grid;place-items:center;min-width:0;min-height:36px;border:1px solid var(--zavpn-line-strong);border-radius:999px;padding:0 10px;color:var(--zavpn-muted-strong);background:var(--zavpn-panel);font:inherit;font-size:var(--zavpn-text-caption);font-weight:900;text-transform:uppercase;cursor:pointer}.diagram-link:before,.diagram-link:after{display:none}.diagram-link:before{left:0;right:0;height:2px;background:var(--zavpn-line-hover)}.diagram-link:after{right:-1px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid var(--zavpn-line-hover)}.catalog-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;align-items:stretch}.catalog-card{display:flex;min-width:0;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:8px;padding:14px;color:var(--zavpn-ink-soft);background:#0c1f3085}.catalog-card:hover,.catalog-card.active{border-color:var(--zavpn-line-strong);background:var(--zavpn-panel)}.catalog-card.catalog-card-attention{border-color:#ffd37a8c}.catalog-card small{display:block;color:var(--muted)}.catalog-card-title{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:10px;row-gap:6px}.catalog-card-title .status{flex:0 0 auto}.catalog-card-description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.catalog-card-footer{display:flex;align-items:center;gap:8px;margin-top:auto;border-top:1px solid var(--line);padding-top:10px}.catalog-card .catalog-card-meta{display:flex;min-width:0;flex:1 1 auto;flex-wrap:wrap;gap:6px}.catalog-card-footer .icon-button{width:32px;height:32px;font-size:var(--zavpn-text-lead)}.catalog-card-menu{position:relative}.catalog-card-menu-list{position:absolute;z-index:5;top:calc(100% + 4px);right:0;display:grid;min-width:160px;border:1px solid var(--zavpn-line-strong);border-radius:8px;padding:4px;background:var(--zavpn-bg-elevated)}.catalog-card-menu-list .catalog-card-delete{display:flex;align-items:center;gap:8px;border:0;border-radius:6px;padding:8px 10px;color:var(--zavpn-danger-ink);background:transparent;font:inherit;text-align:left;cursor:pointer}.catalog-card-menu-list .catalog-card-delete:hover,.catalog-card-menu-list .catalog-card-delete:focus-visible{background:#e75c5c2e}@media(max-width:860px){.catalog-cards{grid-template-columns:minmax(0,1fr)}.catalog-card-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.catalog-card-title .status{justify-self:end}}.diagram-link span{max-width:260px;color:var(--zavpn-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edge-link.disconnected{border-color:#f59e0b94;color:var(--zavpn-warning-ink);background:color-mix(in srgb,var(--zavpn-amber) 12%,var(--zavpn-bg))}.edge-link.selected{border-color:var(--zavpn-sky);color:var(--zavpn-white);box-shadow:0 0 0 2px #60a5fa33}.topology-inspector-section,.topology-inspector-empty{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}.topology-inspector-heading{display:grid;gap:5px;min-width:0}.topology-inspector-kicker{color:var(--muted);font-size:var(--zavpn-text-caption);font-weight:850;text-transform:uppercase}.topology-block-name-editor{min-width:0}.topology-inspector-section small,.topology-inspector-empty small{color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.35;overflow-wrap:anywhere}.topology-inspector-section label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;gap:5px;min-width:0}.topology-inspector-section label>span{color:var(--muted);font-size:var(--zavpn-text-caption);font-weight:800}.topology-inspector-section input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.topology-inspector-section select:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-width:0;width:100%}.topology-network-row span{min-width:0;overflow-wrap:anywhere}.topology-hint{display:grid;gap:5px;border:1px solid var(--line);border-radius:8px;padding:12px;color:var(--zavpn-ink-soft);background:var(--zavpn-bg-elevated)}.topology-hint strong{color:var(--zavpn-white);font-size:var(--zavpn-text-base)}.topology-hint small{color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.45}.topology-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.route-diagram{display:flex;align-items:center;gap:8px;row-gap:8px;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--zavpn-bg-deep)}.route-node{display:inline-flex;min-height:32px;align-items:center;border:1px solid var(--zavpn-line-strong);border-radius:999px;padding:0 11px;color:var(--zavpn-white);background:var(--zavpn-panel-strong);font-size:var(--zavpn-text-small);font-weight:900;white-space:nowrap}.internet-node{color:var(--zavpn-info-ink);border-color:#2d72ff6b;background:#2d72ff1a}.route-arrow{color:var(--muted);font-size:var(--zavpn-text-lead);line-height:1}.topology-rules{display:grid;gap:8px}.topology-rules span{border:1px solid var(--line);border-radius:6px;padding:10px 12px;color:var(--zavpn-muted-strong);background:var(--zavpn-bg-elevated);font-size:var(--zavpn-text-small);line-height:1.35}.mode-tabs{display:inline-flex;flex-shrink:0;align-items:center;width:max-content;max-width:100%;gap:4px;border:1px solid var(--line);border-radius:8px;padding:4px;background:var(--zavpn-bg-deep)}.mode-tabs button{flex:0 0 auto;min-height:32px;border:0;border-radius:6px;padding:0 10px;color:var(--muted);background:transparent;font:inherit;font-size:var(--zavpn-text-small);font-weight:850;cursor:pointer}.mode-tabs button.active{color:var(--zavpn-white);background:#ffffff1a}.mode-tabs button:disabled,.mode-tabs button[aria-disabled=true]{color:#9fb2c973;cursor:not-allowed}.topology-mode-tabs,.interface-details-tabs,.agent-details-tabs,.admin-key-details-tabs,.resource-tabs{justify-self:start}.topology-editor-tabs-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;row-gap:12px;min-width:0}.topology-list-back-button{flex:0 0 auto}.topology-editor-title{display:grid;gap:4px;flex:1 1 140px;min-width:140px;max-width:280px;color:var(--text);font-size:var(--zavpn-text-base);font-weight:850}.topology-editor-title>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topology-editor-kind{color:var(--muted);font-size:var(--zavpn-text-caption);font-weight:750}.topology-editor-status{display:inline-flex;flex:0 1 auto;width:max-content;max-width:100%;align-items:center;gap:8px;margin-left:auto;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:750;white-space:nowrap}.topology-editor-status .status{min-width:108px}.topology-status-refresh-button{width:30px;height:30px}.tariff-grid{grid-template-columns:minmax(0,1fr)}.tariff-library,.tariff-builder,.tariff-revision-view,.tariff-history-view,.tariff-revision-list{display:grid;gap:14px}.tariff-price-card-title,.tariff-revision-card-title,.tariff-revision-intro,.tariff-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.tariff-revision-card-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tariff-editor-tabs-row{border-bottom:1px solid var(--line);padding-bottom:14px}.tariff-mode-tabs{flex:1 1 auto}.tariff-identity-view,.tariff-revision-section{display:grid;gap:16px}.tariff-form-grid,.tariff-limit-grid,.tariff-price-grid,.tariff-revision-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tariff-limit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tariff-client-limit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tariff-form-grid label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.tariff-limit-grid label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)),.tariff-price-grid label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-width:0}.tariff-form-grid textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-height:108px}.tariff-toggle-row{max-width:720px}.tariff-current-revision{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:800;white-space:nowrap}.tariff-price-list{display:grid;gap:10px}.tariff-price-card,.tariff-revision-card{display:grid;gap:14px;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--zavpn-bg-elevated)}.tariff-revision-card.current{border-color:#15b86f73}.tariff-revision-card-title>div{display:grid;gap:4px}.tariff-revision-card-title small,.tariff-revision-summary-grid small,.tariff-revision-prices small{color:var(--muted)}.tariff-revision-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tariff-revision-summary-grid>span,.tariff-revision-prices>span{display:grid;gap:4px}.tariff-revision-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;border-top:1px solid var(--line);padding-top:12px}.tariff-revision-actions{justify-content:flex-end}.tariff-create-dialog{width:min(100%,560px)}@media(max-width:860px){.tariff-limit-grid,.tariff-revision-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.tariff-form-grid,.tariff-limit-grid,.tariff-client-limit-grid,.tariff-price-grid,.tariff-revision-summary-grid{grid-template-columns:1fr}.tariff-revision-intro,.tariff-editor-actions,.tariff-revision-card-title{align-items:stretch;flex-direction:column}.tariff-current-revision{align-self:flex-start}}.topology-manifest-view{min-width:0}.section-heading-row{display:flex;gap:12px;align-items:center;justify-content:space-between}.section-heading-row h3{margin:0}.topology-network-view{gap:14px}.topology-network-table{display:grid;min-width:0;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--zavpn-bg-deep)}.topology-network-row{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;align-items:center;min-width:520px;border-bottom:1px solid var(--line-soft);padding:10px 12px;color:var(--zavpn-ink-soft);font-size:var(--zavpn-text-small)}.topology-network-row:last-child{border-bottom:0}.topology-network-head{color:var(--muted);background:var(--zavpn-bg-elevated);font-size:var(--zavpn-text-caption);font-weight:900;text-transform:uppercase}.agent-network-leases-table .topology-network-row{grid-template-columns:1fr 1fr 1.2fr 1.4fr;min-width:640px}.agent-public-endpoints{display:grid;gap:8px;margin-top:4px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--zavpn-bg-deep)}.agent-public-endpoint-head,.agent-public-endpoint-row{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(180px,1.15fr) minmax(180px,1.15fr) minmax(190px,auto);gap:10px;align-items:center}.agent-public-endpoint-head{padding:0 10px 2px;color:var(--muted);font-size:var(--zavpn-text-caption);font-weight:800}.agent-public-endpoint-row{padding:8px;border:1px solid var(--line-soft);border-radius:8px;background:var(--zavpn-bg-elevated)}.agent-public-endpoint-actions{display:flex;justify-content:flex-end;gap:4px}.agent-public-endpoint-create{margin-top:4px;border-style:dashed;background:transparent}.agent-public-endpoint-row input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-width:0}@media(max-width:860px){.agent-public-endpoint-head{display:none}.agent-public-endpoint-row{grid-template-columns:1fr}.agent-public-endpoint-actions{justify-content:flex-start}}.agent-network-panel{gap:14px}.agent-network-disclosure,.agent-journal-settings{border:1px solid var(--line);border-radius:10px;background:var(--zavpn-bg-deep);overflow:hidden}.agent-network-disclosure>summary,.agent-journal-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style:none}.agent-network-disclosure>summary::-webkit-details-marker,.agent-journal-settings>summary::-webkit-details-marker{display:none}.agent-network-disclosure>summary:after,.agent-journal-settings>summary:after{content:"\203a";color:var(--muted);font-size:var(--zavpn-text-title);transform:rotate(90deg);transition:transform .16s ease}.agent-network-disclosure[open]>summary:after,.agent-journal-settings[open]>summary:after{transform:rotate(-90deg)}.agent-network-disclosure>summary>span:first-child,.agent-journal-settings>summary>span:first-child{display:grid;gap:3px}.agent-network-disclosure summary small,.agent-journal-settings summary small{color:var(--muted)}.agent-network-summary-value,.agent-journal-settings-summary-value{margin-left:auto;color:var(--zavpn-ink-soft);font-weight:800}.agent-network-advanced-content{display:grid;gap:12px;padding:0 12px 12px}.agent-kernel-network-form{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--zavpn-bg-deep)}.agent-kernel-network-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.agent-kernel-network-grid label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;gap:5px;min-width:0}@media(max-width:860px){.mode-tabs{display:flex;flex-wrap:nowrap;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.mode-tabs::-webkit-scrollbar{display:none}.mode-tabs button{flex:0 0 auto;white-space:nowrap}.topology-editor-tabs-row .mode-tabs{order:10;flex:1 1 100%}.group-usage-table-wrap table,.admin-key-sessions-table{min-width:0}}@media(max-width:860px){.account-key-name-cell strong{overflow:visible;white-space:normal;overflow-wrap:anywhere}}.agent-kernel-network-grid span{color:var(--muted);font-size:var(--zavpn-text-caption);font-weight:800;overflow-wrap:anywhere}.agent-kernel-network-grid input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){width:100%;min-width:0}.agent-unmanaged-resources-panel{min-width:0}.agent-unmanaged-listeners-table .topology-network-row{grid-template-columns:82px 76px 1fr 1.15fr minmax(160px,1.45fr) 1fr 86px;min-width:900px}.agent-unmanaged-listeners-table .topology-network-row span{min-width:0;overflow-wrap:anywhere}.agent-desired-state-panel{min-width:0;min-height:0}.agent-desired-state-json{overflow:auto;max-height:min(42vh,420px);max-height:min(42dvh,420px);margin:0;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:10px;color:var(--zavpn-ink-soft);background:var(--zavpn-bg);font-size:var(--zavpn-text-small);line-height:1.45;white-space:pre}.agent-desired-state-refresh-button{width:34px;height:34px}.manifest-mode-tabs{flex:0 0 auto}.manifest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.manifest-grid article{display:grid;gap:10px;min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--zavpn-bg-deep)}.manifest-title{display:grid;gap:3px}.manifest-title small{color:var(--muted);font-size:var(--zavpn-text-small)}.manifest-grid pre{overflow:auto;max-height:520px;margin:0;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:10px;color:var(--zavpn-ink-soft);background:var(--zavpn-bg);font-size:var(--zavpn-text-small);line-height:1.45;white-space:pre}.manifest-diff{display:grid;gap:10px;min-width:0}.manifest-diff-row{display:grid;grid-template-columns:minmax(180px,.8fr) repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;min-width:0;border:1px solid var(--line);border-left-width:4px;border-radius:8px;padding:10px;background:var(--zavpn-bg-deep)}.manifest-diff-row.diff-added{border-left-color:var(--zavpn-success-bright)}.manifest-diff-row.diff-removed{border-left-color:var(--zavpn-danger)}.manifest-diff-row.diff-changed{border-left-color:var(--zavpn-warning-bright)}.manifest-diff-path{display:grid;gap:5px;align-content:start;min-width:0}.manifest-diff-path span{width:max-content;border-radius:999px;padding:3px 7px;color:var(--zavpn-bg-deep);background:var(--zavpn-warning-bright);font-size:var(--zavpn-text-caption);font-weight:850;text-transform:uppercase}.diff-added .manifest-diff-path span{background:var(--zavpn-success-bright)}.diff-removed .manifest-diff-path span{color:var(--zavpn-white);background:var(--zavpn-red)}.manifest-diff-path strong{overflow-wrap:anywhere;color:var(--zavpn-ink-soft);font-size:var(--zavpn-text-small)}.manifest-diff-value{overflow:auto;min-width:0;max-height:180px;margin:0;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:9px;color:var(--zavpn-ink-soft);background:var(--zavpn-bg);font-size:var(--zavpn-text-small);line-height:1.45;white-space:pre-wrap}.manifest-diff-value.before{background:#ff626b14}.manifest-diff-value.after{background:#46d98214}.config-admin-panel{display:grid;gap:14px}.config-preview-grid{display:grid;gap:12px}.config-preview-grid article{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--zavpn-bg-elevated)}.config-preview-grid h3{margin:0;color:var(--zavpn-white);font-size:var(--zavpn-text-base);line-height:1.2}.config-preview-title{display:flex;gap:10px;align-items:center;justify-content:space-between}.config-preview-title .btn{min-height:34px}.config-preview-grid pre{margin:0;max-width:100%;overflow:auto;border:1px solid var(--line-soft);border-radius:6px;padding:12px;color:var(--zavpn-muted-strong);background:var(--zavpn-bg-deep);font-size:var(--zavpn-text-small);line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:1160px){.topbar,.landing{width:100%}.hero{grid-template-columns:1fr;min-height:auto}.vpn-preview{min-height:430px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cabinet-grid,.two-column,.admin-grid{grid-template-columns:1fr}.interface-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topology-designer{grid-template-columns:220px minmax(0,1fr)}.topology-inspector{grid-column:1/-1}.interface-role-controls,.manifest-grid,.manifest-diff-row{grid-template-columns:1fr}.auth-landing{padding:8px 16px 32px}.auth-landing .auth-panel{max-width:430px;margin:0 auto}}@media(max-width:860px){.topbar{align-items:center;flex-direction:row;justify-content:flex-end;width:fit-content;min-height:64px;margin:0 16px 0 auto;padding:16px 0 0}.workspace{grid-template-columns:1fr;align-content:start}.topology-designer,.table-filters{grid-template-columns:1fr}.topology-canvas{min-width:760px}.diagram-link{width:100%}.diagram-link:before{display:none}.diagram-link:after{display:none}.sidebar{position:static;grid-template-columns:minmax(0,1fr);min-height:auto;border-right:0;border-bottom:1px solid var(--line);padding:14px 10px 10px}.sidebar-title{min-height:auto;padding:0 0 10px}.sidebar button:not(.sidebar-logout){justify-content:flex-start}.sidebar .admin-nav-item{min-height:54px}.mobile-shell{position:sticky;top:0;z-index:30;display:block;overflow:visible;padding:0 10px;border-bottom:1px solid var(--line);background:var(--zavpn-bg-elevated);transition:transform .2s ease}.mobile-shell.shell-header-hidden:not(.shell-menu-open){transform:translateY(-100%)}.mobile-shell .sidebar-title{display:flex;align-items:center;gap:10px;height:52px;min-height:0;border-bottom:0;padding:0}.mobile-shell .brand-mark.small,.mobile-shell .sidebar-identity,.mobile-shell .sidebar-logout,.sidebar.mobile-shell .shell-desktop-only{display:none}.sidebar.mobile-shell .shell-menu-toggle{display:inline-grid;flex:0 0 auto;place-items:center;place-content:center;width:40px;min-height:40px;height:40px;padding:0;color:var(--zavpn-ink);font-size:var(--zavpn-text-title)}.mobile-shell .shell-current-section{display:block;flex:1 1 auto;min-width:0;overflow:hidden;color:var(--zavpn-ink);font-size:var(--zavpn-text-lead);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mobile-shell .shell-menu{position:fixed;top:0;bottom:0;left:0;z-index:70;display:flex;flex-direction:column;gap:12px;width:min(300px,84vw);overflow-y:auto;overscroll-behavior:contain;border-right:1px solid var(--line);padding:14px 10px 16px;background:var(--zavpn-bg-elevated);transform:translate(-105%);transition:transform .2s ease;visibility:hidden}.mobile-shell.shell-menu-open .shell-menu{transform:none;visibility:visible}.mobile-shell .shell-menu .sidebar-nav{grid-template-columns:minmax(0,1fr);gap:2px;margin-top:0}.mobile-shell .shell-menu .admin-nav-group{display:block;margin:10px 8px 4px}.sidebar .shell-menu .admin-nav-item{grid-template-columns:30px minmax(0,1fr);min-height:44px;padding:6px 10px}.mobile-shell .shell-menu .admin-nav-icon{width:30px;height:30px;font-size:var(--zavpn-text-lead)}.mobile-shell .shell-menu-account{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:auto;border-top:1px solid var(--line);padding:12px 8px 0}.mobile-shell .shell-menu-account small{flex:1 1 100%;overflow:hidden;color:var(--muted);font-size:var(--zavpn-text-small);text-overflow:ellipsis}.mobile-shell .shell-menu-backdrop{position:fixed;inset:0;z-index:60;display:block;width:100%;border:0;padding:0;background:#0000008c;cursor:pointer}.mobile-shell .shell-menu-backdrop:hover{background:#0000008c}.mobile-shell .shell-menu-logout,.mobile-shell .shell-menu-account .btn{width:auto;justify-content:center}.account-workspace .content{padding:10px 12px 14px}.content{padding:16px}.content:before{width:100%}:where(table,thead,tbody,tr,th,td):where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:block}thead:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:none}.agents-table colgroup,.interfaces-table colgroup,.account-keys-table colgroup,.account-billing-table colgroup{display:none}.account-keys-table th:nth-child(1),.account-keys-table td:nth-child(1){width:auto;max-width:none}tr:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){border:1px solid var(--line);border-radius:8px;margin-bottom:10px;overflow:hidden;background:var(--zavpn-bg-elevated)}td:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px}td:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):before{content:attr(data-label);color:var(--muted);font-size:var(--zavpn-text-small);font-weight:900}td:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)).empty-cell{display:block}td:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)).empty-cell:before{content:""}.table-actions{justify-content:flex-start;row-gap:8px}.table-pagination{align-items:stretch;flex-direction:column}.pagination-actions{justify-content:flex-start;row-gap:8px}}@media(max-width:480px){.admin-workspace .content{padding:10px 8px 14px}.account-workspace .content{padding:8px}.landing{width:calc(100% - 32px);padding-top:0}.hero h1{font-size:var(--zavpn-text-hero-xl)}.hero h2{font-size:var(--zavpn-text-headline)}.vpn-preview{min-height:340px}.metrics,.agent-kernel-network-grid,.interface-create-grid,.interface-role-controls,.interface-settings-grid,.inline-form-grid,.agent-onboarding-choice,.topology-create-grid,.topology-create-form,.topology-block,.topology-block-form,.wizard-steps{grid-template-columns:1fr}.topology-block-form label.toggle-row{display:grid}.topology-pricing-entry-head,.topology-pricing-entry-actions{align-items:stretch;flex-direction:column}.auth-card{width:100%}.dashboard-head,.panel-title,.issued-config-body{align-items:flex-start;flex-direction:column}.panel-title-actions{justify-content:flex-start;width:100%}.modal-section-head,.agent-onboarding-start{align-items:stretch;flex-direction:column}.topology-fields{grid-template-columns:1fr}.route-diagram{align-items:stretch}.route-node{max-width:100%;white-space:normal}.inline-money,.token-copy-row{grid-template-columns:1fr}td:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){grid-template-columns:1fr}.user-content .panel{border-radius:14px;padding:12px}.user-content .panel-title h2{font-size:var(--zavpn-text-display);line-height:1.05}.user-content .panel-title{margin-bottom:16px}.panel-title-actions{width:100%;gap:8px;row-gap:8px}.account-keys-table .account-key-name-cell{align-items:center;width:100%}.account-keys-table .account-key-name-editor{flex-basis:auto}.account-keys-table .account-key-actions{overflow-x:visible}.account-keys-table .account-key-name-cell .icon-button,.key-paid-cell .icon-button{flex:0 0 42px;width:42px;height:42px}.account-keys-table .account-key-name-cell strong,.account-keys-table .account-key-name-editor{white-space:normal;line-height:1.25}.key-direction-cell{gap:4px}.key-paid-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;white-space:normal}.key-paid-cell>span{min-width:0}.account-keys-table .status{justify-self:start;min-width:auto}.account-billing-panel .panel-title-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.account-billing-panel .balance-inline{font-size:var(--zavpn-text-lead)}.account-keys-panel .pagination-actions{justify-content:center}.account-keys-panel .pagination-actions span{text-align:center}.key-duration-options{gap:12px;grid-template-columns:1fr}.key-duration-options label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:58px;padding:13px 14px}.key-duration-summary{grid-template-columns:1fr;padding:13px 14px}.topology-pricing-entry-fields{grid-template-columns:1fr}.admin-key-renewal-access-command,.topology-pricing-entry-head,.topology-pricing-entry-actions{align-items:stretch;flex-direction:column}.topology-pricing-entry-head .status{align-self:flex-start}.dialog-backdrop{padding:14px}.dialog-card{--dialog-block-gap: 18px;--dialog-section-gap: 16px;padding:16px}.issued-config-dialog{gap:12px;width:min(100vw - 20px,540px)}.key-create-wizard-dialog{width:min(100vw - 20px,540px);height:calc(100dvh - 20px)}.key-create-mode-choice{grid-template-columns:1fr}.key-create-direction{grid-template-columns:18px minmax(0,1fr)}.key-create-expert-direction-select{display:grid}.key-create-expert-direction-picker{display:none}.key-create-app-chips{grid-column:2;grid-row:auto;align-self:start;justify-content:flex-start}.issued-config-warning{padding:11px 12px}.issued-config-warning strong{font-size:var(--zavpn-text-base)}.issued-config-warning span{font-size:var(--zavpn-text-small)}.issued-config-body{grid-template-columns:1fr}.issued-config-qr-card,.issued-config-instructions,.issued-config-json-card{min-height:0;padding:12px}.issued-config-platform-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.issued-config-qr-card img{max-width:min(100%,220px)}.issued-config-qr-card p{max-width:100%;font-size:var(--zavpn-text-small)}.cancel-confirm-dialog{gap:16px}.issued-config-instruction-image{max-height:none}.issued-config-progress-head{font-size:var(--zavpn-text-caption)}.dialog-actions,.wizard-panel .form-actions{display:flex;flex-direction:column-reverse;align-items:stretch;gap:10px}.dialog-actions .btn,.wizard-panel .form-actions .btn{width:100%}}.auth-head{display:grid;gap:6px;margin-bottom:4px}.auth-head h2{margin:0;color:var(--zavpn-white);font-size:var(--zavpn-text-title);line-height:1.15}.auth-head .hint{margin:0}.auth-field{display:grid;gap:6px}.auth-field .hint,.field-error{margin:0;font-size:var(--zavpn-text-small);line-height:1.4}.field-error{color:var(--zavpn-danger-ink)}.auth-submit{width:100%;margin-top:4px}.auth-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;color:var(--muted);font-size:var(--zavpn-text-body)}.auth-links:has(>:only-child){justify-content:center}.auth-link{border:0;padding:0;color:var(--zavpn-white);background:transparent;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.auth-link:hover,.auth-link:focus-visible{color:var(--zavpn-red-hover)}.auth-sent p{margin:0;color:var(--zavpn-ink-soft);font-size:var(--zavpn-text-base);line-height:1.55}.auth-sent p.hint{color:var(--muted);font-size:var(--zavpn-text-body)}.auth-sent-mark{display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid rgba(21,184,111,.44);border-radius:50%;color:var(--zavpn-success-soft);background:#15b86f1a;font-size:var(--zavpn-text-title)}.dialog-form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.dialog-form label>:is(input,textarea,select){font-size:var(--zavpn-text-base);font-weight:400;line-height:1.45}.dialog-form textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):not(.mat-mdc-input-element){padding:10px 12px;font-family:inherit;resize:vertical}app-support-form{display:block;min-width:0}.support-dialog{grid-template-columns:minmax(0,1fr)}.support-launcher{position:fixed;right:20px;bottom:20px;z-index:40}:root:has(.grecaptcha-badge:not([style*="display: none"])) .support-launcher{bottom:90px}.support-launcher-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:var(--zavpn-white);background:linear-gradient(180deg,var(--zavpn-red-hover),var(--zavpn-red-dark));box-shadow:0 12px 28px #0000006b;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.support-launcher-button:hover,.support-launcher-button:focus-visible{transform:translateY(-1px);box-shadow:0 16px 34px #e6302f5c;outline:none}.support-launcher-icon{width:28px;height:28px}.support-launcher-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--zavpn-bg-deep);border-radius:10px;color:var(--zavpn-red-dark);background:var(--zavpn-white);font-size:var(--zavpn-text-caption);font-weight:800;line-height:16px;box-sizing:border-box}.support-launcher-attention{animation:support-pulse 1.6s ease-out infinite}@keyframes support-pulse{0%{box-shadow:0 0 #e6302f99}70%{box-shadow:0 0 0 14px transparent}to{box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.support-launcher-attention{animation:none}}.support-files{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;gap:8px}.support-file-list{display:grid;width:100%;gap:4px;margin:0;padding:0;list-style:none}.support-file-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(255,255,255,.1);border-radius:5px;box-sizing:border-box;padding:2px 4px 2px 10px;color:var(--ink);font-size:var(--zavpn-text-body)}.support-file-name{flex:1 1 auto;width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-form textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-height:120px;max-height:max(120px,100dvh - 440px)}.support-form:not(:has(input[type=email])) textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){max-height:max(120px,100dvh - 360px)}.support-form .dialog-actions{margin-top:4px}.support-files p.hint{margin:0;color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.45}.support-back{justify-self:start;border:0;padding:4px 0;color:var(--zavpn-info-ink);background:transparent;font:inherit;font-size:var(--zavpn-text-base);font-weight:700;cursor:pointer}.support-back:hover,.support-back:focus-visible{color:var(--zavpn-white);outline:none}.support-thread{display:grid;gap:14px;min-width:0}.support-thread-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.support-thread-head h3{margin:0;color:var(--zavpn-white);font-size:var(--zavpn-text-title)}.support-thread-date{color:var(--muted);font-size:var(--zavpn-text-body)}.support-state{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:3px 10px;color:var(--zavpn-muted-strong);font-size:var(--zavpn-text-small);font-weight:800}.support-state-new{border-color:#f59e0b8a;color:var(--zavpn-warning-ink)}.support-state-in_progress{border-color:#2d72ff80;color:var(--zavpn-info-ink)}.support-state-answered{border-color:#15b86f80;color:var(--zavpn-success-soft)}.support-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none}.support-bubble{display:grid;gap:4px;max-width:min(720px,100%);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 14px;background:#ffffff0a}.support-bubble p{margin:0;color:var(--zavpn-ink-soft);font-size:var(--zavpn-text-base);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.support-bubble-meta{color:var(--muted);font-size:var(--zavpn-text-small);font-weight:700}.support-bubble-author{justify-self:start;border-top-left-radius:3px}.support-bubble-operator{justify-self:end;border-color:#e6302f59;border-top-right-radius:3px;background:#e6302f14}.support-event{justify-self:center;color:var(--muted);font-size:var(--zavpn-text-small)}.support-shots{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.support-shot{display:grid;width:132px;gap:6px;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:6px;color:var(--zavpn-muted-strong);background:#030d1894;font:inherit;font-size:var(--zavpn-text-small);text-align:left;cursor:zoom-in}.support-shot:hover,.support-shot:focus-visible{border-color:#8fb8ff99;outline:none}.support-shot img,.support-shot-placeholder{display:grid;width:100%;height:88px;place-items:center;border-radius:5px;background:#ffffff0d;object-fit:cover}.support-shot-placeholder{color:var(--muted)}.support-shot-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-shot-gone{cursor:default;color:var(--muted)}.support-viewer{width:min(1100px,100vw - 32px)}.support-viewer-stage{display:grid;min-height:200px;place-items:center;border-radius:6px;background:#00000059}.support-viewer-stage img{display:block;max-width:100%;max-height:calc(100dvh - 240px);object-fit:contain}.account-support-panel{display:grid;align-content:start;gap:14px}.notification-bell{position:relative;display:inline-flex}.notification-bell-button{position:relative}.sidebar .notification-bell-button{min-height:0;overflow:visible}.notification-bell-button svg{width:18px;height:18px}.notification-bell-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;color:var(--zavpn-white);background:var(--zavpn-red);font-size:var(--zavpn-text-caption);font-weight:800;line-height:18px;text-align:center;box-sizing:border-box}.notification-panel{position:fixed;z-index:60;display:grid;width:min(340px,100vw - 32px);max-height:min(420px,70vh);overflow:auto;gap:8px;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:12px;background:linear-gradient(180deg,#0e273cfa,#071826fa);box-shadow:0 18px 48px #0000007a}.notification-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--zavpn-white)}.notification-panel-title{font-size:var(--zavpn-text-base);font-weight:800;line-height:1.2}.sidebar .notification-read-all,.notification-read-all{display:inline;letter-spacing:0;width:auto;min-height:0;border:0;padding:0;color:var(--zavpn-info-ink);background:transparent;font:inherit;font-size:var(--zavpn-text-small);cursor:pointer}.notification-empty{margin:0}.notification-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.sidebar .notification-item,.notification-item{display:grid;width:100%;gap:2px;border:1px solid transparent;border-radius:6px;padding:8px 10px;color:var(--zavpn-muted-strong);background:transparent;font:inherit;font-size:var(--zavpn-text-body);font-weight:500;line-height:1.35;letter-spacing:0;text-align:left;justify-items:start;min-height:0;cursor:pointer}.notification-item-time{color:var(--muted);font-size:var(--zavpn-text-caption);font-weight:500}.sidebar .notification-read-all:hover{color:var(--zavpn-white);background:transparent}.sidebar .notification-item:hover,.notification-item:hover,.notification-item:focus-visible{border-color:#ffffff1f;background:#ffffff0d;outline:none}.sidebar .notification-unread,.notification-unread{color:var(--zavpn-white);font-weight:700}.notification-unread .notification-item-text:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--zavpn-red);vertical-align:middle}.admin-sidebar-actions{grid-column:2;display:flex;align-items:center;gap:8px}.admin-sidebar-actions .notification-bell-button{display:inline-grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:6px;padding:0;color:var(--zavpn-ink-soft);background:#0c1f3085;cursor:pointer}.sidebar .admin-sidebar-actions .notification-bell-button{place-content:center}.notification-all{display:block;border-top:1px solid rgba(255,255,255,.12);padding:8px 6px 2px;color:var(--zavpn-info-ink);font-size:var(--zavpn-text-small);text-align:center;text-decoration:none}.notification-all:hover,.notification-all:focus-visible{color:var(--zavpn-white);text-decoration:underline;outline:none}.notification-settings{margin:0 0 16px}.notification-settings-table{width:100%;border-collapse:collapse;font-size:var(--zavpn-text-body)}.notification-settings-table th,.notification-settings-table td{border-bottom:1px solid var(--line-soft);padding:8px 6px;text-align:left}.notification-settings-table td{width:96px;text-align:center}.notification-settings-table thead th{color:var(--muted);font-size:var(--zavpn-text-small);font-weight:800}.notification-settings-table thead th+th{text-align:center}.notification-settings-field{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0 0;font-size:var(--zavpn-text-body)}.notification-settings-hint,.bell-sound-hint{flex:1 1 280px;margin:8px 0 0;color:var(--muted);font-size:var(--zavpn-text-body)}.notification-settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px}.notifications-section>.panel-title{margin-bottom:14px}.notifications-section-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.notifications-section-item{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;width:100%;min-height:0;border:1px solid var(--line);border-left:3px solid transparent;border-radius:6px;padding:10px 12px;color:var(--muted);background:transparent;font:inherit;font-size:var(--zavpn-text-base);font-weight:500;line-height:1.4;letter-spacing:0;text-align:left;cursor:pointer}.notifications-section-item:hover,.notifications-section-item:focus-visible{border-color:#ffffff29;background:#ffffff0d;outline:none}.notifications-section-unread,.notifications-section-unread:hover,.notifications-section-unread:focus-visible{border-left-color:var(--zavpn-red);color:var(--zavpn-white);background:#ffffff0a;font-weight:700}.notifications-section-text{min-width:0;overflow-wrap:anywhere}.notifications-section-time{color:var(--muted);font-size:var(--zavpn-text-small);font-weight:500;white-space:nowrap}.notifications-section-empty{margin:0}.notification-warning-icon{width:15px;height:15px;margin-right:6px;color:var(--zavpn-amber);vertical-align:-2px}.sidebar .notification-item.notification-warning,.notification-item.notification-warning{border-color:#f59e0b75;background:#f59e0b1a}.notification-unread.notification-warning .notification-item-text:before{display:none}.notifications-section-entry{display:grid;gap:4px}.notifications-section-text{white-space:pre-line}.notifications-section-warning,.notifications-section-warning:hover,.notifications-section-warning:focus-visible{border-color:#f59e0b75;border-left-color:var(--zavpn-amber);background:#f59e0b1a}.notifications-section-expand,.broadcast-history-expand{justify-self:start;width:auto;min-height:0;border:0;padding:0 12px;color:var(--zavpn-info-ink);background:transparent;font:inherit;font-size:var(--zavpn-text-small);cursor:pointer}.broadcast-history-expand{display:block;padding:4px 0 0}.notifications-section-expand:hover,.notifications-section-expand:focus-visible,.broadcast-history-expand:hover,.broadcast-history-expand:focus-visible{color:var(--zavpn-white);text-decoration:underline;outline:none}.broadcast-form{display:grid;gap:16px;max-width:720px}.broadcast-form h3,.broadcast-history h3{margin:0;color:var(--zavpn-white);font-size:var(--zavpn-text-lead)}.broadcast-audience,.broadcast-channels,.broadcast-options{display:grid;gap:8px;min-width:0;margin:0;border:0;padding:0}.broadcast-audience,.broadcast-channels{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.broadcast-channels-hint{grid-column:1/-1;font-size:var(--zavpn-text-small)}.broadcast-history-reach{display:block;color:var(--muted);font-size:var(--zavpn-text-small)}.broadcast-audience legend,.broadcast-channels legend,.broadcast-options legend{margin-bottom:8px;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:800}.broadcast-choice,.broadcast-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line-soft);border-radius:8px;padding:10px 11px;color:var(--ink);font-size:var(--zavpn-text-body);font-weight:600;cursor:pointer}.broadcast-choice.active{border-color:#2d72ffb3;background:#2d72ff17}.broadcast-option{padding:7px 10px}.broadcast-option small{margin-left:6px;color:var(--muted);font-weight:500}.broadcast-option-list{display:grid;gap:4px;max-height:260px;overflow-y:auto;padding-right:2px}.broadcast-chosen{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.broadcast-chosen li{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;padding:2px 4px 2px 10px;color:var(--ink);font-size:var(--zavpn-text-small)}.broadcast-chosen-remove{width:22px;height:22px;min-height:0;padding:0;font-size:var(--zavpn-text-small)}.broadcast-text textarea:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)):not(.mat-mdc-input-element){padding:10px 12px;font-family:inherit;font-size:var(--zavpn-text-base);font-weight:400;line-height:1.45;resize:vertical}.broadcast-counter,.broadcast-problem{color:var(--muted);font-size:var(--zavpn-text-small);font-weight:600}.broadcast-counter{justify-self:end}.broadcast-counter-over,.broadcast-problem-error{color:var(--zavpn-danger)}.broadcast-form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.broadcast-confirm-dialog{gap:16px}.broadcast-preview{max-height:260px;margin:0;overflow-y:auto;border:1px solid var(--line);border-radius:6px;padding:10px 12px;color:var(--ink);font-size:var(--zavpn-text-base);line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}.broadcast-preview-warning{border-color:#f59e0b75;background:#f59e0b1a}.broadcast-history{display:grid;gap:12px;margin-top:28px}.broadcast-history-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.broadcast-history-text{max-width:420px;white-space:pre-line;overflow-wrap:anywhere}@media(max-width:860px){.notification-settings-table td{width:auto;text-align:left}}.customer-details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.customer-details-meta{display:block;margin-top:4px;color:var(--muted);font-size:var(--zavpn-text-body)}.customer-details-tabs{justify-self:start}.customer-details-panel{display:grid;align-content:start;gap:14px}.customer-tab-toolbar,.customer-tab-pages{display:flex;align-items:center;justify-content:space-between;gap:12px}.customer-tab-pages{justify-content:flex-end}.customer-tab-actions{display:flex;justify-content:flex-end;gap:10px}.customer-tab-table{width:100%}.customer-access{display:grid;gap:12px}.customer-access-action{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line-soft);border-radius:8px;padding:12px 14px}.customer-access-action>div{display:grid;gap:4px}.customer-access-action small{color:var(--muted);font-size:var(--zavpn-text-small)}.customer-access-danger{border-color:#ff4d575c}@media(max-width:480px){.customer-access-action{flex-direction:column;align-items:stretch}}.route-selector-diagram-node{border-color:#38bdf88f;background:linear-gradient(180deg,var(--zavpn-panel-strong) 0%,var(--zavpn-panel) 100%)}.topology-edge-path.route-edge-path{stroke:var(--zavpn-cyan);stroke-dasharray:6 6}.topology-edge-path.route-edge-path.active-route-edge-path{stroke:var(--zavpn-success-bright);stroke-width:4;stroke-dasharray:0;filter:drop-shadow(0 0 6px rgba(54,211,153,.45))}.topology-edge-label.active-route-edge-label{fill:var(--zavpn-success-ink)}.topology-route-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.topology-route-item{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"handle priority title edit" "health health health health" "state state state state";align-items:center;gap:6px 8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.topology-route-drag-handle{grid-area:handle;cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none}.topology-route-priority{grid-area:priority;min-width:22px;padding:1px 6px;border-radius:999px;background:#38bdf829;color:color-mix(in srgb,var(--zavpn-cyan) 60%,var(--zavpn-white));font-weight:800;text-align:center}.topology-route-title{grid-area:title;display:grid;min-width:0}.topology-route-name,.topology-route-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topology-route-role{color:var(--muted)}.topology-route-edit{grid-area:edit;display:flex;align-items:center;gap:0}.topology-route-edit .topology-route-move,.topology-route-edit .topology-route-remove{width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--muted);font-size:var(--zavpn-text-base);line-height:28px}.topology-route-edit .topology-route-remove:hover:not(:disabled){color:var(--danger)}.topology-route-health{grid-area:health;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:750}.topology-route-health-healthy{color:var(--zavpn-success-ink)}.topology-route-health-unhealthy{color:var(--zavpn-warning-ink)}.topology-route-status{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--line);border-left-width:4px;border-radius:8px;font-size:var(--zavpn-text-small)}.topology-route-status strong{font-size:var(--zavpn-text-body)}.topology-route-status-primary{border-left-color:var(--green)}.topology-route-status-backup{border-left-color:var(--amber)}.topology-route-status-down{border-left-color:var(--danger)}.topology-route-status-unapplied{border-left-color:var(--muted)}.topology-route-status-switching,.topology-route-status-warning{color:var(--zavpn-warning-ink)}.topology-route-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.topology-route-tabs>*{min-width:0}.topology-route-tab{padding:6px 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;font-weight:750;text-align:left;cursor:pointer}.topology-route-tab.active{border-bottom-color:var(--blue);color:var(--ink)}.topology-route-tab:disabled{cursor:not-allowed;opacity:.5}.topology-route-selector-agent{display:flex;align-items:center;gap:6px;min-width:0}.topology-route-selector-help{display:inline-grid;flex:none;width:18px;height:18px;place-items:center;border:1px solid var(--line);border-radius:50%;padding:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--zavpn-text-caption);font-weight:850;cursor:help}.topology-route-selector-help:hover,.topology-route-selector-help:focus-visible{border-color:#60a5fab3;color:var(--ink)}.topology-route-selector-help-tooltip .mat-mdc-tooltip-surface{max-width:min(300px,100vw - 32px);padding:8px 10px;text-align:left}.topology-route-selector-remove{padding-top:10px;border-top:1px solid var(--line-soft)}.topology-route-state{grid-area:state;display:flex;min-width:0}.topology-route-state .topology-route-activate{width:100%;min-width:0;white-space:normal}.topology-route-active{align-self:center;padding:1px 8px;border-radius:999px;background:#22c55e29;color:var(--zavpn-success-ink);font-size:var(--zavpn-text-small);font-weight:800}.topology-route-item.cdk-drag-preview{box-shadow:0 8px 24px #0006}.topology-route-item.cdk-drag-placeholder{opacity:.35}.topology-route-list.cdk-drop-list-dragging .topology-route-item:not(.cdk-drag-placeholder){transition:transform .16s ease}.topology-route-results{display:grid;gap:4px;margin:6px 0 0;padding:0;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:750;list-style:none}.topology-route-results li{display:flex;justify-content:space-between;gap:8px;min-width:0}.topology-route-result-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topology-route-result-state{flex:none}.topology-route-results li.active{color:var(--zavpn-success-ink)}.topology-route-results li.unhealthy{color:var(--zavpn-warning-ink)}.topology-route-return-window{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}.topology-route-return-window-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.topology-route-return-window-times{display:flex;flex-wrap:nowrap;align-items:center;gap:6px}.topology-route-return-window-times input:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){flex:1 1 0;min-width:0}.backbone-channel-diagram-node{border-color:#94a3b899;background:linear-gradient(180deg,var(--zavpn-disabled-bg) 0%,var(--zavpn-bg-elevated) 100%)}.topology-edge-path.backbone-channel-edge-path:not(.selected){stroke:var(--zavpn-muted);stroke-dasharray:2 6;stroke-linecap:round}.topology-edge-label.backbone-channel-edge-label{fill:var(--zavpn-muted-strong)}.topology-designer{--topology-left-inset: 60px;--topology-right-inset: 0px;position:relative;display:block;height:clamp(560px,100vh - 230px,1600px);height:clamp(560px,100dvh - 230px,1600px);min-height:0;border-top:0;padding:0;overflow:hidden}.topology-designer.palette-open{--topology-left-inset: 284px}.topology-designer.inspector-open{--topology-right-inset: 404px}.topology-designer>app-admin-topology-canvas{position:absolute;inset:0;display:block}.topology-palette-drawer,.topology-inspector-drawer{position:absolute;z-index:6;top:12px;bottom:12px;max-width:calc(100% - 24px);overflow:auto;overscroll-behavior:contain;border-radius:8px;box-shadow:0 18px 42px #0000005c}.topology-palette-drawer{left:12px;display:block;width:260px}.topology-designer:not(.palette-open) .topology-palette-drawer{width:48px;bottom:auto}.topology-palette-drawer .topology-palette,.topology-inspector-drawer .topology-inspector{box-sizing:border-box;min-height:100%}.topology-palette-toolbar{display:flex;justify-content:flex-end;margin-bottom:-4px}.topology-palette-collapse,.topology-drawer-close{width:28px;height:28px}.topology-palette-strip{justify-items:center;gap:6px;padding:6px}.topology-palette-strip-button{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid var(--zavpn-line-strong);border-radius:6px;padding:0;color:var(--zavpn-ink-soft);background:var(--zavpn-panel);font:inherit;font-size:var(--zavpn-text-caption);font-weight:900;cursor:pointer}.topology-palette-strip-button:hover,.topology-palette-strip-button:focus-visible{border-color:#60a5fab3;background:var(--zavpn-panel-hover)}.topology-inspector-drawer{right:12px;width:380px;overflow-x:hidden}.topology-inspector-drawer .topology-inspector{padding-top:40px}.topology-drawer-close{position:absolute;z-index:1;top:8px;right:8px}.topology-inspector-reopen{position:absolute;z-index:6;top:12px;right:12px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--zavpn-ink-soft);background:var(--zavpn-bg-deep);font:inherit;font-size:var(--zavpn-text-small);font-weight:800;cursor:pointer}.topology-canvas-toolbar{position:absolute;z-index:5;top:12px;right:calc(var(--topology-right-inset) + 12px);left:calc(var(--topology-left-inset) + 12px);display:flex;flex-wrap:wrap;justify-content:center;gap:8px;pointer-events:none}.topology-zoom-controls,.topology-edge-style-switch{pointer-events:auto}.topology-zoom-controls{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;padding:4px;background:var(--zavpn-bg-deep)}.topology-toolbar-button{height:32px;min-width:32px;border:1px solid var(--zavpn-line-strong);border-radius:6px;padding:0 8px;color:var(--zavpn-ink-soft);background:#0c1f30b8;font:inherit;font-size:var(--zavpn-text-small);font-weight:800;cursor:pointer}.topology-toolbar-button.icon-button{width:32px;font-size:var(--zavpn-text-lead)}.topology-zoom-value{min-width:58px;font-variant-numeric:tabular-nums}.topology-fullscreen-button{flex:0 0 auto}body.topology-editor-fullscreen{overflow:hidden}.topology-builder.topology-builder-fullscreen{position:fixed;z-index:900;inset:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:0;border:0;border-radius:0;padding:0;background:var(--zavpn-bg);box-shadow:none}.topology-builder-fullscreen>.topology-editor-tabs-row{grid-row:1;grid-column:1;gap:8px;row-gap:4px;border-bottom:1px solid var(--line-soft);padding:6px 12px}.topology-builder-fullscreen>.topology-editor-footer{grid-row:1;grid-column:2;display:flex;align-items:center;border-top:0;border-bottom:1px solid var(--line-soft);padding:6px 12px}.topology-builder-fullscreen>.topology-editor-footer .topology-apply-actions{flex-wrap:nowrap;margin:0}.topology-builder-fullscreen>.topology-editor-footer .topology-endpoints-outdated{margin:0 12px 0 0;padding:6px 10px;white-space:nowrap}.topology-builder-fullscreen>.topology-editor-footer .topology-endpoints-outdated-detail{display:none}.topology-builder-fullscreen>:not(.topology-editor-tabs-row):not(.topology-editor-footer){grid-row:2;grid-column:1/-1;min-height:0;overflow:auto;padding:12px}.topology-builder.topology-builder-fullscreen>.topology-designer.settings-group{height:auto;padding:0;overflow:hidden}.topology-builder-fullscreen .topology-canvas-shell{border:0;border-radius:0}.topology-edge-layer.topology-label-layer{z-index:3}.topology-inspector-handle{display:none}@media(max-width:860px){.topology-designer.inspector-open{--topology-right-inset: 12px}.topology-inspector-drawer{inset:auto 0 0;width:auto;max-width:none;max-height:55%;border-radius:14px 14px 0 0}.topology-inspector-drawer.topology-inspector-expanded{max-height:calc(100% - 12px)}.topology-inspector-drawer .topology-inspector{min-height:0;padding-top:44px}.topology-inspector-handle{position:absolute;z-index:1;top:0;left:50%;display:grid;width:96px;height:32px;place-items:center;border:0;padding:0;background:transparent;transform:translate(-50%);cursor:pointer}.topology-inspector-handle span{width:40px;height:4px;border-radius:2px;background:var(--zavpn-line-strong)}}.topology-block-links{display:grid;gap:6px;margin:4px 0 12px;border-top:1px solid var(--line-soft);padding-top:10px}.topology-block-links h4{margin:0;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:800}.topology-block-link{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--zavpn-text-body);overflow-wrap:anywhere}.topology-block-link .icon-button{flex:0 0 auto;width:30px;height:30px}.billing-entry-row{cursor:pointer}.billing-entry-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.billing-entry-description{display:grid;gap:4px}.billing-entry-description span{color:var(--muted);font-size:var(--zavpn-text-small)}.billing-entry-description p{margin:0;overflow-wrap:anywhere}.feature-flag-dialog{width:min(860px,100vw - 32px)}.feature-flag-tabs{justify-self:start}.feature-flag-panel{display:grid;align-content:start;gap:14px}.feature-flag-new-customers{display:flex;align-items:center;gap:8px}.feature-flag-search{display:grid;gap:4px;max-width:420px}.feature-flag-candidates{display:grid;gap:4px;max-width:560px;margin:0;padding:0;list-style:none}.feature-flag-candidates li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:8px;padding:4px 4px 4px 10px}.feature-flag-panel small,.feature-flag-candidates small{margin-left:6px;color:var(--muted)}.office-panel,.office-tab-panel{display:grid;align-content:start;gap:12px}.office-dialog{width:min(900px,100vw - 32px)}.office-tab-toolbar{display:flex;justify-content:flex-end}.office-tabs{justify-self:start}.office-members{display:grid;gap:6px;margin:0;padding:0;list-style:none}.office-members li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:8px;padding:6px 10px}.office-admin-key.inactive{color:var(--muted)}.office-admin-key small{margin-left:6px;color:var(--muted)}.office-field{display:grid;gap:4px;max-width:420px}.office-code{font-family:monospace;letter-spacing:.08em}.office-key-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.office-add-dialog,.office-key-dialog{display:grid;gap:12px}.office-add-tabs{justify-self:start}.office-add-dialog .office-field .hint,.office-key-dialog .office-field .hint{font-weight:400}.office-key-choices{display:grid;gap:8px;margin:0;border:0;padding:0}.office-key-choices legend{margin-bottom:4px;padding:0;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:800}.office-key-choice{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.office-key-choice>span{display:grid;gap:2px}.office-key-choice .hint{font-weight:400}.office-key-choice.inactive{color:var(--muted)}.office-key-refusal{color:var(--muted);font-style:italic}.office-key-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--muted);font-size:var(--zavpn-text-body)}.office-key-unavailable{display:grid;gap:8px}.office-key-unavailable-toggle{justify-self:start}.office-key-unavailable ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.account-office-section .create-icon-button,.office-dialog .create-icon-button{position:relative}.create-icon-badge{position:absolute;right:-6px;bottom:-6px;width:17px;height:17px;border:2px solid var(--zavpn-panel);border-radius:50%;background:var(--zavpn-green)}.create-icon-badge:before,.create-icon-badge:after{content:"";position:absolute;top:50%;left:50%;width:9px;height:2px;border-radius:1px;background:var(--zavpn-bg);transform:translate(-50%,-50%)}.create-icon-badge:after{transform:translate(-50%,-50%) rotate(90deg)}.office-splash{display:grid;gap:18px;padding:28px 24px;container:office-splash/inline-size;background:var(--zavpn-panel) url(/assets/art/office-stars.webp) center/cover no-repeat}.office-splash-top{display:grid;justify-items:center;gap:8px;text-align:center}.office-splash-top h2{font-size:var(--zavpn-text-heading)}.office-splash-top p{max-width:520px;color:var(--muted);font-size:var(--zavpn-text-base);line-height:1.55}.office-splash-eyebrow{border:1px solid rgba(21,184,111,.45);border-radius:999px;padding:3px 10px;color:var(--zavpn-green);font-size:var(--zavpn-text-caption);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.office-splash-stage{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,720px) minmax(200px,1fr);align-items:center;gap:24px}.office-splash-side{display:grid;gap:28px}.office-splash-side>div{display:grid;gap:4px}.office-splash-side.start>div{justify-items:end;text-align:right}.office-splash-side app-icon{color:var(--zavpn-green);font-size:var(--zavpn-text-title)}.office-splash-side strong{font-size:var(--zavpn-text-base)}.office-splash-side span{color:var(--muted);font-size:var(--zavpn-text-small);line-height:1.45}@container office-splash (max-width: 1180px){.office-splash-stage{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px 24px}.office-splash-scene{display:none}.office-splash-side{gap:20px}.office-splash-side.start>div{justify-items:start;text-align:left}}@container office-splash (max-width: 560px){.office-splash-stage{grid-template-columns:minmax(0,1fr)}}.office-splash-scene svg{display:block;width:100%;height:auto}.office-splash-route,.office-splash-internet{fill:none;stroke-width:1.5}.office-splash-route{stroke:var(--zavpn-green);stroke-dasharray:4 6;animation:office-splash-flow 1.4s linear infinite}.office-splash-internet{stroke:var(--zavpn-line-strong);stroke-dasharray:2 7}.office-splash-internet.active{stroke:var(--zavpn-info-ink);stroke-dasharray:4 6;animation:office-splash-flow 1.4s linear infinite}.office-splash-packet{fill:var(--zavpn-success-ink)}.office-splash-packet.internet{fill:var(--zavpn-info-ink)}.office-splash-hub{fill:color-mix(in srgb,var(--zavpn-green) 25%,var(--zavpn-bg));stroke:var(--zavpn-green);stroke-width:1.5}.office-splash-ring{fill:none;stroke:var(--zavpn-green);transform-box:fill-box;transform-origin:center;animation:office-splash-ring 2.6s ease-out infinite}.office-splash-hub-title{fill:var(--zavpn-success-ink);font-size:var(--zavpn-text-body);font-weight:700}.office-splash-device{fill:var(--zavpn-bg-elevated);stroke:var(--zavpn-line)}.office-splash-device-name{fill:var(--zavpn-ink);font-size:var(--zavpn-text-small);font-weight:700}.office-splash-country{font-size:var(--zavpn-text-lead)}.office-splash-www{opacity:.4}.office-splash-www.active{opacity:1}.office-splash-www circle{fill:var(--zavpn-bg-elevated);stroke:var(--zavpn-line-strong)}.office-splash-www text{fill:var(--zavpn-muted);font-size:var(--zavpn-text-caption)}@keyframes office-splash-flow{to{stroke-dashoffset:-20}}@keyframes office-splash-ring{0%{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(1.9)}}@media(prefers-reduced-motion:reduce){.office-splash-route,.office-splash-internet.active,.office-splash-ring{animation:none}}.office-splash-modes{display:grid;justify-items:center;gap:8px;text-align:center}.office-splash-modes .mode-tabs{width:max-content}.office-splash-modes .mode-tabs button{display:inline-flex;align-items:center;gap:6px}.office-splash-modes p{color:var(--muted);font-size:var(--zavpn-text-body)}.office-splash-actions{display:grid;justify-items:center}.office-splash-actions .btn{padding-inline:34px}.backbone-pool-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backbone-settings{display:grid;gap:14px;max-width:760px}.backbone-settings-card{display:grid;gap:14px;border:1px solid var(--line);border-radius:10px;padding:16px;background:#0c1f3085}.backbone-settings-card h3{margin:0 0 3px}.backbone-settings-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 14px;align-items:end}.backbone-settings-main{grid-template-columns:minmax(0,1fr) 160px}.backbone-settings-fields label:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){min-width:0}.backbone-settings-actions,.backbone-settings-wide{grid-column:1/-1}.backbone-settings-actions{display:flex;justify-content:flex-end}.backbone-settings-wide{margin:0}.backbone-pool-table{display:grid;margin:0;padding:0;list-style:none;border:1px solid var(--line-soft);border-radius:8px}.backbone-pool-table li{display:grid;grid-template-columns:130px minmax(0,1fr) 70px 36px;align-items:center;gap:12px;min-height:44px;padding:4px 8px 4px 12px}.backbone-pool-table li+li{border-top:1px solid var(--line-soft)}.backbone-pool-purpose{justify-self:start;border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:var(--zavpn-text-small)}.backbone-pool-purpose-links{border-color:var(--blue)}.backbone-pool-cidr{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backbone-pool-step,.backbone-pool-empty,.backbone-pool-step-hint{color:var(--muted);font-size:var(--zavpn-text-body)}.backbone-pool-table li.backbone-pool-empty{display:block;padding:12px}.backbone-pool-add{grid-template-columns:200px minmax(0,1fr) 200px}.backbone-pool-step-hint{align-self:center;margin:0}@media(max-width:480px){.backbone-settings-fields,.backbone-settings-main,.backbone-pool-add{grid-template-columns:minmax(0,1fr)}.backbone-pool-table li{grid-template-columns:minmax(0,1fr) auto 36px}.backbone-pool-purpose{grid-column:1/-1}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.admin-content .panel:not(.customers-list)>.panel-title:not(:last-child){margin-bottom:14px}.admin-content .panel>*+table{margin-top:12px}.admin-content .panel>.hint:not(:last-child){margin-bottom:14px}@media(min-width:861px){.mobile-only{display:none!important}}@media(max-width:860px){.admin-content :is(.table-filters,.panel-title-actions) :is(input,select){height:40px;min-height:40px;padding:0 12px}.admin-content .table-filters .btn{min-height:40px}.admin-content .table-filters{grid-template-columns:minmax(0,1fr) auto}.admin-content .admin-key-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-content .admin-key-filters>:first-child,.admin-content .admin-key-filters>button{grid-column:1/-1}.admin-content .admin-key-filters:not(.open) .admin-key-extra-filter{display:none}}@media(max-width:480px){.admin-content .panel{padding:12px}.admin-content .panel-title{flex-direction:row;flex-wrap:wrap;align-items:center;row-gap:8px}.admin-content .panel-title h2{font-size:var(--zavpn-text-title);line-height:1.2}.admin-content .panel-title-actions{width:auto;margin-left:auto}.admin-content .panel-title-actions select:where(:not(.mat-mdc-form-field *,.mdc-form-field *,.mat-mdc-chip *,.mat-mdc-table,.mat-mdc-table *)){width:auto;max-width:180px}.admin-content .table-filters label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.admin-content .table-filters{gap:8px}}.topology-designer.topology-schema-mode{height:auto;min-height:0;overflow:visible}.topology-schema-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.topology-schema-toolbar .mode-tabs{margin-right:auto}.topology-designer.topology-canvas-view{--topology-left-inset: 0px;display:flex;flex-direction:column;height:calc(100dvh - 190px);min-height:360px}.topology-designer.topology-canvas-view>app-admin-topology-canvas{position:relative;flex:1 1 auto;min-height:0}.topology-canvas-view .topology-canvas-shell{touch-action:none}.topology-palette-sheet{position:fixed;z-index:40;inset:auto 0 0;width:auto;max-width:none;max-height:75dvh;border-radius:14px 14px 0 0}app-admin-topology-schema-list{display:grid;gap:14px}.topology-schema-group h3{margin:0 0 6px;color:var(--muted);font-size:var(--zavpn-text-small);font-weight:800}.topology-schema-group ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.topology-schema-block{display:flex;width:100%;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;color:var(--text);background:var(--zavpn-panel);font:inherit;text-align:left;cursor:pointer}.topology-schema-block.selected{border-color:var(--zavpn-info-ink)}.topology-schema-block.role-invalid,.topology-schema-block.role-unhealthy{border-color:#f59e0b8c}.topology-schema-badge{display:inline-grid;flex:0 0 34px;height:24px;place-items:center;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:var(--zavpn-text-caption);font-weight:900}.topology-schema-body{display:grid;gap:2px;min-width:0;flex:1 1 auto}.topology-schema-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.topology-schema-head strong{overflow-wrap:anywhere;font-size:var(--zavpn-text-base)}.topology-schema-body small{color:var(--muted);font-size:var(--zavpn-text-small);overflow-wrap:anywhere}.topology-schema-body .topology-schema-link{color:var(--text)}.topology-schema-body .topology-schema-error{color:var(--zavpn-warning-ink)}@media(max-width:860px){.topology-designer.topology-schema-mode .topology-inspector-drawer,.topology-designer.topology-canvas-view .topology-inspector-drawer{position:fixed;z-index:40;max-height:70dvh}.topology-designer.topology-schema-mode .topology-inspector-drawer.topology-inspector-expanded{max-height:calc(100dvh - 24px)}.topology-designer .topology-inspector-reopen,.topology-canvas-view .topology-edge-style-switch{display:none}.topology-editor-tabs-row{gap:8px;row-gap:10px}.topology-editor-title{flex:1 1 0;min-width:0;max-width:none}.topology-editor-status{gap:6px}.topology-editor-status>span:first-child,.topology-fullscreen-button{display:none}.topology-editor-status .status{min-width:0}.topology-editor-footer{position:sticky;z-index:5;bottom:0;padding-bottom:10px;background:var(--zavpn-bg-elevated)}}@media(max-width:860px){.content table.ds-table tr{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;row-gap:3px;margin:0;padding:10px 2px;overflow:visible;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.content table.ds-table tr:before{content:"";order:3;flex:1 0 100%;height:0;margin-top:-3px}.content table.ds-table tr:first-child{border-top:0;padding-top:2px}.content table.ds-table td{display:block;width:auto;max-width:none;min-width:0;padding:0;border:0;font-size:var(--zavpn-text-body);line-height:1.35}.content table.ds-table td:before{content:none}.content table.ds-table td[data-mobile=title]{order:1;flex:1 1 0;font-size:var(--zavpn-text-base);font-weight:800;overflow-wrap:anywhere}.content table.ds-table td[data-mobile=aside]{order:2;flex:0 0 auto}.content table.ds-table td[data-mobile=aside] .status{min-width:0;min-height:22px;padding:0 8px;font-size:var(--zavpn-text-caption)}.content table.ds-table td[data-mobile=sub]{order:4;flex:1 0 100%;color:var(--muted);overflow-wrap:anywhere}.content table.ds-table td[data-mobile=meta],.content table.ds-table td[data-mobile=note]{order:5;font-size:var(--zavpn-text-small)}.content table.ds-table td[data-mobile=meta]:before{content:attr(data-label) " ";color:var(--muted)}.content table.ds-table td:is([data-mobile=meta],[data-mobile=note])~td[data-mobile=meta]:before{content:"\b7  " attr(data-label) " "}.content table.ds-table td:is([data-mobile=meta],[data-mobile=note])~td[data-mobile=note]:before{content:"\b7  ";color:var(--muted)}.content table.ds-table td[data-mobile=end]{order:6;margin-left:auto;font-weight:800}.content table.ds-table td[data-mobile=end]~td[data-mobile=end]{margin-left:0}.content table.ds-table td[data-mobile=block]{order:7;flex:1 0 100%}.content table.ds-table td:not([data-mobile]){order:8;flex:1 0 100%;font-size:var(--zavpn-text-small)}.content table.ds-table td:not([data-mobile]):before{content:attr(data-label) ": ";color:var(--muted)}.content table.ds-table td[data-mobile=hide]{display:none}.content table.ds-table td.empty-cell{flex:1 0 100%;padding:18px 0;text-align:center}.content table.ds-table td.empty-cell:before{content:none}.content table.ds-table .customer-balance-cell span{min-width:0}.content table.ds-table .customer-balance-cell button{display:none}.content table.ds-table td:is([data-mobile=meta],[data-mobile=note])>div{display:inline}.content table.ds-table .key-direction-cell{display:flex;flex-wrap:wrap;column-gap:8px}.admin-content table.ds-table .account-key-name-cell .icon-button{width:28px;height:28px}}.ds-table tbody tr:is(.clickable-row,[tabindex]){cursor:pointer}.ds-table tbody tr:is(.clickable-row,[tabindex],:has(.inplace-editor-value-button:not(:disabled))):hover{background:var(--zavpn-panel-hover)}.ds-table tbody tr:is(.clickable-row,[tabindex]):hover td[data-mobile=title],.ds-table tbody tr:is(.clickable-row,[tabindex]):hover td[data-mobile=title] strong,.ds-table tbody tr:hover .inplace-editor-value-button:not(:disabled),.catalog-card:hover .inplace-editor-value-button:not(:disabled){color:var(--zavpn-info-ink)}.account-keys-table .account-key-name-col{width:18%}.account-keys-table .account-key-direction-col{width:auto}.account-keys-table .account-key-application-col{width:14%}.account-keys-table .account-key-status-col{width:11%}.account-keys-table .account-key-paid-col{width:14%}.account-keys-table .account-key-actions-col{width:200px}.account-keys-panel.table-panel{overflow:visible}.account-keys-table td.key-paid-cell{display:table-cell}.account-keys-table .account-key-actions .btn{width:auto;height:auto;font-size:var(--zavpn-text-base)}.account-keys-table .key-menu-list .key-menu-item{width:auto;height:auto}.account-keys-table .account-key-name-editor .inplace-editor-edit-button{display:none}.key-direction-line{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.key-direction-description{display:block;color:var(--zavpn-muted);font-size:var(--zavpn-text-small)}.key-direction-flags{display:inline-flex;gap:4px;white-space:nowrap}.key-paid-cell strong{color:var(--zavpn-ink-soft);font-weight:600}.key-paid-prefix{display:none;margin-right:var(--zavpn-space-xs);color:var(--zavpn-muted)}.key-paid-cell.expired .key-paid-prefix{display:inline}.key-paid-auto{margin-left:var(--zavpn-space-xs);color:var(--zavpn-muted)}.account-keys-table .account-key-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--zavpn-space-sm)}.key-menu-list{min-width:220px}.key-menu-list .key-menu-item{display:flex;align-items:center;gap:var(--zavpn-space-sm);border:0;border-radius:var(--zavpn-control-radius);padding:10px 12px;color:var(--zavpn-ink-soft);background:transparent;font:inherit;font-size:var(--zavpn-text-base);text-align:left;white-space:nowrap;cursor:pointer}.key-menu-list .key-menu-item:hover:not(:disabled),.key-menu-list .key-menu-item:focus-visible{background:var(--zavpn-panel-hover)}.key-menu-list .key-menu-item:disabled{color:var(--zavpn-muted-dim);cursor:not-allowed}.key-menu-list .key-menu-item.catalog-card-delete{margin-top:4px;border-top:1px solid var(--zavpn-line-soft);border-radius:0 0 var(--zavpn-control-radius) var(--zavpn-control-radius);color:var(--zavpn-danger-ink)}.key-menu-state{margin-left:auto;padding-left:var(--zavpn-space-md);color:var(--zavpn-muted);font-size:var(--zavpn-text-small)}.key-menu-list .key-menu-item.key-auto-renew-button.active{border:0;background:transparent}.key-menu-list .key-menu-item.key-auto-renew-button.active:hover,.key-menu-list .key-menu-item.key-auto-renew-button.active:focus-visible{background:var(--zavpn-panel-hover)}.key-menu-item.key-auto-renew-button.active .key-menu-state{color:var(--zavpn-success-ink)}@media(max-width:860px){.key-direction-description{display:none}.key-paid-prefix{display:inline}.content table.ds-table.account-keys-table td.key-paid-cell{display:block;flex:1 1 calc(100% - 56px);align-self:center}.content table.ds-table.account-keys-table td.key-actions-cell{flex:0 0 auto;align-self:center;margin-left:auto}.content table.ds-table.account-keys-table td.key-actions-cell.has-primary{flex:1 0 100%;margin-top:var(--zavpn-space-sm)}.content table.ds-table.account-keys-table td[data-mobile=note]+td[data-mobile=note]:before{content:none}.account-keys-table .account-key-actions{justify-content:flex-start}.account-keys-table .key-menu{margin-left:auto}}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:var(--mat-app-elevation-shadow-level-0, 0px 0px 0px 0px --mat-sys-shadow, 0px 0px 0px 0px --mat-sys-shadow, 0px 0px 0px 0px --mat-sys-shadow)}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:var(--mat-app-elevation-shadow-level-1, 0px 2px 1px -1px --mat-sys-shadow, 0px 1px 1px 0px --mat-sys-shadow, 0px 1px 3px 0px --mat-sys-shadow)}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:var(--mat-app-elevation-shadow-level-2, 0px 3px 1px -2px --mat-sys-shadow, 0px 2px 2px 0px --mat-sys-shadow, 0px 1px 5px 0px --mat-sys-shadow)}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:var(--mat-app-elevation-shadow-level-3, 0px 3px 3px -2px --mat-sys-shadow, 0px 3px 4px 0px --mat-sys-shadow, 0px 1px 8px 0px --mat-sys-shadow)}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:var(--mat-app-elevation-shadow-level-4, 0px 2px 4px -1px --mat-sys-shadow, 0px 4px 5px 0px --mat-sys-shadow, 0px 1px 10px 0px --mat-sys-shadow)}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:var(--mat-app-elevation-shadow-level-5, 0px 3px 5px -1px --mat-sys-shadow, 0px 5px 8px 0px --mat-sys-shadow, 0px 1px 14px 0px --mat-sys-shadow)}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:var(--mat-app-elevation-shadow-level-6, 0px 3px 5px -1px --mat-sys-shadow, 0px 6px 10px 0px --mat-sys-shadow, 0px 1px 18px 0px --mat-sys-shadow)}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:var(--mat-app-elevation-shadow-level-7, 0px 4px 5px -2px --mat-sys-shadow, 0px 7px 10px 1px --mat-sys-shadow, 0px 2px 16px 1px --mat-sys-shadow)}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:var(--mat-app-elevation-shadow-level-8, 0px 5px 5px -3px --mat-sys-shadow, 0px 8px 10px 1px --mat-sys-shadow, 0px 3px 14px 2px --mat-sys-shadow)}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:var(--mat-app-elevation-shadow-level-9, 0px 5px 6px -3px --mat-sys-shadow, 0px 9px 12px 1px --mat-sys-shadow, 0px 3px 16px 2px --mat-sys-shadow)}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:var(--mat-app-elevation-shadow-level-10, 0px 6px 6px -3px --mat-sys-shadow, 0px 10px 14px 1px --mat-sys-shadow, 0px 4px 18px 3px --mat-sys-shadow)}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:var(--mat-app-elevation-shadow-level-11, 0px 6px 7px -4px --mat-sys-shadow, 0px 11px 15px 1px --mat-sys-shadow, 0px 4px 20px 3px --mat-sys-shadow)}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:var(--mat-app-elevation-shadow-level-12, 0px 7px 8px -4px --mat-sys-shadow, 0px 12px 17px 2px --mat-sys-shadow, 0px 5px 22px 4px --mat-sys-shadow)}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:var(--mat-app-elevation-shadow-level-13, 0px 7px 8px -4px --mat-sys-shadow, 0px 13px 19px 2px --mat-sys-shadow, 0px 5px 24px 4px --mat-sys-shadow)}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:var(--mat-app-elevation-shadow-level-14, 0px 7px 9px -4px --mat-sys-shadow, 0px 14px 21px 2px --mat-sys-shadow, 0px 5px 26px 4px --mat-sys-shadow)}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:var(--mat-app-elevation-shadow-level-15, 0px 8px 9px -5px --mat-sys-shadow, 0px 15px 22px 2px --mat-sys-shadow, 0px 6px 28px 5px --mat-sys-shadow)}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:var(--mat-app-elevation-shadow-level-16, 0px 8px 10px -5px --mat-sys-shadow, 0px 16px 24px 2px --mat-sys-shadow, 0px 6px 30px 5px --mat-sys-shadow)}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:var(--mat-app-elevation-shadow-level-17, 0px 8px 11px -5px --mat-sys-shadow, 0px 17px 26px 2px --mat-sys-shadow, 0px 6px 32px 5px --mat-sys-shadow)}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:var(--mat-app-elevation-shadow-level-18, 0px 9px 11px -5px --mat-sys-shadow, 0px 18px 28px 2px --mat-sys-shadow, 0px 7px 34px 6px --mat-sys-shadow)}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:var(--mat-app-elevation-shadow-level-19, 0px 9px 12px -6px --mat-sys-shadow, 0px 19px 29px 2px --mat-sys-shadow, 0px 7px 36px 6px --mat-sys-shadow)}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:var(--mat-app-elevation-shadow-level-20, 0px 10px 13px -6px --mat-sys-shadow, 0px 20px 31px 3px --mat-sys-shadow, 0px 8px 38px 7px --mat-sys-shadow)}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:var(--mat-app-elevation-shadow-level-21, 0px 10px 13px -6px --mat-sys-shadow, 0px 21px 33px 3px --mat-sys-shadow, 0px 8px 40px 7px --mat-sys-shadow)}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:var(--mat-app-elevation-shadow-level-22, 0px 10px 14px -6px --mat-sys-shadow, 0px 22px 35px 3px --mat-sys-shadow, 0px 8px 42px 7px --mat-sys-shadow)}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:var(--mat-app-elevation-shadow-level-23, 0px 11px 14px -7px --mat-sys-shadow, 0px 23px 36px 3px --mat-sys-shadow, 0px 9px 44px 8px --mat-sys-shadow)}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:var(--mat-app-elevation-shadow-level-24, 0px 11px 15px -7px --mat-sys-shadow, 0px 24px 38px 3px --mat-sys-shadow, 0px 9px 46px 8px --mat-sys-shadow)}html{--mat-sys-on-surface: initial}.mat-app-background{background-color:var(--mat-app-background-color, var(--mat-sys-background, transparent));color:var(--mat-app-text-color, var(--mat-sys-on-background, inherit))}html{--mat-sys-background: #001526;--mat-sys-error: #ffb4ab;--mat-sys-error-container: #93000a;--mat-sys-inverse-on-surface: #1f3245;--mat-sys-inverse-primary: #be0a18;--mat-sys-inverse-surface: #d0e4fd;--mat-sys-on-background: #d0e4fd;--mat-sys-on-error: #690005;--mat-sys-on-error-container: #ffdad6;--mat-sys-on-primary: #690006;--mat-sys-on-primary-container: #ffdad6;--mat-sys-on-primary-fixed: #410002;--mat-sys-on-primary-fixed-variant: #93000d;--mat-sys-on-secondary: #66080a;--mat-sys-on-secondary-container: #ffdad6;--mat-sys-on-secondary-fixed: #410002;--mat-sys-on-secondary-fixed-variant: #85221e;--mat-sys-on-surface: #d0e4fd;--mat-sys-on-surface-variant: #cde5ff;--mat-sys-on-tertiary: #002b74;--mat-sys-on-tertiary-container: #dae2ff;--mat-sys-on-tertiary-fixed: #001849;--mat-sys-on-tertiary-fixed-variant: #003fa3;--mat-sys-outline: #7b93ac;--mat-sys-outline-variant: #31495f;--mat-sys-primary: #ffb4ac;--mat-sys-primary-container: #93000d;--mat-sys-primary-fixed: #ffdad6;--mat-sys-primary-fixed-dim: #ffb4ac;--mat-sys-scrim: #000000;--mat-sys-secondary: #ffb4ac;--mat-sys-secondary-container: #85221e;--mat-sys-secondary-fixed: #ffdad6;--mat-sys-secondary-fixed-dim: #ffb4ac;--mat-sys-shadow: #000000;--mat-sys-surface: #001526;--mat-sys-surface-bright: #283b4e;--mat-sys-surface-container: #0c2133;--mat-sys-surface-container-high: #182b3e;--mat-sys-surface-container-highest: #233649;--mat-sys-surface-container-low: #071d2f;--mat-sys-surface-container-lowest: #000f1e;--mat-sys-surface-dim: #001526;--mat-sys-surface-tint: #ffb4ac;--mat-sys-surface-variant: #31495f;--mat-sys-tertiary: #b3c5ff;--mat-sys-tertiary-container: #003fa3;--mat-sys-tertiary-fixed: #dae2ff;--mat-sys-tertiary-fixed-dim: #b3c5ff;--mat-sys-neutral-variant20: #1a3247;--mat-sys-neutral10: #071d2f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-body-large-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-body-medium-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-body-small-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-display-large-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-display-medium-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-display-small-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-headline-large-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-headline-medium-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-headline-small-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-label-large-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-label-medium-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-label-small-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-title-large-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-title-medium-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-title-small-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-checkbox-touch-target-display: none;--mat-checkbox-state-layer-size: 32px;--mat-chip-container-height: 24px;--mat-expansion-header-collapsed-state-height: 40px;--mat-expansion-header-expanded-state-height: 56px;--mat-fab-small-touch-target-display: ;--mat-fab-touch-target-display: none;--mat-button-filled-touch-target-display: none;--mat-button-filled-container-height: 32px;--mat-button-outlined-container-height: 32px;--mat-button-outlined-touch-target-display: none;--mat-button-protected-touch-target-display: none;--mat-button-protected-container-height: 32px;--mat-button-text-touch-target-display: none;--mat-button-text-container-height: 32px;--mat-button-tonal-container-height: 32px;--mat-button-tonal-touch-target-display: none;--mat-form-field-container-height: 48px;--mat-form-field-filled-label-display: none;--mat-form-field-container-vertical-padding: 12px;--mat-form-field-filled-with-label-container-padding-top: 12px;--mat-form-field-filled-with-label-container-padding-bottom: 12px;--mat-icon-button-touch-target-display: none;--mat-icon-button-state-layer-size: 32px;--mat-list-list-item-leading-icon-start-space: 8px;--mat-list-list-item-leading-icon-end-space: 8px;--mat-list-list-item-one-line-container-height: 40px;--mat-list-list-item-two-line-container-height: 56px;--mat-list-list-item-three-line-container-height: 80px;--mat-paginator-container-size: 48px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: none;--mat-radio-touch-target-display: none;--mat-radio-state-layer-size: 32px;--mat-tab-container-height: 40px;--mat-select-arrow-transform: none;--mat-button-toggle-height: 40px;--mat-stepper-header-height: 64px;--mat-table-header-container-height: 48px;--mat-table-footer-container-height: 44px;--mat-table-row-item-container-height: 44px;--mat-toolbar-standard-height: 56px;--mat-toolbar-mobile-height: 48px;--mat-tree-node-min-height: 40px;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--mat-sys-background: var(--zavpn-bg);--mat-sys-surface: var(--zavpn-panel);--mat-sys-surface-dim: var(--zavpn-bg);--mat-sys-surface-bright: var(--zavpn-panel-strong);--mat-sys-surface-container-lowest: var(--zavpn-bg);--mat-sys-surface-container-low: var(--zavpn-bg-elevated);--mat-sys-surface-container: var(--zavpn-panel);--mat-sys-surface-container-high: var(--zavpn-panel-strong);--mat-sys-surface-container-highest: var(--zavpn-line-soft);--mat-sys-on-surface: var(--zavpn-ink);--mat-sys-on-surface-variant: var(--zavpn-muted);--mat-sys-outline: var(--zavpn-line-strong);--mat-sys-outline-variant: var(--zavpn-line);--mat-sys-primary: var(--zavpn-red);--mat-sys-on-primary: var(--zavpn-white);--mat-sys-error: var(--zavpn-danger);--mat-button-filled-horizontal-padding: 16px;--mat-button-outlined-horizontal-padding: 15px;--mat-button-protected-horizontal-padding: 16px;--mat-button-text-horizontal-padding: 8px;--mat-button-text-label-text-color: var(--zavpn-ink);--mat-button-outlined-label-text-color: var(--zavpn-muted-strong);--mat-button-outlined-outline-color: var(--zavpn-line-strong);--mat-form-field-outlined-focus-outline-color: var(--zavpn-blue);--mat-form-field-outlined-focus-label-text-color: var(--zavpn-info-ink);--mat-form-field-outlined-hover-outline-color: var(--zavpn-line-hover);--mat-form-field-outlined-caret-color: var(--zavpn-info-ink);--mat-form-field-filled-focus-active-indicator-color: var(--zavpn-blue);--mat-form-field-filled-focus-label-text-color: var(--zavpn-info-ink);--mat-form-field-filled-caret-color: var(--zavpn-info-ink);--mat-form-field-focus-select-arrow-color: var(--zavpn-info-ink);--mat-form-field-container-text-size: var(--zavpn-text-base);--mat-form-field-container-text-line-height: 20px;--mat-form-field-container-text-tracking: normal;--mat-form-field-outlined-label-text-size: var(--zavpn-text-base);--mat-form-field-outlined-label-text-tracking: normal;--mat-form-field-outlined-label-text-populated-size: var(--zavpn-text-small);--mat-form-field-subscript-text-size: var(--zavpn-text-small);--mat-form-field-subscript-text-tracking: normal;--mat-select-focused-arrow-color: var(--zavpn-info-ink);--mat-select-trigger-text-size: var(--zavpn-text-base);--mat-select-trigger-text-tracking: normal;--mat-option-label-text-size: var(--zavpn-text-base);--mat-option-label-text-tracking: normal}html,body{width:100%;min-height:100%;margin:0;color-scheme:dark}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden;color:var(--zavpn-ink);background:var(--zavpn-bg);font-family:var(--zavpn-font-base)}html:has(.dialog-backdrop),body:has(.dialog-backdrop){overflow:hidden}.mat-mdc-button-base.btn{min-height:38px;border-radius:var(--zavpn-control-radius);font-family:inherit;font-size:var(--zavpn-text-base);font-weight:800;letter-spacing:0}.mat-mdc-button-base.btn .mdc-button__label{display:inline-flex;align-items:center;gap:8px}.mat-mdc-unelevated-button.btn-primary{--mat-button-filled-container-color: var(--zavpn-red);--mat-button-filled-label-text-color: var(--zavpn-white);border:1px solid var(--zavpn-red-hover);background:linear-gradient(180deg,var(--zavpn-red),var(--zavpn-red-dark));box-shadow:0 14px 28px #e6302f38}.mat-mdc-unelevated-button.btn-primary:hover:not(:disabled){--mat-button-filled-container-color: var(--zavpn-red-hover);background:linear-gradient(180deg,var(--zavpn-red-hover),var(--zavpn-red-dark))}.mat-mdc-unelevated-button.btn-primary:disabled{--mat-button-filled-disabled-container-color: var(--zavpn-disabled-bg);--mat-button-filled-disabled-label-text-color: var(--zavpn-disabled-ink);border-color:var(--zavpn-line);color:var(--zavpn-disabled-ink);background:var(--zavpn-disabled-bg);box-shadow:none}.mat-mdc-outlined-button.btn-secondary{--mat-button-outlined-label-text-color: var(--zavpn-ink-soft);--mat-button-outlined-outline-color: var(--zavpn-line-strong);border-color:var(--zavpn-line-strong);background:#0c1f30b8}.mat-mdc-outlined-button.btn-secondary:hover:not(:disabled){--mat-button-outlined-outline-color: var(--zavpn-line-hover);background:var(--zavpn-panel-hover)}.mat-mdc-button.btn-ghost{--mat-button-text-label-text-color: var(--zavpn-ink-soft);border:1px solid var(--zavpn-line-strong);background:#0c1f3085}.mat-mdc-button.btn-ghost:hover:not(:disabled){background:var(--zavpn-panel-hover)}.mat-mdc-button-base.btn:disabled{--mat-button-filled-disabled-container-color: var(--zavpn-disabled-bg);--mat-button-filled-disabled-label-text-color: var(--zavpn-disabled-ink);--mat-button-outlined-disabled-label-text-color: var(--zavpn-disabled-ink);--mat-button-outlined-disabled-outline-color: var(--zavpn-line);--mat-button-text-disabled-label-text-color: var(--zavpn-disabled-ink);box-shadow:none}.dialog-card button[aria-busy=true]{cursor:progress;opacity:.7}.dialog-backdrop:has([data-apcr-pending]) button[apcrlocal]{cursor:progress;opacity:.6}.mat-mdc-form-field{--mat-form-field-filled-container-color: rgb(3 13 24 / 58%);--mat-form-field-filled-focus-active-indicator-color: rgb(255 255 255 / 34%);--mat-form-field-filled-active-indicator-color: rgb(255 255 255 / 15%);--mat-form-field-filled-hover-active-indicator-color: var(--zavpn-line-hover);--mat-form-field-filled-input-text-color: var(--zavpn-ink);--mat-form-field-filled-label-text-color: var(--zavpn-muted);--mat-form-field-container-height: 44px;--mat-form-field-container-vertical-padding: 10px}.mat-mdc-form-field .mdc-text-field{border:1px solid rgba(255,255,255,.15);border-radius:var(--zavpn-control-radius);background:#030d1894}.mat-mdc-form-field.mat-focused .mdc-text-field{border-color:var(--zavpn-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--zavpn-blue) 18%,transparent)}.mat-mdc-form-field{min-width:0}.mat-mdc-form-field-infix{width:auto;min-width:0}.mat-mdc-form-field .mdc-line-ripple{display:none}.mat-mdc-select-panel,.mat-mdc-menu-panel,.mat-mdc-dialog-container .mdc-dialog__surface{border:1px solid var(--zavpn-line);border-radius:var(--zavpn-card-radius);background:linear-gradient(180deg,#0e273cfa,#081927fa);box-shadow:0 18px 42px #00000057}.mat-mdc-option{color:var(--zavpn-ink-soft);min-height:36px}.mat-mdc-option:hover:not(.mdc-list-item--disabled),.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled){background:#e6302f1f}.mat-mdc-checkbox,.mat-mdc-radio-button{--mat-checkbox-selected-checkmark-color: var(--zavpn-white);--mat-checkbox-selected-focus-icon-color: var(--zavpn-red);--mat-checkbox-selected-hover-icon-color: var(--zavpn-red-hover);--mat-checkbox-selected-icon-color: var(--zavpn-red);--mat-radio-selected-focus-icon-color: var(--zavpn-red);--mat-radio-selected-hover-icon-color: var(--zavpn-red-hover);--mat-radio-selected-icon-color: var(--zavpn-red);--mat-radio-unselected-icon-color: var(--zavpn-disabled-ink);color:var(--zavpn-ink-soft)}.mat-mdc-slide-toggle{--mat-slide-toggle-selected-focus-state-layer-color: var(--zavpn-red);--mat-slide-toggle-selected-handle-color: var(--zavpn-white);--mat-slide-toggle-selected-hover-state-layer-color: var(--zavpn-red);--mat-slide-toggle-selected-pressed-state-layer-color: var(--zavpn-red);--mat-slide-toggle-selected-track-color: var(--zavpn-red);--mat-slide-toggle-unselected-handle-color: var(--zavpn-muted);--mat-slide-toggle-unselected-track-color: var(--zavpn-line);--mat-slide-toggle-unselected-hover-track-color: var(--zavpn-line-strong)}.mat-mdc-tab-group,.mat-mdc-tab-nav-bar{--mat-tab-active-label-text-color: var(--zavpn-red);--mat-tab-active-focus-label-text-color: var(--zavpn-red);--mat-tab-active-hover-label-text-color: var(--zavpn-red-hover);--mat-tab-inactive-label-text-color: var(--zavpn-muted);--mat-tab-inactive-hover-label-text-color: var(--zavpn-ink-soft);--mat-tab-active-ripple-color: transparent;--mat-tab-inactive-ripple-color: transparent}.mat-mdc-tab-group .mdc-tab-indicator__content--underline,.mat-mdc-tab-nav-bar .mdc-tab-indicator__content--underline{border-color:var(--zavpn-red)}.mat-mdc-table{background:transparent;color:var(--zavpn-ink)}.mat-mdc-header-row{background:var(--zavpn-panel-strong)}.mat-mdc-row,.mat-mdc-header-row{min-height:40px;border-color:var(--zavpn-line)}.mat-mdc-row:hover{background:#ffffff0a}.mat-mdc-paginator{--mat-paginator-container-background-color: transparent;--mat-paginator-container-text-color: var(--zavpn-muted);--mat-paginator-enabled-icon-color: var(--zavpn-ink-soft);--mat-paginator-disabled-icon-color: var(--zavpn-muted-dim);background:transparent;color:var(--zavpn-muted)}.zavpn-tag,.status{display:inline-flex;align-items:center;min-height:24px;border-radius:5px;padding:0 9px;font-size:var(--zavpn-text-small);font-weight:850}.zavpn-tag-success,.status.active{border:1px solid rgba(21,184,111,.44);color:var(--zavpn-green);background:#15b86f1f}.zavpn-tag-warning,.status.expiring,.status.expired{border:1px solid rgba(245,158,11,.46);color:var(--zavpn-amber);background:#f59e0b1f}.zavpn-tag-danger,.status.revoked{border:1px solid rgba(255,77,87,.5);color:var(--zavpn-danger);background:#ff4d571f}.zavpn-tag-info,.status.disabled{border:1px solid rgba(45,114,255,.48);color:var(--zavpn-sky);background:#2d72ff1f}.nav-badge{display:inline-block;min-width:18px;margin-left:6px;padding:0 6px;border-radius:9px;background:var(--zavpn-red);color:var(--zavpn-white);font-size:var(--zavpn-text-caption);line-height:18px;text-align:center}[matTextSuffix],[matTextPrefix]{white-space:nowrap}
