/* AudaXCRM | acesso e cadastro no mesmo sistema visual do produto. */
:root { color-scheme: light; }

html { background: var(--audax-bg); }
body {
  min-height: 100dvh !important;
  padding: clamp(16px, 3vw, 32px) !important;
  align-content: center !important;
  color: var(--audax-text) !important;
  background:
    radial-gradient(760px 420px at -8% -12%, rgba(20,155,104,.13), transparent 62%),
    radial-gradient(620px 380px at 108% 102%, rgba(11,111,184,.10), transparent 64%),
    var(--audax-bg) !important;
}
body::before,
body:not(.ax-login-leaving)::after,
.login-canvas,
.ambient-message-layer { display: none !important; }

.status-strip,
.shell { position: relative; z-index: 1; width: min(1160px, 100%) !important; }
.status-strip { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
.status-item {
  min-height: 38px !important;
  padding: 8px 12px !important;
  border: 1px solid var(--audax-border) !important;
  border-radius: var(--audax-radius) !important;
  background: var(--audax-panel) !important;
  box-shadow: var(--audax-shadow-soft) !important;
}
.status-item span,
.status-item span:last-child { color: var(--audax-muted) !important; }
.status-dot { background: var(--audax-success) !important; box-shadow: 0 0 0 3px var(--audax-accent-soft) !important; }
.status-item.warn .status-dot { background: var(--audax-warning) !important; box-shadow: 0 0 0 3px var(--audax-warning-soft) !important; }

.shell {
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(390px, .76fr) !important;
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid var(--audax-border) !important;
  border-radius: 16px !important;
  background: var(--audax-panel) !important;
  box-shadow: var(--audax-shadow) !important;
}
.brand,
.card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.brand::before,
.brand::after,
.card::before,
.card::after { display: none !important; }
.brand {
  display: grid !important;
  align-content: center !important;
  padding: clamp(32px, 5vw, 64px) !important;
  background: linear-gradient(145deg, #edf8f3 0%, #f7fbfc 58%, #edf4f8 100%) !important;
  border-right: 1px solid var(--audax-border) !important;
}
.brand-identity { width: min(520px, 100%); }
.brand-logo { width: min(300px, 100%) !important; margin: 0 0 32px !important; }
.brand-logo__halo { display: none !important; }
.brand-logo img,
.access-brand img,
.register-brand-lockup img { filter: none !important; }
.brand h1,
.brand h1.brand-product-name,
.access-header h2,
.register-intro h1,
.register-title { color: var(--audax-text) !important; text-shadow: none !important; }
.brand h1,
.brand h1.brand-product-name { max-width: 17ch; font-size: clamp(32px, 3.4vw, 46px) !important; line-height: 1.08 !important; }
.brand p,
.brand .brand-presentation p,
.access-header p,
.register-intro p,
.register-subtitle,
.register-note { color: var(--audax-muted) !important; }
.brand-kicker,
.access-kicker,
.register-kicker { color: var(--audax-accent) !important; }
.brand-highlights { gap: 8px !important; margin-top: 28px !important; padding: 0 !important; border: 0 !important; }
.brand-highlights::after { display: none !important; }
.brand-highlights span { padding: 7px 10px !important; border: 1px solid var(--audax-border) !important; border-radius: 999px !important; color: var(--audax-muted) !important; background: rgba(255,255,255,.72) !important; }
.brand-outcomes > div { border-color: var(--audax-border) !important; background: rgba(255,255,255,.72) !important; }
.brand-outcomes strong,
.brand-signature strong { color: var(--audax-text) !important; }
.brand-outcomes span,
.brand-signature { color: var(--audax-muted) !important; }

.card { padding: clamp(26px, 3.5vw, 46px) !important; background: var(--audax-panel) !important; gap: 18px !important; }
.access-brand strong,
.register-brand-lockup strong { color: var(--audax-text) !important; }
.access-brand small,
.register-brand-lockup small { color: var(--audax-muted) !important; }
.tabs { padding: 4px !important; gap: 4px !important; border: 1px solid var(--audax-border) !important; border-radius: 10px !important; background: var(--audax-panel-2) !important; }
.tab { min-height: 42px !important; border-radius: 7px !important; color: var(--audax-muted) !important; }
.tab.active { color: #fff !important; background: var(--audax-accent) !important; box-shadow: none !important; animation: none !important; }
.access-header { gap: 7px !important; }
.access-header h2 { font-size: 27px !important; }
label,
.msg,
.feature,
.ops-line { color: var(--audax-muted) !important; }
input,
select {
  min-height: 48px !important;
  border: 1px solid var(--audax-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--audax-text) !important;
  box-shadow: none !important;
}
input:focus,
select:focus { outline: 2px solid rgba(20,155,104,.25) !important; outline-offset: 1px; border-color: var(--audax-accent) !important; }
input::placeholder { color: #8294a0 !important; }
.btn { min-height: 48px !important; border-radius: 8px !important; background: var(--audax-accent) !important; color: #fff !important; box-shadow: none !important; }
.btn:hover { background: #0f8358 !important; filter: none !important; }
.btn.secondary,
.toggle { border-color: var(--audax-border) !important; border-radius: 8px !important; background: var(--audax-panel-2) !important; color: var(--audax-text) !important; box-shadow: none !important; }
.link { color: var(--audax-blue) !important; }
.remember-row,
.recover-box,
.register-header,
.install-banner,
.login-banner,
.register-review,
.register-intro { border-color: var(--audax-border) !important; border-radius: 10px !important; background: var(--audax-panel-2) !important; box-shadow: none !important; }

/* Cadastro usa a mesma composição, com o formulário como foco. */
#register.register-view.view.active { gap: 18px !important; }
.register-topbar { padding-bottom: 16px; border-bottom: 1px solid var(--audax-border); }
.register-route { display: none !important; }
.register-intro dl > div { border-color: var(--audax-border) !important; background: transparent !important; }
.register-intro dl > div dt { color: var(--audax-accent) !important; background: var(--audax-accent-soft) !important; }
.register-header { padding: 18px !important; }
.register-progress__item span { border-color: var(--audax-border) !important; background: var(--audax-panel-3) !important; }
.register-progress__item.active span,
.register-progress__item.done span { background: var(--audax-accent) !important; border-color: var(--audax-accent) !important; color: #fff !important; box-shadow: none !important; }
.register-progress__item.active,
.register-progress__item.done { color: var(--audax-text) !important; }
.register-progress__line { background: var(--audax-border) !important; }
.reg-plan-card,
.reg-service-card { border-color: var(--audax-border) !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important; }
.reg-plan-card:hover,
.reg-service-card:hover { transform: none !important; border-color: var(--audax-blue) !important; }
.reg-plan-card.selected,
.reg-service-card.selected { border-color: var(--audax-accent) !important; background: var(--audax-accent-soft) !important; }
.reg-plan-card .plan-price { color: var(--audax-accent) !important; }

@media (min-width: 921px) {
  body.ax-register-active { align-content: start !important; }
  .shell:has(#register.active) { grid-template-columns: minmax(0, 1fr) !important; }
  .shell:has(#register.active) .brand { display: none !important; }
  .shell:has(#register.active) .card { padding: 34px 40px !important; }
  .shell:has(#register.active) .register-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 920px) {
  body { align-content: start !important; }
  .status-strip { grid-template-columns: 1fr !important; }
  .shell { grid-template-columns: 1fr !important; }
  .brand { order: 2; border-right: 0 !important; border-top: 1px solid var(--audax-border) !important; }
  .card { order: 1; }
}
@media (max-width: 600px) {
  body { padding: 12px !important; }
  .status-strip { display: flex !important; gap: 6px !important; }
  .status-item { flex: 1; min-width: 0; padding: 8px 9px !important; }
  .status-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px !important; }
  .brand { display: none !important; }
  .shell { border-radius: 12px !important; }
  .card { padding: 20px !important; }
  .register-intro { display: none !important; }
  .register-grid,
  .reg-plan-cards,
  .reg-service-cards,
  .register-actions,
  .register-actions__secondary { grid-template-columns: 1fr !important; }
  .field-span-2 { grid-column: auto !important; }
}
/* 2026-09-02: acesso alinhado ao shell dark/esmeralda do AudaXCRM. */
:root {
  color-scheme: dark;
  --audax-bg: #07100c;
  --audax-panel: #0d1712;
  --audax-panel-2: #121f18;
  --audax-panel-3: #18271f;
  --audax-text: #f3f8f5;
  --audax-muted: #9aada2;
  --audax-border: rgba(159, 190, 173, .16);
  --audax-accent: #20c97a;
  --audax-accent-soft: rgba(32, 201, 122, .13);
  --audax-blue: #67b7ff;
  --audax-shadow: 0 30px 90px rgba(0, 0, 0, .42);
  --audax-shadow-soft: 0 12px 32px rgba(0, 0, 0, .20);
}

html { background: #07100c !important; }
body {
  background:
    radial-gradient(900px 520px at 8% 0%, rgba(32, 201, 122, .12), transparent 64%),
    radial-gradient(720px 460px at 100% 100%, rgba(20, 116, 78, .13), transparent 66%),
    #07100c !important;
}
.status-item {
  background: rgba(13, 23, 18, .86) !important;
  border-color: rgba(159, 190, 173, .14) !important;
}
.shell {
  background: #0d1712 !important;
  border-color: rgba(159, 190, 173, .16) !important;
}
.brand {
  background:
    radial-gradient(520px 360px at 18% 18%, rgba(32, 201, 122, .15), transparent 68%),
    linear-gradient(150deg, #0b1811 0%, #0d1b14 54%, #09130f 100%) !important;
  border-color: rgba(159, 190, 173, .13) !important;
}
.brand-logo img { filter: brightness(0) invert(1) opacity(.92) !important; }
.brand-highlights span,
.brand-outcomes > div {
  color: #aec0b6 !important;
  border-color: rgba(159, 190, 173, .16) !important;
  background: rgba(255, 255, 255, .035) !important;
}
.card { background: #0d1712 !important; }
.tabs,
.remember-row,
.recover-box,
.register-header,
.install-banner,
.login-banner,
.register-review,
.register-intro {
  background: #121f18 !important;
  border-color: rgba(159, 190, 173, .16) !important;
}
.tab.active,
.btn {
  color: #04110a !important;
  background: #20c97a !important;
  font-weight: 750;
}
.btn:hover { background: #38d98d !important; }
input,
select {
  color: #eef6f1 !important;
  border-color: rgba(159, 190, 173, .19) !important;
  background: #101b15 !important;
}
input::placeholder { color: #73877c !important; }
input:focus,
select:focus {
  border-color: #20c97a !important;
  outline-color: rgba(32, 201, 122, .25) !important;
}
.btn.secondary,
.toggle {
  color: #dce9e1 !important;
  border-color: rgba(159, 190, 173, .18) !important;
  background: #15231b !important;
}
.reg-plan-card,
.reg-service-card,
.reg-plan-loading {
  color: #eaf3ed !important;
  border-color: rgba(159, 190, 173, .16) !important;
  background: #111d17 !important;
}
.reg-plan-card:hover,
.reg-service-card:hover {
  border-color: rgba(32, 201, 122, .55) !important;
  background: #14241b !important;
}
.reg-plan-card.selected,
.reg-service-card.selected {
  border-color: #20c97a !important;
  background: rgba(32, 201, 122, .10) !important;
}
.reg-plan-card h4,
.reg-service-card strong,
.register-commercial-heading strong,
.register-review__item b { color: #f1f7f3 !important; }
.reg-plan-card > p,
.reg-plan-audience,
.reg-service-card small,
.register-commercial-heading span,
.register-review__item span,
.register-note { color: #91a59a !important; }
.reg-plan-card .plan-features,
.register-review__item {
  border-color: rgba(159, 190, 173, .13) !important;
  background: rgba(255, 255, 255, .025) !important;
}
.reg-plan-select {
  color: #c8d7cf !important;
  border-color: rgba(159, 190, 173, .17) !important;
  background: #15231b !important;
}
.register-trial-promise {
  color: #dff8e9 !important;
  border-color: rgba(32, 201, 122, .28) !important;
  background: rgba(32, 201, 122, .09) !important;
}
.register-trial-promise strong,
.register-trial-promise > div span,
.register-trial-promise > b { color: #a9e8c7 !important; }
.register-review__warning {
  color: #f0cf8b !important;
  border-color: rgba(215, 170, 70, .28) !important;
  background: rgba(215, 170, 70, .08) !important;
}

@media (max-width: 600px) {
  html,
  body { min-height: 100%; background: #0d1712 !important; }
  body,
  body.ax-register-active {
    display: block !important;
    padding: 0 !important;
    overflow-x: hidden;
  }
  .status-strip { display: none !important; }
  .shell,
  body.ax-register-active .shell {
    width: 100% !important;
    min-height: 100svh !important;
    min-height: 100dvh !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #0d1712 !important;
  }
  .card,
  body.ax-register-active .card {
    width: 100% !important;
    min-height: 100svh !important;
    min-height: 100dvh !important;
    padding:
      max(22px, env(safe-area-inset-top, 0px))
      max(18px, env(safe-area-inset-right, 0px))
      max(24px, env(safe-area-inset-bottom, 0px))
      max(18px, env(safe-area-inset-left, 0px)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #0d1712 !important;
  }
  body.ax-register-active #register.register-view.view.active {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  .access-brand { margin-bottom: 4px; }
  .access-header h2 { font-size: 26px !important; }
  .tabs { position: sticky; top: 0; z-index: 5; }
  .register-topbar {
    position: sticky;
    top: 0;
    z-index: 5;
    padding: 4px 0 14px;
    background: #0d1712;
  }
  .register-header { padding: 15px !important; }
  .reg-plan-card,
  .reg-service-card { border-radius: 12px !important; }
}

/* Mobile cadastro: página integral, sem o antigo card claro ou colunas herdadas. */
.card input,
.card select,
body.ax-register-active #register input,
body.ax-register-active #register select {
  color: #eef6f1 !important;
  border-color: rgba(159, 190, 173, .19) !important;
  background: #101b15 !important;
}
.card input::placeholder,
body.ax-register-active #register input::placeholder { color: #73877c !important; }

body.ax-register-active #register.register-view.view.active {
  color: #f3f8f5 !important;
  border-color: rgba(159, 190, 173, .16) !important;
  background: #0d1712 !important;
}
body.ax-register-active .register-topbar,
body.ax-register-active .register-header {
  color: #f3f8f5 !important;
  background: #121f18 !important;
  border-color: rgba(159, 190, 173, .16) !important;
}
body.ax-register-active .register-brand-lockup strong,
body.ax-register-active .register-title,
body.ax-register-active .register-progress__item.active,
body.ax-register-active .register-progress__item.done { color: #f3f8f5 !important; }
body.ax-register-active .register-brand-lockup small,
body.ax-register-active .register-subtitle,
body.ax-register-active .register-header > span { color: #91a59a !important; }
body.ax-register-active .register-back {
  color: #dce9e1 !important;
  border-color: rgba(159, 190, 173, .18) !important;
  background: #15231b !important;
}

@media (max-width: 600px) {
  body.ax-register-active #register.register-view.view.active {
    display: block !important;
    width: 100% !important;
    min-height: 100svh !important;
    min-height: 100dvh !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  body.ax-register-active #register > * {
    width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    grid-column: 1 !important;
  }
  body.ax-register-active .register-topbar {
    min-height: 58px;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 8px 0 14px !important;
    border-bottom: 1px solid rgba(159, 190, 173, .14) !important;
  }
  body.ax-register-active .register-brand-lockup { min-width: 0; }
  body.ax-register-active .register-brand-lockup span { min-width: 0; }
  body.ax-register-active .register-back {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 12px;
    white-space: nowrap;
  }
  body.ax-register-active .register-header {
    margin-top: 18px !important;
    padding: 16px !important;
    border-radius: 12px !important;
  }
  body.ax-register-active .register-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: 14px !important;
    margin-top: 18px !important;
  }
  body.ax-register-active .register-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 18px !important;
  }
}
body.ax-register-active #register .register-actions.register-field-hidden { display: none !important; }
body.ax-register-active #register label { color: #a8bbb0 !important; }