:root {
  --nd-primary: #1861f1;
  --nd-cyan: #0ac0fe;
  --nd-aqua: #7ffeff;
  --nd-mint: #e0fefd;
  --nd-ink: #0b1f46;
  --nd-text: #14213d;
  --nd-muted: #667085;
  --nd-bg: #f6f9fd;
  --nd-surface: #ffffff;
  --nd-surface-soft: #f1f6fc;
  --nd-line: #e6edf5;
  --nd-success: #12b76a;
  --nd-warning: #f59e0b;
  --nd-danger: #e5484d;
  --nd-violet: #7367f0;
  --nd-gradient: linear-gradient(135deg, #1861f1 0%, #0ac0fe 100%);
  --nd-shadow-soft: 0 8px 24px rgba(25, 56, 104, 0.06);
  --nd-shadow-card: 0 18px 50px rgba(25, 56, 104, 0.08);
  --nd-sidebar: 278px;
  --nd-sidebar-collapsed: 88px;

  /* Compatibilidade com as telas históricas enquanto usam o tema oficial. */
  --nf-primary: var(--nd-primary);
  --nf-primary-strong: #124ec6;
  --nf-accent: var(--nd-cyan);
  --nf-accent-2: var(--nd-aqua);
  --nf-bg: var(--nd-bg);
  --nf-surface: var(--nd-surface);
  --nf-surface-soft: var(--nd-surface-soft);
  --nf-text: var(--nd-text);
  --nf-muted: var(--nd-muted);
  --nf-border: var(--nd-line);
  --nb-primary: var(--nd-primary);
  --nb-accent: var(--nd-cyan);
  --nb-bg: var(--nd-bg);
  --nb-surface: var(--nd-surface);
  --nb-surface-soft: var(--nd-surface-soft);
  --nb-text: var(--nd-text);
  --nb-muted: var(--nd-muted);
  --nb-border: var(--nd-line);
  --nb-shadow: var(--nd-shadow-soft);
  --commerce-blue: var(--nd-primary);
  --commerce-green: var(--nd-cyan);
}

html[data-theme="dark"] {
  --nd-ink: #f4f7ff;
  --nd-text: #e8eefa;
  --nd-muted: #9ba9bf;
  --nd-bg: #0e1728;
  --nd-surface: #111c2e;
  --nd-surface-soft: #16243a;
  --nd-line: #22314b;
  --nd-shadow-soft: 0 8px 24px rgba(0, 0, 0, 0.2);
  --nd-shadow-card: 0 18px 50px rgba(0, 0, 0, 0.3);
}

html,
body,
button,
input,
select,
textarea {
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
body.nf-redesign {
  margin: 0;
  color: var(--nd-text) !important;
  background: var(--nd-bg) !important;
  font-size: 14px;
  font-weight: 450;
}

.nf-redesign .app-shell {
  display: block !important;
  min-height: 100vh;
  padding-left: var(--nd-sidebar) !important;
  background: var(--nd-bg) !important;
  transition: padding-left 0.24s ease;
}
.nf-redesign .app-shell.sidebar-collapsed { padding-left: var(--nd-sidebar-collapsed) !important; }
.nf-redesign .app-main {
  min-width: 0;
  min-height: 100vh;
  background: var(--nd-bg) !important;
}

.nf-redesign .sidebar {
  position: fixed !important;
  inset: 0 auto 0 0 !important;
  z-index: 100;
  width: var(--nd-sidebar) !important;
  height: 100dvh !important;
  padding: 20px 17px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 13px !important;
  overflow: hidden !important;
  color: var(--nd-text) !important;
  background: color-mix(in srgb, var(--nd-surface) 96%, transparent) !important;
  border-right: 1px solid var(--nd-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
  transition: width 0.24s ease, transform 0.24s ease;
}
.nf-redesign .app-shell.sidebar-collapsed .sidebar { width: var(--nd-sidebar-collapsed) !important; }
.nf-redesign .sidebar-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px !important;
  min-height: 58px;
  padding: 0 2px 8px !important;
}
.nf-redesign .sidebar-logo {
  min-width: 0;
  display: flex !important;
  align-items: center;
  gap: 10px;
  color: var(--nd-ink) !important;
  text-decoration: none;
}
.nf-redesign .sidebar-logo-badge {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px;
  display: grid !important;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--nd-line);
  border-radius: 15px !important;
  background: var(--nd-surface) !important;
  box-shadow: var(--nd-shadow-soft);
}
.nf-redesign .sidebar-logo-badge--collapsed { display: none !important; }
.nf-redesign .sidebar-logo-icon { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 4px; }
.nf-redesign .sidebar-logo-text { min-width: 0; font-size: 22px; letter-spacing: -0.7px; white-space: nowrap; }
.nf-redesign .sidebar-logo-text b { color: var(--nd-ink) !important; }
.nf-redesign .sidebar-logo-text em { color: var(--nd-primary) !important; font-style: normal; }
.nf-redesign .sidebar-toggle,
.nf-redesign .icon-btn,
.nf-redesign .topbar-icon-link {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  display: grid !important;
  place-items: center;
  border: 1px solid var(--nd-line) !important;
  border-radius: 14px !important;
  color: #60708a !important;
  background: var(--nd-surface) !important;
  box-shadow: none !important;
}
.nf-redesign .icon-btn:hover,
.nf-redesign .topbar-icon-link:hover { color: var(--nd-primary) !important; border-color: color-mix(in srgb, var(--nd-primary) 35%, var(--nd-line)) !important; }
.nf-redesign .tenant-pill {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 66px;
  padding: 10px !important;
  border: 1px solid var(--nd-line) !important;
  border-radius: 17px !important;
  color: var(--nd-text) !important;
  background: var(--nd-surface-soft) !important;
  box-shadow: none !important;
}
.nf-redesign .tenant-pill-avatar {
  width: 42px !important;
  height: 42px !important;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 13px !important;
  color: #fff !important;
  background: var(--nd-gradient) !important;
  font-weight: 800;
}
.nf-redesign .tenant-pill-avatar img { width: 100%; height: 100%; object-fit: cover; }
.nf-redesign .tenant-pill-copy,
.nf-redesign .tenant-pill > div { min-width: 0; display: grid; gap: 3px; }
.nf-redesign .tenant-pill strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.nf-redesign .tenant-pill small { color: var(--nd-muted) !important; font-size: 9px; }

.nf-redesign .sidebar-nav {
  min-height: 0;
  flex: 1;
  display: flex !important;
  flex-direction: column;
  gap: 5px !important;
  margin: 0 !important;
  padding: 2px 3px 14px 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--nd-muted) 32%, transparent) transparent;
}
.nf-redesign .nav-section-label {
  margin: 12px 12px 3px !important;
  color: var(--nd-muted) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase;
}
.nf-redesign .sidebar-nav > a,
.nf-redesign .nav-more > summary,
.nf-redesign .nav-more-links > a {
  min-height: 45px !important;
  display: flex !important;
  align-items: center;
  gap: 12px !important;
  padding: 0 13px !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: #65748f !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  text-decoration: none;
  cursor: pointer;
}
html[data-theme="dark"] .nf-redesign .sidebar-nav > a,
html[data-theme="dark"] .nf-redesign .nav-more > summary,
html[data-theme="dark"] .nf-redesign .nav-more-links > a { color: var(--nd-muted) !important; }
.nf-redesign .sidebar-nav > a:hover,
.nf-redesign .nav-more > summary:hover,
.nf-redesign .nav-more-links > a:hover { color: var(--nd-primary) !important; background: color-mix(in srgb, var(--nd-primary) 7%, transparent) !important; }
.nf-redesign .sidebar-nav > a.is-active,
.nf-redesign .nav-more-links > a.is-active {
  color: #fff !important;
  background: var(--nd-gradient) !important;
  box-shadow: 0 12px 24px rgba(24, 97, 241, 0.2) !important;
}
.nf-redesign .nav-icon { width: 22px !important; height: 22px !important; flex: 0 0 22px; display: grid; place-items: center; color: currentColor !important; background: transparent !important; }
.nf-redesign .nav-icon .nf-icon { width: 20px !important; height: 20px !important; }
.nf-redesign .nav-more { margin: 0 !important; }
.nf-redesign .nav-more > summary { list-style: none; }
.nf-redesign .nav-more > summary::-webkit-details-marker { display: none; }
.nf-redesign .nav-more-links {
  display: grid !important;
  gap: 4px;
  margin: 5px 0 8px 18px !important;
  padding: 6px 0 6px 10px !important;
  border-left: 1px solid var(--nd-line);
  background: transparent !important;
  box-shadow: none !important;
}
.nf-redesign .nav-more-links > a { min-height: 40px !important; font-size: 11px !important; }
.nf-redesign .nav-count,
.nf-redesign .nav-new { margin-left: auto; border-radius: 999px; padding: 3px 6px; color: #fff !important; background: var(--nd-primary) !important; font-size: 8px; font-weight: 800; }
.nf-redesign .sidebar-footer { display: grid !important; gap: 8px; padding: 0 2px !important; }
.nf-redesign .version-card { padding: 10px 12px !important; border: 1px solid var(--nd-line) !important; border-radius: 14px !important; background: var(--nd-surface-soft) !important; box-shadow: none !important; }
.nf-redesign .version-card strong { color: var(--nd-primary) !important; }
.nf-redesign .version-card small { color: var(--nd-muted) !important; }
.nf-redesign .sidebar-logout-btn { width: 100%; min-height: 43px; display: flex; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid var(--nd-line); border-radius: 13px; color: var(--nd-muted); background: var(--nd-surface); }

.nf-redesign .app-shell.sidebar-collapsed .sidebar-head { grid-template-columns: 1fr !important; justify-items: center; }
.nf-redesign .app-shell.sidebar-collapsed .sidebar-logo-badge--expanded { display: none !important; }
.nf-redesign .app-shell.sidebar-collapsed .sidebar-logo-badge--collapsed { display: grid !important; }
.nf-redesign .app-shell.sidebar-collapsed .sidebar-logo-text,
.nf-redesign .app-shell.sidebar-collapsed .tenant-pill > div,
.nf-redesign .app-shell.sidebar-collapsed .nav-section-label,
.nf-redesign .app-shell.sidebar-collapsed .sidebar-nav a > span:not(.nav-icon),
.nf-redesign .app-shell.sidebar-collapsed .nav-more summary > span:not(.nav-icon),
.nf-redesign .app-shell.sidebar-collapsed .sidebar-footer { display: none !important; }
.nf-redesign .app-shell.sidebar-collapsed .tenant-pill { display: flex !important; justify-content: center; grid-template-columns: 1fr; padding: 6px !important; background: transparent !important; border-color: transparent !important; }
.nf-redesign .app-shell.sidebar-collapsed .sidebar-nav > a,
.nf-redesign .app-shell.sidebar-collapsed .nav-more > summary { width: 48px !important; min-height: 48px !important; justify-content: center; padding: 0 !important; }
.nf-redesign .app-shell.sidebar-collapsed .nav-more-links { display: none !important; }

.nf-redesign .topbar {
  position: sticky !important;
  top: 0;
  z-index: 80;
  min-height: 82px !important;
  padding: 0 clamp(18px, 2.4vw, 34px) !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: var(--nd-text) !important;
  background: color-mix(in srgb, var(--nd-bg) 90%, transparent) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--nd-line) 85%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
}
.nf-redesign .topbar-left { display: flex; align-items: center; gap: 12px; min-width: 0; }
.nf-redesign .topbar-left > div { min-width: 0; display: grid; gap: 3px; }
.nf-redesign .topbar-left strong { color: var(--nd-ink) !important; font-size: 18px !important; font-weight: 750 !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nf-redesign .topbar-left .muted { color: var(--nd-cyan) !important; font-size: 9px !important; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.nf-redesign .topbar-actions { min-width: 0; display: flex !important; align-items: center; gap: 9px !important; }
.nf-redesign .topbar-icon-link { position: relative; }
.nf-redesign .topbar-icon-link > span:not(.nf-icon) { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border-radius: 999px; color: #fff; background: var(--nd-primary); font-size: 9px; font-weight: 800; }
.nf-redesign .user-chip { min-width: 0; min-height: 46px; display: flex !important; align-items: center; gap: 9px; padding: 4px 10px 4px 4px !important; border: 0 !important; border-radius: 14px; color: var(--nd-text) !important; background: transparent !important; text-decoration: none; }
.nf-redesign .user-chip > span,
.nf-redesign .user-chip > img { width: 38px !important; height: 38px !important; flex: 0 0 38px; display: grid; place-items: center; border-radius: 50% !important; object-fit: cover; color: #fff; background: var(--nd-gradient) !important; font-size: 11px; }
.nf-redesign .user-chip strong { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.nf-redesign .topbar-logout-btn { min-height: 44px !important; border: 1px solid var(--nd-line) !important; color: var(--nd-muted) !important; background: var(--nd-surface) !important; box-shadow: none !important; }

.nf-redesign .content {
  width: min(100%, 1780px) !important;
  max-width: 1780px !important;
  margin: 0 auto !important;
  padding: clamp(20px, 2.3vw, 34px) !important;
}
.nf-redesign .page-stack { gap: 18px !important; }
.nf-redesign .page-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px;
  margin: 0 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.nf-redesign .page-kicker { margin: 0 0 7px !important; color: var(--nd-cyan) !important; font-size: 9px !important; font-weight: 800 !important; letter-spacing: 0.14em !important; text-transform: uppercase; }
.nf-redesign .page-head h1,
.nf-redesign .page-head h2 { margin: 0 !important; color: var(--nd-ink) !important; font-size: clamp(25px, 2.4vw, 34px) !important; line-height: 1.08 !important; letter-spacing: -0.8px !important; }
.nf-redesign .page-head .muted { margin: 8px 0 0 !important; color: var(--nd-muted) !important; }
.nf-redesign h1,
.nf-redesign h2,
.nf-redesign h3,
.nf-redesign h4,
.nf-redesign strong { color: var(--nd-ink); }
.nf-redesign .muted,
.nf-redesign small { color: var(--nd-muted); }

.nf-redesign .card,
.nf-redesign .panel,
.nf-redesign .metric-card,
.nf-redesign .module-hero,
.nf-redesign .dashboard-hero,
.nf-redesign .table-wrap:not(.commerce-table-wrap) {
  border: 1px solid var(--nd-line) !important;
  border-radius: 22px !important;
  color: var(--nd-text) !important;
  background: var(--nd-surface) !important;
  box-shadow: var(--nd-shadow-soft) !important;
}
.nf-redesign .card { padding: clamp(18px, 2vw, 24px) !important; }
.nf-redesign .card-header,
.nf-redesign .card-head,
.nf-redesign .panel-head { border-color: var(--nd-line) !important; }
.nf-redesign .grid { gap: 16px !important; }
.nf-redesign .metric-card { overflow: hidden; }
.nf-redesign .metric-card::before { background: var(--nd-gradient) !important; }

.nf-redesign .btn {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px !important;
  border-radius: 13px !important;
  border: 1px solid transparent !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}
.nf-redesign .btn-primary,
.nf-redesign button.btn-primary {
  color: #fff !important;
  background: var(--nd-gradient) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 24px rgba(24, 97, 241, 0.18) !important;
}
.nf-redesign .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 16px 28px rgba(24, 97, 241, 0.24) !important; }
.nf-redesign .btn.secondary,
.nf-redesign .btn-secondary { color: var(--nd-primary) !important; background: color-mix(in srgb, var(--nd-primary) 7%, var(--nd-surface)) !important; border-color: color-mix(in srgb, var(--nd-primary) 17%, var(--nd-line)) !important; }
.nf-redesign .btn.ghost,
.nf-redesign .btn-outline,
.nf-redesign .btn-ghost { color: var(--nd-text) !important; background: var(--nd-surface) !important; border-color: var(--nd-line) !important; box-shadow: none !important; }
.nf-redesign .btn-danger { color: #c93f45 !important; background: color-mix(in srgb, var(--nd-danger) 8%, var(--nd-surface)) !important; border-color: color-mix(in srgb, var(--nd-danger) 25%, var(--nd-line)) !important; }

.nf-redesign input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.nf-redesign select,
.nf-redesign textarea {
  width: 100%;
  min-height: 46px !important;
  border: 1px solid var(--nd-line) !important;
  border-radius: 13px !important;
  color: var(--nd-text) !important;
  background: var(--nd-surface) !important;
  box-shadow: none !important;
  outline: 0;
}
.nf-redesign textarea { min-height: 100px !important; padding: 12px 14px !important; resize: vertical; }
.nf-redesign input:not([type="checkbox"]):not([type="radio"]):focus,
.nf-redesign select:focus,
.nf-redesign textarea:focus { border-color: color-mix(in srgb, var(--nd-primary) 60%, var(--nd-line)) !important; box-shadow: 0 0 0 4px rgba(24, 97, 241, 0.08) !important; }
.nf-redesign input::placeholder,
.nf-redesign textarea::placeholder { color: color-mix(in srgb, var(--nd-muted) 70%, transparent) !important; }
.nf-redesign input[type="checkbox"],
.nf-redesign input[type="radio"] { width: 19px !important; height: 19px !important; flex: 0 0 19px; margin: 0 !important; accent-color: var(--nd-primary); }
.nf-redesign .checkbox-line,
.nf-redesign .check-line,
.nf-redesign .check-row { display: flex !important; align-items: flex-start !important; gap: 9px !important; }

.nf-redesign table { color: var(--nd-text) !important; }
.nf-redesign th { color: var(--nd-muted) !important; font-size: 9px !important; font-weight: 800 !important; letter-spacing: 0.09em; text-transform: uppercase; }
.nf-redesign th,
.nf-redesign td { border-color: var(--nd-line) !important; }
.nf-redesign tbody tr:hover { background: color-mix(in srgb, var(--nd-primary) 3%, transparent) !important; }
.nf-redesign .badge { border: 0 !important; border-radius: 999px !important; color: var(--nd-primary) !important; background: color-mix(in srgb, var(--nd-primary) 9%, var(--nd-surface)) !important; }
.nf-redesign .flash,
.nf-redesign .notice { border-radius: 15px !important; box-shadow: none !important; }

/* Loja e cardápio: os cadastros ficam sempre evidentes e separados por jornada. */
.nf-redesign .commerce-admin { --commerce-blue: var(--nd-primary); --commerce-green: var(--nd-cyan); }
.nf-redesign .commerce-page-head { align-items: flex-end !important; }
.nf-redesign .commerce-head-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.nf-redesign .commerce-status { border: 1px solid var(--nd-line); background: var(--nd-surface) !important; }
.nf-redesign .commerce-channel-bar,
.nf-redesign .commerce-tabs { border-color: var(--nd-line) !important; background: var(--nd-surface) !important; box-shadow: var(--nd-shadow-soft) !important; }
.nf-redesign .commerce-tabs { position: sticky; top: 94px; z-index: 25; padding: 6px !important; border-radius: 16px !important; }
.nf-redesign .commerce-tabs a { min-height: 40px; display: inline-flex; align-items: center; color: var(--nd-muted) !important; }
.nf-redesign .commerce-tabs a.is-active { color: #fff !important; background: var(--nd-gradient) !important; box-shadow: 0 8px 18px rgba(24, 97, 241, 0.16) !important; }
.nf-redesign .commerce-metrics article { border-color: var(--nd-line) !important; background: var(--nd-surface) !important; box-shadow: var(--nd-shadow-soft) !important; }
.nf-redesign .commerce-onboarding { border-color: var(--nd-line) !important; background: var(--nd-surface) !important; box-shadow: var(--nd-shadow-card) !important; }
.nf-redesign .commerce-onboarding-copy { background: linear-gradient(145deg, color-mix(in srgb, var(--nd-primary) 9%, var(--nd-surface)), color-mix(in srgb, var(--nd-cyan) 7%, var(--nd-surface))) !important; }
.nf-redesign .commerce-step-badge { background: var(--nd-gradient) !important; }
.nf-redesign .commerce-admin-item { border-color: var(--nd-line) !important; }
.nf-redesign .commerce-admin-thumb { background: var(--nd-surface-soft) !important; }
.nf-redesign .commerce-empty { border-color: color-mix(in srgb, var(--nd-primary) 24%, var(--nd-line)) !important; background: var(--nd-surface-soft) !important; }
.nf-redesign .commerce-copy-link,
.nf-redesign .commerce-advanced-fields { border-color: var(--nd-line) !important; background: var(--nd-surface-soft) !important; }

/* Login oficial v1.3.1. */
body.nd-auth-body {
  min-height: 100dvh;
  margin: 0;
  color: var(--nd-text);
  background: var(--nd-bg);
}
.nd-auth-shell { min-height: 100dvh; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr); }
.nd-auth-showcase {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 6vw, 92px);
  color: #0b1f46;
  background: linear-gradient(155deg, #eff7ff 0%, #eaf4ff 48%, #daebff 100%);
}
.nd-auth-showcase.has-promo-image { background: linear-gradient(155deg, rgba(239, 247, 255, 0.94), rgba(218, 235, 255, 0.88)), var(--login-promo-image) center/cover no-repeat; }
.nd-auth-showcase::before,
.nd-auth-showcase::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; border: clamp(54px, 7vw, 86px) solid rgba(255, 255, 255, 0.58); }
.nd-auth-showcase::before { width: 520px; height: 520px; left: -360px; top: 10%; }
.nd-auth-showcase::after { width: 650px; height: 650px; right: -430px; top: 18%; }
.nd-auth-brand { width: min(260px, 48vw); display: flex; align-items: center; gap: 13px; margin-bottom: clamp(42px, 7vh, 76px); }
.nd-auth-brand img { width: 66px; height: 66px; object-fit: contain; filter: drop-shadow(0 12px 24px rgba(24, 97, 241, 0.15)); }
.nd-auth-brand strong { color: #0b1f46; font-size: 27px; letter-spacing: -0.8px; }
.nd-auth-brand strong em { color: var(--nd-primary); font-style: normal; }
.nd-auth-copy { width: min(100%, 650px); }
.nd-auth-copy .page-kicker { color: var(--nd-primary) !important; }
.nd-auth-copy h1 { max-width: 12ch; margin: 0 0 18px; color: #0b1f46; font-size: clamp(38px, 5vw, 66px); line-height: 1.02; letter-spacing: -2px; }
.nd-auth-copy p { max-width: 620px; margin: 0; color: #526985; font-size: clamp(15px, 1.3vw, 18px); line-height: 1.75; }
.nd-auth-proof { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.nd-auth-proof span { padding: 9px 12px; border: 1px solid #d3e4fa; border-radius: 999px; color: #315073; background: rgba(255, 255, 255, 0.68); font-size: 11px; font-weight: 700; }
.nd-auth-form-panel { position: relative; display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 6vw, 78px); background: var(--nd-surface); box-shadow: -18px 0 80px rgba(15, 23, 42, 0.06); }
.nd-auth-mobile-brand { display: none; }
.nd-auth-form-panel > * { width: min(100%, 520px); margin-left: auto; margin-right: auto; }
.nd-auth-form-panel .page-kicker { color: var(--nd-cyan) !important; }
.nd-auth-form-panel h2 { color: var(--nd-ink) !important; }
.nd-auth-form-panel .form-stack { display: grid; gap: 16px; margin-top: 26px; }
.nd-auth-form-panel .form-stack label { display: grid; gap: 8px; color: var(--nd-text); font-size: 12px; font-weight: 700; }
.nd-auth-form-panel input:not([type="checkbox"]):not([type="radio"]),
.nd-auth-form-panel select,
.nd-auth-form-panel textarea { width: 100%; min-height: 52px; padding: 0 15px; border: 1px solid var(--nd-line); border-radius: 14px; color: var(--nd-text); background: var(--nd-surface); outline: 0; }
.nd-auth-form-panel textarea { min-height: 110px; padding-block: 13px; }
.nd-auth-form-panel input:focus,
.nd-auth-form-panel select:focus,
.nd-auth-form-panel textarea:focus { border-color: #92b5ff; box-shadow: 0 0 0 4px rgba(24, 97, 241, 0.08); }
.nd-auth-form-panel input[type="checkbox"],
.nd-auth-form-panel input[type="radio"] { width: 19px; height: 19px; accent-color: var(--nd-primary); }
.nd-auth-form-panel .checkbox-line,
.nd-auth-form-panel .check-line { display: flex !important; align-items: flex-start; gap: 9px; }
.nd-auth-form-panel .btn { min-height: 50px; border: 1px solid transparent; border-radius: 14px; padding: 0 17px; font-weight: 750; cursor: pointer; }
.nd-auth-form-panel .btn-primary { color: #fff; background: var(--nd-gradient); box-shadow: 0 12px 24px rgba(24, 97, 241, 0.18); }
.nd-auth-form-panel .w-full { width: 100%; }
.nd-auth-form-panel a { color: var(--nd-primary); text-decoration: none; font-weight: 700; }
.nd-auth-form-panel .auth-switch { color: var(--nd-muted); }
.nd-auth-form-panel .auth-login-intro h2,
.nd-auth-form-panel .auth-heading h2 { margin: 0 0 10px; font-size: clamp(29px, 3vw, 38px); letter-spacing: -1px; }
.nd-auth-form-panel .auth-login-intro .muted,
.nd-auth-form-panel .auth-heading .muted { margin: 0; line-height: 1.65; }
.nd-auth-form-panel .auth-security-note { display: flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--nd-muted); font-size: 11px; }
.nd-auth-form-panel .auth-security-note span { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--nd-success); box-shadow: 0 0 0 5px color-mix(in srgb, var(--nd-success) 12%, transparent); }
.nd-auth-form-panel .two-factor-screen { width: min(100%, 460px); display: grid; gap: 18px; }
.nd-auth-form-panel .two-factor-auth-heading { display: grid; gap: 9px; }
.nd-auth-form-panel .auth-security-icon,
.nd-auth-form-panel .two-factor-help-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; color: var(--nd-primary); background: color-mix(in srgb, var(--nd-primary) 10%, var(--nd-surface)); }
.nd-auth-form-panel .otp-input { text-align: center; font-size: 21px; font-variant-numeric: tabular-nums; letter-spacing: 0.2em; }
.nd-auth-form-panel .two-factor-help-card { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 12px; padding: 14px; border: 1px solid var(--nd-line); border-radius: 16px; background: var(--nd-surface-soft); }
.nd-auth-form-panel .two-factor-help-card p { margin: 0; color: var(--nd-muted); line-height: 1.5; }
.nd-auth-form-panel .flash,
.nd-auth-form-panel .notice,
.nd-auth-form-panel .card,
.nd-auth-form-panel .plan-card { border-color: var(--nd-line) !important; border-radius: 18px !important; color: var(--nd-text) !important; background: var(--nd-surface) !important; box-shadow: var(--nd-shadow-soft) !important; }
html[data-theme="dark"] .nd-auth-showcase { color: var(--nd-text); background: linear-gradient(155deg, #12203a, #132a49 55%, #123451); }
html[data-theme="dark"] .nd-auth-showcase::before,
html[data-theme="dark"] .nd-auth-showcase::after { border-color: rgba(255, 255, 255, 0.035); }
html[data-theme="dark"] .nd-auth-brand strong,
html[data-theme="dark"] .nd-auth-copy h1 { color: #f4f7ff; }
html[data-theme="dark"] .nd-auth-copy p { color: #aebbd0; }
html[data-theme="dark"] .nd-auth-proof span { color: #dbe7f8; border-color: #2b4363; background: rgba(17, 28, 46, 0.66); }

@media (min-width: 1181px) {
  .nd-auth-shell:has(.register-plans-page) { grid-template-columns: minmax(300px, 0.42fr) minmax(760px, 1.58fr); }
  .nd-auth-form-panel:has(.register-plans-page) { justify-content: flex-start; overflow-y: auto; padding: 40px clamp(32px, 4vw, 62px); }
  .nd-auth-form-panel:has(.register-plans-page) > * { width: min(100%, 1180px); }
}

@media (max-width: 1180px) {
  .nf-redesign .topbar-logout-form,
  .nf-redesign .topbar-actions > .icon-btn[title="Central de ajuda"],
  .nf-redesign .topbar-actions > a[title="Suporte"] { display: none !important; }
  .nf-redesign .user-chip strong { display: none; }
  .nf-redesign .commerce-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 900px) {
  .nf-redesign .app-shell,
  .nf-redesign .app-shell.sidebar-collapsed { padding-left: 0 !important; }
  .nf-redesign .sidebar,
  .nf-redesign .app-shell.sidebar-collapsed .sidebar {
    width: min(88vw, 310px) !important;
    transform: translateX(-105%);
    box-shadow: 24px 0 70px rgba(11, 31, 70, 0.2) !important;
  }
  .nf-redesign .app-shell.sidebar-open .sidebar { transform: translateX(0); }
  .nf-redesign .app-shell.sidebar-collapsed .sidebar-head { grid-template-columns: minmax(0, 1fr) auto !important; justify-items: stretch; }
  .nf-redesign .app-shell.sidebar-collapsed .sidebar-logo-badge--expanded { display: grid !important; }
  .nf-redesign .app-shell.sidebar-collapsed .sidebar-logo-badge--collapsed { display: none !important; }
  .nf-redesign .app-shell.sidebar-collapsed .sidebar-logo-text,
  .nf-redesign .app-shell.sidebar-collapsed .tenant-pill > div,
  .nf-redesign .app-shell.sidebar-collapsed .nav-section-label,
  .nf-redesign .app-shell.sidebar-collapsed .sidebar-nav a > span:not(.nav-icon),
  .nf-redesign .app-shell.sidebar-collapsed .nav-more summary > span:not(.nav-icon),
  .nf-redesign .app-shell.sidebar-collapsed .sidebar-footer { display: initial !important; }
  .nf-redesign .app-shell.sidebar-collapsed .tenant-pill { display: grid !important; grid-template-columns: 42px minmax(0, 1fr); justify-content: initial; padding: 10px !important; border-color: var(--nd-line) !important; background: var(--nd-surface-soft) !important; }
  .nf-redesign .app-shell.sidebar-collapsed .sidebar-nav > a,
  .nf-redesign .app-shell.sidebar-collapsed .nav-more > summary { width: auto !important; justify-content: flex-start; padding: 0 13px !important; }
  .nf-redesign .app-shell.sidebar-collapsed .nav-more-links { display: grid !important; }
  .nf-redesign .mobile-menu { display: grid !important; }
  .nf-redesign .topbar { min-height: 72px !important; }
  .nf-redesign .content { padding: 18px 15px 112px !important; }
  .nf-redesign .commerce-tabs { top: 78px; }
  .nd-auth-shell { grid-template-columns: 1fr; }
  .nd-auth-showcase { display: none; }
  .nd-auth-form-panel { min-height: 100dvh; width: min(100%, 620px); margin: 0 auto; padding: 34px clamp(20px, 7vw, 48px); box-shadow: none; }
  .nd-auth-mobile-brand { display: flex; align-items: center; gap: 11px; margin-bottom: clamp(34px, 7vh, 64px); }
  .nd-auth-mobile-brand img { width: 50px; height: 50px; object-fit: contain; }
  .nd-auth-mobile-brand strong { color: var(--nd-ink); font-size: 23px; }
  .nd-auth-mobile-brand em { color: var(--nd-primary); font-style: normal; }
}

@media (max-width: 680px) {
  .nf-redesign .topbar-left strong { max-width: 180px; font-size: 15px !important; }
  .nf-redesign .topbar-actions { gap: 6px !important; }
  .nf-redesign .topbar-actions > .topbar-icon-link:first-of-type,
  .nf-redesign .user-chip { display: none !important; }
  .nf-redesign .page-head { align-items: stretch !important; flex-direction: column; }
  .nf-redesign .commerce-head-actions { width: 100%; align-items: stretch; }
  .nf-redesign .commerce-head-actions .btn { flex: 1; }
  .nf-redesign .commerce-metrics { grid-template-columns: 1fr 1fr !important; }
  .nf-redesign .commerce-tabs { margin-inline: -7px !important; border-radius: 0 !important; border-inline: 0 !important; }
  .nf-redesign .card { padding: 17px !important; border-radius: 18px !important; }
  .nf-redesign .grid-2,
  .nf-redesign .grid-3,
  .nf-redesign .form-grid-2,
  .nf-redesign .form-grid-3 { grid-template-columns: 1fr !important; }
  .nf-redesign .table-wrap { overflow: visible !important; }
  .nf-redesign .responsive-table thead,
  .nf-redesign table[data-mobile-cards] thead { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
