/* FitYourMoney V3 - registration wizard prototype styles, layered over login.css. */
.wizard-card {width:min(100%,520px)}
.wizard-step-head {display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--border);padding-top:17px;color:var(--muted);font-size:12px}
.wizard-main {min-height:280px;padding:30px 3px 26px;text-align:center}
.wizard-emblem {font-size:40px;color:var(--green);line-height:1.4}
.wizard-main h1 {margin:8px 0 18px;font-size:26px;line-height:1.3;letter-spacing:-.6px}
.wizard-main p {font-size:14px;line-height:1.7;margin:0 0 15px}
.wizard-main .wizard-lead {font-weight:700;font-size:15px}
.wizard-main .wizard-muted,.wizard-hint {color:var(--muted)}
.wizard-main .wizard-field-label {text-align:left;margin:24px 0 9px}
.wizard-main input {max-width:340px;margin:0 auto;text-align:center;letter-spacing:2px;font-size:19px;font-variant-numeric:tabular-nums}
.wizard-main .wizard-hint {font-size:11px;margin-top:10px}
.wizard-main .wizard-message {padding:10px;border-radius:9px;background:var(--soft);color:var(--text);font-size:12px}
.wizard-actions {display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--border);padding-top:16px}
.wizard-left,.wizard-right {display:flex;align-items:center;gap:5px}
.wizard-actions form {margin:0}
.wizard-btn {cursor:pointer;border-radius:9px;padding:9px 12px;font:inherit;font-size:12px;font-weight:650;white-space:nowrap}
.wizard-ghost {background:transparent;border:1px solid transparent;color:var(--muted)}
.wizard-ghost:hover {color:var(--text);background:var(--soft)}
.wizard-next {background:transparent;color:var(--green);border:1px solid var(--border)}
.wizard-next:hover {background:var(--soft)}
.wizard-cancel {margin-top:22px;text-align:center}
.wizard-cancel button {cursor:pointer;color:var(--muted);font:inherit;font-size:12px;border:0;background:transparent;padding:7px;text-decoration:underline;text-underline-offset:3px}
.wizard-cancel button:hover {color:var(--text)}
.wizard-dialog {width:min(92vw,530px);max-height:min(86vh,760px);overflow:auto;border:1px solid var(--border);border-radius:17px;padding:24px;background:var(--card);color:var(--text);box-shadow:0 25px 70px rgba(0,0,0,.2)}
.wizard-dialog::backdrop {background:rgba(0,0,0,.55)}
.wizard-dialog-top {display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--border);padding-bottom:13px}
.wizard-dialog h2 {font-size:19px;margin:0;line-height:1.4}
.wizard-dialog h3 {font-size:14px;margin:20px 0 7px}
.wizard-dialog p {font-size:13px;line-height:1.7;margin:8px 0}
.wizard-dialog-close {background:transparent;border:0;color:var(--muted);font-size:25px;cursor:pointer}
.wizard-dialog-note {background:var(--soft);border-radius:9px;padding:13px;margin-top:18px!important}
.wizard-dialog-footer {display:flex;justify-content:flex-end;margin-top:19px}
@media(max-width:480px){.wizard-card{padding:21px 17px}.wizard-main{padding:23px 0;min-height:290px}.wizard-main h1{font-size:23px}.wizard-actions{gap:3px}.wizard-right{gap:0}.wizard-btn{padding:9px 7px;font-size:11px}.wizard-dialog{padding:19px}}

/* Manrope and accessible mobile-first wizard typography. */
body,button,input,select,.wizard-card {font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;}
.wizard-step-head {font-size:13px;line-height:1.5;}
.wizard-main {padding-top:35px;padding-bottom:31px;}
.wizard-main h1 {font-size:29px;line-height:1.3;font-weight:800;letter-spacing:-.65px;}
.wizard-main p {font-size:16px;line-height:1.75;margin-bottom:18px;}
.wizard-main .wizard-lead {font-size:17px;font-weight:750;}
.wizard-main .wizard-hint {font-size:13px;}
.wizard-main input {font-size:23px;}
.wizard-main .wizard-message {font-size:14px;}
.wizard-main .wizard-field-label {font-size:15px;}
.wizard-btn {font-size:14px;}
.wizard-cancel button {font-size:13px;}
.wizard-dialog h2 {font-size:22px;}
.wizard-dialog h3 {font-size:16px;}
.wizard-dialog p {font-size:15px;line-height:1.75;}
@media(max-width:480px){
 .wizard-main h1{font-size:26px;}
 .wizard-main p{font-size:16px;line-height:1.7;}
 .wizard-main .wizard-lead{font-size:17px;}
 .wizard-btn{font-size:13px;padding:10px 8px;}
 .wizard-step-head{font-size:12px;}
}


