/* KeyProxy visual refinement. Existing page sections, routes and controls are retained. */
:root {
  --kp-paper: #f7f8fc;
  --kp-paper-accent: #f0f2fb;
  --kp-surface: #ffffff;
  --kp-ink: #18233c;
  --kp-muted: #53617b;
  --kp-muted-soft: #69758c;
  --kp-line: #dde3ef;
  --kp-line-strong: #bdc8dd;
  --kp-brand: #3036d8;
  --kp-brand-hover: #2228b3;
  --kp-brand-soft: #eef0ff;
  --kp-navy: #17264b;
  --kp-code: #101b31;
  --kp-code-ink: #ecf1fc;
  --kp-positive: #176d53;
  --kp-positive-soft: #edf8f3;
  --kp-negative: #a83249;
  --kp-negative-soft: #fff2f4;
  --kp-hover: #f8f9ff;
  --kp-shadow: 0 8px 28px -18px rgba(24,35,60,.22);
  --kp-shadow-float: 0 18px 54px -22px rgba(24,35,60,.25);
  --kp-focus-soft: 0 0 0 4px rgba(48,54,216,.1);
  --kp-font: Gilroy, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --kp-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --text: var(--kp-ink);
  --text-2: var(--kp-muted);
  --text-3: var(--kp-muted-soft);
  --cyan: var(--kp-brand);
  --cyan-soft: var(--kp-brand-soft);
  --line: var(--kp-line);
  --line-strong: var(--kp-line-strong);
}

body, body.theme-dark, body.auth-page, .admin-body {
  background: var(--kp-paper);
  color: var(--kp-ink);
  font-family: var(--kp-font);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
html { scrollbar-gutter: stable; }
body :is(h1,h2,h3,h4,h5,h6) { color: var(--kp-ink); font-family: var(--kp-font); font-weight: 500; letter-spacing: -.035em; }
body :is(p,li) { text-wrap: pretty; }
body :is(button,input,select,textarea) { font-family: inherit; }
body :is(button,a,input,select,textarea,summary):focus-visible { outline: 2px solid var(--kp-brand); outline-offset: 3px; }
body :is(.btn,.button,.ka-btn,.kp-unified-primary,.kp-unified-secondary) {
  min-height: 46px; border-radius: 2px; font-size: 14px; font-weight: 500; letter-spacing: 0;
  transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}
body :is(.btn-primary,.ka-btn-primary,.kp-unified-primary) { background: var(--kp-brand); border-color: var(--kp-brand); color: var(--kp-white); }
body :is(.btn-primary,.ka-btn-primary,.kp-unified-primary):hover { background: var(--kp-brand-hover); border-color: var(--kp-brand-hover); color: var(--kp-white); transform: none; }
body :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea) {
  border-color: var(--kp-line-strong); border-radius: 3px; color: var(--kp-ink);
}
body :is(input,textarea)::placeholder { color: var(--kp-muted-soft); opacity: 1; }
body :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea):focus {
  border-color: var(--kp-brand); box-shadow: var(--kp-focus-soft);
}
body :is(input[type=checkbox],input[type=radio]) { accent-color: var(--kp-brand); }
body :is(.money,[data-live-total],.calc-total,.q-total,.stat-n,.dashboard-wallet strong) { font-variant-numeric: tabular-nums; }

/* Public navigation and the shared account header. */
body.theme-dark .site-header, .kp-unified-header { background: var(--kp-surface); border-color: var(--kp-line); box-shadow: none; }
body.theme-dark .header-bar, .kp-unified-inner { min-height: 72px; }
body.theme-dark .site-header .nav-link, .kp-unified-link { font-size: 14px; font-weight: 500; letter-spacing: 0; }
body.theme-dark .site-header .nav-link { padding-inline: 11px; border-radius: 3px; }
body.theme-dark .site-header .nav-link:hover, body.theme-dark .site-header .nav-link.is-active { background: var(--kp-brand-soft); color: var(--kp-brand); }
body.theme-dark .header-signup, body.theme-dark .header-login { min-height: 42px; }
body.theme-dark :is(.mega-sheet,.language-options), .kp-unified-dropdown, .kp-unified-language-list, .kp-unified-mobile nav {
  border-color: var(--kp-line); background: var(--kp-surface); border-radius: 4px; box-shadow: var(--kp-shadow-float);
}
body.theme-dark .mega-sheet::before { background: var(--kp-line); }
body.theme-dark .mega-wrap { padding-top: 28px; padding-bottom: 0; }
body.theme-dark :is(.mega-link,.mega-net,.mega-country) { border-radius: 3px; }
body.theme-dark :is(.mega-link,.mega-net,.mega-country):hover { background: var(--kp-brand-soft); border-color: var(--kp-line); }
body.theme-dark :is(.mega-icon,.mega-pool) { border-radius: 3px; background: var(--kp-brand-soft); color: var(--kp-brand); border-color: var(--kp-line); }
body.theme-dark :is(.mega-link-title,.mega-net-name) { color: var(--kp-ink); font-size: 14px; font-weight: 600; }
body.theme-dark :is(.mega-link-text,.mega-net-cov,.mega-foot-note,.mega-kicker) { color: var(--kp-muted); line-height: 1.55; }
body.theme-dark .mega-foot { border-color: var(--kp-line); padding-block: 18px; }
body.theme-dark .mega-kicker { font-family: var(--kp-font); letter-spacing: .01em; text-transform: none; font-size: 12px; }
body.theme-dark .language-options a { border-radius: 2px; min-height: 40px; color: var(--kp-ink); }
body.theme-dark .language-options a:hover { background: var(--kp-brand-soft); color: var(--kp-brand); }

