/* Generated by scripts/build_public_css_bundles.py. */

/* Source: imnexa/design-refresh.css */
/* IMNEXA product design layer. Presentation only; forms, routes and permissions stay in their templates. */
:root {
  --imnexa-canvas: #f3f5f7;
  --imnexa-surface: #ffffff;
  --imnexa-soft: #f7f8fa;
  --imnexa-ink: #19222e;
  --imnexa-muted: #657184;
  --imnexa-line: #dfe4eb;
  --imnexa-brand: #b42332;
  --imnexa-brand-hover: #941c29;
  --imnexa-brand-soft: #fff0f2;
  --imnexa-good: #176b4d;
  --imnexa-good-soft: #edf7f1;
  --imnexa-shadow: 0 8px 28px rgb(20 31 45 / 5%);
  --imnexa-shadow-raised: 0 18px 50px rgb(20 31 45 / 9%);
}

.web-site {
  --bg: var(--imnexa-canvas);
  --panel: var(--imnexa-surface);
  --surface: var(--imnexa-surface);
  --soft: var(--imnexa-soft);
  --text: var(--imnexa-ink);
  --ink: var(--imnexa-ink);
  --muted: var(--imnexa-muted);
  --line: var(--imnexa-line);
  --primary: var(--imnexa-brand);
  --primary2: var(--imnexa-brand-hover);
  --red: var(--imnexa-brand);
  --red-dark: var(--imnexa-brand-hover);
  --danger: #a62036;
  --success: var(--imnexa-good);
  --tint: var(--imnexa-brand-soft);
  --good-bg: var(--imnexa-good-soft);
  --radius: 16px;
  min-height: 100vh;
  background: var(--imnexa-canvas);
  color: var(--imnexa-ink);
  font-family: Vazirmatn, "Segoe UI", Tahoma, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.web-site :where(h1, h2, h3) {
  color: var(--imnexa-ink);
  letter-spacing: -.018em;
  text-wrap: balance;
}

.web-site :where(p, li) { text-wrap: pretty; }
.web-site :where(a, button, input, select, textarea) { -webkit-tap-highlight-color: transparent; }
.web-site :where(a, button) { transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease; }
.web-site :where(button, a.button, .small-cta) { min-height: 44px; }
.web-site :where(input, select, textarea):focus-visible { outline: 3px solid #347bb5; outline-offset: 2px; }

.web-site > .topbar {
  position: static;
  z-index: auto;
  inset-block-start: auto;
  width: min(1280px, calc(100% - 36px));
  min-height: 72px;
  margin: 12px auto 0;
  padding: 10px 18px;
  border: 1px solid rgb(207 215 225 / 88%);
  border-radius: 17px;
  background: rgb(255 255 255 / 94%);
  box-shadow: 0 6px 22px rgb(22 32 45 / 6%);
  backdrop-filter: blur(10px);
}

.web-site > .topbar nav {
  justify-content: center;
  gap: clamp(12px, 1.65vw, 24px);
  color: var(--imnexa-muted);
  font-size: 13px;
}

.web-site > .topbar nav a {
  min-height: 42px;
  padding: 7px 2px;
  font-weight: 600;
}

.web-site > .topbar nav a:hover { color: var(--imnexa-brand); }
.web-site > .topbar .brand img { width: 144px; height: auto; }
.web-site > .topbar .small-cta { background: var(--imnexa-brand); border: 1px solid var(--imnexa-brand); border-radius: 10px; }
.web-site > .topbar .small-cta:hover { background: var(--imnexa-brand-hover); }
.web-site > .topbar .site-account-menu summary { border: 1px solid var(--imnexa-line); border-radius: 10px; }
.web-site .site-account-dropdown { border-radius: 14px; box-shadow: var(--imnexa-shadow-raised); }

.web-site .section { padding-block: clamp(48px, 6vw, 76px); }
.web-site .section-head { margin-bottom: 28px; }
.web-site .section-head h1,
.web-site .auth-layout h1 { max-width: 24ch; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.55; }
.web-site .section-head p { max-width: 68ch; color: var(--imnexa-muted); line-height: 2; }
.web-site .eyebrow { font-size: 12px; font-weight: 750; }
.web-site :where(.card, .info-panel, .plan-policy, .account-payment-follow-up) { border-radius: 16px; }
.web-site .card {
  border-color: var(--imnexa-line);
  background: var(--imnexa-surface);
  box-shadow: var(--imnexa-shadow);
}
.web-site .card h2,
.web-site .card h3 { line-height: 1.75; }
.web-site .card p { line-height: 2; }
.web-site .card-icon { color: var(--imnexa-brand); background: var(--imnexa-brand-soft); }
.web-site .button { border-radius: 11px; font-weight: 700; }
.web-site .button.primary { color: #fff; background: var(--imnexa-brand); border-color: var(--imnexa-brand); }
.web-site .button.primary:hover { background: var(--imnexa-brand-hover); border-color: var(--imnexa-brand-hover); }
.web-site .button.outline { color: var(--imnexa-ink); background: var(--imnexa-surface); border-color: #cbd3de; }
.web-site .button.outline:hover { color: var(--imnexa-brand); background: var(--imnexa-brand-soft); border-color: #d9959d; }

.web-site :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) {
  min-height: 48px;
  color: var(--imnexa-ink);
  background: #fff;
  border: 1px solid #cfd6df;
  border-radius: 10px;
}
.web-site textarea { min-height: 132px; }
.web-site :where(input, select, textarea):hover { border-color: #aeb9c7; }
.web-site :where(input, select, textarea):focus { border-color: #5483ad; box-shadow: 0 0 0 3px rgb(52 123 181 / 13%); }
.web-site :where(input, textarea)::placeholder { color: #707d8e; opacity: 1; }
.web-site :where(label) { font-weight: 650; }
.web-site .errorlist,
.web-site .field-error { color: #a62036; }

.web-site .landing-hero {
  width: min(1320px, calc(100% - 36px));
  margin-block-start: 18px;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 24px;
  background: radial-gradient(ellipse at 76% 27%, #31475a 0, #202d3c 32%, #18222e 72%);
  box-shadow: 0 24px 60px rgb(19 31 45 / 14%);
}
.web-site .landing-hero-grid { width: min(1200px, calc(100% - 56px)); min-height: 570px; padding-block: 62px 70px; gap: clamp(30px, 5vw, 64px); }
.web-site .landing-hero h1 { max-width: 13ch; font-size: clamp(34px, 4.4vw, 58px); line-height: 1.45; letter-spacing: -.035em; }
.web-site .landing-hero h1 em { color: #ff9ca5; }
.web-site .landing-hero-copy > p { max-width: 58ch; color: #d1d9e3; font-size: 15px; line-height: 2.2; }
.web-site .landing-kicker { border-color: rgb(255 255 255 / 22%); background: rgb(255 255 255 / 7%); }
.web-site .landing-hero .button.primary { background: var(--imnexa-brand); border-color: var(--imnexa-brand); }
.web-site .landing-hero .button.outline { color: #fff; border-color: rgb(255 255 255 / 38%); background: rgb(255 255 255 / 4%); }
.web-site .landing-hero .button.outline:hover { background: rgb(255 255 255 / 10%); border-color: rgb(255 255 255 / 70%); }
.web-site .landing-preview { transform: none; border-color: rgb(255 255 255 / 42%); border-radius: 18px; box-shadow: 0 22px 48px rgb(0 0 0 / 27%); }
.web-site .landing-preview .preview-ad { border-radius: 11px; }
.web-site .landing-preview .preview-float { box-shadow: 0 12px 30px rgb(0 0 0 / 18%); }
.web-site .landing-trust { border-block-end-color: var(--imnexa-line); }
.web-site .landing-section { padding-block: clamp(56px, 7vw, 88px); }
.web-site .landing-feature { min-height: 210px; border-radius: 16px; box-shadow: var(--imnexa-shadow); }
.web-site .landing-feature.feature-large { background: linear-gradient(130deg, #202c3a, #2c4050); }
.web-site .landing-dark,
.web-site .landing-contact { background: #19232f; }
.web-site .landing-flow > div { border-radius: 13px; }
.web-site .install-steps article,
.web-site .landing-faq details,
.web-site .browser-guide,
.web-site .landing-feedback { border-radius: 15px; }
.web-site .landing-download { background: linear-gradient(135deg, #edf1f4, #fafbfc 55%, #fff3f4); }
.web-site .landing-download .download-panel { border-color: var(--imnexa-line); border-radius: 18px; box-shadow: var(--imnexa-shadow-raised); }

.web-site .public-page { width: min(1120px, calc(100% - 40px)); }
.web-site .auth-layout { grid-template-columns: minmax(0, 1fr) minmax(340px, 450px); gap: clamp(28px, 5vw, 64px); }
.web-site .auth-card,
.web-site .login-card { border: 1px solid var(--imnexa-line); border-radius: 18px; background: var(--imnexa-surface); box-shadow: var(--imnexa-shadow-raised); }
.web-site .auth-card { padding: clamp(22px, 3vw, 34px); }
.web-site .auth-card form { gap: 11px; }
.web-site .public-contact-grid { align-items: start; gap: 18px; }
.web-site .public-contact-card { padding: clamp(20px, 3vw, 30px); }
.web-site .public-contact-form { gap: 9px; }
.web-site .public-contact-form :where(label) { margin-block-start: 8px; font-size: 13px; }
.web-site .faq details { padding: 18px 8px; border-color: var(--imnexa-line); }
.web-site .faq summary { min-height: 44px; display: flex; align-items: center; font-weight: 750; }
.web-site .faq p { color: var(--imnexa-muted); line-height: 2.1; }
.web-site .public-plans { align-items: stretch; gap: 16px; }
.web-site .public-plans .plan { min-height: 265px; padding: 24px; }
.web-site .public-plans .plan .price { color: var(--imnexa-brand); font-size: clamp(24px, 2.3vw, 31px); }
.web-site .public-plans .plan-policy { margin-block-start: 22px; padding: 22px 24px; background: var(--imnexa-soft); border: 1px solid var(--imnexa-line); }
.web-site .account-page { max-width: 1080px; }
.web-site .account-page > .section-head { margin-bottom: 24px; }
.web-site .account-page .account-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.web-site .account-page .card { padding: clamp(18px, 2.5vw, 26px); }
.web-site .account-page .account-section-heading { align-items: flex-start; gap: 18px; }
.web-site .account-page .account-section-heading h2 { margin-block: 4px 8px; font-size: 20px; }
.web-site .account-page .account-section-heading p { color: var(--imnexa-muted); }
.web-site .account-page .payment-ticket,
.web-site .account-page .support-thread { border-inline-start: 3px solid #d6dde6; }
.web-site .account-page .account-empty-state { background: var(--imnexa-soft); box-shadow: none; }
.web-site .account-page .payment-follow-up-form { border: 1px solid var(--imnexa-line); }
.web-site .site-announcements { margin-block: 14px; }
.web-site .site-announcement { padding: 18px 22px; border: 1px solid #e5c0c4; border-radius: 14px; background: linear-gradient(110deg, #fff7f7, #fff 65%); box-shadow: var(--imnexa-shadow); }
.web-site .site-announcement h2 { margin-block: 7px; font-size: 18px; }
.web-site .site-announcement p { margin-block-end: 0; color: var(--imnexa-muted); }
.web-site .footer { margin-block-start: 44px; padding-block: 34px; color: #e9edf2; background: #19232f; }
.web-site .footer-inner { width: min(1200px, calc(100% - 40px)); align-items: flex-start; }
.web-site .footer-inner > div:first-child { max-width: 48ch; }
.web-site .footer small { display: block; margin-block-start: 12px; color: #b8c3cf; line-height: 1.9; }
.web-site .footer-nav a,
.web-site .footer-social a { min-height: 40px; display: inline-flex; align-items: center; }
.web-site.error-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.web-site.error-page > main { width: min(560px, 100%); padding: clamp(24px, 5vw, 42px); border: 1px solid var(--imnexa-line); border-radius: 20px; background: var(--imnexa-surface); box-shadow: var(--imnexa-shadow-raised); }

/* Dedicated management panel: clear navigation, dense data, calm surfaces. */
.admin-ui {
  --bg: #f1f4f7;
  --panel: #fff;
  --surface: #fff;
  --soft: #f7f8fa;
  --text: #19222e;
  --ink: #19222e;
  --muted: #657184;
  --line: #dfe4eb;
  --primary: #b42332;
  --primary2: #941c29;
  --red: #b42332;
  --danger: #a62036;
  --success: #176b4d;
  --tint: #fff0f2;
  --good-bg: #edf7f1;
  --glass: rgb(255 255 255 / 94%);
  --shadow: 0 5px 20px rgb(20 31 45 / 5%);
  color: var(--text);
  background: var(--bg);
  font-family: Vazirmatn, "Segoe UI", Tahoma, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
.admin-ui .sidebar { background: #19232f; color: #eef2f6; border-inline-end: 1px solid #263342; box-shadow: 7px 0 24px rgb(20 31 45 / 5%); }
.admin-ui .brand { min-height: 62px; border-color: #ffffff16; }
.admin-ui .brand strong { color: #fff; letter-spacing: .04em; }
.admin-ui .brand small { color: #b1bdca; }
.admin-ui .nav { gap: 5px; padding-block: 16px; }
.admin-ui .nav a { min-height: 44px; padding: 10px 12px; color: #c4ced9; border: 1px solid transparent; border-radius: 10px; font-size: 13px; }
.admin-ui .nav a:hover { color: #fff; background: #ffffff0c; }
.admin-ui .nav a[aria-current="page"] { color: #fff; background: #b42332; border-color: #d1515d; box-shadow: 0 4px 12px rgb(0 0 0 / 12%); }
.admin-ui .nav-separator { background: #ffffff1b; }
.admin-ui .sidebar-foot { color: #a9b5c2; border-color: #ffffff1b; }
.admin-ui .topbar { min-height: 82px; padding-inline: clamp(18px, 3vw, 36px); background: rgb(255 255 255 / 96%); border-color: var(--line); box-shadow: 0 4px 14px rgb(20 31 45 / 3%); backdrop-filter: blur(10px); }
.admin-ui .topbar h1 { color: var(--ink); font-size: 21px; font-weight: 760; }
.admin-ui .topbar p { color: var(--muted); font-size: 12px; }
.admin-ui .adminbox .avatar { background: var(--tint); color: var(--primary); }
.admin-ui .content { width: min(1600px, 100%); padding: clamp(18px, 2.8vw, 34px); }
.admin-ui .metric { min-height: 124px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); }
.admin-ui .metric span { font-weight: 600; }
.admin-ui .metric strong { color: var(--ink); font-size: clamp(23px, 2.4vw, 30px); font-variant-numeric: tabular-nums; }
.admin-ui .metric.danger strong { color: var(--danger); }
.admin-ui .panel { padding: clamp(18px, 2vw, 26px); border: 1px solid var(--line); border-radius: 15px; background: var(--panel); box-shadow: var(--shadow); }
.admin-ui .panel-head { align-items: flex-start; }
.admin-ui .panel-head h2,
.admin-ui .panel h2 { color: var(--ink); font-size: 17px; font-weight: 750; }
.admin-ui .panel-head p { color: var(--muted); font-size: 12px; line-height: 1.9; }
.admin-ui .table-wrap { border-color: var(--line); border-radius: 11px; }
.admin-ui table { min-width: 720px; }
.admin-ui th { color: #59677a; background: #f5f7f9; font-weight: 700; }
.admin-ui td { color: #283342; }
.admin-ui tbody tr:hover { background: #f7f9fb; }
.admin-ui .badge,
.admin-ui .security-label,
.admin-ui .secure-badge { border: 1px solid transparent; border-radius: 999px; font-weight: 700; }
.admin-ui .badge.active,
.admin-ui .badge.paid { color: #135d43; background: #e8f5ed; border-color: #cbe8d7; }
.admin-ui .badge.failed,
.admin-ui .badge.blocked,
.admin-ui .badge.suspended { color: #97233a; background: #fff0f2; border-color: #f0cbd1; }
.admin-ui .badge.pending { color: #76500b; background: #fff7e5; border-color: #efdfa9; }
.admin-ui :where(.btn, .button) { min-height: 42px; border-radius: 9px; font-weight: 700; }
.admin-ui .btn.primary { color: #fff; background: var(--primary); }
.admin-ui .btn.primary:hover { background: var(--primary2); }
.admin-ui .btn.ghost,
.admin-ui .btn.outline { color: var(--ink); background: #fff; border: 1px solid #cfd7e1; }
.admin-ui .btn.ghost:hover,
.admin-ui .btn.outline:hover { color: var(--primary); background: #fff7f8; border-color: #d49ba2; }
.admin-ui .filters { padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #f7f8fa; }
.admin-ui :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) { color: var(--ink); background: #fff; border: 1px solid #cfd7e1; border-radius: 9px; }
.admin-ui :where(input, select, textarea):focus { border-color: #5483ad; box-shadow: 0 0 0 3px rgb(52 123 181 / 13%); }
.admin-ui .alert { border-radius: 11px; }
.admin-ui.login-page { background: radial-gradient(ellipse at 20% 10%, #29394b 0, #19232f 50%, #141c26 100%); }
.admin-ui .login-wrap { width: min(1040px, 100%); }
.admin-ui .login-card { border-radius: 18px; box-shadow: 0 22px 58px rgb(0 0 0 / 24%); }
.admin-ui .pagination a { min-height: 42px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.admin-ui .pagination a:hover { color: var(--primary); border-color: #d49ba2; background: #fff7f8; }

@media (prefers-color-scheme: dark) {
  .web-site {
    --imnexa-canvas: #141a22;
    --imnexa-surface: #1d2631;
    --imnexa-soft: #242f3b;
    --imnexa-ink: #f0f3f7;
    --imnexa-muted: #b2bdca;
    --imnexa-line: #344252;
    --imnexa-brand: #b42332;
    --imnexa-brand-hover: #941c29;
    --imnexa-brand-soft: #3b252b;
    --imnexa-good: #80d7b1;
    --imnexa-good-soft: #1d3a30;
    --imnexa-shadow: 0 8px 28px rgb(0 0 0 / 18%);
    --imnexa-shadow-raised: 0 18px 50px rgb(0 0 0 / 28%);
    --bg: var(--imnexa-canvas);
    --panel: var(--imnexa-surface);
    --surface: var(--imnexa-surface);
    --soft: var(--imnexa-soft);
    --text: var(--imnexa-ink);
    --ink: var(--imnexa-ink);
    --muted: var(--imnexa-muted);
    --line: var(--imnexa-line);
    --primary: #f08a96;
    --primary2: #f3a0aa;
    --red: #f08a96;
    --red-dark: #f3a0aa;
    --danger: #ff9ca5;
    --success: var(--imnexa-good);
    --tint: var(--imnexa-brand-soft);
    --good-bg: var(--imnexa-good-soft);
    --glass: rgb(29 38 49 / 96%);
    --shadow: 0 8px 24px rgb(0 0 0 / 20%);
    color-scheme: dark;
  }

  .web-site > .topbar {
    background: rgb(29 38 49 / 96%);
    border-color: var(--imnexa-line);
  }
  .web-site .button.outline {
    color: var(--imnexa-ink);
    background: var(--imnexa-surface);
    border-color: #526173;
  }
  .web-site .button.outline:hover {
    color: #ff9ca5;
    background: #38242a;
    border-color: #9a5260;
  }
  .web-site :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) {
    color: var(--imnexa-ink);
    background: #151d27;
    border-color: #455465;
  }
  .web-site :where(input, textarea)::placeholder { color: #b2bdca; }
  .web-site .site-announcement {
    color: var(--imnexa-ink);
    border-color: #69414a;
    background: linear-gradient(110deg, #33242b, #1d2631 65%);
  }
  .web-site .site-announcement-banner {
    background: #202b37;
    border-color: var(--imnexa-line);
  }
  .web-site .account-page .payment-ticket,
  .web-site .account-page .support-thread { border-inline-start-color: #526173; }
  .web-site .landing-download {
    background: linear-gradient(135deg, #202b37, #1b2632 55%, #30242b);
  }
  .web-site .landing-download .download-panel {
    background: var(--imnexa-surface);
    border-color: var(--imnexa-line);
  }

  .admin-ui {
    --bg: #141a22;
    --panel: #1d2631;
    --surface: #1d2631;
    --soft: #242f3b;
    --text: #f0f3f7;
    --ink: #f0f3f7;
    --muted: #b2bdca;
    --line: #344252;
    --primary: #f08a96;
    --primary2: #f3a0aa;
    --red: #f08a96;
    --danger: #ff9ca5;
    --success: #80d7b1;
    --tint: #3b252b;
    --good-bg: #1d3a30;
    --glass: rgb(29 38 49 / 96%);
    --shadow: 0 8px 24px rgb(0 0 0 / 20%);
    color-scheme: dark;
  }
  .admin-ui .topbar { background: rgb(29 38 49 / 96%); }
  .admin-ui th { color: #d2dbe5; background: #242f3b; }
  .admin-ui td { color: #e5eaf0; }
  .admin-ui tbody tr:hover { background: #273340; }
  .admin-ui .badge.active,
  .admin-ui .badge.paid { color: #9be3bd; background: #1b3a2e; border-color: #315d49; }
  .admin-ui .badge.failed,
  .admin-ui .badge.blocked,
  .admin-ui .badge.suspended { color: #ffabb4; background: #3d252d; border-color: #70404b; }
  .admin-ui .badge.pending { color: #ffda88; background: #3a321f; border-color: #695528; }
  .admin-ui .btn.primary { color: #fff; background: #8f202c; border-color: #8f202c; }
  .admin-ui .btn.primary:hover { background: #741923; }
  .admin-ui .btn.ghost,
  .admin-ui .btn.outline,
  .admin-ui .pagination a { color: var(--ink); background: var(--surface); border-color: #526173; }
  .admin-ui .btn.ghost:hover,
  .admin-ui .btn.outline:hover,
  .admin-ui .pagination a:hover { color: #ff9ca5; background: #38242a; border-color: #9a5260; }
  .admin-ui .filters { background: #202b37; }
  .admin-ui :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) {
    color: var(--ink);
    background: #151d27;
    border-color: #455465;
  }
  .admin-ui :where(input, textarea)::placeholder { color: #b2bdca; }
}

@media (max-width: 1000px) {
  .web-site > .topbar { width: calc(100% - 28px); min-height: 64px; padding: 8px 12px; }
  .web-site > .topbar .site-menu-toggle { display: grid; }
  .web-site > .topbar nav { display: none; }
  .web-site > .topbar .account-link { display: inline-flex; }
  .web-site .landing-hero-grid { min-height: 0; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); padding-block: 46px 52px; }
  .web-site .auth-layout { grid-template-columns: minmax(0, 1fr) minmax(320px, 420px); gap: 24px; }
  .admin-ui .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .web-site > .topbar { inset-block-start: 6px; width: calc(100% - 20px); margin-block-start: 8px; border-radius: 14px; }
  .web-site > .topbar .brand img { width: 118px; }
  .web-site .section { padding-block: 42px; }
  .web-site .landing-hero { width: calc(100% - 20px); margin-block-start: 10px; border-radius: 19px; }
  .web-site .landing-hero-grid { width: calc(100% - 36px); grid-template-columns: minmax(0, 1fr); padding-block: 35px 40px; gap: 16px; }
  .web-site .landing-hero h1 { max-width: 17ch; margin-block: 16px; font-size: clamp(31px, 8vw, 42px); }
  .web-site .landing-preview { width: min(100%, 560px); margin-block-start: 12px; }
  .web-site .landing-section { padding-block: 48px; }
  .web-site .landing-feature-grid { gap: 12px; }
  .web-site .landing-feature { padding: 20px; }
  .web-site .landing-download-grid,
  .web-site .landing-contact-grid,
  .web-site .landing-how,
  .web-site .landing-faq-grid { gap: 24px; }
  .web-site .public-page { width: calc(100% - 28px); }
  .web-site .auth-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .web-site .auth-layout > :first-child { display: none; }
  .web-site .public-contact-grid,
  .web-site .public-plans { grid-template-columns: minmax(0, 1fr); }
  .web-site .account-page .account-cards { grid-template-columns: minmax(0, 1fr); }
  .web-site .footer-inner { width: calc(100% - 28px); }
  .web-site .footer-inner > div:last-child { gap: 10px 16px; }
  .admin-ui .menu-btn { display: grid; }
  .admin-ui .topbar { min-height: 68px; padding: 10px 14px; }
  .admin-ui .topbar h1 { font-size: 18px; }
  .admin-ui .content { padding: 16px 14px 32px; }
  .admin-ui .cards,
  .admin-ui .cards.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .admin-ui .metric { min-height: 108px; padding: 14px; }
  .admin-ui .metric strong { font-size: 23px; }
  .admin-ui .panel { padding: 16px; }
  .admin-ui .filters { gap: 8px; }
  .admin-ui .filters :where(input, select, button) { flex: 1 1 100%; width: 100%; }
  .admin-ui .filters .check { flex: 1 1 100%; }
  .admin-ui .login-page { padding: 14px; }
  .admin-ui .login-card { padding: 24px 20px; }
}

@media (max-width: 440px) {
  .web-site > .topbar .brand img { width: 104px; }
  .web-site > .topbar .small-cta { max-width: 126px; padding-inline: 10px; font-size: 11px; }
  .web-site .landing-feature-grid,
  .web-site .install-steps { grid-template-columns: minmax(0, 1fr); }
  .web-site .landing-feature.feature-large { grid-column: auto; }
  .admin-ui .cards,
  .admin-ui .cards.compact { grid-template-columns: minmax(0, 1fr); }
  .admin-ui .adminbox { gap: 6px; }
  .admin-ui .adminbox .avatar { width: 34px; height: 34px; }
  .admin-ui .topbar h1 { max-width: 16ch; font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .web-site *, .web-site *::before, .web-site *::after,
  .admin-ui *, .admin-ui *::before, .admin-ui *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Source: imnexa/design-polish.css */
/* IMNEXA product UI: shared public pages and administration surfaces. */
body.web-site {
  --imnexa-canvas: #f4f6f8;
  --imnexa-surface: #ffffff;
  --imnexa-soft: #edf1f4;
  --imnexa-ink: #202a36;
  --imnexa-muted: #596777;
  --imnexa-line: #d9e0e7;
  --imnexa-brand: #b42332;
  --imnexa-brand-hover: #941c29;
  --imnexa-action: #b42332;
  --imnexa-action-hover: #941c29;
  --imnexa-brand-soft: #fbedef;
  --imnexa-good: #146843;
  --imnexa-good-soft: #eaf5ee;
  --imnexa-warning: #76500b;
  --imnexa-warning-soft: #fff6df;
  --imnexa-hero: #202a36;
  --bg: var(--imnexa-canvas);
  --panel: var(--imnexa-surface);
  --surface: var(--imnexa-surface);
  --soft: var(--imnexa-soft);
  --text: var(--imnexa-ink);
  --ink: var(--imnexa-ink);
  --muted: var(--imnexa-muted);
  --line: var(--imnexa-line);
  --primary: var(--imnexa-brand);
  --primary2: var(--imnexa-brand-hover);
  --red: var(--imnexa-brand);
  --tint: var(--imnexa-brand-soft);
  --good-bg: var(--imnexa-good-soft);
  --success: var(--imnexa-good);
  --radius: 14px;
  color-scheme: light;
  background: var(--imnexa-canvas);
  color: var(--imnexa-ink);
}

/* Give form controls a visible boundary in both themes. The previous borders
   were too close to white or charcoal surfaces to identify the field edge. */
:is(.admin-ui, .web-site) :is(input, select, textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
  border-color: #7b8795;
}
@media (prefers-color-scheme: dark) {
  :is(.admin-ui, .web-site) :is(input, select, textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
    border-color: #738398;
  }
}
:is(.admin-ui, .web-site)[data-theme="dark"] :is(input, select, textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
  border-color: #738398;
}

body.web-site[data-theme="light"] {
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  body.web-site:not([data-theme="light"]) {
    --imnexa-canvas: #151a20;
    --imnexa-surface: #1e252d;
    --imnexa-soft: #252e38;
    --imnexa-ink: #eef2f6;
    --imnexa-muted: #b4bfcb;
    --imnexa-line: #3a4653;
    --imnexa-brand: #ed6876;
    --imnexa-brand-hover: #db5363;
    --imnexa-action: #b52230;
    --imnexa-action-hover: #941c29;
    --imnexa-brand-soft: #38262c;
    --imnexa-good: #8de0b2;
    --imnexa-good-soft: #1d3329;
    --imnexa-warning: #ffdc8c;
    --imnexa-warning-soft: #39311e;
    color-scheme: dark;
  }
}

body.web-site[data-theme="dark"] {
  --imnexa-canvas: #151a20;
  --imnexa-surface: #1e252d;
  --imnexa-soft: #252e38;
  --imnexa-ink: #eef2f6;
  --imnexa-muted: #b4bfcb;
  --imnexa-line: #3a4653;
  --imnexa-brand: #ed6876;
  --imnexa-brand-hover: #db5363;
  --imnexa-action: #b52230;
  --imnexa-action-hover: #941c29;
  --imnexa-brand-soft: #38262c;
  --imnexa-good: #8de0b2;
  --imnexa-good-soft: #1d3329;
  --imnexa-warning: #ffdc8c;
  --imnexa-warning-soft: #39311e;
  color-scheme: dark;
}

body.web-site :where(h1, h2, h3, h4) {
  color: var(--imnexa-ink);
}

body.web-site :where(.section-head p, .card p, .faq p, .public-page-heading p, .account-section-heading p) {
  color: var(--imnexa-muted);
}

body.web-site > .topbar {
  width: min(1320px, calc(100% - 40px));
  min-height: 72px;
  margin-block: 12px 0;
  padding: 10px clamp(14px, 2vw, 24px);
  border-color: var(--imnexa-line);
  border-radius: 14px;
  background: var(--imnexa-surface);
  box-shadow: 0 5px 18px rgb(22 32 45 / 5%);
  backdrop-filter: none;
}

body.web-site > .topbar nav {
  gap: clamp(12px, 1.7vw, 23px);
  color: var(--imnexa-muted);
}

body.web-site > .topbar nav a {
  min-height: 44px;
  color: inherit;
  font-weight: 650;
  text-underline-offset: 5px;
}

body.web-site > .topbar nav a:hover,
body.web-site > .topbar nav a:focus-visible {
  color: var(--imnexa-brand);
}

body.web-site > .topbar .brand img {
  width: clamp(118px, 12vw, 148px);
}

body.web-site .small-cta,
body.web-site .button.primary {
  min-height: 46px;
  padding: 10px 18px;
  border: 1px solid var(--imnexa-action);
  border-radius: 10px;
  background: var(--imnexa-action);
  color: #fff;
  font-size: 13px;
  font-weight: 750;
  box-shadow: none;
}

body.web-site .button.primary:hover,
body.web-site .small-cta:hover {
  border-color: var(--imnexa-action-hover);
  background: var(--imnexa-action-hover);
}

body.web-site .button.outline {
  min-height: 46px;
  padding: 10px 18px;
  color: var(--imnexa-ink);
  background: var(--imnexa-surface);
  border: 1px solid var(--imnexa-line);
  border-radius: 10px;
}

body.web-site .button.outline:hover {
  color: var(--imnexa-brand);
  background: var(--imnexa-brand-soft);
  border-color: var(--imnexa-brand);
}

body.web-site :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  color: var(--imnexa-ink);
  background: var(--imnexa-surface);
  border-color: var(--imnexa-line);
}

body.web-site :where(input, select, textarea)::placeholder {
  color: var(--imnexa-muted);
  opacity: 1;
}

body.web-site :where(.card, .auth-card, .login-card, .public-contact-card, .plan, .info-panel) {
  color: var(--imnexa-ink);
  background: var(--imnexa-surface);
  border-color: var(--imnexa-line);
  box-shadow: 0 6px 24px rgb(22 32 45 / 5%);
}

body.web-site .landing-hero {
  color: var(--taste-ink, var(--imnexa-ink));
  background: var(--imnexa-hero);
  border: 1px solid #344150;
  box-shadow: 0 18px 42px rgb(21 32 45 / 12%);
}

body.web-site .landing-hero h1,
body.web-site .landing-hero h2,
body.web-site .landing-hero h3 {
  color: var(--taste-ink, var(--imnexa-ink));
}

body.web-site .landing-hero-copy > p,
body.web-site .landing-access-note {
  color: var(--taste-muted, var(--imnexa-muted));
}

body.web-site .landing-hero h1 em,
body.web-site .landing-eyebrow,
body.web-site .landing-guide-link {
  color: var(--taste-accent, var(--imnexa-brand));
}

body.web-site .landing-proof span {
  color: var(--taste-accent, var(--imnexa-brand));
  background: transparent;
  border-color: var(--taste-rule, var(--imnexa-line));
}

body.web-site .landing-product-preview {
  border-color: #536171;
  box-shadow: 0 16px 34px rgb(0 0 0 / 20%);
  transform: none;
}

body.web-site .landing-strip,
body.web-site .landing-contact,
body.web-site .footer {
  color: #f1f4f7;
  background: #19232e;
}

body.web-site .landing-strip strong,
body.web-site .landing-contact h2,
body.web-site .landing-contact h3,
body.web-site .footer strong {
  color: #f1f4f7;
}

body.web-site .landing-strip span,
body.web-site .landing-contact p,
body.web-site .footer p,
body.web-site .footer small,
body.web-site .footer-nav,
body.web-site .footer-social {
  color: #c2ccd7;
}

body.web-site .landing-benefits,
body.web-site .landing-final,
body.web-site .public-page,
body.web-site .section {
  color: var(--imnexa-ink);
}

body.web-site .landing-section-heading h2,
body.web-site .landing-onboarding-heading h2,
body.web-site .landing-webapp-inner h2,
body.web-site .landing-final h2 {
  color: var(--imnexa-ink);
}

body.web-site .landing-section-heading p,
body.web-site .landing-onboarding-heading > p,
body.web-site .landing-webapp-inner p,
body.web-site .landing-final p {
  color: var(--imnexa-muted);
}

body.web-site .landing-benefit-grid article,
body.web-site .landing-onboarding-steps li,
body.web-site .landing-faq details,
body.web-site .public-plans .plan {
  color: var(--imnexa-ink);
  background: var(--imnexa-surface);
  border: 1px solid var(--imnexa-line);
  box-shadow: 0 5px 18px rgb(22 32 45 / 4%);
}

body.web-site .landing-benefit-grid h3,
body.web-site .landing-onboarding-steps h3,
body.web-site .landing-faq summary,
body.web-site .public-plans .plan h2,
body.web-site .public-plans .plan h3 {
  color: var(--imnexa-ink);
}

body.web-site .landing-benefit-grid p,
body.web-site .landing-onboarding-steps p,
body.web-site .landing-faq p,
body.web-site .public-plans .plan p {
  color: var(--imnexa-muted);
}

body.web-site .landing-onboarding,
body.web-site .landing-webapp,
body.web-site .landing-faq,
body.web-site .plan-policy,
body.web-site .login-note {
  color: var(--imnexa-ink);
  background: var(--imnexa-soft);
  border-color: var(--imnexa-line);
}

body.web-site .landing-final {
  border-top: 1px solid var(--imnexa-line);
}

body.web-site .site-announcement {
  color: var(--imnexa-ink);
  background: var(--imnexa-surface);
  border-color: var(--imnexa-line);
}

body.web-site .site-announcement p,
body.web-site .hero-note,
body.web-site .login-note {
  color: var(--imnexa-muted);
}

body.web-site .notice.warning {
  color: var(--imnexa-warning);
  background: var(--imnexa-warning-soft);
  border-color: color-mix(in srgb, var(--imnexa-warning) 35%, var(--imnexa-line));
}

body.web-site .navigation-dialog,
body.web-site .site-account-dropdown,
body.web-site .pwa-install-dialog,
body.web-site .pwa-install-prompt {
  color: var(--imnexa-ink);
  background: var(--imnexa-surface);
  border-color: var(--imnexa-line);
}

body.web-site .navigation-dialog a,
body.web-site .navigation-dialog button,
body.web-site .site-account-dropdown a,
body.web-site .pwa-install-dialog p,
body.web-site .pwa-install-dialog li {
  color: var(--imnexa-ink);
}

body.web-site :focus-visible {
  outline-color: #2676ad;
  outline-offset: 3px;
}

body.admin-ui {
  --bg: #f3f5f7;
  --panel: #ffffff;
  --surface: #ffffff;
  --soft: #edf1f4;
  --text: #202a36;
  --ink: #202a36;
  --muted: #596777;
  --line: #d9e0e7;
  --primary: #b42332;
  --primary2: #941c29;
  --red: #b42332;
  --danger: #a62036;
  --success: #146843;
  --tint: #fbedef;
  --good-bg: #eaf5ee;
  color-scheme: light;
  background: var(--bg);
  color: var(--text);
}

body.admin-ui .sidebar {
  background: #1c2631;
  border-inline-end-color: #303d4a;
  box-shadow: 4px 0 18px rgb(17 27 38 / 5%);
  backdrop-filter: none;
}

body.admin-ui .topbar {
  background: var(--panel);
  border-bottom-color: var(--line);
  box-shadow: 0 2px 10px rgb(20 31 45 / 3%);
  backdrop-filter: none;
}

body.admin-ui .topbar h1,
body.admin-ui .panel h2,
body.admin-ui .panel h3,
body.admin-ui .metric strong {
  color: var(--ink);
}

body.admin-ui .content {
  width: min(1640px, 100%);
  padding: clamp(18px, 2.5vw, 34px);
}

body.admin-ui .cards,
body.admin-ui .cards.compact {
  gap: 14px;
}

body.admin-ui .metric,
body.admin-ui .panel {
  color: var(--text);
  background: var(--panel);
  border: 1px solid var(--line);
  box-shadow: 0 4px 18px rgb(20 31 45 / 4%);
}

body.admin-ui .metric {
  min-height: 118px;
}

body.admin-ui .panel {
  border-radius: 14px;
}

body.admin-ui .panel-head h2,
body.admin-ui .panel h2 {
  line-height: 1.8;
}

body.admin-ui .table-wrap {
  max-width: 100%;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  overscroll-behavior-inline: contain;
}

body.admin-ui table {
  border-collapse: separate;
  border-spacing: 0;
}

body.admin-ui th {
  position: sticky;
  top: 0;
  color: var(--muted);
  background: var(--soft);
  border-bottom-color: var(--line);
}

body.admin-ui td {
  color: var(--text);
  border-bottom-color: var(--line);
}

body.admin-ui tbody tr:hover {
  background: color-mix(in srgb, var(--soft) 68%, var(--panel));
}

body.admin-ui :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  color: var(--text);
  background: var(--panel);
  border-color: var(--line);
}

body.admin-ui :where(input, select, textarea)::placeholder {
  color: var(--muted);
  opacity: 1;
}

body.admin-ui .filters {
  color: var(--text);
  background: var(--soft);
  border: 1px solid var(--line);
}

body.admin-ui .btn.primary {
  color: #fff;
  background: var(--primary);
  border-color: var(--primary);
}

body.admin-ui .btn.ghost,
body.admin-ui .btn.outline {
  color: var(--text);
  background: var(--panel);
  border: 1px solid var(--line);
}

body.admin-ui .panel-legal {
  max-width: 1640px;
  margin-inline: auto;
  padding-inline: clamp(18px, 2.5vw, 34px);
  line-height: 1.9;
}

body.admin-ui :focus-visible {
  outline: 3px solid #2676ad;
  outline-offset: 3px;
}

@media (prefers-color-scheme: dark) {
  body.admin-ui {
    --bg: #151a20;
    --panel: #1e252d;
    --surface: #1e252d;
    --soft: #252e38;
    --text: #eef2f6;
    --ink: #eef2f6;
    --muted: #b4bfcb;
    --line: #3a4653;
    --primary: #b52230;
    --primary2: #941c29;
    --red: #ed6876;
    --danger: #ff9fac;
    --success: #8de0b2;
    --tint: #38262c;
    --good-bg: #1d3329;
    color-scheme: dark;
  }

  body.admin-ui .badge.active,
  body.admin-ui .badge.paid {
    color: #a3ebc3;
    background: #1d382c;
    border-color: #315a43;
  }

  body.admin-ui .badge.failed,
  body.admin-ui .badge.blocked,
  body.admin-ui .badge.suspended {
    color: #ffabb5;
    background: #3b242b;
    border-color: #60404a;
  }

  body.admin-ui .badge.pending {
    color: #ffdc8c;
    background: #39311e;
    border-color: #66542a;
  }
}

@media (max-width: 760px) {
  body.web-site > .topbar {
    width: calc(100% - 24px);
    min-height: 64px;
    margin-block-start: 10px;
    padding: 8px 10px;
    border-radius: 12px;
    gap: 7px;
  }

  body.web-site > .topbar .brand img {
    width: 116px;
  }

  body.web-site > .topbar .small-cta {
    min-height: 42px;
    padding-inline: 12px;
    font-size: 12px;
  }

  body.web-site .landing-hero {
    width: calc(100% - 24px);
    border-radius: 16px;
  }

  body.web-site .landing-hero h1 {
    font-size: clamp(29px, 8vw, 36px);
    line-height: 1.52;
  }

  body.web-site .landing-actions .button,
  body.web-site .landing-final .button,
  body.web-site .landing-webapp .button {
    width: 100%;
    justify-content: center;
  }

  body.web-site .landing-benefit-grid,
  body.web-site .landing-onboarding-steps,
  body.web-site .public-plans,
  body.web-site .account-page .account-cards {
    grid-template-columns: minmax(0, 1fr);
  }

  body.web-site .landing-benefit-grid article,
  body.web-site .landing-onboarding-steps li {
    min-height: 0;
  }

  body.web-site .landing-final,
  body.web-site .landing-webapp-inner {
    align-items: stretch;
    flex-direction: column;
  }

  body.web-site .footer-inner {
    align-items: flex-start;
  }

  body.admin-ui .content {
    padding: 16px 12px 28px;
  }

  body.admin-ui .topbar {
    min-height: 72px;
    padding: 12px;
    gap: 9px;
  }

  body.admin-ui .topbar h1 {
    font-size: 18px;
  }

  body.admin-ui .panel {
    padding: 16px;
  }

  body.admin-ui .cards,
  body.admin-ui .cards.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 420px) {
  body.admin-ui .cards,
  body.admin-ui .cards.compact {
    grid-template-columns: minmax(0, 1fr);
  }

  body.admin-ui .adminbox .avatar {
    width: 34px;
    height: 34px;
  }
}

/* Account and subscription: independent, deep-linkable sections. */
.web-site .account-page .account-tabs {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
  margin-block: 24px 20px;
  padding: 10px;
  border: 1px solid var(--imnexa-line);
  border-radius: 18px;
  background: var(--imnexa-surface);
  box-shadow: 0 8px 24px rgb(24 35 48 / 5%);
}

.web-site .account-page .account-cards { grid-template-columns: minmax(0, 1fr); }
.web-site .account-page .account-subscription-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.web-site .account-page .account-subscription-grid .card { min-width: 0; }

.web-site .account-page .account-tabs a {
  display: flex;
  min-width: 0;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--imnexa-muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: color 140ms ease, background-color 140ms ease, border-color 140ms ease;
}

.web-site .account-page .account-tabs a:hover {
  border-color: var(--imnexa-line);
  background: var(--imnexa-soft);
  color: var(--imnexa-ink);
}

.web-site .account-page .account-tabs a[aria-current="page"] {
  border-color: color-mix(in srgb, var(--imnexa-brand) 34%, var(--imnexa-line));
  background: var(--imnexa-brand-soft);
  color: var(--imnexa-brand);
}

.web-site .account-page .account-tabs a:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--imnexa-brand) 55%, transparent);
  outline-offset: 2px;
}

.web-site .account-page .account-tabs + :is(.account-cards, .card, .account-payment-follow-up, .account-support) {
  animation: account-panel-enter 180ms ease-out both;
}

@keyframes account-panel-enter {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 980px) {
  .web-site .account-page .account-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .web-site .account-page .account-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    overflow: visible;
    gap: 7px;
    margin-block: 18px 16px;
    padding: 8px;
    border-radius: 15px;
  }

  .web-site .account-page .account-tabs a {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding-inline: 9px;
    font-size: 12.5px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  .web-site .account-page .account-subscription-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .web-site .account-page .account-tabs a { transition: none; }
  .web-site .account-page .account-tabs + :is(.account-cards, .card, .account-payment-follow-up, .account-support) {
    animation: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.web-site *,
  body.admin-ui *,
  body.web-site *::before,
  body.admin-ui *::before,
  body.web-site *::after,
  body.admin-ui *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Keep announcement content clear of its dismiss control after design-layer overrides. */
body.web-site .site-announcement { position: relative; padding-inline-end: 64px; }
body.web-site .site-announcement.has-banner { grid-template-columns: minmax(0, 1fr) minmax(180px, 30%); grid-template-areas: "copy poster"; }
body.web-site .site-announcement-copy { grid-area: copy; min-width: 0; }
body.web-site .site-announcement.has-banner > .site-announcement-banner { grid-area: poster; }
body.web-site .site-announcement-dismiss { position: absolute; inset-block-start: 12px; inset-inline-end: 12px; margin: 0; }
body.web-site .site-announcement-dismiss button { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #697383; border-radius: 50%; background: transparent; color: inherit; font-size: 22px; line-height: 1; cursor: pointer; }
body.web-site .site-announcement-dismiss button:focus-visible { outline: 2px solid #ff8990; outline-offset: 2px; }
body.web-site .site-announcement-action { display: inline-flex; margin-block-start: 12px; padding: 8px 12px; border: 1px solid currentColor; border-radius: 10px; color: inherit; font-weight: 700; text-decoration: none; }
body.web-site .site-announcement[data-notice-kind="advertisement"] { border-color: #a68a45; }
body.web-site .site-announcement[data-notice-kind="promotion"] { border-color: #398a70; }
@media (max-width: 640px) {
  body.web-site .site-announcement { padding-inline: 16px 58px; }
  body.web-site .site-announcement.has-banner { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "poster"; row-gap: 8px; }
  body.web-site .site-announcement.has-banner > .site-announcement-banner { height: 128px; max-height: 128px; margin-top: 0; }
}

/* Calm editorial hierarchy and accessible interaction for public information pages. */
/* Keep subpage content close to the toolbar; the old page padding and heading
   margin stacked into a large, empty band before the first useful content. */
body.web-site #main-content.public-page:not(.account-page) {
  padding-block: clamp(28px, 4vw, 48px) 72px;
}
body.web-site .public-page-heading {
  position: relative; margin-block: 0 34px; padding: clamp(22px, 4vw, 38px); overflow: hidden;
  background: var(--imnexa-surface); border: 1px solid var(--imnexa-line);
  border-inline-start: 3px solid var(--imnexa-brand); border-radius: 18px;
  box-shadow: 0 8px 24px rgb(20 34 48 / 5%);
}
body.web-site #main-content.public-page:not(.account-page) > .public-page-heading {
  margin-inline: auto;
}
body.web-site .public-page-heading h1 {
  max-width: 23ch; margin-block: 9px 10px; color: var(--imnexa-ink);
  font-size: clamp(25px, 3.4vw, 38px); line-height: 1.55; text-wrap: balance;
}
body.web-site .public-page-heading p {
  max-width: 78ch; margin: 0; color: var(--imnexa-muted); font-size: 15px; line-height: 2;
}
body.web-site .public-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body.web-site .public-feature-grid .landing-feature {
  position: relative; overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.web-site .public-feature-grid .landing-feature:hover {
  transform: translateY(-2px); border-color: color-mix(in srgb, var(--imnexa-brand) 35%, var(--imnexa-line));
  box-shadow: 0 12px 28px rgb(20 34 48 / 9%);
}
body.web-site .public-feature-grid .feature-number { color: var(--imnexa-brand); font-variant-numeric: tabular-nums; }
body.web-site .guide-step-grid li {
  border-color: var(--imnexa-line); box-shadow: 0 4px 16px rgb(20 34 48 / 4%);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.web-site .guide-step-grid li:hover {
  transform: translateY(-2px); border-color: color-mix(in srgb, var(--imnexa-brand) 35%, var(--imnexa-line));
  box-shadow: 0 10px 24px rgb(20 34 48 / 8%);
}
body.web-site .guide-notes { padding: clamp(20px, 3vw, 30px); }
body.web-site .guide-notes li { padding-inline-start: 4px; line-height: 2.05; }
body.web-site .guide-video {
  overflow: hidden; border: 1px solid var(--imnexa-line); border-radius: 16px;
  background: var(--imnexa-surface); box-shadow: 0 5px 18px rgb(20 34 48 / 5%);
}
body.web-site .site-account-menu:not([open]) > .site-account-dropdown { display: none; }
body.web-site .site-account-menu[open] > .site-account-dropdown { max-width: min(280px, calc(100vw - 24px)); }
body.web-site > .topbar .site-account-menu { min-width: 0; flex: 0 1 auto; }
@media (max-width: 900px) { body.web-site .public-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  body.web-site #main-content.public-page:not(.account-page) { padding-block: 24px 44px; }
  body.web-site .public-page-heading { margin-block: 0 22px; padding: 20px 18px; border-radius: 14px; }
  body.web-site .public-page-heading h1 { font-size: clamp(23px, 7vw, 30px); }
  body.web-site .public-page-heading p { font-size: 13px; }
  body.web-site .public-feature-grid { grid-template-columns: minmax(0, 1fr); }
}

/* A quiet reveal adds depth as information pages are explored without loading
   animation code, shifting layout, or hiding content when JavaScript is off. */
@media (prefers-reduced-motion: no-preference) {
  body.web-site .imnexa-scroll-reveal {
    opacity: 0;
    transform: translate3d(0, 12px, 0);
    transition: opacity 420ms cubic-bezier(.2, .7, .25, 1), transform 420ms cubic-bezier(.2, .7, .25, 1);
    transition-delay: var(--imnexa-reveal-delay, 0ms);
  }
  body.web-site .imnexa-scroll-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  body.web-site .public-faq details {
    transition: border-color 180ms ease, background-color 180ms ease;
  }
  body.web-site .public-faq details[open] > p {
    animation: imnexa-faq-answer-enter 240ms cubic-bezier(.2, .7, .25, 1) both;
  }
}
@keyframes imnexa-faq-answer-enter {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 440px) {
  body.web-site > .topbar .account-link { display: none; }
  body.web-site > .topbar .site-account-menu summary,
  body.web-site > .topbar > .small-cta { max-width: min(32vw, 126px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* A restrained entrance for account, public-site and admin sections. Opacity
   and transform keep motion on the compositor and avoid content reflow. */
@media (prefers-reduced-motion: no-preference) {
  .imnexa-scene-reveal {
    opacity: 0;
    transform: translate3d(0, 11px, 0);
    transition: opacity 390ms cubic-bezier(.2, .7, .25, 1), transform 390ms cubic-bezier(.2, .7, .25, 1);
    transition-delay: var(--imnexa-scene-delay, 0ms);
  }
  .imnexa-scene-reveal.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
  body.admin-ui .imnexa-scene-reveal { transform: translate3d(0, 8px, 0); transition-duration: 330ms; }
}
@media (prefers-reduced-motion: reduce) {
  .imnexa-scene-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.web-site .imnexa-scroll-reveal { opacity: 1; transform: none; transition: none; }
  body.web-site .public-faq details[open] > p { animation: none; }
  body.web-site .public-feature-grid .landing-feature,
  body.web-site .guide-step-grid li { transition: none; }
  body.web-site .public-feature-grid .landing-feature:hover,
  body.web-site .guide-step-grid li:hover { transform: none; }
}

/* Keep account navigation compact and make each selected section the page content. */
body.web-site .account-page { padding-block: 28px 56px; }
body.web-site .account-page > .public-page-heading {
  margin-block: 8px 18px;
  padding: clamp(18px, 2.5vw, 26px);
  border-radius: 16px;
}
body.web-site .account-page > .public-page-heading h1 {
  max-width: none;
  margin-block: 5px 7px;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.4;
}
body.web-site .account-page > .public-page-heading p { font-size: 14px; }
body.web-site .account-page .account-subscription-grid h2 { margin-block: 6px 10px; }

/* Keep the account menu inside the viewport and let Persian/phone text wrap. */
body.web-site .site-account-menu[open] > .site-account-dropdown {
  left: 12px;
  width: min(230px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
body.web-site .site-account-dropdown > :is(strong, small, a, button) {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
@media (prefers-reduced-motion: no-preference) {
  body.web-site .site-account-menu[open] > .site-account-dropdown {
    transform-origin: top right;
    animation: imnexa-account-menu-in 190ms cubic-bezier(.2, .7, .25, 1) both;
  }
  body.web-site .account-page .account-tabs a:hover { transform: translateY(-1px); }
  body.web-site .account-page .support-thread-content[open] > .support-message {
    animation: imnexa-support-message-in 220ms cubic-bezier(.2, .7, .25, 1) both;
  }
  body.admin-ui tbody tr { transition: background-color 160ms ease; }
}
@keyframes imnexa-account-menu-in {
  from { opacity: 0; transform: translateY(-4px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes imnexa-support-message-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 760px) {
  body.web-site .account-page { padding-block: 22px 40px; }
  body.web-site .account-page > .public-page-heading { margin-block: 8px 16px; padding: 18px 16px; }
}

/* Source: public/motion.css */
/* IMNEXA motion: one short entrance and small interaction feedback only. */
@media (prefers-reduced-motion: no-preference) {
  body.web-site > .topbar {
    animation: imnexa-header-enter 340ms cubic-bezier(.2, .7, .25, 1) both;
  }

  body.web-site #main-content > :first-child {
    animation: imnexa-content-enter 390ms cubic-bezier(.2, .7, .25, 1) 35ms both;
  }

  /* Chromium can leave this first-child panel unpainted after the filled entrance animation. */
  body.web-site #main-content.auth-login > .auth-story {
    animation: none;
  }

  body.web-site .site-announcement {
    animation: imnexa-content-enter 360ms cubic-bezier(.2, .7, .25, 1) 55ms both;
  }

  body.web-site .pwa-install-prompt:not([hidden]) {
    animation: imnexa-content-enter 320ms cubic-bezier(.2, .7, .25, 1) both;
  }

  body.web-site :where(.button, .small-cta, .account-link, .site-announcement-action, .pwa-install-action) {
    transition: transform 150ms ease, color 150ms ease, background-color 150ms ease, border-color 150ms ease;
  }

  body.web-site :where(.card, .plan, .landing-benefit-grid article, .feature-card, .feature-grid article) {
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
  }

  body.web-site .topbar nav a {
    position: relative;
  }

  body.web-site .topbar nav a::after {
    position: absolute;
    inset-inline: 0;
    inset-block-end: 2px;
    height: 2px;
    content: "";
    background: currentColor;
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 180ms ease;
  }

  body.web-site dialog[open] {
    animation: imnexa-dialog-enter 200ms cubic-bezier(.2, .7, .25, 1) both;
  }

  body.web-site dialog[open]::backdrop {
    animation: imnexa-backdrop-enter 180ms ease both;
  }

  body.web-site :where(button, .button, .small-cta, .account-link, .site-announcement-action, .pwa-install-action):active {
    transform: scale(.985);
  }
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  body.web-site .topbar nav a:hover::after,
  body.web-site .topbar nav a:focus-visible::after {
    transform: scaleX(1);
  }

  body.web-site :where(.button, .small-cta, .account-link, .site-announcement-action, .pwa-install-action):hover {
    transform: translateY(-1px);
  }

  body.web-site :where(.card, .plan, .landing-benefit-grid article, .feature-card, .feature-grid article):hover {
    transform: translateY(-2px);
  }
}

@keyframes imnexa-header-enter {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes imnexa-content-enter {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes imnexa-dialog-enter {
  from { opacity: 0; transform: translateY(5px) scale(.99); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes imnexa-backdrop-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Source: imnexa/unified-toolbar.css */
/* Compact shared navigation for IMNEXA public and account pages. */
.web-site > header.topbar.site-toolbar {
  position: relative; inset: auto; z-index: 50; width: min(1480px, calc(100% - 32px));
  min-height: 64px; margin: 10px auto 18px; padding: 7px clamp(10px, 1.5vw, 18px);
  display: flex; align-items: center; gap: clamp(8px, 1.1vw, 16px);
  color: var(--text, #202733); background: var(--panel, #fff);
  border: 1px solid var(--line, #dce1e8); border-radius: 14px;
  box-shadow: var(--shadow, 0 4px 20px #2634490a); animation: toolbar-arrive .28s ease-out both;
}
.web-site > header.topbar.site-toolbar .site-toolbar-identity { min-width: 0; flex: 0 0 auto; display: flex; align-items: center; }
.web-site > header.topbar.site-toolbar .brand { min-width: 0; min-height: 24px; margin: 0; display: inline-flex; align-items: center; }
.web-site > header.topbar.site-toolbar .brand img { display: block; width: clamp(92px, 8vw, 118px); max-width: 23vw; max-height: 34px; object-fit: contain; }
.web-site > header.topbar.site-toolbar .site-primary-nav {
  min-width: 0; margin-inline: auto; padding: 3px; display: flex; align-items: center; justify-content: center; gap: 2px;
  background: var(--soft, #f5f6f8); border: 1px solid var(--line, #dce1e8); border-radius: 11px;
}
.web-site > header.topbar.site-toolbar .site-primary-nav .nav-link {
  min-height: 40px; padding: 7px clamp(8px, 1vw, 14px); display: inline-flex; align-items: center; justify-content: center;
  color: var(--muted, #626c7b); border-radius: 8px; font-size: 12px; font-weight: 650; line-height: 1.5; text-decoration: none; white-space: nowrap;
  transition: color .16s ease, background-color .16s ease, transform .16s ease;
}
.web-site > header.topbar.site-toolbar .site-primary-nav .nav-link:hover { color: var(--text, #202733); background: var(--panel, #fff); }
.web-site > header.topbar.site-toolbar .site-primary-nav .nav-link[aria-current="page"] { color: #fff; background: #bd2638; font-weight: 800; }
.web-site > header.topbar.site-toolbar .toolbar-actions { min-width: 0; display: flex; align-items: center; gap: 7px; flex: 0 0 auto; }
.web-site > header.topbar.site-toolbar .toolbar-actions > .account-link,
.web-site > header.topbar.site-toolbar .toolbar-actions > .site-account-menu { display: none; }
.web-site > header.topbar.site-toolbar .site-account-menu { position: relative; flex: 0 1 auto; }
.web-site > header.topbar.site-toolbar .site-account-menu summary,
.web-site > header.topbar.site-toolbar .toolbar-actions > .small-cta {
  min-height: 38px; max-width: min(190px, 16vw); padding: 6px 11px; display: inline-flex; align-items: center; justify-content: center;
  overflow: hidden; color: var(--text, #202733); background: var(--panel, #fff); border: 1px solid var(--line, #dce1e8);
  border-radius: 9px; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap;
}
.web-site > header.topbar.site-toolbar .toolbar-actions > .small-cta { color: #fff; background: #bd2638; border-color: #bd2638; }
.web-site > header.topbar.site-toolbar .toolbar-actions > .small-cta:hover { background: #a91f31; }
.web-site > header.topbar.site-toolbar .header-actions { display: flex; align-items: center; gap: 6px; }
.web-site > header.topbar.site-toolbar .site-menu-toggle { display: none; flex: 0 0 auto; }
.web-site > header.topbar.site-toolbar .site-menu-toggle svg { width: 20px; height: 20px; }
.web-site .navigation-dialog .navigation-body .site-primary-nav { margin: 0; padding: 0; display: grid; gap: 7px; background: transparent; border: 0; }
.web-site .navigation-dialog .site-primary-nav .nav-link { min-height: 48px; padding: 11px 14px; justify-content: flex-start; color: var(--text, #202733); background: var(--panel, #fff); border: 1px solid var(--line, #dce1e8); border-radius: 11px; font-size: 14px; }
.web-site .navigation-dialog .site-primary-nav .nav-link[aria-current="page"] { color: #fff; background: #bd2638; border-color: #bd2638; }
.web-site .navigation-dialog .navigation-account-link { display: inline-flex; font-weight: 750; }
@keyframes toolbar-arrive { from { opacity: .75; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1100px) {
  .web-site > header.topbar.site-toolbar { width: calc(100% - 24px); min-height: 60px; margin-block: 8px 14px; gap: 8px; }
  .web-site > header.topbar.site-toolbar .site-primary-nav .nav-link { padding-inline: 9px; font-size: 11px; }
}
@media (max-width: 1000px) {
  .web-site > header.topbar.site-toolbar { min-height: 58px; }
  .web-site > header.topbar.site-toolbar .site-primary-nav { display: none; }
  .web-site > header.topbar.site-toolbar .site-menu-toggle { width: 40px; min-width: 40px; min-height: 40px; padding: 8px; display: grid; place-items: center; }
}
@media (max-width: 520px) {
  .web-site > header.topbar.site-toolbar { width: calc(100% - 16px); min-height: 54px; margin-block: 7px 10px; padding: 5px 7px; gap: 5px; border-radius: 12px; }
  .web-site > header.topbar.site-toolbar .brand img { width: clamp(78px, 23vw, 100px); max-height: 29px; }
  .web-site > header.topbar.site-toolbar .toolbar-actions { gap: 4px; }
  .web-site > header.topbar.site-toolbar .site-account-menu summary,
  .web-site > header.topbar.site-toolbar .toolbar-actions > .small-cta { min-height: 40px; max-width: 30vw; padding-inline: 8px; font-size: 10px; }
  .web-site > header.topbar.site-toolbar .header-actions { gap: 4px; }
}
@media (max-width: 380px) {
  .web-site > header.topbar.site-toolbar { width: calc(100% - 10px); padding-inline: 5px; gap: 3px; }
  .web-site > header.topbar.site-toolbar .brand img { width: 74px; }
}
@media (prefers-reduced-motion: reduce) {
  .web-site > header.topbar.site-toolbar { animation: none; }
  .web-site > header.topbar.site-toolbar .site-primary-nav .nav-link { transition: none; }
}

/* Source: imnexa/experience.css */
/* IMNEXA's shared editorial visual system. Local assets only; presentation rules only. */
body.web-site {
  --imnexa-canvas: #f3f1ec;
  --imnexa-surface: #fffefa;
  --imnexa-soft: #ece9e2;
  --imnexa-ink: #20272d;
  --imnexa-muted: #596777;
  --imnexa-line: #ddd9d1;
  --imnexa-brand: #b83d4b;
  --imnexa-brand-hover: #96303d;
  --imnexa-action: #b83d4b;
  --imnexa-action-hover: #96303d;
  --imnexa-brand-soft: #f7e7e8;
  --imnexa-good: #176b50;
  --imnexa-good-soft: #eaf4ee;
  --imnexa-hero: #1b252b;
  --imnexa-shadow: 0 8px 24px rgb(29 35 40 / 6%);
  --imnexa-shadow-raised: 0 18px 42px rgb(29 35 40 / 12%);
  --bg: var(--imnexa-canvas);
  --panel: var(--imnexa-surface);
  --surface: var(--imnexa-surface);
  --soft: var(--imnexa-soft);
  --text: var(--imnexa-ink);
  --ink: var(--imnexa-ink);
  --muted: var(--imnexa-muted);
  --line: var(--imnexa-line);
  --primary: var(--imnexa-brand);
  --primary2: var(--imnexa-brand-hover);
  --red: var(--imnexa-brand);
  --tint: var(--imnexa-brand-soft);
  --success: var(--imnexa-good);
  --good-bg: var(--imnexa-good-soft);
  background: var(--imnexa-canvas);
  color: var(--imnexa-ink);
}

@media (prefers-color-scheme: dark) {
  body.web-site:not([data-theme="light"]) {
    --imnexa-canvas: #141a1e;
    --imnexa-surface: #1d252a;
    --imnexa-soft: #263036;
    --imnexa-ink: #f0eee8;
    --imnexa-muted: #b5b8b5;
    --imnexa-line: #394348;
    --imnexa-brand: #ef7882;
    --imnexa-brand-hover: #f28a93;
    --imnexa-action: #bd4652;
    --imnexa-action-hover: #d65360;
    --imnexa-brand-soft: #38272b;
    --imnexa-good: #88d5b0;
    --imnexa-good-soft: #20352c;
    --imnexa-hero: #1b252b;
    --imnexa-shadow: 0 8px 24px rgb(0 0 0 / 18%);
    --imnexa-shadow-raised: 0 18px 42px rgb(0 0 0 / 28%);
    color-scheme: dark;
  }
}

body.web-site[data-theme="dark"] {
  --imnexa-canvas: #141a1e;
  --imnexa-surface: #1d252a;
  --imnexa-soft: #263036;
  --imnexa-ink: #f0eee8;
  --imnexa-muted: #b5b8b5;
  --imnexa-line: #394348;
  --imnexa-brand: #ef7882;
  --imnexa-brand-hover: #f28a93;
  --imnexa-action: #bd4652;
  --imnexa-action-hover: #d65360;
  --imnexa-brand-soft: #38272b;
  --imnexa-good: #88d5b0;
  --imnexa-good-soft: #20352c;
  --imnexa-hero: #1b252b;
  --imnexa-shadow: 0 8px 24px rgb(0 0 0 / 18%);
  --imnexa-shadow-raised: 0 18px 42px rgb(0 0 0 / 28%);
  color-scheme: dark;
}

body.admin-ui {
  --bg: #f3f1ec;
  --panel: #fffefa;
  --surface: #fffefa;
  --soft: #ece9e2;
  --text: #20272d;
  --ink: #20272d;
  --muted: #596777;
  --line: #ddd9d1;
  --primary: #b83d4b;
  --primary2: #96303d;
  --red: #b83d4b;
  --danger: #a52e3c;
  --success: #176b50;
  --tint: #f7e7e8;
  --good-bg: #eaf4ee;
  --glass: #fffefa;
  --shadow: 0 8px 24px rgb(29 35 40 / 6%);
  background: var(--bg);
  color: var(--text);
}

@media (prefers-color-scheme: dark) {
  body.admin-ui {
    --bg: #141a1e;
    --panel: #1d252a;
    --surface: #1d252a;
    --soft: #263036;
    --text: #f0eee8;
    --ink: #f0eee8;
    --muted: #b5b8b5;
    --line: #394348;
    --primary: #ef7882;
    --primary2: #f28a93;
    --red: #ef7882;
    --danger: #f28a93;
    --success: #88d5b0;
    --tint: #38272b;
    --good-bg: #20352c;
    --glass: #1d252a;
    --shadow: 0 8px 24px rgb(0 0 0 / 18%);
    color-scheme: dark;
  }
}

/* A quieter, more deliberate shared navigation and content rhythm. */
.web-site > header.topbar.site-toolbar {
  border-radius: 15px;
  box-shadow: 0 7px 22px rgb(17 24 29 / 7%);
  animation-duration: 180ms;
}

.web-site > header.topbar.site-toolbar .site-primary-nav {
  border-radius: 10px;
}

.web-site > header.topbar.site-toolbar {
  box-shadow: var(--imnexa-shadow);
}

.web-site .navigation-dialog,
.web-site .site-account-dropdown {
  border-color: var(--line);
  background: var(--panel);
  box-shadow: var(--imnexa-shadow-raised);
}

.web-site .button,
.web-site .small-cta,
.web-site .site-toolbar .nav-link,
.web-site .account-tabs a {
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

/* Compact editorial landing page with one clear product message. */
.web-site .imnexa-landing .landing-hero {
  width: min(1320px, calc(100% - 32px));
  min-height: 0;
  margin-block: 14px 18px;
  padding: clamp(30px, 5vw, 66px) clamp(22px, 5vw, 68px);
  border: 1px solid #455158;
  border-inline-start: 3px solid #cf5864;
  border-radius: 22px;
  background: var(--imnexa-hero);
  box-shadow: 0 20px 46px rgb(17 24 29 / 13%);
}

.web-site .imnexa-landing .landing-hero h1 {
  max-width: 23ch;
  margin-block: 16px 12px;
  color: #f5f2eb;
  font-size: clamp(34px, 4.2vw, 54px);
  line-height: 1.48;
  letter-spacing: -.035em;
}

.web-site .imnexa-landing .landing-hero-copy > p {
  max-width: 92ch;
  color: #d0d2ce;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 2;
}

.web-site .imnexa-landing .landing-eyebrow { color: #f0a1a5; }
.web-site .imnexa-landing .landing-hero-copy { max-width: 1080px; }
.web-site .imnexa-landing .landing-proof { gap: 7px; margin-block-start: 20px; }
.web-site .imnexa-landing .landing-proof span {
  padding: 7px 11px;
  color: #e5e3dd;
  background: #ffffff0b;
  border-color: #ffffff2b;
}

.web-site .imnexa-landing .landing-actions .button,
.web-site .landing-onboarding-actions .button,
.web-site .landing-webapp-inner .button,
.web-site .landing-final .button { border-radius: 10px; }

.web-site .imnexa-landing .landing-actions .button.primary,
.web-site .landing-onboarding-actions .button.primary,
.web-site .landing-webapp-inner .button.primary,
.web-site .landing-final .button.primary { background: #b83d4b; border-color: #b83d4b; }

.web-site .imnexa-landing .landing-actions .button.primary:hover,
.web-site .landing-onboarding-actions .button.primary:hover,
.web-site .landing-webapp-inner .button.primary:hover,
.web-site .landing-final .button.primary:hover { background: #96303d; border-color: #96303d; }

.web-site .landing-strip { background: #202a2f; }
.web-site .landing-strip-inner { gap: 22px; }
.web-site .landing-strip strong { color: #f4f1e9; font-weight: 700; }
.web-site .landing-section-heading { max-width: 760px; }
.web-site .landing-benefit-grid { gap: 14px; }
.web-site .landing-benefit-grid article {
  min-height: 190px;
  padding: clamp(19px, 2.3vw, 26px);
  background: var(--imnexa-surface);
  border-color: var(--imnexa-line);
  border-radius: 14px;
  box-shadow: var(--imnexa-shadow);
}
.web-site .landing-benefit-grid h3 { margin-block: 20px 7px; color: var(--imnexa-ink); }
.web-site .landing-benefit-grid p,
.web-site .landing-onboarding-steps p,
.web-site .landing-webapp-inner p,
.web-site .landing-final p { color: var(--imnexa-muted); }
.web-site .landing-onboarding {
  background: var(--imnexa-soft);
  border-color: var(--imnexa-line);
}
.web-site .landing-onboarding-steps li {
  background: var(--imnexa-surface);
  border-color: var(--imnexa-line);
  border-radius: 13px;
}
.web-site .landing-onboarding-steps h3,
.web-site .landing-onboarding-heading h2,
.web-site .landing-webapp-inner h2,
.web-site .landing-final h2 { color: var(--imnexa-ink); }
.web-site .landing-webapp { background: var(--imnexa-soft); border-color: var(--imnexa-line); }
.web-site .landing-final { padding-block: clamp(42px, 6vw, 72px); }

/* Public pages and account tabs share the same calm surface hierarchy. */
.web-site .public-page-heading,
.web-site .account-page > .public-page-heading {
  border-color: var(--imnexa-line);
  border-radius: 18px;
  box-shadow: var(--imnexa-shadow);
}
body.web-site .public-plans {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: clamp(16px, 2vw, 24px);
}
body.web-site .public-plans > .card {
  flex: 1 1 280px;
  max-width: min(100%, 360px);
}
.web-site .account-page { max-width: 1180px; }
.web-site .account-page .account-tabs {
  border-radius: 14px;
  box-shadow: var(--imnexa-shadow);
}
.web-site .account-page .account-tabs a { border-radius: 9px; }
.web-site .account-page .account-tabs a[aria-current="page"] {
  color: #fff;
  background: var(--imnexa-brand);
  border-color: var(--imnexa-brand);
}
.web-site .account-page .card,
.web-site .account-page .payment-follow-up-form {
  border-radius: 14px;
  box-shadow: var(--imnexa-shadow);
}
.web-site .status {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--soft);
  color: var(--muted);
  font-size: .82rem;
  font-weight: 650;
  line-height: 1.6;
}
.web-site .status.pending {
  color: #765312;
  background: #fff3d4;
  border-color: #e5d298;
}
.web-site .status.failed {
  color: var(--danger);
  background: var(--tint);
  border-color: color-mix(in srgb, var(--danger) 28%, var(--line));
}
@media (prefers-color-scheme: dark) {
  body.web-site:not([data-theme="light"]) .status.pending {
    color: #ffd788;
    background: #3e321b;
    border-color: #695528;
  }
}
body.web-site[data-theme="dark"] .status.pending {
  color: #ffd788;
  background: #3e321b;
  border-color: #695528;
}
.web-site .site-announcement {
  background: var(--imnexa-surface);
  border-color: var(--imnexa-line);
  border-inline-start: 3px solid var(--imnexa-brand);
  box-shadow: var(--imnexa-shadow);
}
.web-site .footer { border-color: var(--imnexa-line); }

/* Keep text readable in the shared dark footer and on theme-colored controls. */
body.web-site .footer-nav,
body.web-site .footer-nav a,
body.web-site .footer p,
body.web-site .footer small {
  color: #c2ccd7;
}

body.web-site .footer .footer-social > strong {
  color: #f1f4f7;
}

body.web-site .footer .footer-social a {
  color: #e9edf2;
  background: #252e38;
  border-color: #46515e;
}

body.web-site .footer .footer-social a:hover {
  color: #ffffff;
  background: #303b47;
  border-color: #ff9aa4;
}

.web-site .account-page .account-tabs a[aria-current="page"] {
  color: #ffffff;
  background: var(--imnexa-action);
  border-color: var(--imnexa-action);
}

.web-site .guide-step-grid li > span {
  color: #ffffff;
  background: var(--imnexa-action, var(--red, #b42332));
}

/* Management areas use the same ink, limestone and coral system. */
.admin-ui .sidebar {
  background: #182127;
  border-inline-end-color: #354148;
  backdrop-filter: none;
}
.admin-ui .sidebar .brand { border-block-end: 1px solid #354148; }
.admin-ui .sidebar .nav-group-title { color: #a9b4b5; }
.admin-ui .sidebar .nav a { border-radius: 9px; }
.admin-ui .sidebar .nav a[aria-current="page"] {
  color: #fff;
  background: #a93b48;
}
.admin-ui .main > .topbar {
  border-block-end-color: var(--line);
  background: var(--panel);
  box-shadow: 0 4px 18px rgb(0 0 0 / 4%);
  backdrop-filter: none;
}
.admin-ui .content { max-width: 1640px; }
.admin-ui .metric,
.admin-ui .panel {
  border-color: var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
}
.admin-ui .panel-head { align-items: flex-start; }
.admin-ui .panel-head h2,
.admin-ui .panel h2 { letter-spacing: -.015em; }
.admin-ui table { border-color: var(--line); }
.admin-ui tbody tr { transition: background-color 140ms ease; }
.admin-ui tbody tr:hover { background: var(--soft); }
.admin-ui .nav a:focus-visible { outline: 2px solid #f2a1a7; outline-offset: 2px; }

/* Public product navigation uses one active state across every page. */
body.web-site > header.topbar .site-primary-nav .nav-link,
body.web-site .navigation-dialog .site-primary-nav .nav-link {
  color: var(--imnexa-ink);
}
body.web-site > header.topbar .site-primary-nav .nav-link[aria-current="page"],
body.web-site .navigation-dialog .site-primary-nav .nav-link[aria-current="page"] {
  color: var(--imnexa-brand);
  background: var(--imnexa-brand-soft);
  border-color: color-mix(in srgb, var(--imnexa-brand) 28%, var(--imnexa-line));
  font-weight: 750;
}

/* Admin actions use one reliably readable coral across light and dark themes. */
body.admin-ui .btn.primary {
  color: #fff;
  background: #ad2434;
  border: 1px solid #ad2434;
  box-shadow: none;
}
body.admin-ui .btn.primary:hover {
  color: #fff;
  background: #8f1d2a;
  border-color: #8f1d2a;
}
.admin-ui :is(.btn, button, input[type="submit"], a[role="button"]) { box-shadow: none; }
.admin-ui :is(.btn, .menu-btn, .icon-button) { min-height: 44px; }
.admin-ui .btn.small { min-height: 40px; }
.admin-ui :is(.btn, button, input, select, textarea, a):focus-visible {
  outline: 3px solid #ef7882;
  outline-offset: 2px;
}

/* Sidebar labels and helper text stay readable without crowding dense tables. */
.admin-ui .sidebar .nav-group-title,
.admin-ui .sidebar .brand small,
.admin-ui .sidebar-foot,
.admin-ui .topbar p,
.admin-ui .adminbox small,
.admin-ui .metric small,
.admin-ui .panel-head p,
.admin-ui .table-wrap th,
.admin-ui td small,
.admin-ui .timeline-item p,
.admin-ui .timeline-item small,
.admin-ui .pagination,
.admin-ui .form-grid label,
.admin-ui .login-card label,
.admin-ui .login-note,
.admin-ui .eyebrow,
.admin-ui .security-label,
.admin-ui .secure-badge,
.admin-ui .badge:not(.large),
.admin-ui .mono {
  font-size: 13px;
}
.admin-ui .metric span { font-size: 13px; }
.admin-ui .metric small { font-size: 13px; }
.admin-ui .sidebar .nav-group-title { color: #c1cbd0; }
.admin-ui .sidebar-foot { color: #c1cbd0; }
.admin-ui .grid.two { align-items: start; }
.admin-ui .grid.two > .panel { min-width: 0; }
.admin-ui .timeline-empty {
  max-width: 34ch;
  margin: 4px 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--soft);
  line-height: 1.85;
}

/* Match Django's technical admin while retaining its built-in theme controls. */
.technical-admin {
  --primary: #b83d4b;
  --secondary: #96303d;
  --body-bg: #f3f1ec;
  --body-fg: #20272d;
    --body-quiet-color: #596777;
  --body-loud-color: #20272d;
  --darkened-bg: #ece9e2;
  --border-color: #ddd9d1;
  --hairline-color: #ddd9d1;
  --link-fg: #a33441;
  --link-selected-fg: #a33441;
  --link-hover-color: #812b36;
  --header-bg: #1b252b;
  --breadcrumbs-bg: #fffefa;
    --breadcrumbs-fg: #596777;
  --breadcrumbs-link-fg: #a33441;
  background: var(--body-bg);
}
.technical-admin #header { background: #1b252b; }
.technical-admin .module { border-radius: 13px; box-shadow: 0 7px 20px rgb(29 35 40 / 6%); }
.technical-admin .module h2,
.technical-admin .module caption { background: #263238; }
.technical-admin .submit-row,
.technical-admin .aligned .form-row { border-radius: 10px; }
.technical-admin :is(input[type=submit], button, .button) { border-radius: 8px; }
html[data-theme="dark"] .technical-admin {
  --body-bg: #141a1e;
  --body-fg: #f0eee8;
  --body-quiet-color: #b5b8b5;
  --body-loud-color: #f0eee8;
  --darkened-bg: #263036;
  --border-color: #394348;
  --hairline-color: #394348;
  --link-fg: #ef7882;
  --link-selected-fg: #ef7882;
  --link-hover-color: #f28a93;
  --breadcrumbs-bg: #1d252a;
  --breadcrumbs-fg: #b5b8b5;
  --breadcrumbs-link-fg: #ef7882;
}
@media (prefers-color-scheme: dark) {
  html[data-theme="auto"] .technical-admin {
    --body-bg: #141a1e;
    --body-fg: #f0eee8;
    --body-quiet-color: #b5b8b5;
    --body-loud-color: #f0eee8;
    --darkened-bg: #263036;
    --border-color: #394348;
    --hairline-color: #394348;
    --link-fg: #ef7882;
    --link-selected-fg: #ef7882;
    --link-hover-color: #f28a93;
    --breadcrumbs-bg: #1d252a;
    --breadcrumbs-fg: #b5b8b5;
    --breadcrumbs-link-fg: #ef7882;
  }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .web-site .button:hover,
  .web-site .account-page .account-tabs a:hover,
  .admin-ui .btn:hover { transform: translateY(-1px); }
}

@media (max-width: 1000px) {
  .web-site .imnexa-landing .landing-hero { width: calc(100% - 28px); }
  .web-site .landing-benefits { padding-block: 58px; }
}

@media (max-width: 760px) {
  .web-site .imnexa-landing .landing-hero { padding: 30px 22px; border-radius: 17px; }
  .web-site .landing-strip-inner { align-items: flex-start; flex-direction: column; gap: 5px; padding-block: 15px; }
  .web-site .landing-benefit-grid { grid-template-columns: minmax(0, 1fr); }
  .web-site .landing-benefit-grid article { min-height: 0; }
  .web-site .landing-benefit-grid h3 { margin-block-start: 12px; }
  .web-site .account-page .account-tabs a[aria-current="page"] { color: #fff; }
}

@media (max-width: 560px) {
  .web-site > header.topbar.site-toolbar { border-radius: 12px; }
  .web-site .imnexa-landing .landing-hero { width: calc(100% - 20px); margin-block: 8px 12px; padding: 24px 17px; border-radius: 15px; }
  .web-site .imnexa-landing .landing-hero h1 { margin-block: 13px 9px; font-size: clamp(27px, 7.2vw, 31px); line-height: 1.5; }
  .web-site .imnexa-landing .landing-hero-copy > p { font-size: 13px; line-height: 1.9; }
  .web-site .imnexa-landing .landing-actions { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .95fr); gap: 8px; margin-block-start: 15px; }
  .web-site .imnexa-landing .landing-actions .button { width: 100%; min-height: 46px; }
  .web-site .imnexa-landing .landing-access-note { font-size: 11px; }
  .web-site .imnexa-landing .landing-proof { display: none; }
  .web-site .landing-benefits { padding-block: 42px; }
  .web-site .landing-onboarding { padding-block: 38px; }
  .web-site .landing-onboarding-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .web-site .landing-onboarding-actions .button { width: 100%; }
  .web-site .landing-final { padding-block: 38px; }
}

@media (max-width: 380px) {
  .web-site .imnexa-landing .landing-actions { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .web-site .button,
  .web-site .small-cta,
  .web-site .site-toolbar .nav-link,
  .web-site .account-tabs a,
  .admin-ui tbody tr,
}

/* Small public navigation and helper labels remain readable on phones. */
body.web-site > header.topbar.site-toolbar .site-primary-nav .nav-link,
body.web-site > header.topbar.site-toolbar .site-account-menu summary.small-cta,
body.web-site .account-page .account-tabs a,
body.web-site .account-page .eyebrow,
body.web-site .footer small,
body.web-site .imnexa-landing .landing-access-note {
  font-size: 13px;
}
body.web-site > header.topbar.site-toolbar .site-account-menu summary.small-cta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Keep account identity and legal footer readable in the administration shell. */
body.admin-ui .adminbox strong { font-size: 13px; }
body.admin-ui .panel-legal small { font-size: 12px; line-height: 1.7; }

/* Give the shared footer the same clear hierarchy on wide screens and phones. */
.web-site .footer-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(22px, 3.5vw, 48px);
}
.web-site .footer-inner:not(.has-social-links) { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.web-site .footer-brand { max-width: 48ch; min-width: 0; display: grid; align-content: start; justify-items: start; gap: 7px; }
.web-site .footer-brand > strong { display: inline-block; margin-block-end: 8px; color: #f1f4f7; font-size: 1.12rem; letter-spacing: .04em; }
.web-site .footer-brand p { max-width: 44ch; line-height: 1.9; }
.web-site .footer-social { justify-self: center; min-width: 0; }
.web-site .footer-social > strong { display: block; margin-block-end: 3px; }
.web-site .footer-nav {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 4px 14px !important;
  min-width: 0;
}
.web-site .footer-nav a {
  min-width: 0;
  min-height: 44px !important;
  padding: 6px 0;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

/* Standalone informational links remain easy to tap at WCAG 2.2 AA target size. */
.web-site .plan-policy > a,
.web-site .legal-copy + a { min-height: 24px; display: inline-flex; align-items: center; }
.web-site .account-page .account-home-link,
.web-site .account-page a[href="/plans/"],
.web-site .account-page a[href="/contact/"] { min-height: 28px; display: inline-flex; align-items: center; }
.web-site .footer a:focus-visible { outline: 2px solid #ff9aa4; outline-offset: 3px; border-radius: 6px; }

/* Keep links in Django's technical-admin index and user tools usable without a mouse. */
body.technical-admin #user-tools a { display: inline-flex; align-items: center; min-height: 28px; }
body.technical-admin #user-tools button { min-width: 44px; min-height: 36px; padding: 6px 10px; }
body.technical-admin #content-main .module a { display: inline-flex; align-items: center; min-height: 28px; }
@media (min-width: 641px) and (max-width: 900px) {
  .web-site .footer-inner,
  .web-site .footer-inner:not(.has-social-links) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; }
  .web-site .footer-inner > .footer-nav { grid-column: 1 / -1; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .web-site .footer-social { justify-self: end; }
}
@media (max-width: 640px) {
  .web-site .footer { padding-block: 28px; }
  .web-site .footer-inner,
  .web-site .footer-inner:not(.has-social-links) { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .web-site .footer-brand { max-width: none; }
  .web-site .footer-social { justify-self: stretch; }
  .web-site .footer-social > div { grid-template-columns: repeat(auto-fit, minmax(min(100%, 132px), 1fr)); }
  .web-site .footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 16px !important; }
}
