/* Locally hosted Manrope. License and provenance: public/fonts/. */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/fonts/manrope-cyrillic-ext-v1.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/fonts/manrope-cyrillic-v1.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/fonts/manrope-latin-ext-v1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/fonts/manrope-latin-v1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Shared typography and surfaces, reviewed against PRO1VPN. */
:root{--ui-font:Manrope,system-ui,-apple-system,sans-serif;--ui-panel:#241e31;--ui-border:#c3a6ff1f;--ui-text:#f0ebfa;--ui-secondary:#b8acc9;--ui-muted:#a092b2;font-family:var(--ui-font);font-synthesis:none}
html,body,dialog{font-family:var(--ui-font);font-style:normal}button,input,select,textarea{font-family:var(--ui-font)}
body{font-weight:500}.welcome h1,.page-heading h1{font-weight:800;letter-spacing:-.65px}.plan-status h2{font-weight:750}.wordmark,.wordmark b,.fs-symbol{font-weight:800}.bottom-nav button{font-weight:600}.welcome>p,.page-heading p{font-size:13px}
.btn{font-weight:700}.client-app strong,.setup-step h3,.device-row h3,.section-title h2,.feature-title h2{font-weight:750}.badge{font-weight:650}
dialog.fs-dialog,dialog.nav-drawer{color:var(--ui-text);background:linear-gradient(145deg,#2c233a,#211b2d 72%);border:1px solid var(--ui-border);box-shadow:0 28px 90px #08051085;font-family:var(--ui-font)}
dialog.fs-dialog{width:min(420px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:24px;border-radius:24px;animation:dialog-enter .2s ease-out}
dialog.fs-dialog::backdrop,dialog.nav-drawer::backdrop{background:#0c0814bf;backdrop-filter:blur(10px)}
dialog.fs-dialog .modal-heading,dialog.nav-drawer .modal-heading{display:flex;align-items:center;gap:12px;margin:0 0 22px}
.dialog-emblem{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border-radius:14px;background:linear-gradient(140deg,#a47cdd26,#7854aa13);border:1px solid #c7a8f223;color:#c9a8f1}
.dialog-emblem .icon{width:22px;height:22px}dialog.fs-dialog .modal-heading h2{font-size:20px;line-height:1.3;letter-spacing:-.45px;font-weight:800;color:#f1e9fc;margin:0;flex:1;min-width:0;overflow-wrap:anywhere}
dialog.fs-dialog .modal-heading .icon-button,dialog.nav-drawer .modal-heading .icon-button{width:34px;height:34px;min-width:34px;flex-shrink:0;border:1px solid #ffffff12;background:#ffffff05;border-radius:11px;color:#b8a6cc;margin-left:auto;padding:7px}
dialog.fs-dialog>p,dialog.fs-dialog .dialog-intro{font-size:13px;line-height:1.75;font-weight:500;color:var(--ui-secondary);margin:0 0 18px}
dialog.fs-dialog>p.fine-print{font-size:11px;line-height:1.75;font-weight:500;color:var(--ui-muted);margin:18px 0 12px}
dialog.fs-dialog>.btn,dialog.fs-dialog form>.btn{width:100%;min-height:48px;font-size:13px;line-height:1.4;font-weight:750;border-radius:14px;margin:12px 0 0;padding:13px 16px;white-space:normal}
dialog.fs-dialog>.btn.primary,dialog.fs-dialog form>.btn.primary{background:linear-gradient(135deg,#a173ec,#8250d7);border:1px solid #c9a6ff30;box-shadow:0 4px 18px #8b50da20;color:#fff}
dialog.fs-dialog>.btn.text{min-height:40px;background:transparent;border-color:transparent;box-shadow:none;font-weight:650;color:#c7aedf;margin-top:6px}
dialog.fs-dialog>.btn.outline{background:#a471df0b;border:1px solid #ba91e32d;color:#d8c3ed;box-shadow:none}
dialog.fs-dialog .steps{margin:20px 0;padding:0;display:grid;gap:12px}
dialog.fs-dialog .steps li{display:flex;align-items:flex-start;gap:13px;margin:0;padding:16px 14px;border:1px solid #c7a4ed14;border-radius:17px;background:#ffffff03}
dialog.fs-dialog .steps li>span{width:29px;height:29px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:#a171da20;border:1px solid #bd9ae52b;color:#ccb1ed;font-size:12px;line-height:1;font-weight:750}
dialog.fs-dialog .steps h3{font-size:14px;line-height:1.45;font-weight:750;letter-spacing:-.15px;color:#ece2f8;margin:3px 0 7px}
dialog.fs-dialog .steps p{font-size:12px;line-height:1.75;font-weight:500;color:#b7a9c6;margin:0}
dialog.fs-dialog .steps strong{color:#e1d2ef;font-weight:750}
dialog.fs-dialog form{display:grid;gap:15px;margin-top:20px}
dialog.fs-dialog form label:not(.checkbox){display:grid;gap:9px;font-size:12px;line-height:1.5;font-weight:650;color:#c1b2d1}
dialog.fs-dialog input:not([type=checkbox]),dialog.fs-dialog select,dialog.fs-dialog textarea{display:block;width:100%;min-height:48px;max-width:100%;border-radius:13px;background:#191521;border:1px solid #b798da29;color:#eee5f8;font-size:14px;line-height:1.5;font-weight:550;padding:12px 13px;box-shadow:none;font-style:normal}
dialog.fs-dialog input:focus,dialog.fs-dialog select:focus,dialog.fs-dialog textarea:focus{border-color:#b18bdc;outline:2px solid #a676e52a;outline-offset:2px}
dialog.fs-dialog input::placeholder,dialog.fs-dialog textarea::placeholder{color:#8c7c9b;font-size:12px}
dialog.fs-dialog .checkbox{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.7;font-weight:500;color:#b7a9c6}
dialog.fs-dialog input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:#a779e4;margin:2px 0}
dialog.fs-dialog .form-error{font-size:12px;line-height:1.6;color:#ffb4bd;margin:0}
dialog.fs-dialog .support-example,dialog.fs-dialog .review-note{font-family:inherit;font-size:13px;line-height:1.8;font-style:normal;background:#a678ef0b;border:1px solid #b696dd22;border-radius:15px;color:#cdbddd;padding:16px}
dialog.fs-dialog .payment-total{border:1px solid #b893e327;border-radius:18px;background:linear-gradient(125deg,#44305766,#2a21353d);padding:18px;display:grid;gap:10px;margin-bottom:16px}
dialog.fs-dialog .payment-total span{font-size:12px;line-height:1.6;color:#bca9ce;font-weight:600}
dialog.fs-dialog .payment-total strong{font-size:30px;line-height:1.2;font-weight:800;letter-spacing:-1px;color:#f0e6fc}
dialog.fs-dialog .demo-bank{border-radius:16px;background:#20182b;border:1px solid #ba9bdd20;padding:17px;margin-bottom:18px}
dialog.fs-dialog .demo-bank>span{font-size:9px;line-height:1.6;letter-spacing:.7px;color:#d3b0ec;font-weight:750}
dialog.fs-dialog .demo-bank>strong{font-size:15px;line-height:1.6;font-weight:750;color:#eee2f9;margin-top:8px}
dialog.fs-dialog .demo-bank>p{font-size:12px;line-height:1.75;color:#b8a8c9;margin-bottom:0}
dialog.fs-dialog[data-kind=payment] form>.btn.primary{background:linear-gradient(135deg,#ff4064,#ff713b);border-color:#ff906433;box-shadow:0 5px 18px #ff4e4d16}
.download-file-card{padding:17px;border-radius:18px;background:linear-gradient(130deg,#4c365d4d,#2d233b66);border:1px solid #bc97e32b;gap:14px}
.download-file-icon{width:42px;height:46px;border-radius:12px;background:#a875ed21;color:#c5a0eb}.download-file-card strong{font-size:16px;line-height:1.4;font-weight:750;letter-spacing:-.3px}.download-file-card small{font-size:11px;line-height:1.6;font-weight:500;color:#ae9bbf}
dialog.fs-dialog>.download-location{font-size:12px;line-height:1.8;font-weight:500;color:#baabca}
dialog.fs-dialog>.download-private-note{font-size:10px;line-height:1.7;font-weight:500;text-align:center;color:#9f8cb2;margin:18px 3px 0}
dialog.fs-dialog .vpn-qr{max-width:310px;border-radius:18px;border:14px solid white;margin:20px auto;box-shadow:0 10px 35px #0c07193d}
dialog.nav-drawer{padding:26px 20px;width:min(360px,calc(100vw - 28px));border-radius:24px 0 0 24px}
dialog.nav-drawer .dialog-emblem{display:none}dialog.nav-drawer .modal-heading h2{font-family:var(--ui-font);font-size:23px;font-weight:800;letter-spacing:-.6px;background:linear-gradient(115deg,#ece1ff,#bc89f5);background-clip:text;-webkit-background-clip:text;color:transparent;flex:1;margin:0}
.drawer-links{display:grid;gap:7px}.drawer-links>button{font-family:var(--ui-font);display:flex;align-items:center;gap:13px;padding:15px 14px;min-height:49px;border-radius:14px;border:1px solid transparent;background:none;color:#bba9cb;font-size:14px;font-weight:650;text-align:left}
.drawer-links>button.active{background:#ab7ce920;border-color:#bc8fec2d;color:#e0c4ff}.drawer-links>button>.icon{width:20px;height:20px;color:#b293d1}.drawer-links>button.active>.icon{color:#c79df7}
.drawer-account{border:1px solid #c6a1e51a;border-radius:17px;padding:16px;margin-top:auto;background:#ffffff03}.drawer-account strong{font-family:var(--ui-font);font-size:14px;font-weight:750}.drawer-account small{font-size:11px;line-height:1.7;color:#a690b9}.drawer-account .avatar{border-radius:13px;background:#a573de25;color:#d5b7f3;border:1px solid #b994e133;font-weight:750}
dialog.nav-drawer>.fine-print{font-family:var(--ui-font);font-size:10px;line-height:1.7;color:#9682a8;padding:0 4px;margin-top:16px}
@keyframes dialog-enter{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:359px){dialog.fs-dialog{padding:20px;border-radius:22px}dialog.fs-dialog .modal-heading{gap:10px}dialog.fs-dialog .modal-heading h2{font-size:18px}.dialog-emblem{width:36px;height:36px;border-radius:12px}dialog.fs-dialog .steps li{padding:14px 12px;gap:10px}dialog.fs-dialog .steps p{font-size:12px}.download-file-card{padding:14px}}
@media(prefers-reduced-motion:reduce){dialog.fs-dialog{animation:none}}

/* Matched semantic duotone icons and final menu review. */
dialog.nav-drawer[open]{display:flex;flex-direction:column}.drawer-links{flex-shrink:0}.drawer-account{margin-top:auto}
.dialog-emblem .icon{width:25px;height:25px}.dialog-emblem:has([data-fs-icon=shield]),.download-file-icon{background:#75d6bd12;border-color:#9de1cd25}
.dialog-emblem:has([data-fs-icon=phone]){background:#89c7f514;border-color:#99ccf52b}.dialog-emblem:has([data-fs-icon=card]){background:#f0ad9e14;border-color:#e5a9b328}.dialog-emblem:has([data-fs-icon=chat]){background:#95c8f013;border-color:#acd3f229}
.bottom-nav .icon,.drawer-links .icon,.icon-button .icon,.btn .icon,.tg-buttons .icon{fill:currentColor}.feature-icon .icon,.download-file-icon .icon,.dialog-emblem .icon,.setup-step .step-glyph .icon{filter:drop-shadow(0 2px 6px #a478eb20)}
.help-layout details{border-color:#b696da1a}.help-layout summary{font-family:var(--ui-font);font-size:13px;font-weight:650;color:#dacbea}.help-layout details>p{font-size:12px;line-height:1.85;font-weight:500;color:#b8a9c9}.help-layout details[open]{background:#a278d808;border-radius:12px}
#toast{font-family:var(--ui-font);font-size:12px;font-weight:600;line-height:1.6;background:#2c223b;border:1px solid #c19ae632;border-radius:14px;color:#eee2fb;box-shadow:0 8px 30px #110a1c66}

.vpn-test-card .section-title h2{display:flex;align-items:center;gap:8px}.vpn-test-card .section-title h2>.icon{width:21px;height:21px}.vpn-test-card>.button-row{gap:9px}.vpn-details{margin-top:18px;border-top:1px solid #ba9ad91a;padding-top:14px}.vpn-details>summary{font-size:11px;line-height:1.6;font-weight:600;color:#aa97bd;cursor:pointer}.vpn-details>p{font-size:11px;line-height:1.8;color:#9c8aae;overflow-wrap:anywhere;margin:12px 0 0}.vpn-details[open]>summary{color:#c7b0dd}

/* Real owner test usage: no quota or synthetic progress percentage. */
.usage-card{margin:0 0 25px;padding:21px 20px 17px;background:linear-gradient(125deg,#30233fba,#211c2ddd 75%);border:1px solid #b998da22;border-radius:22px;box-shadow:0 9px 30px #0d061b14}
.usage-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:19px}.usage-heading h2{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.4;font-weight:750;letter-spacing:-.25px;margin:0;color:#eadff7}.usage-heading h2 .icon{width:20px;height:20px;flex-shrink:0}
.connection-badge{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-size:10px;font-weight:650;color:#a99bb9;line-height:1.4}.connection-badge i{width:6px;height:6px;border-radius:50%;background:#7e6a94;flex-shrink:0}.connection-badge.is-recent{color:#9fdfbc}.connection-badge.is-recent i{background:#8be0b0;box-shadow:0 0 0 3px #82dfa312;animation:connection-live 2.8s ease-in-out infinite}
.usage-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.usage-total>div>span{display:block;font-size:10px;line-height:1.5;color:#a18daf;margin-bottom:5px}.usage-total strong{font-size:29px;line-height:1.2;font-weight:800;letter-spacing:-1px;color:#eee5fa}.usage-unlimited{font-size:11px;line-height:1.4;font-weight:650;color:#c6a9e2;background:#9f70d717;border:1px solid #ba8cea25;border-radius:9px;padding:6px 9px}
.usage-directions{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-bottom:17px;border-bottom:1px solid #be9fe716}.usage-directions>div>span{display:flex;align-items:center;gap:5px;font-size:10px;line-height:1.5;color:#a593b5;margin-bottom:6px}.usage-directions strong{font-size:15px;line-height:1.4;font-weight:750;letter-spacing:-.2px;color:#dfd0ee}.usage-directions .icon{width:13px;height:13px;fill:currentColor}.usage-down{transform:rotate(90deg);color:#8ad9b5}.usage-up{transform:rotate(-90deg);color:#a3c7f4}
.usage-history{margin-top:13px}.usage-history-heading{display:flex;justify-content:space-between;gap:10px;font-size:9px;line-height:1.5;color:#a08bb2}.usage-history-heading span:last-child{color:#8f7c9f}.usage-bars{display:block;width:100%;height:43px;margin:3px 0 2px;overflow:visible}.usage-bars rect{fill:#b48ae0;opacity:.65}.usage-bars rect.is-today{fill:#b68cf1;opacity:1}.usage-bars rect.is-empty{fill:#89739d;opacity:.45}.usage-bars rect.not-observed{fill:#756780;opacity:.18}.usage-day-labels{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:8px;line-height:1.4;font-weight:600;color:#a08ab1}.usage-day-labels .not-observed{color:#756680}.usage-note{font-size:10px;line-height:1.6;color:#9c88ad;margin:13px 0 0}
@keyframes connection-live{0%,100%{opacity:1;box-shadow:0 0 0 3px #82dfa312}50%{opacity:.6;box-shadow:0 0 0 5px #82dfa306}}
@media(prefers-reduced-motion:reduce){.connection-badge.is-recent i{animation:none}}
@media(max-width:359px){.usage-card{padding:19px 16px 16px}.usage-heading{gap:6px}.usage-heading h2{font-size:12px;gap:6px}.usage-heading h2 .icon{width:17px;height:17px}.connection-badge{font-size:9px}.usage-total strong{font-size:26px}}

.usage-updated{display:flex;justify-content:space-between;gap:10px;margin:11px 0 0;font-size:8px;line-height:1.5;color:#9b86ad}.usage-updated span{color:#8b789d}

/* New-customer purchase shares the cabinet's local font, surfaces and icons. */
.purchase-context{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:2px 0 25px}.purchase-context .badge{font-size:9px}.purchase-context .btn{font-size:10px;padding:8px;min-height:40px}
.purchase-key{display:flex;align-items:center;gap:12px;text-align:left;margin:21px 0;padding:16px;border:1px solid #b996dc24;border-radius:15px;background:#a879d60a}.purchase-key strong{display:block;font-size:12px;font-weight:700;color:#dfccef}.purchase-key div>span{display:block;font-size:9px;line-height:1.7;color:#a891bd;margin-top:5px}
.purchase-plans{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:23px}.purchase-plan{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:17px 15px 18px;border:1px solid #a98acb32;border-radius:21px;background:linear-gradient(135deg,#2a2036,#1d1929);color:#b7a4cc;text-align:left;font-family:var(--ui-font);cursor:pointer;transition:border-color .2s,background .2s}.purchase-plan.chosen{border-color:#bb8bed;background:linear-gradient(135deg,#48325b,#2b203c);box-shadow:0 0 0 2px #b17fe415}.purchase-plan>strong{font-size:14px;color:#eadcf8;letter-spacing:-.3px}.purchase-plan>span:not(.purchase-plan-top){font-size:10px;line-height:1.7}.purchase-plan>b{font-size:25px;letter-spacing:-.8px;color:#f0e7fa;line-height:1.4}.purchase-plan>b small{font-size:9px;font-weight:550;letter-spacing:0;color:#ab96bf}
.purchase-plan-top{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:34px;margin-bottom:5px;gap:6px}.purchase-emblem{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;flex-shrink:0;border:1px solid #c09be52a;border-radius:11px;background:#a175d21a}.purchase-emblem .icon{width:22px;height:22px;color:#a7c6f3}.purchase-plan[data-plan=family] .purchase-emblem .icon{color:#e0b6f3}.purchase-value{font-size:8px;color:#d3b7ef;background:#c094ee13;border-radius:7px;padding:5px 6px}
.purchase-period{padding:20px;margin-bottom:20px}.purchase-period h2{font-size:14px}.purchase-period-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.purchase-period-options button{display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--ui-font);border:1px solid #b190cf25;border-radius:13px;background:#a079ce08;padding:15px 4px;color:#ac97bf;cursor:pointer;min-height:78px}.purchase-period-options button strong{font-size:11px;font-weight:650}.purchase-period-options button span{font-size:13px;font-weight:750;color:#d9c5ee}.purchase-period-options .chosen{border-color:#bd8cec;background:#a572d91a;color:#eee0ff}.purchase-period .fine-print{margin-bottom:0;font-size:9px}
.purchase-total{padding:21px;margin-bottom:15px}.purchase-total .total{margin-top:0;border-top:0;padding-top:0}.purchase-total .total>span{font-size:11px}.purchase-total .fine-print{font-size:10px;margin-bottom:0}.purchase-disclaimer{font-size:9px;line-height:1.8;margin:17px 4px;color:#9682a8}
.purchase-status{padding:28px 22px}.purchase-status h1{font-size:24px;line-height:1.25;letter-spacing:-.7px;margin:16px 0 12px}.purchase-status>p{font-size:12px;line-height:1.9;color:#b7a4ca}.purchase-status .waiting-icon>.icon{width:27px;height:27px;color:#c9a7eb}.purchase-pay-amount{font-size:35px;font-weight:800;letter-spacing:-1px;color:#eee2fc;margin:21px 0}.purchase-status>.btn{width:100%;margin-top:10px}.purchase-reference{margin-top:24px;font-size:9px;color:#9a84ae}.purchase-reference p{overflow-wrap:anywhere;line-height:1.7}.purchase-date{margin:24px 0;padding:17px;border:1px solid #bd98df25;border-radius:15px;background:#ad81d80c;display:flex;flex-direction:column;gap:8px}.purchase-date>span{font-size:10px;color:#a18bb4}.purchase-date strong{font-size:19px;color:#e8d9f7}.purchase-success{color:#a7dfbe!important;background:#70bb9014!important}.purchase-success .icon{color:#a7dfbe!important}.purchase-next{display:flex;gap:12px;text-align:left;margin:23px 0;padding-top:20px;border-top:1px solid #b894da25}.purchase-next strong{font-size:12px;color:#dccbeb}.purchase-next p{font-size:10px;line-height:1.8;color:#ad97c2;margin:6px 0 0}.purchase-error{font-size:11px;line-height:1.8;color:#f3b3b9}.purchase-recovery,.purchase-message{font-size:12px;line-height:1.8;border:1px solid #debd8133;border-radius:13px;padding:15px;color:#d7c6a5}
@media(max-width:359px){.purchase-plans{gap:8px}.purchase-plan{padding:14px 10px}.purchase-plan>strong{font-size:12px}.purchase-plan>b{font-size:23px}.purchase-context{flex-wrap:wrap}.purchase-period{padding:17px 14px}.purchase-period-options button strong{font-size:10px}}