/* One public type scale and consistent section rhythm. */
body.theme-dark .container { max-width: 1240px; }
body.theme-dark .section { padding-block: clamp(52px,6.5vw,88px); }
body.theme-dark .section-alt { background: var(--kp-paper-accent); }
body.theme-dark .section-head { margin-bottom: 36px; }
body.theme-dark .section-head h2 { font-size: clamp(28px,3.25vw,42px); line-height: 1.14; }
body.theme-dark .section-head .lead { color: var(--kp-muted); font-size: 16px; line-height: 1.75; }
body.theme-dark .hero { background: var(--kp-paper); }
body.theme-dark .hero-grid { column-gap: clamp(32px,5vw,72px); align-items: center; }
body.theme-dark .hero-title { max-width: 18ch; font-size: clamp(38px,4.5vw,61px); line-height: 1.09; font-weight: 500; letter-spacing: -.045em; }
body.theme-dark .hero-lead { margin-top: 24px; color: var(--kp-muted); font-size: 17px; line-height: 1.75; max-width: 58ch; }
body.theme-dark .hero-actions { margin-top: 28px; gap: 12px; }
body.theme-dark :is(.index,.eyebrow,.mega-kicker,.pf>label,.calc-label) { font-family: var(--kp-font); font-size: 12px; font-weight: 500; letter-spacing: .02em; text-transform: none; }
body.theme-dark .hero-static:not(:has(.hero-grid)) { background: var(--kp-paper-accent); border-bottom: 1px solid var(--kp-line); }
body.theme-dark .hero-static:not(:has(.hero-grid)) h1 { font-size: clamp(34px,4vw,54px); line-height: 1.13; }
body.theme-dark .hero-stats { border-color: var(--kp-line); }
body.theme-dark .hero-stats .stat-n { font-size: clamp(27px,2.5vw,34px); font-weight: 500; }
body.theme-dark .hero-stats :is(.stat-l,.stat-sub) { color: var(--kp-muted); line-height: 1.5; }