/* Soft, unified wizard palette in both themes. */
:root {--bg:#eaf1ea;--card:#f8faf6;--text:#293b30;--muted:#6a7e70;--border:#d9e5d9;--green:#3f8060;--green-dark:#306b4e;--soft:#eaf2e9;--shadow:0 16px 45px rgba(47,85,57,.055);}
:root[data-theme="dark"] {--bg:#171e1a;--card:#232d27;--text:#e8f0e9;--muted:#afc0b2;--border:#3b5043;--green:#83c69b;--green-dark:#a0dcb3;--soft:#2e4034;--shadow:0 16px 48px rgba(0,0,0,.18);}
.wizard-card {border-color:var(--border);}
.wizard-main {padding:43px 10px 52px;min-height:320px;}
.wizard-main h1 {color:var(--text);font-weight:800;margin:12px 0 24px;}
.wizard-main .wizard-lead {font-weight:650;color:var(--text);font-size:16px;line-height:1.65;max-width:390px;margin:0 auto 24px;}
.wizard-main p:not(.wizard-lead):not(.wizard-message) {color:var(--muted);font-weight:450;font-size:16px;line-height:1.8;max-width:390px;margin-left:auto;margin-right:auto;}
.wizard-emblem {font-size:38px;color:var(--green);}
.wizard-step-head {color:var(--muted);}
.wizard-actions {border-color:var(--border);}
.wizard-btn {font-size:13px;font-weight:650;}
.wizard-next {background:var(--card);border-color:var(--border);box-shadow:0 2px 5px rgba(0,0,0,.025);}
.wizard-dialog {background:var(--card);}
.wizard-dialog h3 {font-weight:700;color:var(--text);margin-top:19px;}
.wizard-dialog p {font-size:15px;line-height:1.7;color:var(--muted);}
.wizard-dialog-note {border:1px solid var(--border);color:var(--text)!important;}
/* Make language selection available without occupying the header. */
.wizard-card .login-language-form {padding:5px 6px;gap:3px;border:0;background:transparent;max-width:74px;}
.wizard-card .login-language-form select {font-size:12px;min-width:34px;max-width:35px;font-weight:700;padding:0;}
.wizard-card .login-language-globe {width:15px;height:15px;color:var(--muted);}
.wizard-card .login-header-actions {gap:3px;}
.wizard-card .theme-toggle {width:38px;height:38px;flex-shrink:0;}
@media(max-width:480px){
 .wizard-card {padding:23px 17px;}
 .wizard-main {padding:35px 3px 47px;min-height:310px;}
 .wizard-main h1 {font-size:26px;line-height:1.35;}
 .wizard-main .wizard-lead {font-size:16px;}
 .wizard-main p:not(.wizard-lead):not(.wizard-message) {font-size:16px;line-height:1.75;}
 .wizard-dialog h2 {font-size:20px;}
 .wizard-dialog h3 {font-size:16px;}
 .wizard-dialog p {font-size:15px;}
 .wizard-card .brand {font-size:24px;white-space:nowrap;}
}

/* Registration wizard steps 3-6. */
.wizard-story-label {font-size:13px!important;margin-top:18px!important;margin-bottom:9px!important}
.wizard-story {background:var(--soft);border:1px solid var(--border);border-radius:13px;padding:16px;font-size:16px;line-height:1.65;font-weight:650}
.wizard-example {border:1px solid var(--border);border-radius:12px;padding:13px 8px;font-weight:750;font-size:16px;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:6px}
.wizard-example small {font-weight:450;font-size:13px;color:var(--muted)}
.wizard-main .wizard-example-note {font-size:12px!important;margin-top:8px!important}
.wizard-password-wrap {display:flex;align-items:center;position:relative;max-width:355px;margin:0 auto 15px}
.wizard-password-wrap input {font-size:16px;letter-spacing:normal;text-align:left;padding-right:53px;max-width:100%}
.wizard-eye {position:absolute;right:6px;top:5px;border:0;background:transparent;color:var(--muted);width:42px;height:40px;cursor:pointer;font-size:20px}
.wizard-recovery-code {margin:25px auto 12px;padding:18px 12px;background:var(--soft);border:1px solid var(--border);border-radius:13px;font-size:clamp(24px,7vw,36px);font-weight:800;letter-spacing:.15em;font-variant-numeric:tabular-nums}
.wizard-check {display:flex;align-items:flex-start;gap:12px;text-align:left;max-width:375px;margin:28px auto 5px;font-size:14px;line-height:1.6;cursor:pointer}
.wizard-check input {width:19px;height:19px;min-height:19px;flex:none;margin:3px 0 0;accent-color:var(--green)}
.wizard-next {border-color:var(--green);font-weight:750}
@media(max-width:480px){.wizard-story{font-size:15px}.wizard-example{font-size:15px}.wizard-main:has(.wizard-story){padding-top:25px;padding-bottom:25px}}

/* Emphasize the user’s own story without adding visual clutter. */
.wizard-main .wizard-story-action {font-weight:750;color:var(--green);}

/* Keep the story prompt prominent over the generic paragraph rule in both themes. */
.wizard-main p.wizard-story-action:not(.wizard-lead):not(.wizard-message) { color:var(--green);font-weight:800; }

/* Softer light palette; preserve the existing dark theme unchanged. */
:root:not([data-theme="dark"]) {--bg:#e4ece3;--card:#f0f3ec;--text:#293b30;--muted:#65796a;--border:#d1dfcf;--soft:#e5ede3;--shadow:0 16px 45px rgba(47,85,57,.065);}
.wizard-main p.wizard-id-save:not(.wizard-lead):not(.wizard-message) {font-size:14px;line-height:1.6;margin:16px auto 8px;max-width:365px;color:var(--muted);}
.wizard-copy-btn {border:1px solid var(--border);color:var(--green);background:var(--soft);font-size:13px;margin:4px auto 0;max-width:100%;white-space:normal;}
.wizard-copy-btn:hover {border-color:var(--green);}
.wizard-final-credentials {display:grid;gap:14px;margin:24px auto 14px;max-width:390px;text-align:center;}
.wizard-final-item {border:1px solid var(--border);border-radius:13px;background:var(--soft);padding:15px 12px;min-width:0;}
.wizard-final-label {display:block;font-size:12px;font-weight:750;color:var(--muted);letter-spacing:.03em;margin-bottom:8px;}
.wizard-final-value {font-size:clamp(19px,5.2vw,25px);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.07em;overflow-wrap:anywhere;user-select:all;}
.wizard-main p.wizard-final-reminder:not(.wizard-lead):not(.wizard-message) {font-size:14px;line-height:1.65;margin:17px auto 0;color:var(--muted);}

/* Step 4: concise legal acknowledgment and on-page document dialogs. */
.wizard-legal-ack {display:flex;align-items:flex-start;gap:11px;max-width:390px;margin:19px auto 4px;text-align:left;font-size:13px;line-height:1.7;color:var(--muted);cursor:pointer}
.wizard-legal-ack input {width:19px;min-width:19px;height:19px;min-height:19px;margin:3px 0 0;accent-color:var(--green)}
.wizard-legal-link {display:inline;border:0;background:none;padding:0;color:var(--green);font:inherit;font-weight:750;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.wizard-legal-link:focus-visible {outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
.wizard-legal-dialog p {font-size:15px;line-height:1.7;overflow-wrap:anywhere}
/* Account ID availability feedback */
.wizard-id-status.is-available {
    color: #2f7d4a;
}

.wizard-id-status.is-taken {
    color: #a32720;
}
/* Keep long recovery codes inside their container */
.wizard-recovery-code,
.wizard-final-value {
    overflow-wrap: anywhere;
    word-break: break-word;
    letter-spacing: 0.08em;
}

/* Compact recovery code and accessible copy control (steps 5 and 6). */
.wizard-recovery-box, .wizard-recovery-final-wrap {
    position: relative;
    min-width: 0;
}
.wizard-recovery-code {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: .045em;
    padding: 17px 43px 17px 14px;
    overflow-wrap: anywhere;
    word-break: normal;
    user-select: all;
}
.wizard-recovery-final-wrap .wizard-final-value {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: .045em;
    padding: 2px 35px 2px 0;
    overflow-wrap: anywhere;
    word-break: normal;
}
.wizard-recovery-copy {
    position: absolute;
    right: 9px;
    top: 36px;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--card);
    color: var(--green);
    cursor: pointer;
}
.wizard-recovery-final-wrap .wizard-recovery-copy {top: 0;right: 0;}
.wizard-recovery-copy:hover {border-color: var(--green);}
.wizard-recovery-copy:focus-visible {outline: 2px solid var(--green);outline-offset: 2px;}
.wizard-recovery-copy.is-copied svg {display: none;}
.wizard-recovery-copy.is-copied::after {content: '✓';font-size: 19px;font-weight: 800;}
@media(max-width:480px) {
    .wizard-recovery-code, .wizard-recovery-final-wrap .wizard-final-value {font-size: 12px;letter-spacing: .025em;}
}
