@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/manrope-0.woff2) format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/manrope-1.woff2) format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/manrope-2.woff2) format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/manrope-3.woff2) format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/manrope-4.woff2) format('woff2');
}

/* Client presentation layer. Admin screens retain panel.css. */
html:has(body.client-ui) { background: #090d1b; color-scheme: dark; }
body.client-ui {
  --bg:#090d1b; --bg-soft:#0e1428; --surface:#10172a; --surface-strong:#17203a;
  --surface-alt:#19223b; --text:#f4f5ff; --muted:#a9b3d0; --line:#27334f;
  --line-strong:#435275; --brand:#b2adff; --brand-strong:#6055df; --brand-deep:#6655e8;
  --ok:#89dfbc; --warn:#f0ce8e; --bad:#ffa7b5; --shadow:0 8px 26px #00000018;
  margin:0; min-height:100vh; background:#090d1b; color:var(--text);
  font:15px/1.6 "Manrope","Segoe UI",system-ui,sans-serif; letter-spacing:0;
  -webkit-font-smoothing:antialiased;
}
body.client-ui::before, body.client-ui::after { display:none; }
.client-ui * { box-sizing:border-box; }
.client-ui [hidden] { display:none!important; }
.client-ui a { color:var(--brand); text-decoration:none; }
.client-ui a:hover { color:#d7d3ff; }
.client-ui :focus-visible { outline:2px solid var(--brand); outline-offset:4px; }
.client-ui .skip-link { position:fixed; top:-100px; left:16px; z-index:9999; padding:10px 20px; background:#b2adff; color:#090d1b; }
.client-ui .skip-link:focus { top:12px; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:9999; padding:10px 20px; background:#b9ed9c; color:#101716; }
.skip-link:focus { top:12px; }
.client-ui .shell { max-width:1240px; margin:auto; padding:0 32px 40px; }
.client-ui .topbar {
  display:flex; justify-content:space-between; align-items:center; gap:24px;
  margin:0 0 40px; padding:26px 0; border:0; border-bottom:1px solid var(--line);
  border-radius:0; box-shadow:none; background:transparent; backdrop-filter:none;
}
.client-brand { display:inline-flex; align-items:center; gap:11px; flex-shrink:0; text-decoration:none; }
.client-ui .client-brand { color:var(--text); font-size:18px; font-weight:700; letter-spacing:2px; line-height:1.3; }
.client-brand .brand-mark { display:grid; place-items:center; width:39px; height:39px; border:1px solid #b2adff; border-radius:11px; color:#b2adff; font-size:24px; font-weight:500; letter-spacing:-3px; padding-right:3px; }
.client-brand small { display:block; margin-top:4px; color:var(--muted); font-size:9px; font-weight:500; letter-spacing:1.7px; }
.client-ui .nav { width:auto; flex:0 1 auto; display:flex; gap:4px; flex-wrap:wrap; justify-content:flex-end; align-items:center; }
.client-ui .nav a, .client-ui .nav button { padding:9px 13px; min-height:42px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--muted); font:500 14px/1.5 "Manrope","Segoe UI",sans-serif; box-shadow:none; white-space:nowrap; }
.client-ui .nav a:hover, .client-ui .nav button:hover { color:var(--text); background:var(--surface); transform:none; }
.client-ui .nav a.active { color:var(--brand); border-color:var(--line); background:var(--surface); box-shadow:none; }
.client-ui h1,.client-ui h2,.client-ui h3 { color:var(--text); line-height:1.2; text-wrap:balance; text-shadow:none; }
.client-ui h1 { font-size:clamp(30px,3.5vw,46px); font-weight:600; letter-spacing:-1.5px; margin:12px 0 16px; }
.client-ui h2 { font-size:23px; font-weight:600; letter-spacing:-.5px; margin:0; }
.client-ui h3 { font-size:18px; font-weight:600; }
.client-ui p { color:var(--muted); line-height:1.65; }
.client-ui .eyebrow { display:inline-block; min-height:0; box-shadow:none; border-radius:0; background:transparent; border:0; padding:0; color:var(--brand); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:2px; }
.client-ui .card { padding:26px; background:var(--surface); border:1px solid var(--line); border-radius:16px; box-shadow:none; backdrop-filter:none; }
.client-ui .card::before,.client-ui .card::after { display:none; }
.client-ui .hero { padding:12px 0 28px; border:0; border-radius:0; background:none; box-shadow:none; }
.client-ui .hero p { max-width:610px; margin:0; font-size:16px; }
.client-ui .hero-grid { grid-template-columns:minmax(0,1.4fr) minmax(240px,.65fr); gap:40px; align-items:center; }
.client-ui .hero-side { gap:12px; }
.client-ui .mini-panel { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:18px 20px; box-shadow:none; }
.client-ui .mini-panel .value { font-size:22px; line-height:1.4; overflow-wrap:anywhere; }
.client-ui .dashboard-hero-side .mini-panel .value { font-size:15px; font-weight:500; }
.client-ui .dashboard-name { display:inline-block; font-size:15px; font-weight:500; color:var(--brand); padding:3px 10px; margin:0 0 12px; border:1px solid var(--line); border-radius:6px; }
.client-ui .label, .client-ui .muted, .client-ui .form-hint, .client-ui .detail-item { color:var(--muted); }
.client-ui .label { font-size:12px; }
.client-ui .stats { gap:14px; margin-top:26px; }
.client-ui .stat { padding:20px 22px; background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:none; }
.client-ui .stat .value { margin-top:8px; font-size:24px; font-weight:600; line-height:1.3; }
.client-ui .status-ok { color:var(--ok); } .client-ui .status-bad { color:var(--bad); } .client-ui .status-warn { color:var(--warn); }
.client-ui .page-spacer { margin-top:24px; }
.client-ui .grid { gap:20px; }
.client-ui .grid.cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.client-ui .dashboard-grid > .card:last-child { grid-column:1/-1; }
.client-ui .grid > * { min-width:0; }
.client-ui .section-title { gap:14px; margin-bottom:22px; align-items:center; }
.client-ui .pill { padding:5px 10px; border:1px solid var(--line); border-radius:6px; background:var(--surface-alt); color:var(--muted); box-shadow:none; font-size:12px; }
.client-ui .pill-wide { width:auto; justify-content:flex-start; text-align:left; min-height:0; padding:0; border:0; background:none; color:var(--text); font-size:22px; font-weight:600; letter-spacing:-.4px; text-transform:none; }
.client-ui .subscription-card > .section-title { justify-content:flex-start; text-align:left; margin-bottom:6px; }
.client-ui .subscription-card--compact { max-width:none; }
.client-ui .client-settings-hero .hero-grid { grid-template-columns:1fr; gap:26px; }
.client-ui .client-settings-hero .hero-side { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.client-ui .client-settings-hero .mini-panel { margin:0; min-width:0; }
.client-ui .client-settings-hero .mini-panel__head { flex-direction:column; gap:18px; }
.client-ui .client-settings-hero .mini-panel .value { font-size:19px; }
.client-ui .client-settings-hero .email-state__address { max-width:100%; white-space:normal; overflow-wrap:anywhere; font:500 16px/1.4 "Manrope","Segoe UI",sans-serif; }
.client-ui .button, .client-ui .btn, .client-ui button.button {
  display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:46px;
  padding:11px 18px; border:1px solid var(--line-strong); border-radius:9px;
  background:var(--surface-alt); color:var(--text); font:600 14px/1.45 "Manrope","Segoe UI",sans-serif;
  box-shadow:none; text-align:center; text-decoration:none; cursor:pointer;
  transition:background .15s,border-color .15s;
}
.client-ui .button.primary, .client-ui .btn { background:var(--brand-strong); border-color:#7c71f5; color:#ffffff; }
.client-ui .button.primary:hover,.client-ui .btn:hover { background:#7164ed; border-color:#7164ed; color:#ffffff; transform:none; }
.client-ui .button.secondary,.client-ui .button.ghost { background:transparent; color:var(--text); border-color:var(--line-strong); }
.client-ui .button:hover { border-color:var(--brand); background:#202a47; transform:none; }
.client-ui .button:disabled,.client-ui .button.is-disabled { opacity:.5; cursor:not-allowed; }
.client-ui .button-row { gap:10px; }
.client-ui .client-quick-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding-bottom:4px; }
.client-ui .quick-help { margin-left:auto; font-size:13px; color:var(--muted); }
.client-ui .summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; background:none; border:0; }
.client-ui .traffic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.client-ui .summary-item { padding:13px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; box-shadow:none; }
.client-ui .summary-item__value { font-size:16px; font-weight:500; }
.client-ui .summary-item__label { color:var(--muted); font-size:12px; }
.client-ui .info-box { padding:16px; border:1px solid var(--line); border-radius:10px; background:#0c1326; }
.client-ui .info-box__label { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:1px; }
.client-ui .mono { font:12px/1.65 Consolas,monospace; color:#c4cbee; overflow-wrap:anywhere; word-break:break-word; }
.client-ui .copy-line { display:flex; gap:12px; align-items:center; min-width:0; }
.client-ui .copy-line__value { flex:1; min-width:0; }
.client-ui .copy-line .button { min-height:44px; padding:8px 12px; font-size:12px; }
.client-ui .traffic-block { border-color:var(--line); background:none; }
.client-ui .traffic-block__title { font-size:13px; font-weight:500; color:var(--muted); }
.client-ui .traffic-item { background:transparent; border-color:var(--line); border-radius:8px; padding:12px; }
.client-ui .traffic-item__value { font-size:18px; font-weight:500; }
.client-ui .traffic-item__label { color:var(--muted); }
.client-ui .detail-item { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:10px 0; background:none; box-shadow:none; }
.client-ui .detail-item strong { color:var(--text); }
.client-ui label { color:var(--text); font-size:13px; font-weight:500; display:block; margin-bottom:7px; }
.client-ui input:not([type=checkbox]):not([type=radio]),.client-ui select,.client-ui textarea {
  width:100%; min-height:46px; padding:11px 13px; background:#0b1225; border:1px solid var(--line-strong); border-radius:8px;
  color:var(--text); font:15px/1.5 "Manrope","Segoe UI",sans-serif; box-shadow:none;
}
.client-ui input::placeholder,.client-ui textarea::placeholder { color:#909dbd; }
.client-ui input:focus,.client-ui select:focus,.client-ui textarea:focus { border-color:var(--brand); background:#141c35; box-shadow:0 0 0 3px #b2adff14; }
.client-ui input[type=checkbox],.client-ui input[type=radio] { accent-color:var(--brand); }
.client-ui .stack { gap:18px; }
.client-ui table { width:100%; border-collapse:collapse; font-size:13px; }
.client-ui th { background:#151d34; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.6px; color:var(--muted); }
.client-ui td,.client-ui th { padding:15px 16px; border-color:var(--line); }
.client-ui tr:hover td { background:#ffffff03; }
.client-ui .table-wrap { border:1px solid var(--line); border-radius:10px; }
.client-ui .empty-state,.client-ui .empty-row td { color:var(--muted); padding:30px 16px; text-align:center; background:transparent; }
.client-ui .password-warning,.client-ui .flash { border:1px solid #78613e; border-radius:10px; background:#2b281d; box-shadow:none; color:#ecd6b0; padding:13px 18px; font-size:13px; }
.client-ui .flash.error { color:#ffc5b9; border-color:#87594f; background:#382520; }
.client-ui .flash.success { color:var(--brand); border-color:#2e6558; background:#142d2c; }
.client-ui .link-button { color:var(--brand); font:inherit; font-weight:600; }
.client-ui .client-steps { display:flex; padding:20px 0; margin:0; list-style:none; gap:28px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.client-ui .client-steps li { display:flex; align-items:center; gap:12px; font-size:13px; color:var(--muted); }
.client-ui .client-steps li span { display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--line-strong); color:var(--brand); border-radius:50%; }
.client-ui .platform-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.client-ui .platform-card { display:grid; grid-template-columns:40px 1fr; gap:3px 14px; padding:18px; border:1px solid var(--line); border-radius:10px; background:#131b31; box-shadow:none; }
.client-ui .platform-card:hover { border-color:var(--brand); background:#202947; transform:none; }
.client-ui .platform-icon { grid-row:span 2; color:var(--brand); font-size:33px; line-height:1.4; text-align:center; }
.client-ui .platform-card__title { display:flex; justify-content:space-between; color:var(--text); font-size:16px; font-weight:600; }
.client-ui .platform-card__text { color:var(--muted); font-size:13px; }
.client-ui .modal-backdrop { background:#000a; backdrop-filter:blur(5px); padding:20px; overflow:auto; }
.client-ui .modal-card { background:var(--surface); border:1px solid var(--line-strong); border-radius:16px; box-shadow:0 25px 100px #0008; max-height:calc(100dvh - 40px); overflow:auto; }
.client-ui .modal-close { background:var(--surface-alt); color:var(--text); border:1px solid var(--line); border-radius:8px; }
.client-ui .modal-copy { font-size:14px; }
.client-ui .tools-help-card,.client-ui .tools-result-card,.client-ui .tools-faq-card,.client-ui .email-state__badge { background:var(--surface-alt); border-color:var(--line); }
.client-ui .client-footer { max-width:1176px; margin:0 auto; padding:26px 0; display:flex; gap:20px; justify-content:space-between; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.client-ui .client-footer > span { letter-spacing:1.5px; }
.client-ui .footer-caption { margin-left:18px; letter-spacing:0; color:#9aa5c3; }
.client-ui .client-footer div { display:flex; gap:26px; }
.client-ui .client-footer a { color:var(--muted); }
.client-ui .client-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:10000; max-width:calc(100% - 32px); padding:13px 24px; border:1px solid var(--brand); border-radius:10px; background:#222949; color:var(--text); box-shadow:var(--shadow); }

/* Sign-in shares the Aurora identity and keeps the existing authentication controls. */
.client-ui .client-login { display:block; min-height:calc(100dvh - 85px); padding:54px 32px 40px; background:none; }
.client-ui .client-login-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,480px); gap:80px; max-width:1120px; margin:auto; align-items:start; }
.client-ui .login-intro { display:flex; flex-direction:column; align-items:flex-start; gap:64px; padding:7px 0 0; }
.client-ui .login-story h1 { font-size:clamp(40px,4.6vw,62px); font-weight:500; letter-spacing:-2.4px; margin:18px 0 24px; line-height:1.12; }
.client-ui .login-story h1 em { font-style:normal; color:var(--brand); }
.client-ui .login-story > p { font-size:17px; max-width:370px; }
.client-ui .login-features { list-style:none; margin:36px 0 0; padding:0; display:grid; gap:23px; }
.client-ui .login-features li { display:flex; gap:18px; align-items:flex-start; }
.client-ui .login-features li > span { border-top:1px solid var(--line-strong); padding-top:3px; color:var(--brand); font:12px/1.7 Consolas,monospace; }
.client-ui .login-features strong { font-size:15px; font-weight:500; }
.client-ui .login-features p { margin:3px 0 0; font-size:13px; }
.client-ui .login-help { font-size:12px; color:var(--muted); }
.client-ui .login-help span { display:block; margin-top:4px; color:var(--brand); }
.client-ui .client-auth { display:block; padding:30px; margin-top:52px; border:1px solid var(--line); background:var(--surface); border-radius:18px; box-shadow:0 16px 64px #0002; }
.client-ui .client-auth .auth-modal-head { text-align:left; margin:0 0 24px; }
.client-ui .client-auth .auth-modal-head h2 { margin-top:10px; font-size:28px; }
.client-ui .client-auth .auth-modal-head p { margin:9px 0 0; font-size:14px; }
.client-ui .client-auth .auth-tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; padding:4px; border:1px solid var(--line); border-radius:9px; background:#0c1225; margin-bottom:24px; }
.client-ui .client-auth .auth-tabs button { display:flex; flex-direction:column; gap:5px; border:0; border-radius:6px; background:transparent; box-shadow:none; padding:10px 3px; min-height:54px; color:var(--muted); font:500 11px/1.5 "Manrope","Segoe UI",sans-serif; }
.client-ui .client-auth .auth-tabs button.active { background:var(--brand-strong); color:#ffffff; }
.client-ui .client-auth .auth-tabs button:hover { transform:none; background:#232c49; color:var(--text); }
.client-ui .client-auth .auth-tabs button.active:hover { background:#7364ee; color:#ffffff; }
.client-ui .client-auth .auth-tabs svg { width:17px; height:17px; stroke:currentColor; stroke-width:1.6; fill:none; }
.client-ui .client-auth .auth-card-shell { min-height:0; }
.client-ui .client-auth .auth-card { display:block; min-height:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; text-align:left; }
.client-ui .client-auth .auth-pane-icon { display:none; }
.client-ui .client-auth .auth-card h2 { font-size:19px; }
.client-ui .client-auth .section-title { margin:0 0 13px; justify-content:flex-start; text-align:left; }
.client-ui .client-auth .auth-pane-copy { max-width:none; font-size:14px; line-height:1.7; margin:0 0 20px; }
.client-ui .client-auth .auth-card-centered > .button { width:100%; }
.client-ui .client-auth .auth-security-note { display:block; border:0; border-left:2px solid var(--line-strong); border-radius:0; background:none; padding:0 0 0 14px; margin:22px 0 0; box-shadow:none; }
.client-ui .client-auth .auth-security-note .icon-wrap { display:none; }
.client-ui .client-auth .auth-security-note strong { color:var(--muted); font-size:12px; font-weight:400; line-height:1.6; }
.client-ui .client-auth .auth-compact-block { padding:18px; margin-top:20px; background:#0c1225; border:1px solid var(--line); border-radius:9px; }
.client-ui .client-auth .auth-support-strip { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:20px 0 0; margin-top:26px; border:0; border-top:1px solid var(--line); border-radius:0; background:none; box-shadow:none; }
.client-ui .client-auth .support-icon { display:none; }
.client-ui .client-auth .auth-support-strip strong { font-size:12px; font-weight:500; }
.client-ui .client-auth .auth-support-strip span { display:none; }
.client-ui .client-auth .support-link { padding:0; margin-left:auto; min-height:36px; background:none; border:0; color:var(--brand); font-size:12px; box-shadow:none; }
.client-ui .client-auth .support-link svg { width:15px; height:15px; }

/* Static guides, import handoffs, payment result and legal documents. */
body.client-public { display:block; padding:0 24px 40px; }
.client-public .public-brand { display:flex; width:max-content; max-width:100%; margin:24px auto 28px; }
.client-public .wrap { max-width:1100px; padding:0; }
.client-public .container { max-width:1000px; margin:auto; padding:0; }
.client-public > .card { max-width:760px; width:100%; margin:0 auto; padding:30px; text-align:left; }
.client-public .card.hero { padding:28px; border:1px solid var(--line); background:var(--surface); border-radius:16px; }
.client-public .topbar { margin-bottom:22px; padding:0 0 20px; }
.client-public .badge { background:var(--surface-alt); color:var(--brand); border-color:var(--line); }
.client-public .hint,.client-public .note,.client-public .notice,.client-public .security { color:var(--muted); background:var(--surface-alt); border-color:var(--line); border-radius:8px; }
.client-public .step { border-color:var(--line); background:var(--surface-alt); }
.client-public .step-num,.client-public .step-number { background:var(--brand); color:#ffffff; }
.client-public .tab-btn { background:var(--surface-alt); color:var(--muted); border-color:var(--line); min-height:44px; }
.client-public .tab-btn.active { background:var(--brand-strong); border-color:#7c71f5; color:#ffffff; }
.client-public .doc { color:var(--text); }
.client-public .doc h2 { margin-top:24px; font-size:22px; }
.client-public .doc p,.client-public .doc li { color:var(--muted); }
.client-public .video-frame { border-radius:10px; background:#080c19; }

@media (min-width:981px) {
  .client-ui .subscription-card--compact { grid-column:1/-1; }
}
@media (max-width:1100px) {
  .client-ui .topbar { flex-wrap:wrap; gap:18px; }
  .client-ui .nav { justify-content:flex-start; }
  .client-ui .client-login-grid { gap:40px; }
  .client-ui .client-footer { margin:0 32px; }
}
@media (max-width:800px) {
  .client-ui .shell { padding:0 20px 28px; }
  .client-ui .topbar { margin-bottom:26px; padding:20px 0 14px; gap:20px; }
  .client-ui .nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; padding:0 0 6px; gap:5px; }
  .client-ui .nav a,.client-ui .nav button { display:flex; justify-content:center; width:100%; }
  .client-ui .nav a,.client-ui .nav button { padding:8px 11px; font-size:13px; }
  .client-ui .hero-grid { grid-template-columns:1fr; gap:20px; }
  .client-ui .hero { padding-top:0; }
  .client-ui .hero-side { width:100%; }
  .client-ui .client-settings-hero .hero-side { grid-template-columns:1fr; }
  .client-ui .grid.cols-2 { grid-template-columns:1fr; }
  .client-ui .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .client-ui .card { padding:20px; border-radius:13px; }
  .client-ui .client-steps { gap:12px; flex-wrap:wrap; }
  .client-ui .quick-help { margin-left:0; width:100%; padding-top:6px; }
  .client-ui .client-login { padding:25px 20px 36px; min-height:0; }
  .client-ui .client-login-grid { display:flex; flex-direction:column; gap:28px; max-width:530px; }
  .client-ui .login-intro { gap:28px; padding:0; width:100%; }
  .client-ui .login-story h1 { font-size:42px; margin:10px 0 12px; letter-spacing:-1.5px; }
  .client-ui .login-story > p { margin:0; font-size:15px; max-width:none; }
  .client-ui .login-story .eyebrow,.client-ui .login-features,.client-ui .login-help { display:none; }
  .client-ui .client-auth { margin:0; padding:24px; width:100%; }
  .client-ui .client-footer { margin:0 20px; flex-wrap:wrap; gap:16px; }
  .client-ui .footer-caption { display:none; }
}
@media (max-width:440px) {
  .client-ui .client-auth { padding:20px 16px; }
  .client-ui .client-auth .auth-tabs button { font-size:10px; }
  .client-ui h1 { font-size:30px; }
  .client-ui .login-story h1 { font-size:36px; }
  .client-ui .copy-line { flex-wrap:wrap; }
  .client-ui .copy-line__value { flex-basis:100%; }
  .client-ui .client-quick-actions .button { flex:1 1 100%; }
  .client-ui .stat { padding:16px; }
  .client-ui .stat .value { font-size:21px; }
  .client-ui .client-steps { display:grid; gap:12px; }
  .client-public .topbar { align-items:flex-start; }
  .client-ui .mini-panel__head { flex-wrap:wrap; gap:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .client-ui *, .client-ui *::before, .client-ui *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
.client-ui .history-selected__states { display:flex; flex-wrap:wrap; gap:12px 24px; }
.client-ui .history-receipt { overflow-wrap:anywhere; max-width:220px; }
.client-ui .history-pages { align-items:center; margin-top:20px; }
.client-ui .history-status { display:inline-block; border-radius:999px; padding:4px 9px; background:#27304a; }
.client-ui .history-status--done { color:#89dfbc; background:#153a33; }
.client-ui .history-status--failed,.client-ui .history-status--attention { color:#ffd0bd; background:#4b302d; }
.client-ui .history-status--processing,.client-ui .history-status--waiting { color:#f5dfaa; background:#433c2a; }

/* Aurora: shared client theme. All selectors stay outside the admin interface. */
body.client-ui { background:radial-gradient(ellipse at 90% 0,#25358c25,transparent 600px),var(--bg); }
.client-ui button,.client-ui summary { cursor:pointer; }
.client-ui a,.client-ui button,.client-ui input,.client-ui select,.client-ui summary { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.client-ui .ui-icon { width:22px; height:22px; flex:none; vertical-align:middle; }
.client-ui .client-brand { gap:12px; font-size:18px; letter-spacing:3px; }
.client-ui .client-brand small { font-size:9px; letter-spacing:1.4px; }
.client-ui .brand-mark { width:34px; height:36px; border:0; border-radius:10px; background:linear-gradient(145deg,#495eea,#8060dc); color:#fff; font-size:22px; letter-spacing:-1px; padding:0; }
.client-ui .topbar { margin-bottom:40px; padding:26px 0; gap:16px; }
.client-ui .nav { gap:2px; }
.client-ui .nav a,.client-ui .nav button { min-height:44px; font-size:13px; padding:10px 12px; }
.client-ui .nav a.active { color:var(--text); background:none; border-color:transparent; border-radius:0; box-shadow:inset 0 -2px #9483ff; }
.client-ui h1 { font-weight:700; letter-spacing:-1.6px; }
.client-ui .eyebrow { color:var(--muted); letter-spacing:1.2px; font-size:11px; }
.client-ui .card { background:linear-gradient(120deg,#151e3438,transparent),var(--surface); border-color:var(--line); border-radius:18px; }
.client-ui .card.hero { background:none; border-radius:0; }
.client-ui .summary-item__label,.client-ui .traffic-item__label { text-transform:none; letter-spacing:0; }
.client-ui .button { border-radius:10px; min-height:48px; font-size:13px; padding:12px 20px; }
.client-ui .button.primary { background:linear-gradient(110deg,#5056dc,#6550df); border-color:#8079f1; color:#fff; box-shadow:0 5px 20px #33299526; }
.client-ui .button.primary:hover { background:#6c5ce2; border-color:#a096ff; color:#fff; }
.client-ui .button.secondary { background:#1c2543a3; border-color:#48567a; }
.client-ui .button.secondary:hover { background:#263257; }
.client-ui .button:active { filter:brightness(.92); }
.client-ui .flash.success { color:var(--ok); }
.client-ui .action-confirm { background:var(--surface); border-color:var(--line-strong); color:var(--text); }
.client-ui .platform-icon { display:flex; align-items:center; justify-content:center; }
.client-ui .platform-icon .ui-icon { width:28px; height:28px; }
.client-ui .overview-heading { position:relative; display:flex; align-items:center; justify-content:space-between; gap:24px; margin:14px 0 26px; }
.client-ui .overview-heading h1 { margin:0 0 8px; font-size:clamp(32px,3.8vw,44px); font-weight:600; }
.client-ui .overview-heading p { margin:0; font-size:15px; }
.client-ui .overview-help { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:12px; min-height:44px; }
.client-ui .overview-help:hover { color:var(--text); }
.client-ui .aurora-subscription {
  position:relative; overflow:hidden; min-height:274px; padding:32px 36px;
  border:1px solid #545eab; border-radius:22px; background-color:#0c132b;
  background-image:radial-gradient(ellipse at 75% 0,#263ddc55,transparent 65%),linear-gradient(110deg,#0e1738,#0b122b);
  background-size:cover; background-position:center 49%;
}
.client-ui .aurora-subscription__content { position:relative; z-index:2; max-width:690px; }
.client-ui .subscription-badges { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:22px; }
.client-ui .subscription-kind { padding:7px 15px; border-radius:8px; background:#373d884d; color:#e0dfff; font-size:12px; }
.client-ui .subscription-status { display:inline-flex; align-items:center; gap:7px; font-size:12px; }
.client-ui .subscription-status::before { content:''; width:6px; height:6px; background:currentColor; border-radius:50%; flex:none; }
.client-ui .subscription-badges .subscription-status { background:#0e1934c9; padding:7px 12px; border:1px solid #344466; border-radius:8px; }
.client-ui .aurora-subscription h2 { font-size:clamp(27px,3vw,38px); font-weight:600; letter-spacing:-1px; text-wrap:balance; }
.client-ui .subscription-expiry { margin:13px 0 3px; color:#c7d0ee; font-size:16px; }
.client-ui .subscription-expiry strong { color:var(--text); font-weight:500; }
.client-ui .subscription-remaining { margin:0; font-size:12px; color:#aeb9dc; }
.client-ui .aurora-actions { display:flex; flex-wrap:wrap; margin-top:28px; gap:12px; }
.client-ui .aurora-actions .button { min-width:160px; }
.client-ui .aurora-actions .primary { min-width:250px; }
.client-ui .overview-secondary { display:grid; grid-template-columns:1.16fr 1fr; gap:18px; margin:20px 0; align-items:stretch; }
.client-ui .overview-secondary > .card { padding:0; min-width:0; border-radius:15px; }
.client-ui .overview-card-head { display:flex; align-items:center; gap:14px; }
.client-ui .overview-card-head h2 { font-size:18px; letter-spacing:-.4px; }
.client-ui .overview-card-head .overview-link { margin-left:auto; }
.client-ui .overview-icon { display:grid; place-items:center; flex:none; width:42px; height:42px; border:1px solid #48548c70; border-radius:13px; color:#bab5ff; background:#252d5866; }
.client-ui .overview-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:12px; }
.client-ui .overview-link .ui-icon { width:17px; height:17px; }
.client-ui .anti-remaining { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:24px 0 16px; padding-top:17px; border-top:1px solid var(--line); }
.client-ui .anti-remaining > span { color:var(--muted); font-size:13px; }
.client-ui .anti-remaining strong { font-size:27px; font-weight:650; letter-spacing:-.7px; font-variant-numeric:tabular-nums; }
.client-ui .balance-value { font-size:34px; line-height:1.4; letter-spacing:-1px; font-weight:650; margin-top:14px; font-variant-numeric:tabular-nums; }
.client-ui .balance-value span { font-size:25px; color:var(--muted); }
.client-ui .balance-overview > p { font-size:12px; margin:3px 0 20px; }
.client-ui .balance-meta { display:flex; justify-content:space-between; gap:16px; padding-top:16px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.client-ui .balance-meta strong { color:var(--text); }
.client-ui .subscription-details { border-top:1px solid var(--line); }
.client-ui .subscription-details summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; color:#bbb8ff; font-size:13px; list-style:none; }
.client-ui .subscription-details summary::-webkit-details-marker { display:none; }
.client-ui .subscription-details summary > span { font-size:21px; font-weight:400; }
.client-ui .subscription-details[open] summary > span { transform:rotate(45deg); }
.client-ui .subscription-details .summary-grid { margin-bottom:16px; }
.client-ui .subscription-details .traffic-grid { margin-top:12px; }
.client-ui .subscription-details .copy-line { padding:12px 0; }
.client-ui .subscription-details .info-box { margin-top:14px; }
.client-ui .device-overview,.client-ui .usage-overview,.client-ui .refill-overview { margin-top:20px; }
.client-ui .device-overview .section-title { margin-bottom:22px; }
.client-ui .device-overview h2,.client-ui .usage-overview h2,.client-ui .refill-overview h2 { font-size:19px; letter-spacing:-.4px; }
.client-ui .device-overview .section-title p { margin:6px 0 0; font-size:13px; }
.client-ui .device-overview .button.ghost { background:none; border-color:transparent; color:var(--brand); padding-right:0; font-size:12px; }
.client-ui .device-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.client-ui .device-link { display:flex; align-items:center; gap:18px; padding:20px; background:linear-gradient(130deg,#1a2541,#121b31); border:1px solid #334265; border-radius:12px; color:var(--text); }
.client-ui .device-link:hover { background:#212e4c; border-color:#8b82e4; color:var(--text); }
.client-ui .device-link > .ui-icon:first-child { width:28px; height:28px; color:#c4c4f2; }
.client-ui .device-link > .ui-icon:last-child { margin-left:auto; width:17px; color:var(--muted); }
.client-ui .device-link strong { display:block; font-size:14px; font-weight:600; }
.client-ui .device-link small { display:block; margin-top:4px; color:var(--muted); font-size:10px; }
.client-ui .usage-overview .traffic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:16px; }
.client-ui .usage-overview .traffic-item { border:0; padding:0; }
.client-ui .updated-at { color:var(--muted); font-size:11px; }
.client-ui .client-footer { margin-top:20px; font-size:11px; }
.client-ui .mobile-nav { display:none; }

/* Sign-in remains deliberately neutral; service details are inside the account. */
.client-ui .client-login { padding-top:40px; }
.client-ui .client-login-grid { gap:80px; max-width:1176px; grid-template-columns:minmax(0,1fr) minmax(380px,450px); }
.client-ui .login-intro { gap:60px; isolation:isolate; }
.client-ui .login-story { position:relative; width:100%; }
.client-ui .login-story h1 { font-size:clamp(42px,4.8vw,66px); font-weight:650; line-height:1.08; letter-spacing:-2.8px; }
.client-ui .login-story h1 em { color:#b6a6ff; }
.client-ui .login-story > p { max-width:370px; font-size:15px; }
.client-ui .login-features { grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }
.client-ui .login-features li { gap:12px; }
.client-ui .login-features strong { font-size:13px; }
.client-ui .login-features p { font-size:12px; }
.client-ui .login-help { margin-top:-22px; }
.client-ui .client-auth { margin-top:86px; padding:32px; background:linear-gradient(140deg,#18223b90,#10162a),var(--surface); border-color:#34415f; box-shadow:0 25px 80px #02061755; border-radius:22px; }
.client-ui .client-auth .auth-modal-head h2 { font-size:26px; letter-spacing:-.8px; }
.client-ui .client-auth .auth-tabs { border-color:#354364; border-radius:11px; padding:5px; }
.client-ui .client-auth .auth-tabs button { border-radius:7px; font-size:11px; }
.client-ui .client-auth .auth-tabs button.active { background:#3e397f; color:#fff; box-shadow:inset 0 0 0 1px #7769cd; }
.client-ui .client-auth .auth-tabs button.active:hover { background:#524597; }
.client-ui .client-auth .auth-card h2 { text-align:left; font-size:17px; }
.client-ui .client-auth .auth-pane-copy { font-size:13px; }
.client-ui .client-auth .auth-support-strip { gap:12px; }
.client-ui .client-auth .support-link { min-height:44px; }
.client-ui .client-auth .auth-card > a:not(.button) { display:inline-block; margin-top:16px; font-size:12px; }
.client-ui input:not([type=checkbox]):not([type=radio]),.client-ui select,.client-ui textarea { font-size:16px; }
.client-public .step-num,.client-public .step-number { background:var(--brand-strong); color:#fff; }
.client-public .tab-btn.active { background:var(--brand-strong); border-color:#8a80e9; color:#fff; }

@media (max-width:1100px) {
  .client-ui .client-login-grid { gap:40px; }
  .client-ui .device-link { padding:16px; gap:12px; }
  .client-ui .device-link small { display:none; }
}
@media (max-width:800px) {
  .client-ui .topbar { padding:20px 0; margin-bottom:28px; flex-wrap:nowrap; gap:12px; }
  .client-ui .client-brand { font-size:15px; letter-spacing:2px; }
  .client-ui .client-brand small { display:none; }
  .client-ui .nav { display:flex; flex-wrap:wrap; width:auto; justify-content:flex-end; gap:4px; padding:0; }
  .client-ui .nav a,.client-ui .nav button { width:auto; font-size:11px; padding:8px; }
  .client-ui .nav .nav-primary { display:none; }
  .client-ui.client-has-nav { padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
  .client-ui.client-has-nav :is(a,button,input,select,textarea,summary) { scroll-margin-block:24px 110px; }
  .client-ui .mobile-nav { position:fixed; z-index:50; bottom:0; left:0; right:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px)); background:#0e1529f5; border-top:1px solid #34415f; }
  .client-ui .mobile-nav a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:52px; color:#a7b1cf; font-size:10px; border-radius:8px; }
  .client-ui .mobile-nav a[aria-current=page] { color:#c0afff; background:#34305c59; }
  .client-ui .overview-heading { margin-bottom:24px; }
  .client-ui .overview-help { display:none; }
  .client-ui .overview-heading h1 { font-size:34px; }
  .client-ui .overview-heading .eyebrow { letter-spacing:.6px; font-size:10px; }
  .client-ui .aurora-subscription { padding:26px; min-height:285px; }
  .client-ui .aurora-subscription h2 { max-width:380px; }
  .client-ui .overview-secondary { grid-template-columns:1fr; gap:16px; margin:16px 0; }
  .client-ui .overview-secondary > .card { padding:0; }
  .client-ui .device-overview .section-title,.client-ui .usage-overview .section-title { align-items:flex-start; flex-direction:column; gap:8px; }
  .client-ui .device-overview .button.ghost { padding:8px 0; }
  .client-ui .device-links { gap:10px; }
  .client-ui .device-link { flex-direction:column; gap:10px; text-align:center; padding:18px 8px; }
  .client-ui .device-link > .ui-icon:last-child { display:none; }
  .client-ui .device-link strong { font-size:12px; }
  .client-ui .refill-overview .section-title { flex-wrap:wrap; gap:6px; }
  .client-ui .client-toast { bottom:calc(90px + env(safe-area-inset-bottom,0px)); width:max-content; font-size:13px; }
  .client-ui .client-login { padding:24px 20px 30px; }
  .client-ui .client-login-grid { display:flex; gap:24px; }
  .client-ui .login-intro { gap:34px; position:relative; }
  .client-ui .login-story h1 { font-size:42px; letter-spacing:-1.8px; max-width:380px; }
  .client-ui .login-story > p { font-size:14px; max-width:280px; }
  .client-ui .client-auth { margin:0; padding:26px; }
  .client-ui .client-footer { margin-top:12px; }
}
@media (max-width:440px) {
  .client-ui .shell { padding-left:16px; padding-right:16px; }
  .client-ui .brand-mark { width:29px; height:31px; font-size:19px; }
  .client-ui .nav a,.client-ui .nav button { font-size:10px; padding:6px; }
  .client-ui .aurora-subscription { padding:24px 20px; border-radius:16px; background-image:linear-gradient(90deg,#0c1433ee,#18285c80); }
  .client-ui .aurora-subscription h2 { font-size:28px; }
  .client-ui .aurora-actions .button { width:100%; min-width:0; }
  .client-ui .subscription-expiry { font-size:14px; }
  .client-ui .overview-card-head { gap:10px; flex-wrap:wrap; }
  .client-ui .overview-card-head h2 { font-size:16px; }
  .client-ui .overview-card-head .overview-link { font-size:11px; }
  .client-ui .overview-icon { width:34px; height:34px; border-radius:10px; }
  .client-ui .anti-remaining strong { font-size:24px; }
  .client-ui .usage-overview .traffic-grid { grid-template-columns:1fr; gap:16px; }
  .client-ui .usage-overview .traffic-item { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
  .client-ui .device-overview,.client-ui .usage-overview,.client-ui .refill-overview { padding:20px; }
  .client-ui .client-auth { padding:24px 18px; }
  .client-ui .client-auth .auth-modal-head h2 { font-size:24px; }
  .client-ui .client-auth .auth-tabs button { font-size:10px; }
  .client-ui .client-auth .auth-support-strip { justify-content:flex-start; }
  .client-ui .client-auth .support-link { margin-left:0; }
}

/* Approved Aurora composition: open header, floating wave, compact utility cards. */
.client-ui .aurora-topbar { border:0; padding:26px 0; margin-bottom:24px; display:flex; flex-wrap:nowrap; }
.client-ui .aurora-topbar .client-brand { font-size:20px; font-weight:500; letter-spacing:5px; color:#bdc9ef; }
.client-ui .aurora-topbar > .nav { margin-left:48px; margin-right:auto; gap:14px; }
.client-ui .nav-account { display:flex; align-items:center; gap:18px; }
.client-ui .nav-balance { display:flex; gap:10px; align-items:center; min-height:44px; padding:9px 14px; border:1px solid #354474; border-radius:12px; font-size:12px; }
.client-ui .nav-balance strong { font-size:14px; color:var(--text); font-weight:500; }
.client-ui .account-menu { position:relative; z-index:60; }
.client-ui .account-menu > summary { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:#17234099; color:#bac8eb; list-style:none; }
.client-ui .account-menu > summary::-webkit-details-marker { display:none; }
.client-ui .account-menu__panel { position:absolute; right:0; top:52px; min-width:224px; padding:8px; border:1px solid var(--line-strong); border-radius:14px; background:#141d34; box-shadow:0 16px 40px #0006; }
.client-ui .account-menu__panel a,.client-ui .account-menu__panel button { display:flex; align-items:center; min-height:44px; padding:10px 14px; width:100%; border:0; border-radius:7px; font:13px/1.5 Manrope,sans-serif; background:none; color:var(--text); text-align:left; }
.client-ui .account-menu__panel a:hover,.client-ui .account-menu__panel button:hover { background:#252d4d; }
.client-ui .aurora-stage { position:relative; isolation:isolate; }
.client-ui .aurora-wave { position:absolute; z-index:1; pointer-events:none; width:760px; height:500px; right:-24px; top:-155px; background:url('aurora-wave.webp?v=3') center/contain no-repeat; mask-image:linear-gradient(90deg,transparent,#000 28%,#000 90%,transparent); }
.client-ui .aurora-actions { margin-top:25px; }
.client-ui .aurora-actions .primary { min-width:285px; background:#565cf1; border-color:#7275ff; }
.client-ui .aurora-actions .primary:hover { background:#666bff; }
.client-ui .aurora-actions .secondary { min-width:170px; }
.client-ui .aurora-subscription .subscription-expiry { margin-top:14px; }
.client-ui .aurora-subscription .subscription-badges .subscription-kind { border-radius:999px; background:#2734759c; }
.client-ui .aurora-subscription .subscription-badges .subscription-status { border-radius:999px; }
.client-ui .anti-summary { display:flex; align-items:center; gap:18px; padding:24px 22px; min-height:116px; list-style:none; }
.client-ui .anti-summary::-webkit-details-marker { display:none; }
.client-ui .compact-card-copy { min-width:0; }
.client-ui .compact-card-title,.client-ui .compact-card-copy h2 { display:block; font-size:18px; font-weight:600; line-height:1.3; letter-spacing:-.4px; margin:0; }
.client-ui .compact-card-description,.client-ui .compact-card-copy p { display:block; margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.client-ui .overview-icon { width:52px; height:52px; border-radius:50%; background:linear-gradient(140deg,#2535688c,#1c204f6b); border:0; }
.client-ui .anti-meter { min-width:120px; max-width:170px; flex:1; margin-left:auto; color:#c2ccef; font-size:12px; }
.client-ui .anti-meter strong { font-size:19px; font-weight:500; color:var(--text); }
.client-ui .anti-meter progress { display:block; width:100%; height:8px; margin-top:10px; border:0; border-radius:9px; appearance:none; background:#222d49; overflow:hidden; }
.client-ui .anti-meter progress::-webkit-progress-bar { background:#222d49; border-radius:9px; }
.client-ui .anti-meter progress::-webkit-progress-value { background:linear-gradient(90deg,#7651f3,#6547ed); border-radius:9px; }
.client-ui .anti-meter progress::-moz-progress-bar { background:linear-gradient(90deg,#7651f3,#6547ed); border-radius:9px; }
.client-ui .disclosure-chevron { width:15px; height:18px; color:var(--muted); }
.client-ui .anti-disclosure[open] .disclosure-chevron { transform:rotate(90deg); }
.client-ui .anti-details-content { padding:0 24px 24px; border-top:1px solid var(--line); }
.client-ui .anti-details-head { display:flex; align-items:center; justify-content:space-between; padding-top:8px; }
.client-ui .anti-details-content .traffic-grid { margin-top:16px; }
.client-ui .overview-secondary .balance-overview { display:flex; align-items:center; gap:18px; padding:24px 22px; min-height:116px; }
.client-ui .compact-balance { margin-left:auto; white-space:nowrap; }
.client-ui .compact-balance .balance-value { font-size:28px; font-weight:600; line-height:1.4; margin:0 0 7px; }
.client-ui .compact-balance .balance-value span { color:var(--text); font-size:23px; }
.client-ui .compact-balance > a { font-size:13px; min-height:24px; display:inline-block; }
.client-ui .card-chevron { display:flex; align-items:center; justify-content:center; min-width:24px; min-height:44px; color:var(--muted); }
.client-ui .card-chevron .ui-icon { width:16px; height:18px; }
.client-ui .device-overview { padding:24px 28px; border-radius:15px; }
.client-ui .device-overview .section-title { margin-bottom:18px; }
.client-ui .device-overview h2 { font-size:18px; font-weight:500; }
.client-ui .device-link { min-height:70px; padding:18px 24px; }
.client-ui .device-link strong { font-weight:500; font-size:14px; }
.client-ui .device-brand { display:block; width:28px; height:28px; flex:none; background:#e4e5ff; }
.client-ui .device-brand--ios { mask:url('icons/apple.svg') center/contain no-repeat; }
.client-ui .device-brand--android { mask:url('icons/android.svg') center/contain no-repeat; }
.client-ui .dashboard-more { margin:14px 0 0; }
.client-ui .dashboard-more > summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; color:#aab4d3; font-size:12px; cursor:pointer; list-style:none; padding:0 4px; }
.client-ui .dashboard-more > summary::-webkit-details-marker { display:none; }
.client-ui .dashboard-more > summary > span { font-size:20px; }
.client-ui .dashboard-more[open] > summary > span { transform:rotate(45deg); }
.client-ui .referral-note { font-size:13px; margin:12px 0; }
.client-ui:has(.aurora-dashboard) .client-footer { border:0; margin-top:0; padding-top:10px; }
.client-ui .client-login { display:flex; align-items:center; min-height:100svh; padding:110px 32px 64px; background:radial-gradient(ellipse at 12% 45%,#27307922,transparent 56%); }
.client-ui .client-login-grid { width:100%; max-width:1080px; gap:100px; align-items:center; }
.client-ui .client-login .client-brand { position:absolute; top:44px; left:max(32px,calc((100% - 1080px)/2)); font-size:19px; letter-spacing:5px; font-weight:500; color:#c5cced; }
.client-ui .login-intro { gap:0; padding:0; }
.client-ui .login-story h1 { font-size:clamp(44px,5vw,66px); font-weight:500; letter-spacing:-2.6px; margin:22px 0 26px; line-height:1.15; }
.client-ui .login-story h1 em { color:#b2a3f0; }
.client-ui .login-story > p { font-size:16px; line-height:1.9; color:#a7b0ca; }
.client-ui .client-auth { margin:0; }
.client-ui .client-auth .auth-card .section-title { display:block; text-align:left; }
.client-ui .client-auth .auth-card .section-title h2 { text-align:left; width:auto; }
@media (max-width:1100px) and (min-width:801px) {
  .client-ui .aurora-topbar > .nav { margin-left:20px; gap:0; }
  .client-ui .nav-account { gap:10px; }
  .client-ui .nav-balance { gap:7px; padding:8px 10px; }
  .client-ui .overview-secondary { grid-template-columns:1fr 1fr; }
  .client-ui .anti-summary { flex-wrap:wrap; gap:12px; }
  .client-ui .anti-summary .compact-card-description { display:none; }
  .client-ui .anti-meter { max-width:none; min-width:100px; }
  .client-ui .overview-secondary .balance-overview { gap:12px; }
  .client-ui .compact-card-copy p { font-size:11px; }
  .client-ui .client-login-grid { gap:50px; }
}
@media (max-width:800px) {
  .client-ui .aurora-topbar { padding:24px 0 16px; margin-bottom:18px; }
  .client-ui .aurora-topbar > .nav { display:none; }
  .client-ui .nav-account { margin-left:auto; }
  .client-ui .nav-balance { display:none; }
  .client-ui .aurora-topbar .client-brand { font-size:18px; letter-spacing:4px; }
  .client-ui .overview-heading h1 { font-size:32px; }
  .client-ui .overview-heading p { font-size:14px; max-width:290px; }
  .client-ui .aurora-wave { top:-14px; right:0; width:75%; height:260px; opacity:.7; mask-image:linear-gradient(90deg,transparent,#000 50%); }
  .client-ui .aurora-subscription__content { text-shadow:0 1px 8px #0c1433; }
  .client-ui .aurora-subscription h2 { font-size:30px; max-width:330px; }
  .client-ui .aurora-actions .primary { min-width:0; }
  .client-ui .overview-secondary { margin:16px 0; }
  .client-ui .anti-summary { display:grid; grid-template-columns:42px 1fr 18px; gap:8px 14px; padding:20px; min-height:110px; }
  .client-ui .anti-summary .overview-icon { width:42px; height:42px; grid-row:1/3; }
  .client-ui .anti-summary .compact-card-copy { grid-column:2; }
  .client-ui .anti-summary .compact-card-description { display:none; }
  .client-ui .anti-meter { grid-column:2; margin:0; max-width:none; width:100%; }
  .client-ui .anti-meter strong { font-size:15px; }
  .client-ui .anti-meter progress { max-width:160px; margin-top:7px; }
  .client-ui .anti-summary .disclosure-chevron { grid-column:3; grid-row:1/3; }
  .client-ui .overview-secondary .balance-overview { padding:20px; min-height:110px; gap:14px; }
  .client-ui .balance-overview .overview-icon { width:42px; height:42px; }
  .client-ui .compact-card-copy h2,.client-ui .compact-card-title { font-size:17px; }
  .client-ui .compact-card-copy p { display:none; }
  .client-ui .compact-balance .balance-value { font-size:26px; margin-bottom:4px; }
  .client-ui .device-overview .section-title { flex-direction:row; flex-wrap:wrap; }
  .client-ui .device-link { padding:16px 8px; min-height:92px; }
  .client-ui .device-link strong { font-size:12px; }
  .client-ui .mobile-nav a { font-size:11px; }
  .client-ui .client-login { display:block; min-height:100svh; padding:28px 20px 40px; }
  .client-ui .client-login-grid { gap:30px; max-width:490px; }
  .client-ui .client-login .client-brand { position:static; font-size:17px; letter-spacing:4px; }
  .client-ui .login-intro { width:100%; gap:26px; }
  .client-ui .login-story h1 { margin:0 0 12px; font-size:40px; letter-spacing:-1.5px; }
  .client-ui .login-story > p { margin:0; font-size:14px; }
}
@media (max-width:440px) {
  .client-ui .aurora-subscription h2 { font-size:28px; max-width:270px; }
  .client-ui .aurora-actions .button { width:100%; min-width:0; }
  .client-ui .card-chevron { display:none; }
  .client-ui .device-overview { padding:20px; }
  .client-ui .client-auth .auth-modal-head h2 { font-size:23px; }
}

/* Focused dashboard actions and shared payment dialogs. */
.client-ui .overview-secondary > .card { min-height:124px; }
.client-ui .anti-summary { min-height:122px; }
.client-ui .overview-secondary:has(.anti-disclosure[open]) { align-items:start; }
.client-ui .balance-overview .overview-icon .ui-icon { width:28px; height:28px; filter:drop-shadow(0 2px 7px #7574ee55); }
.client-ui .payment-dialog { width:min(540px,calc(100% - 32px)); max-height:calc(100svh - 40px); margin:auto; padding:30px; border:1px solid #4b5388; border-radius:24px; color:var(--text); background:linear-gradient(140deg,#1a2340,#11172b 65%); box-shadow:0 30px 100px #0008; overflow:auto; overscroll-behavior:contain; }
.client-ui .payment-dialog::backdrop { background:#030716c9; backdrop-filter:blur(8px); }
.client-ui.payment-dialog-open { overflow:hidden; }
.client-ui .payment-dialog__header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.client-ui .payment-dialog h2 { font-size:26px; margin:12px 0 0; letter-spacing:-.6px; }
.client-ui .payment-dialog__close { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; font-size:26px; line-height:1; color:var(--muted); background:#202943; }
.client-ui .payment-dialog > .muted { margin:18px 0 26px; font-size:14px; }
.client-ui .payment-dialog .button-row { flex-direction:column; }
.client-ui .payment-dialog .button { width:100%; min-height:48px; flex:0 0 auto; }
.client-ui .payment-dialog__note { margin:22px 0 0; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; line-height:1.8; }
.client-ui .payment-dialog .mini-panel__form { margin-top:0; }
.client-ui .statistics-section { margin:24px 0; }
@media (max-width:1100px) and (min-width:801px) {
  .client-ui .aurora-wave { width:620px; height:460px; top:-130px; }
}
@media (max-width:800px) {
  .client-ui .aurora-wave { width:85%; height:280px; top:-22px; opacity:1; }
  .client-ui .mobile-nav button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:52px; padding:0; border:0; color:#a7b1cf; font:11px Manrope,sans-serif; border-radius:8px; background:transparent; }
  .client-ui .mobile-nav button[aria-expanded=true] { color:#c0afff; background:#34305c59; }
  .client-ui .account-menu__panel { position:fixed; top:auto; right:16px; bottom:calc(86px + env(safe-area-inset-bottom,0px)); width:min(300px,calc(100vw - 32px)); }
  .client-ui .payment-dialog { padding:24px; border-radius:20px; }
  .client-ui .payment-dialog h2 { font-size:23px; }
}

/* Settings: grouped rows with a quiet section index. */
.client-ui .settings-heading { margin-bottom:42px; }
.client-ui .settings-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:48px; align-items:start; margin-bottom:48px; }
.client-ui .settings-sidebar { position:sticky; top:28px; min-width:0; }
.client-ui .settings-identity { display:flex; align-items:center; gap:12px; padding:0 8px 24px; }
.client-ui .settings-avatar { display:grid; place-items:center; flex:none; width:44px; height:44px; border:1px solid #665bbb60; border-radius:15px; background:linear-gradient(140deg,#32376c,#22233e); color:#c8bdff; font-size:19px; }
.client-ui .settings-identity > div { min-width:0; }
.client-ui .settings-identity strong { display:block; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.client-ui .settings-identity div > span { display:block; color:var(--muted); font-size:12px; margin-top:5px; }
.client-ui .settings-index { display:grid; gap:6px; padding-top:16px; border-top:1px solid var(--line); }
.client-ui .settings-index a { display:flex; align-items:center; gap:12px; min-height:48px; padding:12px 14px; border-radius:12px; color:#b5beda; font-size:14px; }
.client-ui .settings-index a:hover,.client-ui .settings-index a:focus-visible { color:#e6e4ff; background:#292c514d; }
.client-ui .settings-index .ui-icon { width:19px; height:19px; color:#9d98d3; }
.client-ui .settings-sections { display:grid; gap:32px; min-width:0; }
.client-ui .settings-section { scroll-margin-top:28px; min-width:0; }
.client-ui .settings-section-heading { display:flex; align-items:baseline; gap:18px; margin:0 0 14px; }
.client-ui .settings-section-heading h2 { margin:0; font-size:19px; font-weight:600; letter-spacing:-.4px; }
.client-ui .settings-section-heading p { margin:0; color:#8994b2; font-size:12px; }
.client-ui .settings-surface { border:1px solid #2f3956; border-radius:20px; background:linear-gradient(120deg,#131c30,#11172a); overflow:hidden; }
.client-ui .settings-item + .settings-item { border-top:1px solid #2e37505c; }
.client-ui .settings-row { display:flex; align-items:center; gap:18px; padding:22px 26px; min-height:98px; }
.client-ui .settings-row-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#252d4959; color:#a4a5d5; flex:none; }
.client-ui .settings-row-icon .ui-icon { width:20px; height:20px; }
.client-ui .settings-copy { flex:1; min-width:0; }
.client-ui .settings-copy h3 { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0; color:#eceefa; font-size:14px; font-weight:600; }
.client-ui .settings-copy p { margin:6px 0 0; color:#98a4c0; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.client-ui .settings-copy .settings-value { color:#b8c2de; font-size:13px; }
.client-ui .settings-edit { flex:none; border:1px solid #3b4565; background:#20294355; border-radius:10px; padding:10px 16px; min-height:44px; font-size:12px; font-weight:500; color:#c7cbea; }
.client-ui .settings-edit:hover { color:#fff; border-color:#6564a9; background:#373d624f; }
.client-ui .settings-edit--danger { color:#c2aec2; border-color:transparent; background:none; }
.client-ui .settings-edit--danger:hover { color:#f1b0c3; border-color:#b65c7544; background:#893c5419; }
.client-ui .settings-inline-form { margin:0; }
.client-ui .settings-status { display:inline-flex; align-items:center; gap:6px; color:#9aa6c3; font-size:11px; font-weight:500; line-height:1.5; }
.client-ui .settings-status::before { content:''; width:5px; height:5px; flex:none; border-radius:50%; background:currentColor; }
.client-ui .settings-status.is-on { color:#92c5b5; }
.client-ui .settings-status.is-pending { color:#d8bd87; }
.client-ui .settings-copy > .settings-status { margin-top:7px; }
.client-ui .settings-copy .settings-pending-email { color:#d8bd87; }
.client-ui .settings-drawer { margin:0 26px 24px 82px; padding-top:4px; }
.client-ui .settings-drawer .stack { display:flex; align-items:flex-end; gap:12px; }
.client-ui .settings-drawer .stack > div { flex:1; min-width:0; }
.client-ui .settings-drawer input { min-width:0; }
.client-ui .settings-drawer .button { flex:none; min-height:46px; font-size:12px; }
.client-ui .settings-switch-form { display:flex; flex-direction:column; align-items:center; gap:4px; min-width:64px; margin:0; }
.client-ui .settings-switch { display:flex; align-items:center; width:56px; height:44px; padding:0; border:0; background:transparent; position:relative; border-radius:12px; }
.client-ui .settings-switch::before { content:''; position:absolute; inset:8px 1px; background:#303b54; border:1px solid #4c5671; border-radius:999px; }
.client-ui .settings-switch span { position:relative; display:block; width:20px; height:20px; border-radius:50%; background:#b8c0d6; margin-left:5px; box-shadow:0 1px 4px #0003; }
.client-ui .settings-switch[aria-checked=true]::before { background:#655bf0; border-color:#8275f8; }
.client-ui .settings-switch[aria-checked=true] span { margin-left:31px; background:#f3efff; }
.client-ui .settings-switch-label { color:#96a1bc; font-size:10px; }
.client-ui .settings-renewal { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin:0 26px 24px 82px; padding-top:18px; border-top:1px solid #343c555c; }
.client-ui .settings-provider { display:flex; gap:12px; align-items:center; }
.client-ui .settings-provider-icon { color:#aaa6ec; }
.client-ui .settings-provider div > span { display:block; color:#8895b5; font-size:11px; }
.client-ui .settings-provider strong { display:block; margin-top:4px; font-size:13px; font-weight:500; }
.client-ui .settings-provider p { margin:4px 0 0; font-size:11px; color:#929fbb; }
.client-ui .settings-provider p.status-bad { color:#e6a5b5; }
.client-ui .settings-renewal-actions { display:flex; flex-wrap:wrap; gap:10px; }
.client-ui .settings-renewal-actions .button,.client-ui .settings-proxy-actions .button { min-height:44px; font-size:12px; padding:11px 16px; }
.client-ui .settings-proxy-content { margin:0 26px 24px 82px; }
.client-ui .settings-proxy-actions,.client-ui .settings-proxy-link { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.client-ui .settings-proxy-link .button { font-size:12px; }
.client-ui .settings-advanced { margin-top:16px; border-top:1px solid #343c555c; padding-top:8px; }
.client-ui .settings-advanced summary { display:flex; align-items:center; gap:12px; min-height:44px; list-style:none; cursor:pointer; font-size:12px; color:#a4a9ce; }
.client-ui .settings-advanced summary::-webkit-details-marker { display:none; }
.client-ui .settings-advanced summary .ui-icon { width:12px; height:12px; }
.client-ui .settings-advanced[open] summary .ui-icon { transform:rotate(90deg); }
.client-ui .settings-advanced > p { margin:4px 0 16px; max-width:460px; font-size:12px; color:#a0abc2; line-height:1.7; }
@media (max-width:1100px) {
  .client-ui .settings-layout { grid-template-columns:165px minmax(0,1fr); gap:24px; }
  .client-ui .settings-row { padding:20px; gap:14px; }
  .client-ui .settings-drawer,.client-ui .settings-renewal,.client-ui .settings-proxy-content { margin-left:72px; margin-right:20px; }
}
@media (max-width:800px) {
  .client-ui .settings-heading { margin-bottom:28px; }
  .client-ui .settings-layout { grid-template-columns:1fr; gap:24px; }
  .client-ui .settings-sidebar { position:static; }
  .client-ui .settings-identity { display:none; }
  .client-ui .settings-index { display:flex; gap:4px; border:0; padding:4px; border-radius:14px; background:#17213966; }
  .client-ui .settings-index a { flex:1; justify-content:center; gap:8px; padding:10px 8px; font-size:12px; }
  .client-ui .settings-index .ui-icon { width:16px; height:16px; }
  .client-ui .settings-section-heading { flex-wrap:wrap; gap:6px 14px; }
  .client-ui .settings-row { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:12px; padding:20px 16px; }
  .client-ui .settings-row-icon { width:30px; height:34px; background:none; }
  .client-ui .settings-edit { padding:9px 11px; font-size:11px; }
  .client-ui .settings-row:has(.settings-edit--danger) { align-items:start; }
  .client-ui .settings-row:has(.settings-edit--danger) > form { grid-column:2 / -1; }
  .client-ui .settings-row > .settings-status { grid-column:2 / -1; }
  .client-ui .settings-copy h3 { gap:7px; font-size:13px; }
  .client-ui .settings-copy p { font-size:12px; }
  .client-ui .settings-copy .settings-value { font-size:12px; }
  .client-ui .settings-drawer,.client-ui .settings-renewal,.client-ui .settings-proxy-content { margin-left:58px; margin-right:16px; }
  .client-ui .settings-drawer .stack { display:grid; }
  .client-ui .settings-renewal { gap:16px; }
  .client-ui .settings-renewal-actions { flex-direction:column; align-items:stretch; width:100%; }
  .client-ui .settings-renewal-actions .button { width:100%; }
}
@media (max-width:380px) {
  .client-ui .settings-row { grid-template-columns:minmax(0,1fr) auto; gap:12px; }
  .client-ui .settings-row-icon { display:none; }
  .client-ui .settings-row:has(.settings-edit--danger) > form,.client-ui .settings-row > .settings-status { grid-column:1 / -1; }
  .client-ui .settings-drawer,.client-ui .settings-renewal,.client-ui .settings-proxy-content { margin-left:16px; }
}

.client-ui .settings-row .settings-edit--danger { border-color:transparent; background:transparent; color:#c2aec2; }
.client-ui .settings-row .settings-edit--danger:hover { border-color:#b65c7544; background:#893c5419; color:#f1b0c3; }
.client-ui .settings-proxy-address { margin:0 0 16px; font-size:12px; color:var(--muted); overflow-wrap:anywhere; }

.client-ui .settings-autopay-controls { display:flex; align-items:center; gap:8px; flex:none; }
.client-ui .settings-source-gear { display:grid; place-items:center; width:44px; height:44px; padding:0; margin-bottom:19px; border:0; border-radius:12px; background:transparent; color:#aba7d3; }
.client-ui .settings-source-gear:hover { color:#e5ddff; background:#37335d55; }
.client-ui .settings-source-gear .ui-icon { width:21px; height:21px; }
.client-ui .settings-copy .settings-autopay-source { margin-top:8px; color:#a5adca; }
.client-ui .settings-autopay-source strong { color:#c7beff; font-weight:500; }
.client-ui .settings-autopay-source .status-bad { color:#e6a5b5; }
.client-ui .autopay-options { display:grid; gap:12px; margin:0; padding:0; border:0; }
.client-ui .autopay-options legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.client-ui .autopay-option { display:flex; align-items:center; gap:14px; margin:0; padding:18px; border:1px solid #394361; border-radius:14px; cursor:pointer; }
.client-ui .autopay-option:has(input:checked) { background:#4a40862e; border-color:#8374db; }
.client-ui .autopay-option:has(input:disabled) { opacity:.6; cursor:default; }
.client-ui .autopay-option input { appearance:auto; width:17px; height:17px; min-height:0; margin:0; padding:0; flex:none; accent-color:#8c78f8; }
.client-ui .autopay-option-icon { display:flex; color:#b8b0eb; }
.client-ui .autopay-option strong { display:block; font-size:14px; font-weight:500; }
.client-ui .autopay-option small { display:block; margin-top:6px; font-size:12px; color:var(--muted); line-height:1.6; }
.client-ui .autopay-dialog .button-row { margin-top:24px; }
@media (max-width:800px) {
  .client-ui .settings-autopay-row { grid-template-columns:minmax(0,1fr) auto; }
  .client-ui .settings-autopay-row > .settings-row-icon { display:none; }
  .client-ui .settings-autopay-controls { gap:0; }
  .client-ui .autopay-option { gap:10px; padding:14px; }
  .client-ui .autopay-option-icon { display:none; }
}
