@font-face {
  font-display: swap;
  font-family: CeraPro;
  font-style: normal;
  font-weight: 300;
  src: url("index-v2/fonts/CeraPro-Light.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: CeraPro;
  font-style: normal;
  font-weight: 400;
  src: url("index-v2/fonts/CeraPro-Regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: CeraPro;
  font-style: normal;
  font-weight: 500;
  src: url("index-v2/fonts/CeraPro-Medium.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: CeraPro;
  font-style: normal;
  font-weight: 700;
  src: url("index-v2/fonts/CeraPro-Bold.woff2") format("woff2");
}

/*
 * Exalta Pay — Frontend V2
 * Editorial fintech interface inspired by the InfinitePay visual language.
 * Every structural rule is scoped to .frontend-v2 so V1 stays untouched.
 */

/* Version picker is intentionally shared by V1 and V2. */
.frontend-theme-picker {
  border: 0;
  margin: 0 0 24px;
  padding: 0;
}

.frontend-theme-picker legend {
  color: inherit;
  font-size: 15px;
  font-weight: 750;
  margin-bottom: 4px;
  padding: 0;
}

.frontend-theme-picker > p {
  color: var(--muted, #747788);
  font-size: 12px;
  margin: 0 0 14px;
}

.frontend-theme-options {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.frontend-theme-option {
  align-items: center;
  background: rgba(127, 127, 127, .045);
  border: 1px solid rgba(127, 127, 127, .22);
  border-radius: 16px;
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: 78px minmax(0, 1fr) 24px;
  min-height: 94px;
  padding: 12px;
  position: relative;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.frontend-theme-option:hover {
  border-color: rgba(139, 92, 246, .58);
  transform: translateY(-1px);
}

.frontend-theme-option:has(input:checked) {
  border-color: #8b45ff;
  box-shadow: 0 0 0 3px rgba(139, 69, 255, .11);
}

.frontend-theme-option input {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.frontend-theme-preview {
  background: #f3f3f3;
  border: 1px solid rgba(24, 25, 32, .1);
  border-radius: 9px;
  display: grid;
  gap: 4px;
  grid-template-columns: 18px 1fr 1fr;
  grid-template-rows: 12px 1fr;
  height: 58px;
  overflow: hidden;
  padding: 5px;
}

.frontend-theme-preview i {
  background: #17171a;
  border-radius: 3px;
  grid-row: 1 / 3;
}

.frontend-theme-preview b {
  background: #fff;
  border-radius: 3px;
  display: block;
}

.frontend-theme-preview b:first-of-type { grid-column: 2 / 4; }
.frontend-theme-preview-v1 { background: #111827; }
.frontend-theme-preview-v1 i { background: #05070d; }
.frontend-theme-preview-v1 b { background: #202737; }
.frontend-theme-preview-v2 { background: #f8f8f6; }
.frontend-theme-preview-v2 i { background: #fff; }
.frontend-theme-preview-v2 b:first-of-type { background: #adff00; }
.frontend-theme-preview-v2 b:nth-of-type(2) { background: #eee7ff; }
.frontend-theme-preview-v2 b:nth-of-type(3) { background: #f2f2f0; }

.frontend-theme-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.frontend-theme-copy strong { font-size: 13px; }
.frontend-theme-copy small { color: var(--muted, #747788); font-size: 11px; line-height: 1.45; }

.frontend-theme-check {
  align-items: center;
  background: rgba(127, 127, 127, .11);
  border-radius: 50%;
  color: transparent;
  display: flex;
  font-size: 12px;
  height: 21px;
  justify-content: center;
  width: 21px;
}

.frontend-theme-option:has(input:checked) .frontend-theme-check {
  background: #8b45ff;
  color: #fff;
}

/* --------------------------------------------------------------------------
   Dashboard shell
   -------------------------------------------------------------------------- */

body.dashboard-body.frontend-v2 {
  --v2-ink: #33384f;
  --v2-black: #080808;
  --v2-muted: #717382;
  --v2-line: #e5e5e2;
  --v2-soft: #f6f6f4;
  --v2-soft-2: #efefec;
  --v2-white: #ffffff;
  --v2-lime: #a7ff00;
  --v2-lime-strong: #91ed00;
  --v2-purple: #8247ff;
  --v2-purple-soft: #eee6ff;
  --v2-peach: #fff0d7;
  background: #fafaf9 !important;
  color: var(--v2-ink) !important;
  font-family: CeraPro, Arial, sans-serif;
  letter-spacing: -.012em;
}

.frontend-v2 .dashboard-main { animation: none !important; }

@media (min-width: 769px) {
  body.dashboard-body.frontend-v2 {
    display: grid !important;
    grid-template-columns: 264px minmax(0, 1fr) !important;
  }

  body.dashboard-body.frontend-v2 > .sidebar {
    background: var(--v2-white) !important;
    border-right: 1px solid var(--v2-line) !important;
    box-shadow: none !important;
    height: 100vh !important;
    max-width: 264px !important;
    padding: 22px 16px 18px !important;
    width: 264px !important;
  }

  body.dashboard-body.frontend-v2 > .dashboard-main {
    background: #fafaf9 !important;
    padding: 0 38px 52px !important;
  }
}

.frontend-v2 .sidebar {
  color: var(--v2-ink) !important;
}

.frontend-v2 .dashboard-brand {
  align-items: center;
  border-bottom: 1px solid var(--v2-line);
  display: flex;
  height: 48px;
  justify-content: flex-start;
  margin: 0 6px 20px;
  padding: 0 4px 18px;
}

.frontend-v2 .brand-logo-dashboard {
  filter: none !important;
  height: 28px !important;
  max-width: 156px !important;
  object-fit: contain;
  object-position: left center;
  width: auto !important;
}

.frontend-v2 .sidebar-nav {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 3px;
  overflow-y: auto;
  padding: 0 2px 12px;
  scrollbar-width: thin;
}

.frontend-v2 .sidebar-nav button,
.frontend-v2 .sidebar-nav .sidebar-nav-link {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  color: #686b76 !important;
  display: flex;
  font-size: 12.5px !important;
  font-weight: 580 !important;
  gap: 11px !important;
  min-height: 41px;
  padding: 10px 12px !important;
  position: relative;
  text-align: left;
  transition: background .18s ease, color .18s ease, transform .18s ease !important;
  width: 100%;
}

.frontend-v2 .sidebar-nav button svg,
.frontend-v2 .sidebar-nav .sidebar-nav-link svg {
  height: 17px;
  opacity: .78;
  stroke-width: 1.8;
  width: 17px;
}

.frontend-v2 .sidebar-nav button:hover,
.frontend-v2 .sidebar-nav .sidebar-nav-link:hover {
  background: var(--v2-soft) !important;
  color: var(--v2-black) !important;
  transform: translateX(2px);
}

.frontend-v2 .sidebar-nav button.active {
  background: var(--v2-lime) !important;
  color: #111 !important;
  font-weight: 700 !important;
}

.frontend-v2 .sidebar-nav button.active::after {
  background: #111;
  border-radius: 99px;
  content: '';
  height: 5px;
  position: absolute;
  right: 13px;
  width: 5px;
}

.frontend-v2 .sidebar-nav button.active svg { opacity: 1; }

.frontend-v2 .sidebar-footer {
  border-top: 1px solid var(--v2-line) !important;
  margin-top: auto !important;
  padding: 14px 3px 0 !important;
}

.frontend-v2 .sidebar-logout {
  border-radius: 10px !important;
  color: #777984 !important;
  font-size: 12px !important;
  padding: 10px 12px !important;
}

.frontend-v2 .sidebar-logout:hover { background: #fff1f1 !important; color: #d63333 !important; }

.frontend-v2 .dashboard-header {
  align-items: center !important;
  background: rgba(250, 250, 249, .9) !important;
  border-bottom: 1px solid var(--v2-line) !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  margin: 0 -38px 34px !important;
  min-height: 88px;
  padding: 17px 38px !important;
  position: sticky;
  top: 0;
  z-index: 8;
  backdrop-filter: blur(18px);
}

.frontend-v2 .dashboard-header > div:first-child { flex: 1 1 auto; min-width: 0; width: auto !important; }

.frontend-v2 .dashboard-header .eyebrow,
.frontend-v2 .panel-header .eyebrow,
.frontend-v2 .settings-panel-header .eyebrow,
.frontend-v2 .dashboard-section > .eyebrow {
  color: var(--v2-purple) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
}

.frontend-v2 .dashboard-header h1 {
  color: var(--v2-ink) !important;
  font-size: clamp(23px, 2.1vw, 31px) !important;
  font-weight: 620 !important;
  letter-spacing: -.045em !important;
  line-height: 1.08 !important;
  margin: 3px 0 0 !important;
}

.frontend-v2 .dashboard-header p {
  color: var(--v2-muted) !important;
  font-size: 11.5px !important;
  margin: 4px 0 0 !important;
}

.frontend-v2 .dashboard-actions { align-items: center; flex: 0 0 auto; gap: 9px !important; }

.frontend-v2 .theme-toggle,
.frontend-v2 .dash-menu-btn {
  align-items: center;
  background: var(--v2-white) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  color: var(--v2-ink) !important;
  display: inline-flex;
  height: 39px !important;
  justify-content: center;
  padding: 0 !important;
  width: 39px !important;
}

.frontend-v2 .button,
.frontend-v2 button.button,
.frontend-v2 a.button {
  border-radius: 999px !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em;
  min-height: 41px;
  padding: 0 19px !important;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.frontend-v2 .button:hover { transform: translateY(-1px); }

.frontend-v2 .button-primary,
.frontend-v2 button.button-primary {
  background: var(--v2-lime) !important;
  border-color: var(--v2-lime) !important;
  color: #090909 !important;
}

.frontend-v2 .button-primary:hover,
.frontend-v2 button.button-primary:hover {
  background: var(--v2-lime-strong) !important;
  box-shadow: 0 8px 20px rgba(119, 201, 0, .18) !important;
}

.frontend-v2 .profile-button {
  background: var(--v2-white) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: var(--v2-ink) !important;
  min-height: 41px !important;
  padding: 4px 12px 4px 5px !important;
}

.frontend-v2 .profile-button > span {
  background: var(--v2-purple-soft) !important;
  border-radius: 50% !important;
  height: 31px !important;
  padding: 5px !important;
  width: 31px !important;
}

.frontend-v2 .profile-button strong { font-size: 11.5px !important; }
.frontend-v2 .profile-dropdown {
  background: var(--v2-white) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 45px rgba(27, 28, 38, .12) !important;
  padding: 7px !important;
}

.frontend-v2 .profile-dropdown-item { border-radius: 9px !important; color: var(--v2-ink) !important; }

/* Content cards and data surfaces */
.frontend-v2 .notice {
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  margin-bottom: 22px !important;
}

.frontend-v2 .dashboard-section { color: var(--v2-ink); }

.frontend-v2 .dashboard-grid {
  display: grid !important;
  gap: 1px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin-bottom: 30px !important;
  overflow: hidden;
}

.frontend-v2 .metric-card {
  background: var(--v2-soft) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 158px;
  padding: 24px !important;
  position: relative;
}

.frontend-v2 .metric-card:first-child { border-radius: 18px 0 0 18px !important; }
.frontend-v2 .metric-card:last-child { border-radius: 0 18px 18px 0 !important; }
.frontend-v2 .metric-card + .metric-card::before {
  background: #d6d6d2;
  content: '';
  height: calc(100% - 44px);
  left: 0;
  position: absolute;
  top: 22px;
  width: 1px;
}

.frontend-v2 .metric-card span {
  color: #5f6271 !important;
  font-size: 10px !important;
  font-weight: 750 !important;
  letter-spacing: .08em !important;
  margin-bottom: 22px !important;
  text-transform: uppercase;
}

.frontend-v2 .metric-card strong {
  color: var(--v2-ink) !important;
  font-size: clamp(22px, 2.25vw, 32px) !important;
  font-weight: 590 !important;
  letter-spacing: -.055em !important;
  line-height: 1.05;
}

.frontend-v2 .metric-card small { color: #83858d !important; font-size: 10.5px !important; }

.frontend-v2 .dashboard-columns {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: minmax(0, 1.48fr) minmax(290px, .52fr) !important;
}

.frontend-v2 .workspace-panel,
.frontend-v2 .verification-alert,
.frontend-v2 .settings-summary-panel,
.frontend-v2 .settings-panel,
.frontend-v2 .verification-card {
  background: var(--v2-white) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  color: var(--v2-ink) !important;
}

.frontend-v2 .dashboard-body .workspace-panel,
.frontend-v2.dashboard-body .workspace-panel:not(.settings-panel):not(.layout-settings-card):not(.verification-card):not(.settings-summary-panel),
.frontend-v2 .workspace-panel:not(.settings-panel):not(.layout-settings-card):not(.verification-card):not(.settings-summary-panel) {
  border-radius: 18px !important;
  padding: 25px !important;
}

.frontend-v2 .panel-header { align-items: flex-start !important; margin-bottom: 24px !important; }
.frontend-v2 .panel-header h2,
.frontend-v2 .settings-panel-header h2,
.frontend-v2 .dashboard-section h2 {
  color: var(--v2-ink) !important;
  font-size: 20px !important;
  font-weight: 620 !important;
  letter-spacing: -.04em !important;
}

.frontend-v2 .panel-header > strong { color: var(--v2-ink) !important; font-size: 17px !important; font-weight: 600 !important; }

.frontend-v2 .chart-panel { min-height: 340px !important; }
.frontend-v2 .line-chart {
  align-items: flex-end;
  background: linear-gradient(180deg, #fafafa 0%, #f5f5f2 100%) !important;
  border: 0 !important;
  border-radius: 14px !important;
  gap: 7px !important;
  height: 246px !important;
  padding: 24px 20px 16px !important;
}

.frontend-v2 .line-chart::before {
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 48px, rgba(80, 82, 92, .08) 49px);
  border-radius: inherit;
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.frontend-v2 .line-chart span {
  background: linear-gradient(180deg, var(--v2-lime), #8fe600) !important;
  border-radius: 5px 5px 2px 2px !important;
  box-shadow: none !important;
  min-height: 4px;
  position: relative;
}

.frontend-v2 .actions-panel {
  background: var(--v2-black) !important;
  border-color: var(--v2-black) !important;
}

.frontend-v2 .actions-panel .panel-header h2 { color: #fff !important; }
.frontend-v2 .actions-panel .eyebrow { color: var(--v2-lime) !important; }
.frontend-v2 .quick-actions-grid { gap: 8px !important; }

.frontend-v2 .qa-card {
  background: #1b1b1b !important;
  border: 1px solid #2b2b2b !important;
  border-radius: 13px !important;
  color: #fff !important;
  padding: 13px !important;
}

.frontend-v2 .qa-card:hover { background: #242424 !important; border-color: #414141 !important; transform: translateX(2px); }
.frontend-v2 .qa-icon-wrap { background: #292929 !important; color: var(--v2-lime) !important; }
.frontend-v2 .qa-text strong { color: #fff !important; }
.frontend-v2 .qa-text small { color: #929292 !important; }
.frontend-v2 .qa-arrow { color: var(--v2-lime) !important; }

.frontend-v2 .verification-alert {
  align-items: center;
  background: var(--v2-purple-soft) !important;
  border-color: transparent !important;
  margin-bottom: 22px;
  padding: 23px 25px !important;
}

/* Forms, tables, tabs */
.frontend-v2 input,
.frontend-v2 select,
.frontend-v2 textarea {
  background: #f7f7f5 !important;
  border: 1px solid #deded9 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  color: var(--v2-ink) !important;
  font-family: inherit;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.frontend-v2 input:focus,
.frontend-v2 select:focus,
.frontend-v2 textarea:focus {
  background: #fff !important;
  border-color: var(--v2-purple) !important;
  box-shadow: 0 0 0 3px rgba(130, 71, 255, .11) !important;
}

.frontend-v2 label,
.frontend-v2 .settings-field > span { color: #555968 !important; }

.frontend-v2 .table-wrap {
  border: 1px solid var(--v2-line) !important;
  border-radius: 13px !important;
  overflow: auto;
}

.frontend-v2 table { background: #fff !important; border-collapse: collapse !important; color: var(--v2-ink) !important; }
.frontend-v2 thead { background: #f5f5f2 !important; }
.frontend-v2 th {
  border-bottom: 1px solid var(--v2-line) !important;
  color: #777986 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}
.frontend-v2 td { border-bottom: 1px solid #ececea !important; color: #4d5060 !important; font-size: 11.5px !important; }
.frontend-v2 tbody tr:hover { background: #fbfbf7 !important; }
.frontend-v2 .table-muted { color: #8b8d96 !important; }

.frontend-v2 .status-badge {
  border: 0 !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  font-weight: 750 !important;
  padding: 5px 9px !important;
}

.frontend-v2 .settings-tabs {
  background: transparent !important;
  border-bottom: 1px solid var(--v2-line) !important;
  display: flex !important;
  gap: 24px !important;
  margin-bottom: 23px !important;
  overflow-x: auto;
  padding: 0 !important;
}

.frontend-v2 .settings-tabs button {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: #7b7d87 !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  padding: 0 1px 13px !important;
  white-space: nowrap;
}

.frontend-v2 .settings-tabs button.active {
  border-bottom-color: var(--v2-purple) !important;
  color: var(--v2-ink) !important;
}

.frontend-v2 .settings-panel,
.frontend-v2 .layout-settings-card,
.frontend-v2 .verification-card { padding: 28px !important; }

.frontend-v2 .settings-panel-header {
  border-bottom: 1px solid var(--v2-line) !important;
  margin-bottom: 24px !important;
  padding-bottom: 20px !important;
}

.frontend-v2 .settings-panel-header p { color: var(--v2-muted) !important; }
.frontend-v2 .settings-status { background: var(--v2-lime) !important; color: #111 !important; }
.frontend-v2 .brand-stage { background: #080808 !important; border: 0 !important; border-radius: 16px !important; }
.frontend-v2 .brand-stage-top,
.frontend-v2 .brand-preview-footer { color: #aaa !important; }
.frontend-v2 .logo-preview { background: #181818 !important; border-color: #292929 !important; }
.frontend-v2 .file-upload-card { background: #f7f7f5 !important; border-color: #dadad6 !important; }
.frontend-v2 .settings-actions { border-top-color: var(--v2-line) !important; }

.frontend-v2 .frontend-theme-option { background: #fafaf8; border-color: var(--v2-line); }
.frontend-v2 .frontend-theme-option:has(input:checked) { border-color: var(--v2-purple); }

/* Modal and API surfaces */
.frontend-v2 dialog::backdrop { background: rgba(10, 10, 10, .58) !important; backdrop-filter: blur(4px); }
.frontend-v2 dialog,
.frontend-v2 .modal-card,
.frontend-v2 .profile-modal-inner,
.frontend-v2 .fee-modal-card {
  background: #fff !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 20px !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .2) !important;
  color: var(--v2-ink) !important;
}

.frontend-v2 .api-workspace,
.frontend-v2 .api-code-card,
.frontend-v2 .code-block,
.frontend-v2 pre {
  background: #111 !important;
  border-color: #2c2c2c !important;
  color: #e7e7e7 !important;
}

.frontend-v2 code { color: var(--v2-lime) !important; }

/* --------------------------------------------------------------------------
   V2 dark preference — separate from the structural version setting.
   -------------------------------------------------------------------------- */

body.dashboard-body.frontend-v2.theme-dark {
  --v2-ink: #f2f2f0;
  --v2-muted: #a2a2a5;
  --v2-line: #2b2b2b;
  --v2-soft: #1a1a1a;
  --v2-soft-2: #232323;
  --v2-white: #121212;
  background: #0b0b0b !important;
  color: #f2f2f0 !important;
}

@media (min-width: 769px) {
  body.dashboard-body.frontend-v2.theme-dark > .dashboard-main { background: #0b0b0b !important; }
}

.frontend-v2.theme-dark .dashboard-header { background: rgba(11, 11, 11, .9) !important; }
.frontend-v2.theme-dark .metric-card { background: #171717 !important; }
.frontend-v2.theme-dark .metric-card + .metric-card::before { background: #333 !important; }
.frontend-v2.theme-dark .metric-card span,
.frontend-v2.theme-dark .metric-card small { color: #999 !important; }
.frontend-v2.theme-dark input,
.frontend-v2.theme-dark select,
.frontend-v2.theme-dark textarea { background: #1a1a1a !important; border-color: #343434 !important; color: #f2f2f0 !important; }
.frontend-v2.theme-dark table { background: #121212 !important; }
.frontend-v2.theme-dark thead { background: #1b1b1b !important; }
.frontend-v2.theme-dark td { border-bottom-color: #292929 !important; color: #d3d3d3 !important; }
.frontend-v2.theme-dark tbody tr:hover { background: #181818 !important; }
.frontend-v2.theme-dark .line-chart { background: linear-gradient(180deg, #1a1a1a, #141414) !important; }
.frontend-v2.theme-dark .frontend-theme-option { background: #181818; }
.frontend-v2.theme-dark dialog,
.frontend-v2.theme-dark .modal-card,
.frontend-v2.theme-dark .profile-modal-inner,
.frontend-v2.theme-dark .fee-modal-card { background: #141414 !important; color: #f2f2f0 !important; }

/* --------------------------------------------------------------------------
   Authentication V2
   -------------------------------------------------------------------------- */

.v2-auth-showcase,
.v2-auth-form-heading { display: none; }

body.sigilo-auth-body.frontend-v2 {
  --v2-auth-ink: #24283a;
  --v2-auth-muted: #6f7382;
  --v2-auth-soft: #f1f1ef;
  --v2-auth-line: #ddddda;
  --v2-lime: #a8ff00;
  --v2-purple: #8147ff;
  background: radial-gradient(circle at 72% 42%, #fff 0, #fbfaf7 44%, #f7f6f2 100%) !important;
  color: var(--v2-auth-ink) !important;
  display: grid !important;
  grid-template-columns: minmax(500px, 1.13fr) minmax(480px, .87fr) !important;
  min-height: 100vh;
  overflow-x: hidden;
  padding: 0 !important;
  position: relative;
  font-family: CeraPro, Arial, sans-serif;
}

body.sigilo-auth-body.frontend-v2::before,
body.sigilo-auth-body.frontend-v2::after {
  content: none !important;
  display: none !important;
}

.frontend-v2 .v2-auth-showcase {
  background: #080808;
  color: #fff;
  display: flex;
  flex-direction: column;
  grid-column: 1;
  grid-row: 1;
  height: 100vh;
  isolation: isolate;
  justify-content: flex-end;
  overflow: hidden;
  padding: clamp(34px, 4vw, 66px);
  padding-bottom: clamp(50px, 5vw, 81px);
  position: sticky;
  top: 0;
}
.frontend-v2 .v2-auth-showcase::before {
  background: #181818;
  clip-path: polygon(100% 0, 100% 100%, 18% 100%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: -2;
}
.frontend-v2 .v2-auth-showcase::after {
  background: linear-gradient(180deg, transparent 15%, rgba(8, 8, 8, .04) 45%, rgba(8, 8, 8, .7) 100%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}
.frontend-v2 .v2-auth-showcase-brand {
  align-items: center;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 12px;
  display: flex;
  height: 48px;
  left: clamp(34px, 4vw, 66px);
  overflow: hidden;
  position: absolute;
  top: clamp(28px, 3vw, 48px);
  width: 172px;
  z-index: 2;
}
.frontend-v2 .v2-auth-showcase-brand img,
.frontend-v2 .sigilo-logo-full-img {
  display: block !important;
  height: auto !important;
  max-height: 100% !important;
  max-width: 100% !important;
  object-fit: contain;
  position: relative;
  width: auto !important;
  z-index: 1;
}
.frontend-v2 .v2-auth-showcase-brand img[src$="logologin.png"],
.frontend-v2 .sigilo-logo-full-img[src$="logologin.png"] {
  height: auto !important;
  left: 50%;
  max-height: none !important;
  max-width: none !important;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) !important;
  width: 245px !important;
}
.frontend-v2 .v2-auth-showcase-brand img[src$="logologin.png"] { filter: contrast(1.08) saturate(1.15); }
.frontend-v2 .sigilo-logo-full-img[src$="logologin.png"] { filter: brightness(.52) contrast(1.28) saturate(1.45) !important; }
.frontend-v2.theme-dark .sigilo-logo-full-img[src$="logologin.png"] { filter: contrast(1.08) saturate(1.15) !important; }
.frontend-v2 .v2-auth-showcase-brand::before,
.frontend-v2 .sigilo-logo-link-full::before {
  content: none;
  display: none;
}
.frontend-v2 .v2-auth-showcase-brand::after,
.frontend-v2 .sigilo-logo-link-full::after {
  content: none;
  display: none;
}
.frontend-v2 .v2-auth-art { inset: 0; pointer-events: none; position: absolute; z-index: -1; }
.frontend-v2 .v2-auth-medallion {
  border-radius: 50%;
  height: clamp(190px, 13.8vw, 236px);
  mix-blend-mode: screen;
  object-fit: contain;
  position: absolute;
  top: clamp(76px, 10.3vh, 105px);
  width: clamp(190px, 13.8vw, 236px);
}
.frontend-v2 .v2-auth-medallion-pix { left: clamp(62px, 7.2vw, 120px); }
.frontend-v2 .v2-auth-medallion-growth { right: clamp(82px, 8vw, 135px); }
.frontend-v2 .v2-auth-ring {
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 50%;
  height: 330px;
  position: absolute;
  right: -175px;
  top: 38%;
  width: 330px;
}
.frontend-v2 .v2-auth-card-float {
  backdrop-filter: blur(9px);
  background: rgba(255, 255, 255, .075);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 16px;
  position: absolute;
  transform: rotate(-9deg);
}
.frontend-v2 .v2-auth-card-float::before,
.frontend-v2 .v2-auth-card-float::after { background: rgba(255, 255, 255, .2); border-radius: 999px; content: ''; left: 18px; position: absolute; }
.frontend-v2 .v2-auth-card-float::before { height: 7px; top: 19px; width: 42%; }
.frontend-v2 .v2-auth-card-float::after { bottom: 19px; height: 5px; width: 64%; }
.frontend-v2 .v2-auth-card-float-one { height: 96px; right: 12%; top: 42%; width: 158px; }
.frontend-v2 .v2-auth-card-float-two { height: 78px; right: 32%; top: 36%; transform: rotate(8deg); width: 128px; }
.frontend-v2 .v2-auth-showcase-copy { max-width: 610px; position: relative; z-index: 2; }
.frontend-v2 .v2-auth-eyebrow {
  color: var(--v2-lime);
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .15em;
  margin-bottom: 18px;
  text-transform: uppercase;
}
.frontend-v2 .v2-auth-showcase-copy h2 {
  color: #fff;
  font-size: clamp(44px, 3.7vw, 62px);
  font-weight: 500;
  letter-spacing: -.065em;
  line-height: .94;
  margin: 0;
}
.frontend-v2 .v2-auth-showcase-copy h2 em { color: var(--v2-lime); font-style: normal; }
.frontend-v2 .v2-auth-showcase-copy p { color: #b7b7b3; font-size: 17px; line-height: 1.55; margin: 25px 0 0; max-width: 520px; }
.frontend-v2 .v2-auth-trust { display: flex; flex-wrap: wrap; gap: 18px 25px; margin-top: 38px; position: relative; z-index: 2; }
.frontend-v2 .v2-auth-trust span { align-items: center; color: #d6d6d2; display: inline-flex; font-size: 13px; gap: 8px; }
.frontend-v2 .v2-auth-trust i { background: var(--v2-lime); border-radius: 50%; box-shadow: 0 0 0 4px rgba(168, 255, 0, .1); height: 6px; width: 6px; }
.frontend-v2 .v2-auth-form-heading { display: block; margin: 0 0 18px; text-align: left; width: 100%; }
.frontend-v2 .v2-auth-form-heading span { color: var(--v2-purple); display: block; font-size: 12px; font-weight: 700; letter-spacing: .13em; margin-bottom: 8px; text-transform: uppercase; }
.frontend-v2 .v2-auth-form-heading h1 { color: var(--v2-auth-ink); font-size: 34px; font-weight: 500; letter-spacing: -.05em; line-height: 1.05; margin: 0; }
.frontend-v2 .v2-auth-form-heading p { color: var(--v2-auth-muted); font-size: 14px; line-height: 1.5; margin: 8px 0 0; }

.frontend-v2 .sigilo-top-bar {
  align-items: center;
  display: flex;
  gap: 8px;
  position: fixed !important;
  right: 22px !important;
  top: 20px !important;
  z-index: 4;
}

.frontend-v2 .sigilo-settings-btn {
  align-items: center;
  background: #fff !important;
  border: 1px solid #dededb !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  color: #323544 !important;
  display: flex;
  height: 38px !important;
  justify-content: center;
  transition: border-color .2s ease, color .2s ease, transform .2s ease !important;
  width: 38px !important;
}
.frontend-v2 .sigilo-settings-btn:hover { border-color: var(--v2-purple) !important; color: var(--v2-purple) !important; transform: translateY(-1px); }

.frontend-v2 .sigilo-auth-main {
  align-self: center;
  background: transparent !important;
  box-sizing: border-box;
  box-shadow: none !important;
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  max-width: 490px !important;
  padding: 76px 38px 54px !important;
  text-align: left !important;
  width: min(100%, 490px) !important;
}

.frontend-v2.auth-register-page .sigilo-auth-main {
  max-width: 440px !important;
  padding-left: 42px !important;
  padding-right: 42px !important;
  transform: translate(-18px, -8px);
  width: min(100%, 440px) !important;
}
.frontend-v2.auth-register-page .v2-auth-form-heading { margin-bottom: 15px; }
.frontend-v2.auth-register-page .sigilo-logo-wrap { margin-bottom: 15px !important; }
.frontend-v2.auth-register-page .v2-auth-form-heading h1 { font-size: 30px; }
.frontend-v2.auth-register-page .v2-auth-form-heading p { font-size: 13px; margin-top: 6px; }
.frontend-v2.auth-register-page .sigilo-subtitle { font-size: 11.5px !important; line-height: 1.5 !important; margin-bottom: 18px !important; }
.frontend-v2.auth-register-page .sigilo-form { gap: 9px !important; margin-bottom: 11px !important; }
.frontend-v2.auth-register-page .sigilo-field { min-height: 48px !important; }
.frontend-v2.auth-register-page .sigilo-field input { font-size: 13px !important; height: 46px !important; }
.frontend-v2.auth-register-page .sigilo-field input::placeholder { font-size: 13px !important; }
.frontend-v2.auth-register-page .sigilo-btn-primary { height: 48px !important; min-height: 48px !important; }
.frontend-v2.auth-register-page .sigilo-outline-btn { height: 43px !important; }

.frontend-v2 .sigilo-logo-wrap { align-items: center !important; height: 48px !important; justify-content: center !important; margin: 0 0 28px !important; overflow: visible !important; }
.frontend-v2 .sigilo-logo-link-full { align-items: center; background: transparent; border-radius: 10px; height: 46px; justify-content: center; overflow: hidden; position: relative; width: 172px !important; }
.frontend-v2 .sigilo-subtitle {
  color: var(--v2-auth-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0;
  line-height: 1.55 !important;
  margin: 0 0 22px !important;
  max-width: none !important;
  text-align: left !important;
}

.frontend-v2 .sigilo-form { gap: 11px !important; margin-bottom: 18px !important; }
.frontend-v2 .sigilo-field {
  background: var(--v2-auth-soft) !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  min-height: 54px !important;
  overflow: visible !important;
}
.frontend-v2 .sigilo-field:hover { background: #ececea !important; }
.frontend-v2 .sigilo-field:focus-within { background: #fff !important; border-color: var(--v2-purple) !important; box-shadow: 0 0 0 4px rgba(129, 71, 255, .1) !important; }
.frontend-v2 .sigilo-field input { background: transparent !important; border: 0 !important; box-shadow: none !important; color: var(--v2-auth-ink) !important; font-family: CeraPro, Arial, sans-serif !important; font-size: 14px !important; height: 52px !important; }
.frontend-v2 .sigilo-field input::placeholder { color: #898c97 !important; font-size: 14px !important; }
.frontend-v2 .sigilo-field-icon { color: var(--v2-purple) !important; width: 46px !important; }
.frontend-v2 .sigilo-eye-btn { color: #777c90 !important; opacity: 1 !important; }
.frontend-v2 .sigilo-eye-btn:hover,
.frontend-v2 .sigilo-eye-btn.is-visible { color: var(--v2-purple) !important; }
.frontend-v2 .sigilo-btn-primary,
.frontend-v2 .sigilo-btn-register {
  background: var(--v2-lime) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #090909 !important;
  font-family: CeraPro, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  min-height: 52px !important;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
.frontend-v2 .sigilo-btn-primary:hover,
.frontend-v2 .sigilo-btn-register:hover { background: #95eb00 !important; box-shadow: 0 10px 28px rgba(126, 190, 0, .2) !important; transform: translateY(-1px); }
.frontend-v2 .sigilo-btn-primary::before,
.frontend-v2 .sigilo-btn-primary::after,
.frontend-v2 .sigilo-btn-register::before,
.frontend-v2 .sigilo-btn-shimmer,
.frontend-v2 .sigilo-btn-register-shimmer { display: none !important; }
.frontend-v2 .sigilo-btn-icon { opacity: .75 !important; }
.frontend-v2 .sigilo-divider { color: #97999f !important; margin: 5px 0 !important; }
.frontend-v2 .sigilo-divider span { background: var(--v2-auth-line) !important; }
.frontend-v2 .sigilo-divider small { font-size: 10px !important; }
.frontend-v2 .sigilo-forgot { color: #666a78 !important; font-weight: 500 !important; margin-top: 8px !important; text-align: center; width: 100%; }
.frontend-v2 .sigilo-forgot:hover { color: var(--v2-purple) !important; }
.frontend-v2 .sigilo-bottom-actions { display: block !important; margin: 4px 0 0 !important; }
.frontend-v2 .sigilo-outline-btn { background: #fff !important; border: 1px solid var(--v2-auth-line) !important; border-radius: 999px !important; color: #555a6c !important; font-family: CeraPro, Arial, sans-serif !important; font-size: 13px !important; height: 48px !important; }
.frontend-v2 .sigilo-bottom-actions .sigilo-outline-btn { flex: none !important; padding: 0 17px !important; width: fit-content !important; }
.frontend-v2 .sigilo-outline-btn:hover { border-color: var(--v2-purple) !important; color: var(--v2-purple) !important; }
.frontend-v2 .sigilo-terms { color: #6f7382 !important; font-size: 12px !important; line-height: 1.45; margin: 2px 0 4px; }
.frontend-v2 .sigilo-terms input[type="checkbox"] { accent-color: var(--v2-purple) !important; }
.frontend-v2 .sigilo-link { color: var(--v2-purple) !important; font-weight: 700; }
.frontend-v2 .sigilo-notice { border: 0 !important; border-radius: 12px !important; font-size: 13px !important; line-height: 1.45; padding: 13px 15px !important; }
.frontend-v2 .sigilo-notice-success { background: #e9fbd9 !important; color: #32720d !important; }
.frontend-v2 .sigilo-notice-danger { background: #fff0ef !important; color: #a93932 !important; }

body.sigilo-auth-body.frontend-v2.theme-dark { background: #111 !important; }
.frontend-v2.theme-dark .sigilo-auth-main { color: #f4f4f1 !important; }
.frontend-v2.theme-dark .v2-auth-form-heading h1 { color: #f4f4f1 !important; }
.frontend-v2.theme-dark .v2-auth-form-heading p,
.frontend-v2.theme-dark .sigilo-subtitle { color: #a7a8ad !important; }
.frontend-v2.theme-dark .sigilo-field { background: #1d1d1d !important; }
.frontend-v2.theme-dark .sigilo-field:hover { background: #222 !important; }
.frontend-v2.theme-dark .sigilo-field:focus-within { background: #171717 !important; }
.frontend-v2.theme-dark .sigilo-field input { color: #f2f2ef !important; }
.frontend-v2.theme-dark .sigilo-settings-btn,
.frontend-v2.theme-dark .sigilo-outline-btn { background: #191919 !important; border-color: #343434 !important; color: #d1d1ce !important; }
.frontend-v2.theme-dark .sigilo-divider span { background: #333 !important; }
.frontend-v2.theme-dark .sigilo-forgot,
.frontend-v2.theme-dark .sigilo-terms { color: #aaa !important; }

/* --------------------------------------------------------------------------
   Checkout V2
   -------------------------------------------------------------------------- */

body.auth-body.frontend-v2 {
  background: #f7f7f5 !important;
  color: #353a50 !important;
  min-height: 100vh;
  padding: 48px 20px !important;
  font-family: CeraPro, Arial, sans-serif;
}

.frontend-v2 .checkout-card {
  background: #fff !important;
  border: 1px solid #e2e2de !important;
  border-radius: 22px !important;
  box-shadow: 0 24px 70px rgba(40, 42, 52, .1) !important;
  color: #353a50 !important;
  max-width: 520px !important;
  padding: 34px !important;
}

.frontend-v2 .checkout-card .eyebrow { color: #8247ff !important; }
.frontend-v2 .checkout-card h1 { color: #353a50 !important; font-size: 38px !important; letter-spacing: -.055em; }
.frontend-v2 .checkout-card p { color: #737580 !important; }
.frontend-v2 .qr-box { background: #f0ffd0 !important; border: 0 !important; border-radius: 16px !important; }
.frontend-v2 .copy-field textarea { background: #f7f7f5 !important; border-color: #deded9 !important; color: #353a50 !important; }
.frontend-v2 .checkout-instructions { background: #f7f7f5 !important; border: 0 !important; border-radius: 14px !important; color: #626570 !important; }

/* Responsive */
@media (max-width: 1200px) {
  body.sigilo-auth-body.frontend-v2 { grid-template-columns: minmax(450px, 1.08fr) minmax(460px, .92fr) !important; }
  .frontend-v2 .v2-auth-showcase-copy h2 { font-size: clamp(42px, 4.4vw, 58px); }
  .frontend-v2 .v2-auth-trust { gap: 12px 18px; }
  .frontend-v2 .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .frontend-v2 .metric-card:first-child { border-radius: 18px 0 0 0 !important; }
  .frontend-v2 .metric-card:nth-child(2) { border-radius: 0 18px 0 0 !important; }
  .frontend-v2 .metric-card:nth-child(3) { border-radius: 0 0 0 18px !important; }
  .frontend-v2 .metric-card:last-child { border-radius: 0 0 18px 0 !important; }
  .frontend-v2 .metric-card:nth-child(3)::before { display: none; }
  .frontend-v2 .dashboard-columns { grid-template-columns: 1fr !important; }
}

@media (max-width: 1050px) {
  .frontend-theme-options { grid-template-columns: 1fr; }
  body.sigilo-auth-body.frontend-v2 { background: #eef3fb !important; display: block !important; padding: 76px 20px 36px !important; }
  body.sigilo-auth-body.frontend-v2::before,
  body.sigilo-auth-body.frontend-v2::after { display: none; }
  .frontend-v2 .v2-auth-showcase { display: none; }
  .frontend-v2 .sigilo-auth-main {
    background: #fff !important;
    border: 1px solid #dfe3e9;
    border-radius: 18px;
    box-shadow: 0 22px 65px rgba(43, 54, 75, .1) !important;
    margin: 0 auto;
    padding: 34px 32px !important;
  }
  .frontend-v2.auth-register-page .sigilo-auth-main { transform: none; }
  .frontend-v2.theme-dark .sigilo-auth-main { background: #161616 !important; border-color: #292929; }
}

/* Global V2 purple identity. Success/error notices keep their semantic colors. */
.frontend-v2,
body.frontend-v2{
  --v2-lime:#6739df;
  --v2-lime-strong:#5425c7;
  --v2-purple:#6739df;
  --v2-purple-soft:#eee9ff;
  --v2-brand-gradient:linear-gradient(135deg,#956fff 0%,#6739df 55%,#4e22bd 100%);
}
.frontend-theme-preview-v2 b:first-of-type{background:#6739df}
.frontend-v2 .sigilo-btn-primary,
.frontend-v2 .sigilo-btn-register{
  background:var(--v2-brand-gradient)!important;
  box-shadow:0 12px 28px rgba(103,57,223,.22)!important;
  color:#fff!important;
}
.frontend-v2 .sigilo-btn-primary:hover,
.frontend-v2 .sigilo-btn-register:hover{
  background:linear-gradient(135deg,#a17dff 0%,#7042e5 55%,#5728c7 100%)!important;
  box-shadow:0 14px 32px rgba(103,57,223,.28)!important;
}
.frontend-v2 .line-chart span{background:linear-gradient(180deg,#956fff,#6739df)!important}
.frontend-v2 .settings-status{background:var(--v2-brand-gradient)!important;color:#fff!important}
.frontend-v2.auth-register-page .v2-auth-showcase,
body.sigilo-auth-body.frontend-v2.auth-register-page,
body.sigilo-auth-body.frontend-v2.auth-register-page.theme-dark{
  background:radial-gradient(circle at 16% 17%,rgba(149,111,255,.12),transparent 25%),radial-gradient(circle at 83% 29%,rgba(103,57,223,.10),transparent 25%),linear-gradient(135deg,#fbfcff 0%,#fff 55%,#f5f1ff 100%)!important;
}
.frontend-v2.auth-register-page .v2-auth-medallion-pix{filter:hue-rotate(205deg) saturate(1.08) drop-shadow(0 16px 25px rgba(103,57,223,.16))}
.frontend-v2.auth-register-page .v2-auth-eyebrow{color:#6739df}
.frontend-v2.auth-register-page .v2-auth-showcase-copy h2 em{color:#6739df}
.frontend-v2.auth-register-page .v2-auth-trust i{
  background:#f2edff;
  border-color:#7f50e9;
  color:#6739df;
}
.frontend-v2.auth-register-page .sigilo-auth-main,
.frontend-v2.auth-register-page.theme-dark .sigilo-auth-main{
  background:radial-gradient(circle at 86% 8%,rgba(149,111,255,.07),transparent 24%),radial-gradient(circle at 4% 96%,rgba(103,57,223,.06),transparent 27%),rgba(255,255,255,.94)!important;
}
@media (max-width:1050px){
  body.sigilo-auth-body.frontend-v2.auth-register-page,
  body.sigilo-auth-body.frontend-v2.auth-register-page.theme-dark{
    background:radial-gradient(circle at 12% 8%,rgba(149,111,255,.09),transparent 27%),radial-gradient(circle at 88% 88%,rgba(103,57,223,.08),transparent 29%),#f8f9fc!important;
  }
}

@media (max-width: 768px) {
  body.dashboard-body.frontend-v2 { display: block !important; }
  body.dashboard-body.frontend-v2 > .sidebar {
    background: #fff !important;
    border-right: 1px solid var(--v2-line) !important;
    box-shadow: 18px 0 60px rgba(20, 20, 20, .14) !important;
    padding: 20px 15px !important;
    width: 274px !important;
  }
  body.dashboard-body.frontend-v2.theme-dark > .sidebar { background: #121212 !important; }
  body.dashboard-body.frontend-v2 > .dashboard-main { padding: 0 16px 34px !important; }
  .frontend-v2 .dashboard-header {
    align-items: center !important;
    flex-direction: row !important;
    margin: 0 -16px 24px !important;
    min-height: 76px;
    padding: 13px 16px !important;
  }
  .frontend-v2 .dashboard-header > div:first-child {
    flex: 0 1 auto;
    max-width: calc(100% - 104px);
    padding-right: 0;
  }
  .frontend-v2 .dashboard-header h1 { font-size: 20px !important; }
  .frontend-v2 .dashboard-header .eyebrow { display: none; }
  .frontend-v2 .dashboard-header p { display: none; }
  .frontend-v2 .dashboard-actions {
    justify-content: flex-end !important;
    display: grid !important;
    grid-auto-flow: column;
    inset: 18px 16px auto auto !important;
    left: auto !important;
    position: absolute !important;
    transform: none !important;
    width: fit-content !important;
  }
  .frontend-v2 .dashboard-actions > .button { display: none; }
  .frontend-v2 .dashboard-actions > .theme-toggle { display: none !important; }
  .frontend-v2 .profile-dropdown-wrap { display: none !important; }
  .frontend-v2 .dash-menu-btn {
    display: flex !important;
    position: fixed !important;
    right: 16px !important;
    top: 18px !important;
    z-index: 320 !important;
  }
  .frontend-v2 .sidebar-close-btn { background: #f1f1ef !important; border: 0 !important; border-radius: 50% !important; color: #333 !important; }
  .frontend-v2 .sidebar-overlay.visible { background: rgba(0, 0, 0, .34) !important; backdrop-filter: blur(2px); }
}

@media (max-width: 560px) {
  body.sigilo-auth-body.frontend-v2 { max-width: 100vw; padding: 68px 12px 18px !important; width: 100%; }
  .frontend-v2 .sigilo-top-bar { right: 12px !important; top: 14px !important; }
  .frontend-v2 .sigilo-auth-main { border-radius: 14px; max-width: calc(100vw - 24px) !important; padding: 27px 20px 24px !important; width: calc(100vw - 24px) !important; }
  .frontend-v2 .sigilo-logo-wrap { margin-bottom: 23px !important; }
  .frontend-v2 .v2-auth-form-heading h1 { font-size: 29px; }
  .frontend-v2 .sigilo-subtitle { font-size: 13px !important; margin-bottom: 18px !important; }
  .frontend-v2 .sigilo-field { min-height: 52px !important; }
  .frontend-v2 .sigilo-field input { height: 50px !important; }
  .frontend-v2 .dashboard-grid { gap: 10px !important; grid-template-columns: 1fr !important; overflow: visible; }
  .frontend-v2 .metric-card,
  .frontend-v2 .metric-card:first-child,
  .frontend-v2 .metric-card:nth-child(2),
  .frontend-v2 .metric-card:nth-child(3),
  .frontend-v2 .metric-card:last-child { border-radius: 15px !important; min-height: 132px; padding: 20px !important; }
  .frontend-v2 .metric-card + .metric-card::before { display: none; }
  .frontend-v2 .metric-card span { margin-bottom: 16px !important; }
  .frontend-v2 .dashboard-body .workspace-panel,
  .frontend-v2.dashboard-body .workspace-panel:not(.settings-panel):not(.layout-settings-card):not(.verification-card):not(.settings-summary-panel),
  .frontend-v2 .workspace-panel:not(.settings-panel):not(.layout-settings-card):not(.verification-card):not(.settings-summary-panel),
  .frontend-v2 .settings-panel,
  .frontend-v2 .layout-settings-card,
  .frontend-v2 .verification-card { border-radius: 15px !important; padding: 18px !important; }
  .frontend-theme-option { grid-template-columns: 68px minmax(0, 1fr) 22px; }
  .frontend-theme-preview { width: 68px; }
  .frontend-v2 .checkout-card { padding: 24px !important; }
}

/* Registration V2 — fully light presentation. */
@media (min-width: 1051px) {
  body.sigilo-auth-body.frontend-v2.auth-register-page,
  body.sigilo-auth-body.frontend-v2.auth-register-page.theme-dark {
    background:
      radial-gradient(circle at 7% 10%, rgba(146, 235, 0, .08), transparent 24%),
      radial-gradient(circle at 78% 82%, rgba(122, 66, 235, .09), transparent 31%),
      linear-gradient(135deg, #fbfcff 0%, #fff 53%, #f8f7ff 100%) !important;
    color: #11172b !important;
    grid-template-columns: minmax(520px, 1.105fr) minmax(500px, .895fr) !important;
  }

  .frontend-v2.auth-register-page .v2-auth-showcase {
    background:
      radial-gradient(circle at 22% 22%, rgba(151, 239, 0, .11), transparent 22%),
      radial-gradient(circle at 82% 26%, rgba(124, 66, 236, .10), transparent 23%),
      radial-gradient(circle at 9% 92%, rgba(151, 239, 0, .07), transparent 24%),
      linear-gradient(135deg, #fbfcff 0%, #fff 58%, #f6f3ff 100%);
    border-right: 1px solid rgba(222, 225, 234, .78);
    color: #11172b;
  }
  .frontend-v2.auth-register-page .v2-auth-showcase::before { content: none; display: none; }
  .frontend-v2.auth-register-page .v2-auth-showcase::after {
    background: linear-gradient(180deg, transparent 60%, rgba(255, 255, 255, .28) 100%);
  }
  .frontend-v2.auth-register-page .v2-auth-art { z-index: 0; }
  .frontend-v2.auth-register-page .v2-auth-medallion {
    filter: drop-shadow(0 16px 25px rgba(70, 62, 105, .13)) saturate(.98);
    height: clamp(160px, 10.5vw, 185px);
    mix-blend-mode: normal;
    top: clamp(108px, 13vh, 125px);
    width: clamp(160px, 10.5vw, 185px);
  }
  .frontend-v2.auth-register-page .v2-auth-medallion-pix { left: clamp(90px, 8vw, 142px); }
  .frontend-v2.auth-register-page .v2-auth-medallion-growth { right: clamp(82px, 6.2vw, 110px); }
  .frontend-v2.auth-register-page .v2-auth-ring { border-color: rgba(112, 65, 229, .13); }
  .frontend-v2.auth-register-page .v2-auth-card-float {
    backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, .72);
    border-color: rgba(215, 218, 233, .85);
    box-shadow: 0 18px 40px rgba(47, 50, 82, .08);
  }
  .frontend-v2.auth-register-page .v2-auth-card-float::before,
  .frontend-v2.auth-register-page .v2-auth-card-float::after { background: rgba(118, 104, 180, .16); }
  .frontend-v2.auth-register-page .v2-auth-card-float-one { top: 40%; }
  .frontend-v2.auth-register-page .v2-auth-card-float-two { top: 31%; }

  .frontend-v2.auth-register-page .v2-auth-showcase-brand {
    background: transparent;
    border: 0;
    border-radius: 0;
    height: 58px;
    left: clamp(42px, 3.7vw, 66px);
    top: clamp(27px, 3vw, 43px);
    width: 230px;
  }
  .frontend-v2.auth-register-page .v2-auth-showcase-brand img[src$="logologin.png"] {
    filter: brightness(.52) contrast(1.28) saturate(1.45);
    transform: translate(-63%, -50%) !important;
    width: 280px !important;
  }

  .frontend-v2.auth-register-page .v2-auth-showcase-copy {
    bottom: clamp(148px, 17vh, 174px);
    left: clamp(42px, 4vw, 74px);
    max-width: 620px;
    position: absolute;
  }
  .frontend-v2.auth-register-page .v2-auth-eyebrow { color: #52af16; font-size: 14px; margin-bottom: 14px; }
  .frontend-v2.auth-register-page .v2-auth-showcase-copy h2 {
    color: #11172b;
    font-size: clamp(50px, 3.8vw, 66px);
    font-weight: 600;
    line-height: 1.01;
  }
  .frontend-v2.auth-register-page .v2-auth-showcase-copy h2 em { color: #4cae17; }
  .frontend-v2.auth-register-page .v2-auth-showcase-copy p { color: #4f566a; font-size: 17px; margin-top: 24px; }
  .frontend-v2.auth-register-page .v2-auth-trust {
    bottom: clamp(50px, 7vh, 72px);
    left: clamp(42px, 4vw, 74px);
    margin: 0;
    position: absolute;
  }
  .frontend-v2.auth-register-page .v2-auth-trust span { color: #1e2438; font-size: 13px; font-weight: 500; }
  .frontend-v2.auth-register-page .v2-auth-trust i {
    align-items: center;
    background: rgba(255, 255, 255, .86);
    border: 2px solid #68c927;
    box-shadow: none;
    color: #58b71c;
    display: inline-flex;
    height: 22px;
    justify-content: center;
    width: 22px;
  }
  .frontend-v2.auth-register-page .v2-auth-trust i::before { content: '✓'; font-size: 12px; font-style: normal; font-weight: 700; }

  .frontend-v2.auth-register-page .sigilo-auth-main,
  .frontend-v2.auth-register-page.theme-dark .sigilo-auth-main {
    align-self: center;
    background:
      radial-gradient(circle at 86% 8%, rgba(150, 238, 0, .055), transparent 24%),
      radial-gradient(circle at 4% 96%, rgba(125, 67, 235, .055), transparent 27%),
      rgba(255, 255, 255, .92) !important;
    border: 1px solid rgba(226, 228, 236, .82);
    border-radius: 30px;
    box-shadow: 0 24px 70px rgba(46, 49, 75, .09) !important;
    color: #11172b !important;
    justify-self: center;
    margin: 6px auto;
    max-width: calc(100% - 18px) !important;
    min-height: calc(100vh - 12px);
    padding: clamp(40px, 5vh, 52px) clamp(68px, 6vw, 118px) 30px !important;
    transform: none;
    width: calc(100% - 18px) !important;
  }
  .frontend-v2.auth-register-page .sigilo-auth-main > * { margin-left: auto; margin-right: auto; max-width: 510px; width: 100%; }
  .frontend-v2.auth-register-page .sigilo-logo-wrap { height: 54px !important; margin-bottom: 13px !important; }
  .frontend-v2.auth-register-page .sigilo-logo-link-full { height: 52px; width: 230px !important; }
  .frontend-v2.auth-register-page .sigilo-logo-full-img[src$="logologin.png"] { width: 280px !important; }
  .frontend-v2.auth-register-page .v2-auth-form-heading { margin-bottom: 19px; }
  .frontend-v2.auth-register-page .v2-auth-form-heading span { font-size: 13px; margin-bottom: 10px; }
  .frontend-v2.auth-register-page .v2-auth-form-heading h1,
  .frontend-v2.auth-register-page.theme-dark .v2-auth-form-heading h1 { color: #11172b !important; font-size: 40px; font-weight: 600; }
  .frontend-v2.auth-register-page .v2-auth-form-heading p,
  .frontend-v2.auth-register-page.theme-dark .v2-auth-form-heading p { color: #62697c !important; font-size: 15px; margin-top: 8px; }
  .frontend-v2.auth-register-page .sigilo-subtitle,
  .frontend-v2.auth-register-page.theme-dark .sigilo-subtitle { color: #454c60 !important; font-size: 14px !important; line-height: 1.5 !important; margin-bottom: 19px !important; }
  .frontend-v2.auth-register-page .sigilo-form { gap: 8px !important; margin-bottom: 10px !important; }
  .frontend-v2.auth-register-page .sigilo-field,
  .frontend-v2.auth-register-page.theme-dark .sigilo-field {
    background: rgba(255, 255, 255, .78) !important;
    border: 1px solid #e0e3eb !important;
    min-height: 56px !important;
  }
  .frontend-v2.auth-register-page .sigilo-field:hover,
  .frontend-v2.auth-register-page.theme-dark .sigilo-field:hover { background: #fff !important; }
  .frontend-v2.auth-register-page .sigilo-field input,
  .frontend-v2.auth-register-page.theme-dark .sigilo-field input { color: #171c2f !important; font-size: 14px !important; height: 54px !important; }
  .frontend-v2.auth-register-page .sigilo-field input::placeholder { color: #858b9c !important; font-size: 14px !important; }
  .frontend-v2.auth-register-page .sigilo-btn-primary { height: 56px !important; min-height: 56px !important; }
  .frontend-v2.auth-register-page .sigilo-outline-btn { height: 45px !important; }
}

/* Authentication pages stay light even when an old dark preference is stored. */
body.sigilo-auth-body.frontend-v2.auth-register-page.theme-dark {
  background: #f8f9fc !important;
  color: #11172b !important;
}
.frontend-v2.auth-register-page.theme-dark .sigilo-settings-btn,
.frontend-v2.auth-register-page.theme-dark .sigilo-outline-btn {
  background: #fff !important;
  border-color: #dfe3eb !important;
  color: #353a50 !important;
}
.frontend-v2.auth-register-page.theme-dark .sigilo-divider span { background: #e1e4eb !important; }
.frontend-v2.auth-register-page.theme-dark .sigilo-divider,
.frontend-v2.auth-register-page.theme-dark .sigilo-forgot,
.frontend-v2.auth-register-page.theme-dark .sigilo-terms { color: #6f7382 !important; }
.frontend-v2.auth-register-page.theme-dark .sigilo-logo-full-img[src$="logologin.png"] {
  filter: brightness(.52) contrast(1.28) saturate(1.45) !important;
}

@media (max-width: 1050px) {
  body.sigilo-auth-body.frontend-v2.auth-register-page,
  body.sigilo-auth-body.frontend-v2.auth-register-page.theme-dark {
    background:
      radial-gradient(circle at 12% 8%, rgba(151, 239, 0, .08), transparent 27%),
      radial-gradient(circle at 88% 88%, rgba(124, 66, 236, .08), transparent 29%),
      #f8f9fc !important;
  }
  .frontend-v2.auth-register-page .sigilo-auth-main,
  .frontend-v2.auth-register-page.theme-dark .sigilo-auth-main {
    background: rgba(255, 255, 255, .95) !important;
    border-color: #e0e4ec !important;
    box-shadow: 0 22px 65px rgba(43, 54, 75, .09) !important;
    color: #11172b !important;
  }
  .frontend-v2.auth-register-page .v2-auth-form-heading h1,
  .frontend-v2.auth-register-page.theme-dark .v2-auth-form-heading h1 { color: #11172b !important; }
  .frontend-v2.auth-register-page .v2-auth-form-heading p,
  .frontend-v2.auth-register-page .sigilo-subtitle,
  .frontend-v2.auth-register-page.theme-dark .v2-auth-form-heading p,
  .frontend-v2.auth-register-page.theme-dark .sigilo-subtitle { color: #62697c !important; }
  .frontend-v2.auth-register-page .sigilo-field,
  .frontend-v2.auth-register-page.theme-dark .sigilo-field {
    background: #fff !important;
    border-color: #e0e3eb !important;
  }
  .frontend-v2.auth-register-page .sigilo-field input,
  .frontend-v2.auth-register-page.theme-dark .sigilo-field input { color: #171c2f !important; }
}

/* Final cascade for the purple V2 palette. */
.frontend-v2 .sidebar-nav button.active,
.frontend-v2 .button-primary,
.frontend-v2 button.button-primary{
  background:linear-gradient(135deg,#956fff 0%,#6739df 55%,#4e22bd 100%)!important;
  border-color:#6739df!important;
  color:#fff!important;
}
.frontend-v2 .sidebar-nav button.active::after{background:#fff}
.frontend-v2 .button-primary:hover,
.frontend-v2 button.button-primary:hover{background:linear-gradient(135deg,#a17dff,#6739df 58%,#5425c7)!important;box-shadow:0 8px 22px rgba(103,57,223,.24)!important}
.frontend-v2.auth-register-page .v2-auth-showcase,
body.sigilo-auth-body.frontend-v2.auth-register-page,
body.sigilo-auth-body.frontend-v2.auth-register-page.theme-dark{
  background:radial-gradient(circle at 18% 18%,rgba(149,111,255,.12),transparent 25%),radial-gradient(circle at 83% 28%,rgba(103,57,223,.10),transparent 25%),linear-gradient(135deg,#fbfcff 0%,#fff 55%,#f5f1ff 100%)!important;
}
.frontend-v2.auth-register-page .v2-auth-medallion-pix{filter:hue-rotate(205deg) saturate(1.08) drop-shadow(0 16px 25px rgba(103,57,223,.16))!important}
.frontend-v2.auth-register-page .v2-auth-eyebrow,
.frontend-v2.auth-register-page .v2-auth-showcase-copy h2 em{color:#6739df!important}
.frontend-v2.auth-register-page .v2-auth-trust i{background:#f2edff!important;border-color:#7f50e9!important;color:#6739df!important}
.frontend-v2.auth-register-page .sigilo-auth-main,
.frontend-v2.auth-register-page.theme-dark .sigilo-auth-main{
  background:radial-gradient(circle at 86% 8%,rgba(149,111,255,.07),transparent 24%),radial-gradient(circle at 4% 96%,rgba(103,57,223,.06),transparent 27%),rgba(255,255,255,.94)!important;
}
@media (max-width:1050px){
  body.sigilo-auth-body.frontend-v2.auth-register-page,
  body.sigilo-auth-body.frontend-v2.auth-register-page.theme-dark{background:radial-gradient(circle at 12% 8%,rgba(149,111,255,.09),transparent 27%),radial-gradient(circle at 88% 88%,rgba(103,57,223,.08),transparent 29%),#f8f9fc!important}
}

/* Keep compound transaction controls intact after the global V2 form reset. */
.frontend-v2 .transactions-search input,
.frontend-v2 .transactions-filter select {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.frontend-v2 .transactions-search input:focus,
.frontend-v2 .transactions-filter select:focus {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.frontend-v2 .transactions-data-table {
  background: var(--surface) !important;
}
.frontend-v2 .transactions-data-table thead {
  background: transparent !important;
}
.frontend-v2 .transactions-data-table th {
  font-size: 10.5px !important;
}
.frontend-v2 .transactions-data-table td {
  font-size: 12px !important;
}

/* Quick actions — light dashboard only. The dark dashboard keeps its current palette. */
.frontend-v2:not(.theme-dark) .actions-panel {
  background: #fff !important;
  border: 1px solid #e2e3ea !important;
  box-shadow: 0 10px 28px rgba(28, 31, 49, .045) !important;
}
.frontend-v2:not(.theme-dark) .actions-panel .panel-header h2 {
  color: #11162d !important;
}
.frontend-v2:not(.theme-dark) .actions-panel .eyebrow {
  color: #6739df !important;
}
.frontend-v2:not(.theme-dark) .qa-card {
  background: #fff !important;
  border: 1px solid #e1e2e8 !important;
  box-shadow: 0 2px 8px rgba(30, 34, 54, .018) !important;
  color: #11162d !important;
}
.frontend-v2:not(.theme-dark) .qa-card:hover {
  background: #fcfbff !important;
  border-color: color-mix(in srgb, var(--qa-color) 35%, #dfe0e7) !important;
  box-shadow: 0 7px 18px rgba(70, 48, 130, .075) !important;
  transform: translateX(2px);
}
.frontend-v2:not(.theme-dark) .qa-icon-wrap {
  border: 0 !important;
  box-shadow: none !important;
  animation: none !important;
}
.frontend-v2:not(.theme-dark) .qa-pix,
.frontend-v2:not(.theme-dark) .qa-fatura,
.frontend-v2:not(.theme-dark) .qa-api {
  --qa-color: #6739df;
}
.frontend-v2:not(.theme-dark) .qa-link,
.frontend-v2:not(.theme-dark) .qa-cliente,
.frontend-v2:not(.theme-dark) .qa-saque {
  --qa-color: #3478f6;
}
.frontend-v2:not(.theme-dark) .qa-pix .qa-icon-wrap,
.frontend-v2:not(.theme-dark) .qa-fatura .qa-icon-wrap,
.frontend-v2:not(.theme-dark) .qa-api .qa-icon-wrap {
  background: linear-gradient(145deg, #f2edff, #e9e2ff) !important;
  color: #6739df !important;
}
.frontend-v2:not(.theme-dark) .qa-link .qa-icon-wrap,
.frontend-v2:not(.theme-dark) .qa-cliente .qa-icon-wrap,
.frontend-v2:not(.theme-dark) .qa-saque .qa-icon-wrap {
  background: linear-gradient(145deg, #f0f5ff, #e3edff) !important;
  color: #3478f6 !important;
}
.frontend-v2:not(.theme-dark) .qa-card:hover .qa-icon-wrap {
  box-shadow: none !important;
  transform: scale(1.04);
}
.frontend-v2:not(.theme-dark) .qa-text strong,
.frontend-v2:not(.theme-dark) .qa-card:hover .qa-text strong {
  color: #11162d !important;
}
.frontend-v2:not(.theme-dark) .qa-text small {
  color: #747b91 !important;
}
.frontend-v2:not(.theme-dark) .qa-arrow,
.frontend-v2:not(.theme-dark) .qa-card:hover .qa-arrow {
  color: #11162d !important;
  opacity: 1 !important;
  transform: none !important;
}
