/* CENTRI · Registro guiado por RICHI V14 */

body.cc-login-body.cc-signup-body .cc-login-experience {
  width:min(1280px,calc(100vw - clamp(28px,4vw,64px)))!important;
  grid-template-columns:36% 64%!important;
}
body.cc-login-body.cc-signup-body .cc-login-media { inset:12px 65% 12px 12px!important; }
body.cc-login-body.cc-signup-body .cc-login-stage { grid-column:1!important; }
body.cc-login-body.cc-signup-body .cc-login-stage-copy h1 { font-size:clamp(34px,3.3vw,48px)!important; }
body.cc-login-body.cc-signup-body .cc-login-panel {
  grid-column:2!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:28px 38px 24px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:thin;
}
body.cc-login-body.cc-signup-body .cc-login-panel-topbar { display:none!important; }
body.cc-login-body.cc-signup-body .cc-login-panel-footer { display:none!important; }
body.cc-login-body.cc-signup-body .cc-login-card { width:min(100%,720px)!important; }
body.cc-login-body.cc-signup-body .cc-login-notice { margin-bottom:16px!important; }

.cc-signup-heading { margin:0 0 17px; }
.cc-signup-heading .eyebrow { margin:0 0 6px; color:var(--login-primary-dark); font-size:9px; font-weight:950; letter-spacing:.13em; text-transform:uppercase; }
.cc-signup-heading h2 { margin:0; color:var(--login-text); font-size:clamp(27px,3vw,38px); font-weight:950; letter-spacing:-.045em; line-height:1.04; }
.cc-signup-heading > p:last-child { max-width:650px; margin:8px 0 0; color:var(--login-muted); font-size:12px; line-height:1.5; }

