[data-auth-page] [hidden] { display: none !important; }
.account-form-footer-stack { display: grid; gap: 16px; }
.account-reset-inline { display: none; width: 100%; padding: 18px; margin: 0; border: 1px solid rgba(18, 18, 18, .12); border-radius: 18px; background: rgba(255, 255, 255, .55); }
.account-reset-inline.is-visible { display: grid; }
.account-submit-secondary { background: transparent; color: #111; border: 1px solid rgba(18, 18, 18, .24); }
.account-submit-danger { background: #9e2e2e; }
.account-submit-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 20px; border-radius: 999px; background: #111; color: #fff !important; text-decoration: none; font-weight: 600; }
.account-panel-compact { max-width: 560px; }
.account-copy, .account-support-note { color: rgba(18, 18, 18, .66); line-height: 1.65; }
.account-detail-line { display: flex; justify-content: space-between; gap: 16px; margin: 12px 0 0; color: rgba(18, 18, 18, .64); }
.account-detail-line strong { color: #111; font-weight: 600; text-transform: capitalize; }
@media (max-width: 640px) { .account-detail-line { display: grid; gap: 4px; } }

.account-auth-shell {
  display: block;
}

.account-auth-guest {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(360px, 0.7fr);
  align-items: center;
  gap: clamp(44px, 8vw, 116px);
}

.account-auth-copy {
  max-width: 570px;
}

.account-auth-copy h1 {
  margin: 22px 0 24px;
  color: var(--foreground);
  font-size: clamp(52px, 7vw, 92px);
  line-height: 0.94;
}

.account-auth-copy > p:not(.section-kicker) {
  max-width: 500px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.6;
}

.account-auth-points {
  display: grid;
  gap: 11px;
  margin-top: 34px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-auth-points span {
  display: flex;
  align-items: center;
  gap: 10px;
}

.account-auth-points span::before {
  width: 7px;
  height: 7px;
  display: inline-block;
  border-radius: 50%;
  background: var(--cyan);
  content: "";
  box-shadow: 0 0 18px rgba(98, 246, 210, 0.7);
}

.account-auth-card {
  width: 100%;
  max-width: 540px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 28px;
  background:
    radial-gradient(circle at 100% 0, rgba(108, 140, 255, 0.2), transparent 56%),
    rgba(255, 255, 255, 0.055);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
}

.account-auth-card-heading {
  margin-bottom: 25px;
}

.account-auth-card-kicker {
  margin: 0 0 13px;
  color: var(--cyan);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.15em;
}

.account-auth-card-heading h2 {
  margin: 0 0 12px;
  color: var(--foreground);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 0.98;
}

.account-auth-card-heading p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.account-auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin-bottom: 25px;
  padding: 4px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  background: rgba(0, 0, 0, 0.23);
}

.account-auth-tab {
  min-height: 42px;
  border: 0;
  border-radius: 11px;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.account-auth-tab:hover,
.account-auth-tab:focus-visible {
  color: var(--foreground);
}

.account-auth-tab.is-active {
  color: #07100e;
  background: var(--cyan);
  box-shadow: 0 8px 20px rgba(98, 246, 210, 0.16);
}

.account-auth-card .account-form {
  gap: 8px;
}

.account-auth-card .account-form input:not([type="checkbox"]) {
  height: 50px;
  border-radius: 14px;
  background: rgba(4, 6, 12, 0.55);
}

.account-auth-card .account-form input:not([type="checkbox"]):focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(98, 246, 210, 0.1);
}

.account-auth-card .account-submit {
  width: 100%;
  justify-content: center;
  margin-top: 18px;
}

.account-auth-inline-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 11px;
  color: var(--dim);
  font-size: 12px;
}

.account-auth-inline-row a,
.account-auth-footnote a {
  color: var(--cyan);
}

.account-auth-inline-row a:hover,
.account-auth-footnote a:hover {
  color: var(--foreground);
}

.account-auth-footnote {
  margin: 24px 0 0;
  color: var(--dim);
  font-size: 11px;
  line-height: 1.6;
  text-align: center;
}

.account-auth-state [data-auth-mode-panel][hidden] {
  display: none;
}

@media (max-width: 860px) {
  .account-auth-guest {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .account-auth-copy,
  .account-auth-card {
    max-width: 680px;
  }
}

@media (max-width: 560px) {
  .account-auth-card {
    padding: 22px 18px;
    border-radius: 22px;
  }

  .account-auth-inline-row {
    display: grid;
    gap: 8px;
  }

  .account-auth-copy h1 {
    font-size: clamp(48px, 15vw, 72px);
  }
}

/* NUVO LAB account dashboard */
.account-auth-loading {
  min-height: 480px;
  display: grid;
  place-items: center;
  gap: 12px;
  color: var(--muted);
  font-size: 13px;
  letter-spacing: .02em;
}
.account-loading-dot { width: 8px; height: 8px; margin: 0 auto; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 18px rgba(98,246,210,.8); animation: nuvo-pulse 1.2s ease-in-out infinite; }
@keyframes nuvo-pulse { 0%,100%{opacity:.35;transform:scale(.8)} 50%{opacity:1;transform:scale(1)} }
.nuvo-dashboard { width: 100%; }
.nuvo-dashboard-layout { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: clamp(28px,5vw,72px); align-items: start; }
.nuvo-dashboard-sidebar { position: sticky; top: 112px; min-height: 620px; display: flex; flex-direction: column; padding: 22px 14px 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: rgba(255,255,255,.04); }
.nuvo-dashboard-sidebar-heading { display:flex; align-items:center; gap:11px; padding: 4px 10px 25px; border-bottom:1px solid rgba(255,255,255,.09); }
.nuvo-dashboard-sidebar-heading strong,.nuvo-dashboard-sidebar-heading span { display:block; }
.nuvo-dashboard-sidebar-heading strong { color:var(--foreground); font-size:12px; letter-spacing:.12em; }
.nuvo-dashboard-sidebar-heading div span { margin-top:4px; color:var(--dim); font-size:11px; }
.nuvo-dashboard-mark { width:30px; height:30px; display:grid; place-items:center; border:1px solid rgba(98,246,210,.55); border-radius:9px; color:#07100e; background:var(--cyan); font-weight:800; }
.nuvo-dashboard-nav { display:grid; gap:4px; padding-top:18px; }
.nuvo-dashboard-nav button,.nuvo-dashboard-sidebar-footer button,.nuvo-dashboard-sidebar-footer a { display:flex; align-items:center; gap:11px; width:100%; min-height:40px; padding:0 11px; border:0; border-radius:10px; color:var(--muted); background:transparent; font:inherit; font-size:12px; text-align:left; text-decoration:none; cursor:pointer; transition:color .18s ease,background .18s ease; }
.nuvo-dashboard-nav button span,.nuvo-dashboard-sidebar-footer span { width:16px; color:var(--dim); text-align:center; }
.nuvo-dashboard-nav button:hover,.nuvo-dashboard-nav button:focus-visible,.nuvo-dashboard-nav button.is-active { color:var(--foreground); background:rgba(98,246,210,.1); }
.nuvo-dashboard-nav button.is-active { box-shadow: inset 2px 0 var(--cyan); }
.nuvo-dashboard-sidebar-footer { display:grid; gap:4px; margin-top:auto; padding-top:20px; border-top:1px solid rgba(255,255,255,.09); }
.nuvo-dashboard-sidebar-footer a:hover,.nuvo-dashboard-sidebar-footer button:hover,.nuvo-dashboard-sidebar-footer button:focus-visible { color:var(--foreground); background:rgba(255,255,255,.06); }
.nuvo-dashboard-sidebar-footer a:first-child { color:#ff9aa7; }
.nuvo-dashboard-content { min-width:0; }
.nuvo-dashboard-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.1); }
.nuvo-dashboard-header h1 { margin:14px 0 9px; color:var(--foreground); font-size:clamp(38px,5vw,66px); line-height:.98; letter-spacing:-.04em; }
.nuvo-dashboard-header p:last-child { margin:0; color:var(--muted); font-size:14px; }
.nuvo-dashboard-header-meta { display:flex; gap:8px; align-items:center; padding-bottom:7px; }
.nuvo-role-badge,.nuvo-status-badge { display:inline-flex; min-height:27px; align-items:center; padding:0 10px; border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.nuvo-role-badge { color:#07100e; background:var(--cyan); }
.nuvo-status-badge { color:#9dffce; border:1px solid rgba(98,246,210,.25); background:rgba(98,246,210,.08); }
.nuvo-dashboard-mobile-nav { display:none; margin-bottom:20px; }
.nuvo-dashboard-mobile-nav select { width:100%; min-height:46px; padding:0 14px; border:1px solid rgba(255,255,255,.14); border-radius:12px; color:var(--foreground); background:#11151e; font:inherit; }
.nuvo-dashboard-message { margin:18px 0 0; }
.nuvo-dashboard-section { padding-top:34px; }
.nuvo-section-title-row { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:18px; }
.nuvo-section-title-row h2 { margin:7px 0 0; color:var(--foreground); font-size:clamp(24px,3vw,34px); line-height:1.05; letter-spacing:-.02em; }
.nuvo-section-title-row p:last-child { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.nuvo-dashboard-kicker { margin:0; color:var(--cyan); font-size:10px; font-weight:800; letter-spacing:.15em; }
.nuvo-text-action { border:0; color:var(--cyan); background:transparent; font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.nuvo-text-action:hover,.nuvo-text-action:focus-visible { color:var(--foreground); }
.nuvo-profile-summary { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(180px,auto); gap:15px; align-items:center; padding:18px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(255,255,255,.04); }
.nuvo-profile-avatar { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; color:#07100e; background:var(--cyan); font-size:20px; font-weight:800; }
.nuvo-profile-summary strong,.nuvo-profile-summary span { display:block; }
.nuvo-profile-summary strong { color:var(--foreground); font-size:15px; }
.nuvo-profile-summary > div:nth-child(2) span { margin-top:4px; color:var(--dim); font-size:12px; }
.nuvo-profile-summary-email { padding-left:20px; border-left:1px solid rgba(255,255,255,.1); }
.nuvo-profile-summary-email span { color:var(--dim); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.nuvo-profile-summary-email strong { margin-top:4px; color:var(--muted); font-size:12px; font-weight:500; }
.nuvo-dashboard-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
.nuvo-feature-card { min-height:188px; display:flex; flex-direction:column; align-items:flex-start; padding:20px; border:1px solid rgba(255,255,255,.1); border-radius:16px; color:var(--muted); background:rgba(255,255,255,.035); text-decoration:none; transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.nuvo-feature-card:hover,.nuvo-feature-card:focus-visible { transform:translateY(-2px); border-color:rgba(98,246,210,.4); background:rgba(98,246,210,.06); }
.nuvo-feature-icon { width:34px; height:34px; display:grid; place-items:center; margin-bottom:19px; border:1px solid rgba(98,246,210,.3); border-radius:10px; color:var(--cyan); font-size:18px; }
.nuvo-feature-label { color:var(--dim); font-size:10px; font-weight:800; letter-spacing:.12em; }
.nuvo-feature-card strong { margin-top:9px; color:var(--foreground); font-size:26px; }
.nuvo-feature-card > span:not(.nuvo-feature-icon):not(.nuvo-feature-label):not(.nuvo-feature-link) { margin-top:3px; color:var(--muted); font-size:12px; }
.nuvo-feature-link { margin-top:auto; padding-top:15px; color:var(--cyan); font-size:11px; font-weight:700; }
.nuvo-dashboard-panel,.nuvo-empty-panel,.nuvo-settings-list { border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(255,255,255,.035); }
.nuvo-dashboard-panel { max-width:720px; padding:24px; }
.nuvo-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.nuvo-protected-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:18px; }
.nuvo-protected-fields div { display:grid; gap:6px; padding:12px; border-radius:10px; background:rgba(0,0,0,.16); }
.nuvo-protected-fields span,.nuvo-setting-row span { color:var(--dim); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.nuvo-protected-fields strong { color:var(--muted); font-size:12px; font-weight:500; text-transform:capitalize; }
.nuvo-form-note { color:var(--dim); font-size:11px; line-height:1.5; }
.nuvo-empty-panel { min-height:240px; display:grid; place-items:center; align-content:center; gap:8px; padding:30px; text-align:center; }
.nuvo-empty-icon { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(98,246,210,.3); border-radius:14px; color:var(--cyan); font-size:24px; }
.nuvo-empty-panel h3 { margin:8px 0 0; color:var(--foreground); font-size:18px; }
.nuvo-empty-panel p { max-width:460px; margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.nuvo-settings-list { overflow:hidden; }
.nuvo-setting-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; border-bottom:1px solid rgba(255,255,255,.08); }
.nuvo-setting-row:last-child { border-bottom:0; }
.nuvo-setting-row > div span,.nuvo-setting-row > div strong { display:block; }
.nuvo-setting-row > div strong { margin-top:5px; color:var(--foreground); font-size:13px; font-weight:600; }
.nuvo-setting-row a { color:var(--cyan); font-size:12px; text-decoration:none; }
.nuvo-setting-muted { color:var(--dim) !important; font-size:11px !important; }
.nuvo-danger-link { color:#ff9aa7 !important; }

@media (max-width: 980px) {
  .nuvo-dashboard-layout { grid-template-columns:1fr; }
  .nuvo-dashboard-sidebar { display:none; }
  .nuvo-dashboard-mobile-nav { display:block; }
}
@media (max-width: 640px) {
  .account-auth-loading { min-height:360px; }
  .nuvo-dashboard-header { display:block; }
  .nuvo-dashboard-header-meta { padding-top:18px; }
  .nuvo-profile-summary { grid-template-columns:auto minmax(0,1fr); }
  .nuvo-profile-summary-email { grid-column:1 / -1; padding:13px 0 0; border-top:1px solid rgba(255,255,255,.1); border-left:0; }
  .nuvo-dashboard-feature-grid,.nuvo-form-grid,.nuvo-protected-fields { grid-template-columns:1fr; }
  .nuvo-section-title-row { align-items:start; display:block; }
  .nuvo-section-title-row .nuvo-text-action { display:block; margin-top:15px; }
  .nuvo-dashboard-panel { padding:18px; }
  .nuvo-setting-row { align-items:start; display:grid; gap:10px; }
}

.nuvo-dashboard-role-note { margin:14px 10px 0; padding:12px 10px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(255,255,255,.025); }
.nuvo-dashboard-role-note span,.nuvo-dashboard-role-note small { display:block; }
.nuvo-dashboard-role-note span { color:var(--foreground); font-size:11px; font-weight:700; }
.nuvo-dashboard-role-note small { margin-top:4px; color:var(--dim); font-size:10px; line-height:1.35; }


/* Mobile account polish */
@media (max-width: 980px) {
  .nuvo-dashboard-content { width: 100%; }
  .nuvo-dashboard-mobile-nav { position: sticky; top: 8px; z-index: 5; padding: 6px 0; background: linear-gradient(var(--background) 72%, transparent); }
  .nuvo-dashboard-mobile-nav select { min-height: 50px; }
}
@media (max-width: 640px) {
  .account-page .account-shell { padding-inline: 14px; }
  .nuvo-dashboard-header { padding-bottom: 24px; }
  .nuvo-dashboard-header h1 { margin-top: 11px; font-size: clamp(36px, 12vw, 52px); line-height: .98; }
  .nuvo-dashboard-header p:last-child { max-width: 32ch; font-size: 13px; }
  .nuvo-dashboard-header-meta { gap: 6px; padding-top: 15px; }
  .nuvo-role-badge, .nuvo-status-badge { min-height: 30px; padding-inline: 9px; font-size: 9px; }
  .nuvo-dashboard-section { padding-top: 25px; }
  .nuvo-section-title-row h2 { font-size: 27px; }
  .nuvo-section-title-row p:last-child { font-size: 12px; }
  .nuvo-profile-summary { gap: 12px; padding: 15px; }
  .nuvo-profile-summary > div:nth-child(2) { min-width: 0; }
  .nuvo-profile-summary > div:nth-child(2) strong, .nuvo-profile-summary > div:nth-child(2) span, .nuvo-profile-summary-email strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .nuvo-profile-summary-email { min-width: 0; }
  .nuvo-dashboard-feature-grid { gap: 10px; }
  .nuvo-feature-card { min-height: 164px; padding: 16px; }
  .nuvo-feature-icon { width: 32px; height: 32px; margin-bottom: 14px; }
  .nuvo-feature-card strong { font-size: 24px; }
  .nuvo-feature-card > span:not(.nuvo-feature-icon):not(.nuvo-feature-label):not(.nuvo-feature-link) { font-size: 11px; }
  .nuvo-dashboard-panel { padding: 16px; border-radius: 14px; }
  .nuvo-dashboard-panel .account-form { gap: 9px; }
  .nuvo-dashboard-panel input:not([type="checkbox"]), .nuvo-dashboard-panel textarea { min-height: 50px; }
  .nuvo-dashboard-panel textarea { min-height: 120px; }
  .nuvo-dashboard-panel .account-submit { width: 100%; justify-content: center; }
  .nuvo-protected-fields { gap: 8px; }
  .nuvo-empty-panel { min-height: 205px; padding: 24px 16px; }
  .nuvo-setting-row { padding: 16px; }
  .account-auth-guest { gap: 28px; }
  .account-auth-copy > p:not(.section-kicker) { font-size: 16px; }
  .account-auth-points { margin-top: 25px; }
}
@media (max-width: 380px) {
  .account-page .account-shell { padding-inline: 11px; }
  .nuvo-dashboard-header h1 { font-size: 35px; }
  .nuvo-dashboard-feature-grid { grid-template-columns: 1fr; }
  .nuvo-feature-card { min-height: 145px; }
}