/* Product cards, calculators and country controls. */
body.theme-dark :is(.hero-panel,.feature,.netcard,.doc-card,.spec-card,.uc,.gd-card,.gl-card,.rates,.kp-info-card,.netcov,.mode,.trust,.h2h-card,.gl-box,.ctx-facts) {
  background: var(--kp-surface); border: 1px solid var(--kp-line); border-radius: 4px; box-shadow: var(--kp-shadow);
}
body.theme-dark :is(.feature,.netcard,.uc,.gd-card,.gl-card,.doc-card,.kp-info-card) { padding: 26px; }
body.theme-dark :is(.feature,.netcard,.uc,.gd-card,.gl-card,.doc-card):hover { border-color: var(--kp-line-strong); box-shadow: var(--kp-shadow); transform: none; }
body.theme-dark :is(.feature h3,.netcard h3,.uc h3,.gd-title,.doc-card h3,.kp-info-card h2) { font-size: 21px; font-weight: 500; line-height: 1.3; }
body.theme-dark :is(.feature p,.netcard p,.uc p,.gd-text,.gl-card p,.kp-info-card p,.netcov p,.ctx-facts p) { color: var(--kp-muted); font-size: 15px; line-height: 1.7; }
body.theme-dark .kp-info-grid { gap: 24px; }
body.theme-dark .kp-info-card { padding: 30px; }
body.theme-dark .kp-info-card h2 { margin: 20px 0 14px; }
body.theme-dark .hero-panel { border-color: var(--kp-line-strong); }
body.theme-dark .panel-head { min-height: 64px; padding: 18px 24px; border-color: var(--kp-line); background: var(--kp-surface); }
body.theme-dark .panel-head :is(strong,.panel-title) { font-size: 15px; font-weight: 600; }
body.theme-dark .panel-body { padding: 24px; }
body.theme-dark .panel-out { padding: 0 24px 24px; background: var(--kp-surface); }
body.theme-dark #builder .panel-price { min-height: calc(3em + 30px); }
body.theme-dark #builder .pf-row { min-height: 76px; }
html[lang="ru"] body.theme-dark #builder .pf-row { min-height: 120px; }
body.theme-dark :is(.seg,.seg-wrap,.tab-list) { border-color: var(--kp-line); border-radius: 3px; background: var(--kp-paper); gap: 4px; padding: 4px; }
body.theme-dark :is(.seg-btn,.tab-list [role=tab]) { border-radius: 2px; min-height: 38px; font-size: 13px; font-weight: 500; padding: 9px 12px; }
body.theme-dark :is(.seg-btn.is-active,.seg-btn[aria-pressed=true],.tab-list [aria-selected=true]) { background: var(--kp-brand-soft); color: var(--kp-brand); box-shadow: none; }
body.theme-dark :is(.seg-btn,.tab-list [role=tab]):hover { background: var(--kp-brand-soft); color: var(--kp-brand); }
body.theme-dark :is(.calc-number,.calc-stepper) { min-height: 46px; border-color: var(--kp-line-strong); border-radius: 3px; background: var(--kp-surface); }
body.theme-dark .calc-number input, body.theme-dark .calc-stepper input { color: var(--kp-ink); font-size: 22px; font-weight: 500; box-shadow: none; }
body.theme-dark .calc { border: 1px solid var(--kp-line-strong); border-radius: 4px; box-shadow: var(--kp-shadow); background: var(--kp-surface); }
body.theme-dark .calc-nets { min-height: 64px; padding: 10px 24px; border-color: var(--kp-line); background: var(--kp-surface); }
body.theme-dark .calc-net { min-height: 42px; border-radius: 2px; font-size: 14px; }
body.theme-dark .calc-net[aria-selected=true] { color: var(--kp-brand); background: var(--kp-brand-soft); }
body.theme-dark :is(.calc-controls,.calc-result,.calc-ladder) { padding: 28px; border-color: var(--kp-line); }
body.theme-dark .calc-result { background: var(--kp-brand-soft); }
body.theme-dark .calc-field + .calc-field { margin-top: 26px; }
body.theme-dark .calc-total { font-weight: 500; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
body.theme-dark :is(#calc-total,#q-total,.q-row>strong) { font-weight: 500; letter-spacing: -.045em; }
body.theme-dark .q-result { border-color: var(--kp-line); border-radius: 3px; background: var(--kp-paper); }
body.theme-dark :is(.calc-saving-pill,.q-save) { border-radius: 3px; background: var(--kp-positive-soft); border-color: var(--kp-line); color: var(--kp-positive); font-size: 12px; font-weight: 500; }
body.theme-dark .calc-ctas { gap: 10px; margin-top: 24px; }
body.theme-dark :is(.combo-btn,.combo-search input,.explorer-search input,.gl-search input,.docs-search input) { min-height: 46px; font-size: 14px; border-radius: 3px; }
body.theme-dark .combo-panel { padding: 6px; border-color: var(--kp-line-strong); border-radius: 4px; box-shadow: var(--kp-shadow-float); background: var(--kp-surface); }
body.theme-dark .combo-search { margin-bottom: 6px; border-color: var(--kp-line); }
body.theme-dark .combo-row { min-height: 42px; padding: 10px 12px; border-radius: 2px; font-size: 14px; }
body.theme-dark .combo-row:hover { background: var(--kp-brand-soft); }
body.theme-dark :is(.country,.country-card,.explorer .country-grid a) { border-radius: 3px; border-color: var(--kp-line); }
body.theme-dark .explorer { border-color: var(--kp-line); background: var(--kp-surface); border-radius: 4px; }
body.theme-dark .explorer-bar { padding: 22px; gap: 16px; border-color: var(--kp-line); }
body.theme-dark .region-btn { border-radius: 2px; min-height: 36px; font-size: 13px; }
body.theme-dark :is(.region-btn.is-active,.region-btn[aria-pressed=true]) { background: var(--kp-brand-soft); border-color: var(--kp-line-strong); color: var(--kp-brand); }
body.theme-dark .explorer-foot { padding: 20px 22px; border-color: var(--kp-line); font-size: 13px; }

/* Prices and comparison tables: consistent alignment and readable row density. */
body.theme-dark :is(.rates-table,.doc-table,.asn-table,.compare) { color: var(--kp-ink); font-size: 14px; border-color: var(--kp-line); }
body.theme-dark :is(.rates-table,.doc-table,.asn-table,.compare) :is(th,td) { padding: 15px 18px; border-color: var(--kp-line); line-height: 1.55; }
body.theme-dark :is(.rates-table,.doc-table,.asn-table,.compare) thead th { background: var(--kp-paper); color: var(--kp-muted); font-family: var(--kp-font); font-size: 12px; font-weight: 600; letter-spacing: .01em; text-transform: none; }
body.theme-dark :is(.rates-table,.doc-table,.asn-table,.compare) tbody tr:hover { background: var(--kp-hover); }
body.theme-dark :is(.rates-table,.ladder-table) .num { font-variant-numeric: tabular-nums; }
body.theme-dark .ladder-table { font-family: var(--kp-font); font-size: 13px; }
body.theme-dark .ladder-table :is(th,td) { padding: 11px 8px; border-color: var(--kp-line); }
body.theme-dark .ladder-table th { font-weight: 500; }
body.theme-dark .ladder-table .is-active, body.theme-dark .discount-list .is-active { background: var(--kp-brand-soft); color: var(--kp-brand); }
body.theme-dark :is(.rates-head,.rates-foot,.netcard-foot,.netcov-foot) { border-color: var(--kp-line); }
body.theme-dark .zone-delta, body.theme-dark .badge { border-radius: 3px; font-family: var(--kp-font); font-size: 11px; letter-spacing: 0; }

/* Documentation and reading pages. */
body.theme-dark :is(.doc-body,.gl-main) { font-size: 16px; line-height: 1.8; color: var(--kp-muted); }
body.theme-dark :is(.doc-body,.gl-main) h2 { color: var(--kp-ink); font-size: 29px; line-height: 1.3; margin-top: 42px; margin-bottom: 18px; }
body.theme-dark :is(.doc-body,.gl-main) h3 { font-size: 21px; line-height: 1.4; margin-top: 30px; margin-bottom: 12px; }
body.theme-dark :is(.doc-body,.gl-main) p { margin-block: 0 19px; }
body.theme-dark :is(.doc-body,.gl-main) li { margin-block: 7px; }
body.theme-dark :is(.doc-toc,.docs-nav-group) { font-family: var(--kp-font); font-size: 13px; line-height: 1.55; }
body.theme-dark .doc-toc { border-left: 1px solid var(--kp-line); padding-left: 20px; }
body.theme-dark :is(.doc-toc a,.docs-side a) { padding-block: 7px; color: var(--kp-muted); }
body.theme-dark :is(.doc-toc a,.docs-side a):hover { color: var(--kp-brand); }
body.theme-dark .doc-note { border-radius: 3px; background: var(--kp-brand-soft); border-color: var(--kp-line-strong); color: var(--kp-ink); padding: 22px 24px; }
body.theme-dark :is(.term,.doc-term) { background: var(--kp-code); border: 1px solid var(--kp-code); border-radius: 4px; box-shadow: var(--kp-shadow); }
body.theme-dark .term-bar { background: var(--kp-code); color: var(--kp-code-ink); border-bottom-color: var(--kp-line-strong); padding: 14px 20px; }
body.theme-dark .term :is(pre,code) { color: var(--kp-code-ink); font-family: var(--kp-mono); font-size: 13px; line-height: 1.8; }
body.theme-dark .term pre { padding: 22px 24px; }
body.theme-dark .term [data-copy] { min-height: 32px; padding: 5px 11px; color: var(--kp-code-ink); border-color: var(--kp-muted-soft); background: transparent; border-radius: 3px; }
body.theme-dark .term [data-copy]:hover { color: var(--kp-white); border-color: var(--kp-code-ink); }
body.theme-dark .faq-grid { gap: 20px 28px; }
body.theme-dark .faq-grid > details { background: var(--kp-surface); border: 1px solid var(--kp-line); border-radius: 3px; }
body.theme-dark .faq-grid summary { min-height: 68px; padding: 20px 24px; color: var(--kp-ink); font-size: 16px; font-weight: 500; line-height: 1.5; }
body.theme-dark .faq-grid .faq-answer { padding: 0 24px 22px; color: var(--kp-muted); font-size: 15px; line-height: 1.75; }
body.theme-dark .faq-grid > details[open] { border-color: var(--kp-line-strong); }
body.theme-dark .site-footer { background: var(--kp-surface); border-color: var(--kp-line); }
body.theme-dark .footer-main { gap: 36px; padding-block: 56px; }
body.theme-dark .site-footer { padding-top: 56px; }
body.theme-dark .footer-grid { gap: 32px; padding-bottom: 38px; }
body.theme-dark .footer-title { color: var(--kp-ink); font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
body.theme-dark .site-footer :is(p,li,a) { font-size: 14px; line-height: 1.7; }
body.theme-dark .site-footer :is(p,li) { color: var(--kp-muted); }
body.theme-dark .footer-list { display: grid; gap: 10px; }
body.theme-dark .footer-bottom { border-color: var(--kp-line); padding-block: 22px; }

/* Editorial library uses the same surfaces, buttons and reading scale. */
body.ka-page .ka-wrap { width: min(100% - 48px,1060px); padding-top: 126px; padding-bottom: 84px; }
body.ka-page .ka-article { max-width: 900px; }
body.ka-page .ka-wrap h1 { font-size: clamp(34px,4.5vw,54px); line-height: 1.14; font-weight: 500; letter-spacing: -.04em; }
body.ka-page .ka-intro { color: var(--kp-muted); font-size: 17px; line-height: 1.75; max-width: 74ch; }
body.ka-page .ka-breadcrumb { font-size: 13px; margin-bottom: 30px; color: var(--kp-muted); }
body.ka-page :is(.ka-search,.ka-featured-grid a,.ka-existing-grid,.ka-list,.ka-toc) { background: var(--kp-surface); border-color: var(--kp-line); border-radius: 4px; box-shadow: none; }
body.ka-page .ka-search { padding: 24px; }
body.ka-page .ka-search input { min-height: 48px; background: var(--kp-surface); }
body.ka-page .ka-search button { min-height: 48px; border-radius: 2px; background: var(--kp-brand); font-weight: 500; }
body.ka-page .ka-featured-grid { gap: 16px; }
body.ka-page .ka-featured-grid a { padding: 26px 48px 26px 26px; }
body.ka-page .ka-featured-grid span { font-size: 20px; line-height: 1.35; font-weight: 500; }
body.ka-page .ka-featured-grid small { color: var(--kp-muted); font-size: 14px; line-height: 1.65; }
body.ka-page :is(.ka-existing-grid a,.ka-row) { padding: 18px 22px; font-size: 15px; line-height: 1.6; }
body.ka-page :is(.ka-row,.ka-existing-grid a):hover { color: var(--kp-brand); background: var(--kp-hover); }
body.ka-page .ka-cta { border: 1px solid var(--kp-line-strong); border-left: 3px solid var(--kp-brand); border-radius: 4px; background: var(--kp-surface); padding: 28px; box-shadow: var(--kp-shadow); }
body.ka-page .ka-cta h2 { font-size: 23px; font-weight: 500; }
body.ka-page .ka-cta p { color: var(--kp-muted); line-height: 1.7; }
body.ka-page .ka-btn { min-height: 44px; padding: 10px 18px; }
body.ka-page .ka-toc { padding: 24px 28px; }
body.ka-page .ka-toc li { line-height: 1.7; padding-block: 3px; }
body.ka-page .ka-deep { padding: 32px 0; margin: 0; border: 0; border-top: 1px solid var(--kp-line); background: transparent; box-shadow: none; }
body.ka-page .ka-section h2 { margin-bottom: 18px; font-size: 28px; line-height: 1.3; font-weight: 500; }
body.ka-page .ka-section :is(p,li) { color: var(--kp-muted); font-size: 17px; line-height: 1.8; }
body.ka-page .ka-deep p { margin-bottom: 20px; }
body.ka-page .ka-deep ul { padding: 18px 24px 18px 38px; background: var(--kp-brand-soft); border-color: var(--kp-brand); border-radius: 2px; }
body.ka-page .ka-links a { border-color: var(--kp-line-strong); border-radius: 2px; color: var(--kp-brand); font-weight: 500; }
body.ka-page .ka-faq h3 { font-size: 19px; font-weight: 500; }
body.ka-page .ka-pages a { border: 1px solid var(--kp-line); padding: 8px 14px; background: var(--kp-surface); border-radius: 2px; }

/* Account and authentication: keep the form prominent on small screens. */
body.auth-page .auth-main { width: min(1080px,100% - 48px); margin-top: 44px; }
body.auth-page .auth-stage { min-height: 570px; border-color: var(--kp-line); border-radius: 4px; box-shadow: var(--kp-shadow); }
body.auth-page .auth-content { padding: 44px; }
body.auth-page .auth-content h1 { font-size: 38px; font-weight: 500; margin-bottom: 12px; }
body.auth-page .auth-deck { color: var(--kp-muted); font-size: 15px; line-height: 1.7; }
body.auth-page .auth-content label { margin: 22px 0 8px; font-size: 14px; font-weight: 500; color: var(--kp-ink); }
body.auth-page .auth-content>form input { min-height: 48px; padding: 12px 14px; background: var(--kp-surface); }
body.auth-page .auth-content>form button { min-height: 48px; margin-top: 26px; border-radius: 2px; font-weight: 500; }
body.auth-page .auth-content :is(.hint,.subtle) { color: var(--kp-muted); line-height: 1.65; font-size: 14px; }
body.auth-page .auth-story { background: var(--kp-brand-soft); color: var(--kp-ink); border-right: 1px solid var(--kp-line); padding: 36px; }
body.auth-page .auth-story h2 { color: var(--kp-ink); font-size: 44px; line-height: 1.14; font-weight: 500; }
body.auth-page .auth-story p { color: var(--kp-muted); line-height: 1.75; }
body.auth-page :is(.auth-story-mark,.auth-story-index) { color: var(--kp-brand); border-color: var(--kp-line-strong); background: var(--kp-surface); }
body.auth-page .auth-story-eyebrow { color: var(--kp-brand); }
body.auth-page .auth-story-steps { border-color: var(--kp-line-strong); }
body.auth-page .auth-story-steps li { border-color: var(--kp-line); }
body.auth-page .auth-story-steps :is(strong,span) { color: var(--kp-ink); }
body.auth-page .auth-story .auth-story-steps li :is(b,strong,span) { color: var(--kp-ink); }
body.auth-page .auth-story .auth-story-steps li small { color: var(--kp-brand); }
body.auth-page .auth-story .auth-story-steps li { color: var(--kp-ink); }
body.auth-page footer { padding-block: 24px; color: var(--kp-muted); }

/* Customer area: readable navigation, quieter financial surfaces and consistent forms. */
body.portal-body { color: var(--kp-ink); background: var(--kp-paper); }
body.portal-body>.sidebar { background: var(--kp-surface); border-right: 1px solid var(--kp-line); }
body.portal-body>.sidebar::before { display: none; }
body.portal-body>.sidebar :is(.nav-group,.balance small,.sidebar-email) { color: var(--kp-muted); font-family: var(--kp-font); font-size: 12px; letter-spacing: 0; text-transform: none; }
body.portal-body>.sidebar nav a { min-height: 43px; margin-block: 3px; padding: 11px 13px; color: var(--kp-muted); font-size: 14px; border-radius: 3px; }
body.portal-body>.sidebar nav a:hover { color: var(--kp-brand); background: var(--kp-hover); }
body.portal-body>.sidebar nav a.active { color: var(--kp-brand); background: var(--kp-brand-soft); border-color: var(--kp-brand); box-shadow: inset 2px 0 var(--kp-brand); }
body.portal-body>.sidebar .balance { margin-top: 18px; padding: 18px; color: var(--kp-ink); background: var(--kp-paper); border: 1px solid var(--kp-line); border-radius: 4px; box-shadow: none; }
body.portal-body>.sidebar .balance b { color: var(--kp-ink); font-size: 29px; font-weight: 500; }
body.portal-body>.sidebar .light-button { background: var(--kp-brand); color: var(--kp-white); border: 1px solid var(--kp-brand); border-radius: 2px; min-height: 36px; }
body.portal-body>.sidebar .sidebar-footer { background: var(--kp-surface); border-color: var(--kp-line); }
body.portal-body>.sidebar .logout button { color: var(--kp-muted); }
body.portal-body>.main { background: var(--kp-paper); }
body.portal-body>.main>header { min-height: 76px; background: var(--kp-surface); padding-inline: 28px; border-bottom: 1px solid var(--kp-line); }
body.portal-body>.main>header h1 { font-size: 22px; font-weight: 500; }
body.portal-body>.main>main { padding: 28px; }
body.portal-body :is(.dashboard-title,.proxy-card-heading h2,.utility-page h2) { color: var(--kp-ink); font-size: 21px; font-weight: 500; }
body.portal-body :is(.dashboard-eyebrow,.summary-label,.wallet-card-head>span,.proxy-card>small,.proxy-hint,.proxy-footnote) { font-family: var(--kp-font); font-size: 12px; line-height: 1.6; letter-spacing: 0; text-transform: none; color: var(--kp-muted); }
body.portal-body :is(.dashboard-wallet,.dashboard-metrics,.dashboard-services,.dashboard-progress,.dashboard-recent,.proxy-card,.utility-page .panel,.wallet-funding,.wallet-ledger) {
  border: 1px solid var(--kp-line); border-radius: 4px; background: var(--kp-surface); box-shadow: var(--kp-shadow);
}
body.portal-body .dashboard-wallet { background: var(--kp-surface); color: var(--kp-ink); }
body.portal-body .dashboard-wallet>strong { color: var(--kp-ink); font-size: 36px; font-weight: 500; }
body.portal-body .dashboard-wallet .wallet-bottom { color: var(--kp-muted); border-color: var(--kp-line); }
body.portal-body .dashboard-metrics strong { color: var(--kp-ink); font-size: 29px; font-weight: 500; }
body.portal-body .dashboard-grid { gap: 22px; }
body.portal-body .dashboard-service { min-height: 84px; padding: 18px; border-color: var(--kp-line); }
body.portal-body .dashboard-service:hover { background: var(--kp-hover); }
body.portal-body .service-icon { width: 38px; height: 38px; border-radius: 3px; background: var(--kp-brand-soft); color: var(--kp-brand); }
body.portal-body .service-name strong { color: var(--kp-ink); font-size: 15px; font-weight: 500; }
body.portal-body .service-name small { color: var(--kp-muted); font-size: 13px; line-height: 1.6; }
body.portal-body :is(.proxy-columns,.utility-columns,.wallet-layout) { gap: 22px; }
body.portal-body .proxy-card-heading { padding: 22px 24px; border-color: var(--kp-line); }
body.portal-body .proxy-card-heading h2 { margin-top: 7px; }
body.portal-body .proxy-card-heading>span { font-size: 12px; color: var(--kp-muted); }
body.portal-body .proxy-order-form { padding-inline: 24px; }
body.portal-body .proxy-form-section { padding-block: 24px; border-color: var(--kp-line); }
body.portal-body .proxy-step-heading strong { font-size: 15px; font-weight: 500; }
body.portal-body .proxy-step-heading small { color: var(--kp-muted); font-size: 12px; line-height: 1.5; }
body.portal-body :is(.proxy-field-grid label,.proxy-config-grid label,.proxy-field>span,.proxy-config-label) { color: var(--kp-muted); font-family: var(--kp-font); font-size: 13px; line-height: 1.5; letter-spacing: 0; text-transform: none; }
body.portal-body :is(.proxy-field-grid input,.proxy-config-grid select,.proxy-country-trigger) { min-height: 46px; background: var(--kp-surface); font-size: 14px; border-color: var(--kp-line-strong); }
body.portal-body .proxy-country-trigger { color: var(--kp-ink); border-color: var(--kp-line-strong); background: var(--kp-surface); font-family: var(--kp-font); transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease; }
body.portal-body .proxy-country-trigger [data-country-current] { color: var(--kp-ink); opacity: 1; }
body.portal-body .proxy-country-trigger:hover { border-color: #8998b8; background: var(--kp-surface); }
body.portal-body .proxy-country-trigger:focus-visible,body.portal-body .proxy-country-picker.is-open .proxy-country-trigger { outline: none !important; border-color: var(--kp-brand); background: var(--kp-surface); box-shadow: var(--kp-focus-soft); }
body.portal-body .proxy-country-panel { right: auto; width: min(100%, 420px); min-width: min(280px, 100%); padding: 7px; background: var(--kp-surface); border-color: var(--kp-line); border-radius: 3px; box-shadow: 0 16px 42px -20px rgba(24,35,60,.3); }
body.portal-body .proxy-country-panel [data-country-search] { min-height: 40px; margin-bottom: 7px; padding: 9px 11px; color: var(--kp-ink); font-family: var(--kp-font); font-size: 13px; background: var(--kp-paper); border-color: var(--kp-line); }
body.portal-body .proxy-country-panel [data-country-search]:is(:focus,:focus-visible) { outline: none !important; border-color: var(--kp-line-strong) !important; background: var(--kp-surface); box-shadow: var(--kp-focus-soft) !important; }
body.portal-body .proxy-country-options { max-height: min(280px, 42vh); scrollbar-width: thin; scrollbar-color: var(--kp-line-strong) transparent; }
body.portal-body .proxy-country-option { min-height: 42px; padding: 9px 11px; color: var(--kp-ink); font-family: var(--kp-font); font-size: 13px; border-radius: 2px; transition: background-color 150ms ease, color 150ms ease; }
body.portal-body .proxy-country-option:hover,body.portal-body .proxy-country-option:focus-visible { outline: none !important; color: var(--kp-ink); background: var(--kp-hover); }
body.portal-body .proxy-country-option[aria-selected="true"] { color: var(--kp-brand); background: var(--kp-brand-soft); box-shadow: inset 2px 0 var(--kp-brand); }
body.portal-body .proxy-country-option small { color: var(--kp-muted-soft); }
body.portal-body .proxy-country-option[aria-selected="true"] small { color: var(--kp-brand); }
body.portal-body .proxy-quantity :is(button,input) { height: 44px; border-color: var(--kp-line-strong); }
body.portal-body .proxy-presets button { min-height: 36px; font-size: 13px; border-radius: 2px; }
body.portal-body .proxy-term-options button { min-height: 78px; padding: 14px; border-color: var(--kp-line); background: var(--kp-surface); border-radius: 3px; }
body.portal-body .proxy-term-options strong { font-size: 14px; font-weight: 500; }
body.portal-body .proxy-term-options small { color: var(--kp-muted); font-size: 12px; line-height: 1.6; }
body.portal-body :is(.proxy-presets button.is-selected,.proxy-term-options button.is-selected) { border-color: var(--kp-brand); background: var(--kp-brand-soft); color: var(--kp-brand); }
body.portal-body .proxy-summary { border-top: 3px solid var(--kp-brand); }
body.portal-body :is(.proxy-order-action button,.proxy-confirmed button,.wallet-submit,.utility-page button[type=submit]) { min-height: 46px; border-radius: 2px; background: var(--kp-brand); color: var(--kp-white); font-size: 14px; font-weight: 500; }
body.portal-body :is(.proxy-summary-line,.proxy-rates>div>div) { padding-block: 14px; border-color: var(--kp-line); font-size: 13px; }
body.portal-body .proxy-traffic-metrics span { font-family: var(--kp-font); font-size: 12px; letter-spacing: 0; text-transform: none; color: var(--kp-muted); }
body.portal-body .proxy-traffic-metrics>div { border-color: var(--kp-line); background: var(--kp-paper); }
body.portal-body .wallet-coin, body.portal-body .wallet-preset { min-height: 68px; border-color: var(--kp-line); background: var(--kp-surface); border-radius: 3px; }
body.portal-body :is(.wallet-coin.is-selected,.wallet-preset.is-selected) { border-color: var(--kp-brand); background: var(--kp-brand-soft); }
body.portal-body .wallet-payment-detail { border-color: var(--kp-line); background: var(--kp-paper); }
body.portal-body :is(.wallet-stats small,.utility-stats small) { font-family: var(--kp-font); color: var(--kp-muted); font-size: 12px; letter-spacing: 0; }
body.portal-body :is(.wallet-stats span,.utility-stats span) { color: var(--kp-muted); font-size: 12px; line-height: 1.6; }
body.portal-body .wallet-step-title small { color: var(--kp-muted); font-size: 13px; line-height: 1.55; }
body.portal-body .wallet-coin-name b { font-size: 14px; color: var(--kp-ink); }
body.portal-body .wallet-coin-name small { color: var(--kp-muted); font-size: 12px; line-height: 1.5; }
body.portal-body .wallet-preset b { font-size: 15px; }
body.portal-body .wallet-preset small { font-size: 11px; line-height: 1.45; color: var(--kp-muted); }
body.portal-body :is(.wallet-amount-label,.wallet-step-last label,.wallet-payment-row small) { color: var(--kp-muted); font-size: 13px; letter-spacing: 0; }
body.portal-body :is(.wallet-payment-row strong,.wallet-payment-row code) { color: var(--kp-ink); font-size: 14px; line-height: 1.6; }
body.portal-body :is(.wallet-rate-note,.wallet-submit-note,.wallet-empty) { color: var(--kp-muted) !important; font-size: 13px !important; line-height: 1.7; }
body.portal-body .wallet-bonus-row { padding-block: 15px; font-size: 13px; line-height: 1.6; }
body.portal-body .wallet-bonus-row strong { font-size: 13px; font-weight: 500; }
body.portal-body :is(.wallet-bonuses>p,.wallet-help p,.wallet-history-row small,.wallet-ledger-row small) { color: var(--kp-muted); font-size: 12px; line-height: 1.7; }
body.portal-body :is(.utility-intro p,.utility-card>p,.utility-empty p) { color: var(--kp-muted); font-size: 14px; line-height: 1.7; }
body.portal-body .utility-empty { border-style: solid; border-color: var(--kp-line); border-radius: 3px; background: var(--kp-paper); }
body.portal-body .utility-page label { font-size: 13px; color: var(--kp-muted); }
body.portal-body .utility-page :is(input:not([type=checkbox]),select,textarea) { min-height: 46px; font-size: 14px; background: var(--kp-surface); }
body.portal-body .wallet-coin:hover { transform: none; }
body.portal-body .header-pill { border-color: var(--kp-line); color: var(--kp-muted); background: var(--kp-surface); font-size: 12px; border-radius: 3px; }
body:not(.theme-dark):not(.portal-body):not(.admin-body) main :is(.card,.request) { border-color: var(--kp-line); border-radius: 4px; background: var(--kp-surface); box-shadow: var(--kp-shadow); }
body:not(.theme-dark):not(.portal-body):not(.admin-body) main>form { border-color: var(--kp-line); border-radius: 4px; box-shadow: var(--kp-shadow); }

/* Administration shares the same type, controls and financial data treatment. */
.admin-body { --text: var(--kp-ink); --muted: var(--kp-muted); --accent: var(--kp-brand); --line: var(--kp-line); --admin-soft: var(--kp-brand-soft); font-family: var(--kp-font); }
.admin-body :is(h1,h2,h3,p,a,button,input,select,textarea,label,th,td,small,span,strong) { font-family: var(--kp-font); }
.admin-body .admin-sidebar { background: var(--kp-surface); border-color: var(--kp-line); }
.admin-body .admin-nav a { min-height: 44px; border-radius: 3px; font-size: 14px; font-weight: 500; color: var(--kp-muted); }
.admin-body .admin-nav a.active { color: var(--kp-brand); background: var(--kp-brand-soft); box-shadow: inset 2px 0 var(--kp-brand); }
.admin-body .admin-nav-label { font-size: 11px; letter-spacing: 0; text-transform: none; color: var(--kp-muted); }
.admin-body .admin-content { padding: 28px; max-width: 1500px; }
.admin-body .admin-topbar { min-height: 76px; background: var(--kp-surface); border-color: var(--kp-line); }
.admin-body .admin-topbar h1 { font-size: 22px; font-weight: 500; }
.admin-body :is(.panel,.deposit-table-wrap,.deposit-stats>div,.admin-metrics>div) { background: var(--kp-surface); border: 1px solid var(--kp-line); border-radius: 4px; box-shadow: var(--kp-shadow); }
.admin-body .panel { padding: 24px; }
.admin-body .panel h2 { font-size: 20px; font-weight: 500; line-height: 1.35; }
.admin-body :is(label,.panel p) { color: var(--kp-muted); font-size: 13px; line-height: 1.65; }
.admin-body :is(input:not([type=checkbox]),select,textarea) { min-height: 44px; background: var(--kp-surface); border-color: var(--kp-line-strong); font-size: 14px; }
.admin-body button { min-height: 42px; border-radius: 2px; font-size: 13px; font-weight: 500; }
.admin-body :is(.admin-payment-search,.admin-user-search) { gap: 14px; margin-block: 22px; }
.admin-body :is(.deposit-filters a,.admin-pagination a) { min-height: 38px; padding: 9px 14px; border-radius: 2px; font-size: 13px; }
.admin-body :is(.deposit-table-wrap,.admin-user-list) :is(th,td) { padding: 15px; border-color: var(--kp-line); font-size: 13px; line-height: 1.6; }
.admin-body :is(.deposit-table-wrap,.admin-user-list) thead th { background: var(--kp-paper); color: var(--kp-muted); font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.admin-body :is(.stats strong,.deposit-stats strong,.admin-metrics strong) { color: var(--kp-ink); font-size: 29px; font-weight: 500; font-variant-numeric: tabular-nums; }
.admin-body :is(.stats small,.deposit-stats small,.admin-metrics small) { color: var(--kp-muted); font-size: 12px; letter-spacing: 0; text-transform: none; }
.admin-body .status { background: var(--kp-positive-soft); color: var(--kp-positive); border-radius: 3px; }
.admin-body .alert.error { background: var(--kp-negative-soft); color: var(--kp-negative); }
.admin-body .alert.ok { background: var(--kp-positive-soft); color: var(--kp-positive); }
.admin-body .admin-login { margin-top: 56px; }
.admin-body .admin-login .panel { padding: 36px; border-color: var(--kp-line-strong); }
.admin-body .admin-login h2 { margin-bottom: 24px; font-size: 26px; }
.admin-body .deposit-table-wrap { overflow-x: auto; }
.admin-body .deposit-table-wrap table { width: 100%; table-layout: fixed; min-width: 1040px; }
.admin-body .deposit-table-wrap :is(th,td) { overflow-wrap: anywhere; vertical-align: top; }
.admin-body .deposit-table-wrap :is(th,td):last-child { width: 270px; }
.admin-body .deposit-action { min-width: 0; }
.admin-body .deposit-action label { font-size: 12px; }
.admin-body .deposit-action .admin-check { white-space: normal; }
.admin-body .deposit-table-wrap time { display: block; white-space: nowrap; font-variant-numeric: tabular-nums; }
.admin-body .deposit-table-wrap time small { display: block; }
.kp-simple-content .kp-error-code { color: var(--kp-brand); font-family: var(--kp-mono); font-size: 15px; margin-bottom: 20px; }
@media (min-width: 761px) {
  .admin-body:has(.admin-sidebar) .admin-workspace { width: calc(100% - 234px); margin-left: 234px; min-width: 0; }
}

/* Responsive refinements leave every section available. */
@media (max-width: 1120px) {
  body.theme-dark .main-nav, .kp-unified-nav { display: none; }
  body.theme-dark .header-actions>.kp-unified-mobile, .kp-unified-mobile { display: block; }
  body.theme-dark .header-actions { margin-left: auto; }
  body.theme-dark .hero-grid { gap: 28px; }
  body.theme-dark .hero-title { font-size: 47px; }
  body.theme-dark :is(.calc-controls,.calc-result,.calc-ladder) { padding: 24px; }
}
@media (max-width: 900px) {
  body.auth-page .auth-stage { display: flex; flex-direction: column; }
  body.auth-page .auth-content { order: 0; padding: 32px; }
  body.auth-page .auth-story { order: 1; min-height: 0; padding: 28px 32px; border: 0; border-top: 1px solid var(--kp-line); gap: 24px; }
  body.auth-page .auth-story h2 { font-size: 30px; }
  body.auth-page .auth-story-top { display: none; }
  body.theme-dark .hero-title { max-width: 23ch; }
  body.theme-dark .hero-lead { max-width: 66ch; }
}
@media (max-width: 700px) {
  body.theme-dark .section { padding-block: 48px; }
  body.theme-dark .section-head { margin-bottom: 26px; }
  body.theme-dark .hero-title { font-size: clamp(34px,7.6vw,44px); line-height: 1.12; }
  body.theme-dark .hero-lead { margin-top: 18px; font-size: 16px; line-height: 1.75; }
  body.theme-dark .hero-grid { row-gap: 30px; }
  body.theme-dark .hero-actions { margin-top: 24px; }
  body.theme-dark .hero-actions .btn { min-height: 48px; font-size: 14px; }
  body.theme-dark .section-head h2 { font-size: 30px; line-height: 1.2; }
  body.theme-dark :is(.feature,.netcard,.uc,.doc-card,.gd-card,.gl-card,.kp-info-card) { padding: 22px; }
  body.theme-dark :is(.feature h3,.netcard h3,.uc h3,.kp-info-card h2) { font-size: 21px; }
  body.theme-dark .panel-head { padding: 17px 20px; }
  body.theme-dark .panel-body { padding: 20px; }
  body.theme-dark .panel-out { padding: 0 20px 20px; }
  body.theme-dark :is(.calc-controls,.calc-result,.calc-ladder) { padding: 22px; }
  body.theme-dark .calc-nets { padding: 10px 14px; }
  body.theme-dark :is(.rates-table,.doc-table,.compare) :is(th,td) { padding: 12px; font-size: 13px; }
  body.theme-dark .faq-grid summary { min-height: 64px; padding: 18px 20px; font-size: 15px; }
  body.theme-dark .faq-grid .faq-answer { padding: 0 20px 20px; }
  body.theme-dark .term pre { padding: 20px; font-size: 12px; }
  body.theme-dark .footer-main { padding-block: 40px; gap: 26px; }
  body.theme-dark .site-footer { padding-top: 36px; }
  body.theme-dark .footer-grid { gap: 0; padding-bottom: 20px; }
  body.theme-dark .footer-brand { margin-bottom: 28px; }
  body.theme-dark .site-footer :is(p,li,a) { font-size: 14px; }
  body.theme-dark .footer-title { min-height: 48px; }
  body.ka-page .ka-wrap { width: calc(100% - 36px); padding-top: 108px; padding-bottom: 56px; }
  body.ka-page .ka-wrap h1 { font-size: 34px; line-height: 1.17; }
  body.ka-page .ka-intro { font-size: 16px; }
  body.ka-page .ka-cta { padding: 22px; }
  body.ka-page .ka-cta-actions { min-width: 0; }
  body.ka-page .ka-cta-actions .ka-btn { padding: 10px; font-size: 13px; }
  body.ka-page .ka-toc { padding: 22px; }
  body.ka-page .ka-section h2 { font-size: 25px; }
  body.ka-page .ka-section :is(p,li) { font-size: 16px; }
  body.ka-page .ka-featured-grid a { padding: 23px 42px 23px 23px; }
  body.auth-page .auth-main { width: calc(100% - 32px); margin-top: 24px; }
  body.auth-page .auth-content { padding: 28px 24px; }
  body.auth-page .auth-content h1 { font-size: 32px; }
  body.auth-page .auth-story { padding: 26px 24px; }
  body.auth-page .auth-story h2 { font-size: 28px; }
  body.portal-body>.main>main { padding: 20px 16px 28px; }
  body.portal-body>.main>header { padding-inline: 16px; min-height: 66px; }
  body.portal-body>.main>header h1 { font-size: 20px; }
  body.portal-body>.sidebar nav a { margin-block: 0; min-height: 48px; }
  body.portal-body .proxy-card-heading { padding: 20px; }
  body.portal-body .proxy-card-heading>span { text-align: left; }
  body.portal-body .proxy-order-form { padding-inline: 20px; }
  body.portal-body .proxy-step-heading { flex-wrap: wrap; }
  body.portal-body .proxy-step-heading small { width: 100%; margin-left: 31px; text-align: left; }
  body.portal-body :is(.proxy-columns,.utility-columns,.wallet-layout) { gap: 18px; }
  body.portal-body .proxy-term-options button { padding: 12px 10px; }
  .admin-body .admin-content { padding: 20px 14px 96px; }
  .admin-body .panel { padding: 20px; }
  .admin-body .admin-topbar h1 { font-size: 20px; }
  .admin-body .admin-login { margin-top: 28px; padding-inline: 16px; }
  .admin-body .admin-login .panel { padding: 26px; }
  .admin-body :is(.stats strong,.deposit-stats strong,.admin-metrics strong) { font-size: 24px; }
}
@media (max-width: 680px) {
  .admin-body .deposit-table-wrap table { min-width: 0; table-layout: auto; }
  .admin-body .deposit-table-wrap :is(th,td):last-child { width: auto; }
}
@media (max-width: 380px) {
  body.theme-dark .site-header .header-actions .header-signup { font-size: 12px; padding-inline: 7px; }
  body.theme-dark .hero-title { font-size: 32px; }
  body.theme-dark .seg-btn { padding-inline: 8px; font-size: 12px; }
  body.ka-page .ka-wrap h1 { font-size: 31px; }
  body.auth-page .auth-content { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