.cc-signup-wizard,.cc-signup-account { min-width:0; }
.cc-signup-steps { display:grid; grid-template-columns:auto 1fr auto 1fr auto; align-items:center; gap:8px; margin:0 0 14px; }
.cc-signup-steps > i { height:2px; border-radius:9px; background:var(--login-line); transition:background .2s ease; }
.cc-signup-steps > i.is-complete { background:var(--login-primary); }
.cc-signup-steps button { min-height:34px!important; display:inline-flex; align-items:center; gap:7px; padding:0; border:0; background:transparent; color:var(--login-muted); font:inherit; cursor:default; }
.cc-signup-steps button span { width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--login-line); border-radius:50%; background:#fff; font-size:10px; font-weight:950; }
.cc-signup-steps button b { font-size:9px; white-space:nowrap; }
.cc-signup-steps button.is-active,.cc-signup-steps button.is-complete { color:var(--login-text); }
.cc-signup-steps button.is-active span { border-color:var(--login-primary-dark); background:var(--login-primary-dark); color:#fff; box-shadow:0 0 0 4px var(--login-primary-soft); }
.cc-signup-steps button.is-complete span { border-color:var(--login-primary); background:var(--login-primary); color:var(--login-primary-dark); }

.cc-signup-richi { display:grid; grid-template-columns:42px minmax(0,1fr); gap:11px; align-items:center; margin-bottom:16px; padding:12px 14px; border:1px solid color-mix(in srgb,var(--login-primary) 34%,var(--login-line)); border-radius:16px; background:linear-gradient(135deg,color-mix(in srgb,var(--login-primary-soft) 74%,#fff),#fff); }
.cc-signup-richi-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:14px; background:var(--login-primary-dark); color:var(--login-primary); font-size:18px; font-weight:950; box-shadow:0 9px 22px rgba(0,0,0,.12); }
.cc-signup-richi strong { display:block; margin-bottom:3px; color:var(--login-primary-dark); font-size:9px; letter-spacing:.12em; }
.cc-signup-richi p { margin:0; color:var(--login-text); font-size:12px; line-height:1.45; }

.cc-signup-step[hidden],.cc-signup-account-step[hidden] { display:none!important; }
.cc-signup-question { margin-bottom:13px; }
.cc-signup-question > span { display:block; margin-bottom:4px; color:var(--login-muted); font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.cc-signup-question h3 { margin:0; color:var(--login-text); font-size:21px; letter-spacing:-.025em; }
.cc-signup-question p { margin:5px 0 0; color:var(--login-muted); font-size:11px; line-height:1.45; }

.cc-signup-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.cc-signup-choice { position:relative; min-width:0; display:grid; grid-template-columns:36px minmax(0,1fr); grid-template-rows:auto auto; column-gap:10px; align-items:center; padding:11px; border:1px solid var(--login-line); border-radius:14px; background:#fff; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.cc-signup-choice:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--login-primary) 65%,var(--login-line)); }
.cc-signup-choice:has(input:checked) { border-color:var(--login-primary); background:color-mix(in srgb,var(--login-primary-soft) 56%,#fff); box-shadow:0 0 0 3px color-mix(in srgb,var(--login-primary) 13%,transparent); }
.cc-signup-choice input { position:absolute; opacity:0; pointer-events:none; }
.cc-signup-choice-icon { grid-row:1 / 3; width:36px; height:36px; display:grid; place-items:center; border-radius:11px; background:var(--login-primary-soft); font-size:17px; }
.cc-signup-choice strong { min-width:0; color:var(--login-text); font-size:11px; line-height:1.2; }
.cc-signup-choice small { min-width:0; margin-top:3px; color:var(--login-muted); font-size:8px; line-height:1.35; }

.cc-signup-scale-grid,.cc-signup-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.cc-signup-scale-grid { margin-top:11px; }
.cc-signup-scale-grid label { display:grid; gap:5px; color:var(--login-text); font-size:9px; font-weight:850; }
.cc-signup-scale-grid select,.cc-signup-form-grid input { width:100%; min-height:43px; border:1px solid var(--login-line)!important; border-radius:11px!important; background:#fff!important; color:var(--login-text)!important; -webkit-text-fill-color:var(--login-text)!important; font-size:13px!important; }
.cc-signup-scale-grid select:focus,.cc-signup-form-grid input:focus { border-color:var(--login-primary)!important; box-shadow:0 0 0 4px color-mix(in srgb,var(--login-primary) 15%,transparent)!important; }

.cc-signup-needs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.cc-signup-capacity-question { margin-top:10px; padding:10px 12px; border:1px solid var(--login-line); border-radius:13px; background:color-mix(in srgb,var(--login-primary-soft) 35%,#fff); }
.cc-signup-capacity-question label { display:grid; grid-template-columns:minmax(0,1fr) minmax(145px,200px); gap:12px; align-items:center; color:var(--login-text); font-size:9px; font-weight:850; }
.cc-signup-capacity-question select { min-height:40px; border:1px solid var(--login-line)!important; border-radius:10px!important; background:#fff!important; color:var(--login-text)!important; font-size:11px!important; }
.cc-signup-need { position:relative; min-width:0; cursor:pointer; }
.cc-signup-need > input { position:absolute; opacity:0; pointer-events:none; }
.cc-signup-need > span { min-height:61px; display:grid; grid-template-columns:27px minmax(0,1fr); grid-template-rows:auto auto; column-gap:9px; align-content:center; padding:9px 11px; border:1px solid var(--login-line); border-radius:13px; background:#fff; transition:.16s ease; }
.cc-signup-need i { grid-row:1/3; width:25px; height:25px; display:grid; place-items:center; align-self:center; border:1px solid var(--login-line); border-radius:8px; color:transparent; font-style:normal; font-size:11px; font-weight:950; }
.cc-signup-need strong { color:var(--login-text); font-size:10px; }
.cc-signup-need small { margin-top:2px; color:var(--login-muted); font-size:8px; line-height:1.3; }
.cc-signup-need > input:checked + span { border-color:var(--login-primary); background:color-mix(in srgb,var(--login-primary-soft) 58%,#fff); }
.cc-signup-need > input:checked + span i { border-color:var(--login-primary); background:var(--login-primary); color:var(--login-primary-dark); }

.cc-signup-nav { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:15px; }
.cc-signup-nav > a,.cc-signup-restart { color:var(--login-muted); font-size:9px; font-weight:850; }
.cc-signup-nav .button { min-width:132px; min-height:42px!important; width:auto!important; margin:0!important; border-radius:12px!important; }
.cc-signup-nav .button[disabled] { opacity:.45; cursor:not-allowed; box-shadow:none!important; }
.cc-signup-restart { min-height:36px; padding:0 4px; border:0; background:transparent; cursor:pointer; }

.cc-signup-recommendation { position:relative; overflow:hidden; padding:18px; border:1px solid color-mix(in srgb,var(--login-primary) 58%,var(--login-line)); border-radius:18px; background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--login-primary-soft) 65%,#fff)); box-shadow:0 14px 36px color-mix(in srgb,var(--login-primary) 12%,transparent); }
.cc-signup-recommendation::after { content:"R"; position:absolute; right:-20px; bottom:-48px; color:color-mix(in srgb,var(--login-primary) 10%,transparent); font-size:150px; font-weight:950; line-height:1; pointer-events:none; }
.cc-signup-recommendation > * { position:relative; z-index:1; }
.cc-signup-recommendation-badge { width:fit-content; margin-bottom:11px; padding:5px 8px; border-radius:99px; background:var(--login-primary-dark); color:var(--login-primary); font-size:8px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }
.cc-signup-recommendation-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.cc-signup-recommendation-head span { color:var(--login-muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.cc-signup-recommendation-head h3 { margin:3px 0 5px; color:var(--login-text); font-size:24px; letter-spacing:-.035em; }
.cc-signup-recommendation-head p { max-width:450px; margin:0; color:var(--login-muted); font-size:10px; line-height:1.45; }
.cc-signup-recommendation-head > strong { color:var(--login-text); font-size:21px; white-space:nowrap; }
.cc-signup-modules { display:flex; flex-wrap:wrap; gap:5px; margin:11px 0; }
.cc-signup-chip { padding:5px 8px; border-radius:99px; background:#fff; border:1px solid var(--login-line); color:var(--login-text); font-size:8px; font-weight:800; }
.cc-signup-reason { margin:0 0 12px; color:var(--login-text); font-size:10px; line-height:1.5; }
.cc-signup-recommendation .button { width:100%!important; min-height:43px; }
.cc-signup-recommendation.is-warning { border-color:var(--centri-warning-border,#e9c877); background:linear-gradient(145deg,#fff,var(--centri-warning-soft,#fff5d6)); box-shadow:none; }
.cc-signup-recommendation.is-warning .cc-signup-recommendation-badge { background:var(--centri-warning-text,#76520b); color:#fff; }
.cc-signup-recommendation.is-warning::after { color:color-mix(in srgb,var(--centri-warning-border,#e9c877) 20%,transparent); }
.cc-signup-chip.is-missing { border-color:var(--centri-warning-border,#e9c877); background:var(--centri-warning-soft,#fff5d6); color:var(--centri-warning-text,#76520b); }
.cc-signup-alternatives { margin-top:11px; border:1px solid var(--login-line); border-radius:14px; background:#fff; }
.cc-signup-alternatives summary { padding:11px 13px; color:var(--login-text); font-size:10px; font-weight:900; cursor:pointer; }
.cc-signup-alternative { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; align-items:center; padding:10px 13px; border-top:1px solid var(--login-line); }
.cc-signup-alternative strong,.cc-signup-alternative small { display:block; }
.cc-signup-alternative strong { color:var(--login-text); font-size:10px; }
.cc-signup-alternative small { margin-top:2px; color:var(--login-muted); font-size:8px; }
.cc-signup-alternative > b { color:var(--login-text); font-size:11px; }
.cc-signup-alternative a { padding:6px 8px; border-radius:8px; background:var(--login-primary-soft); color:var(--login-primary-dark); font-size:8px; font-weight:900; text-decoration:none; }

.cc-signup-back { display:inline-flex; margin-bottom:10px; color:var(--login-muted); font-size:9px; font-weight:850; text-decoration:none; }
.cc-signup-selected-plan { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:13px; padding:12px 14px; border:1px solid color-mix(in srgb,var(--login-primary) 45%,var(--login-line)); border-radius:15px; background:color-mix(in srgb,var(--login-primary-soft) 58%,#fff); }
.cc-signup-selected-plan span,.cc-signup-selected-plan strong,.cc-signup-selected-plan small { display:block; }
.cc-signup-selected-plan span { color:var(--login-muted); font-size:8px; font-weight:900; text-transform:uppercase; }
.cc-signup-selected-plan strong { margin:3px 0; color:var(--login-text); font-size:15px; }
.cc-signup-selected-plan small { max-width:440px; color:var(--login-muted); font-size:8px; line-height:1.4; }
.cc-signup-selected-plan > div:last-child { text-align:right; }
.cc-signup-selected-plan b { display:block; color:var(--login-text); font-size:18px; white-space:nowrap; }
.cc-signup-account-steps { margin-bottom:14px; }
.cc-signup-form-grid .cc-login-field { min-width:0; }
.cc-signup-form-grid .cc-login-field.is-wide { grid-column:1/-1; }
.cc-signup-form-grid small { min-height:12px; color:var(--login-muted); font-size:8px; }
.cc-signup-password-status { margin-top:9px; padding:8px 10px; border-radius:10px; background:var(--login-primary-soft); color:var(--login-muted); font-size:9px; }
.cc-signup-password-status.is-valid { color:var(--centri-success-text,#2f6a3f); }
.cc-signup-check { display:flex; gap:10px; align-items:flex-start; margin:8px 0; padding:10px 11px; border:1px solid var(--login-line); border-radius:12px; background:color-mix(in srgb,var(--login-primary-soft) 30%,#fff); color:var(--login-text); font-size:9px; line-height:1.45; }
.cc-signup-check input { width:18px!important; height:18px!important; min-width:18px; margin-top:1px; accent-color:var(--login-primary-dark); }
.cc-signup-check.is-optional { background:#fff; }
.cc-signup-check a { color:var(--login-primary-dark); font-weight:900; }
.cc-signup-check details { margin-top:4px; color:var(--login-muted); }
.cc-signup-check summary { color:var(--login-primary-dark); font-weight:850; cursor:pointer; }
.cc-signup-legal-note { margin:9px 0; color:var(--login-muted); font-size:8px; line-height:1.45; }

@media (max-width:900px) {
  html.cc-login-root body.cc-signup-body { overflow:auto!important; }
  body.cc-login-body.cc-signup-body { min-height:100dvh; align-items:flex-start!important; }
  body.cc-login-body.cc-signup-body .cc-login-experience { width:100%!important; height:auto!important; min-height:calc(100dvh - 10px)!important; grid-template-columns:1fr!important; grid-template-rows:158px auto!important; margin:5px 0!important; }
  body.cc-login-body.cc-signup-body .cc-login-media { inset:5px 5px auto!important; height:153px!important; }
  body.cc-login-body.cc-signup-body .cc-login-stage { grid-column:1!important; grid-row:1!important; min-height:158px!important; padding:14px 17px!important; }
  body.cc-login-body.cc-signup-body .cc-login-stage-copy,body.cc-login-body.cc-signup-body .cc-login-trust-row { display:none!important; }
  body.cc-login-body.cc-signup-body .cc-login-panel { grid-column:1!important; grid-row:2!important; min-height:0!important; padding:20px 18px 22px!important; overflow:visible!important; }
  body.cc-login-body.cc-signup-body .cc-login-card { width:min(100%,720px)!important; }
}

@media (max-width:600px) {
  body.cc-login-body.cc-signup-body .cc-login-experience { border-radius:22px!important; }
  body.cc-login-body.cc-signup-body .cc-login-panel { padding:18px 13px!important; }
  .cc-signup-heading h2 { font-size:27px; }
  .cc-signup-steps { gap:5px; }
  .cc-signup-steps button b { display:none; }
  .cc-signup-steps button span { width:30px; height:30px; }
  .cc-signup-richi { grid-template-columns:38px minmax(0,1fr); padding:10px 11px; }
  .cc-signup-richi-avatar { width:38px; height:38px; }
  .cc-signup-choice-grid,.cc-signup-needs-grid,.cc-signup-scale-grid,.cc-signup-form-grid { grid-template-columns:1fr; }
  .cc-signup-capacity-question label { grid-template-columns:1fr; }
  .cc-signup-capacity-question select { min-height:46px; font-size:16px!important; }
  .cc-signup-choice { min-height:61px; }
  .cc-signup-form-grid .cc-login-field.is-wide { grid-column:auto; }
  .cc-signup-nav { align-items:stretch; }
  .cc-signup-nav .button { flex:1 1 auto; min-width:0; }
  .cc-signup-recommendation { padding:15px; }
  .cc-signup-recommendation-head { display:block; }
  .cc-signup-recommendation-head > strong { display:block; margin-top:8px; }
  .cc-signup-alternative { grid-template-columns:minmax(0,1fr) auto; }
  .cc-signup-alternative a { grid-column:1/-1; text-align:center; }
  .cc-signup-selected-plan { align-items:flex-start; }
  .cc-signup-selected-plan small { display:none; }
  .cc-signup-scale-grid select,.cc-signup-form-grid input { min-height:46px; font-size:16px!important; }
}

@media (prefers-reduced-motion:reduce) {
  .cc-signup-body * { scroll-behavior:auto!important; transition:none!important; }
}
