/* Beautiful Life authentication flow / independent mobile-first pages */
body.auth-page .middle,
body.auth-page .container,
body.auth-page .content,
#body-309 .middle,
#body-309 .container,
#body-309 .content{max-width:none;width:100%;margin:0;padding:0}
body.auth-page .clear,
#body-309 .clear{display:none}
.auth-background{padding:56px 0 100px;background:radial-gradient(circle at 14% 8%,rgba(204,225,211,.55),transparent 29%),linear-gradient(145deg,#f5f4ee 0%,#fff 70%);min-height:720px}
.auth-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.91fr);align-items:stretch;max-width:1170px;border-radius:30px;overflow:hidden;box-shadow:0 20px 80px rgba(24,59,45,.09);background:white;min-height:680px;border:1px solid #e9eee7}
.auth-form-side{display:flex;align-items:center;justify-content:center;padding:46px clamp(22px,4vw,58px)}
.auth-card{width:100%;max-width:540px}
.auth-mini-brand{display:flex;align-items:center;gap:8px;direction:ltr;justify-content:flex-end;font-family:Georgia,serif;font-size:26px;color:var(--forest)}
.auth-mini-brand b{font-weight:400;color:#b18a48}.auth-mark{font-size:22px;color:var(--gold)}
.auth-eyebrow{font-weight:700;color:#a47c40;letter-spacing:.04em;font-size:14px;margin:22px 0 4px}
.auth-card h1{margin:4px 0 9px;font-size:clamp(29px,3vw,39px);color:var(--forest);line-height:1.25;letter-spacing:-.035em;font-family:var(--head)}
.auth-intro{color:#687871;font-size:17px;line-height:1.65;margin:0 0 25px}
.auth-form{display:grid;gap:17px;margin-top:20px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label,.auth-choice-title{font-size:15px;font-weight:700;color:var(--deep)}
.field label small{font-size:12px;color:#829087;font-weight:500}
.field input,.field select{width:100%;min-height:52px;min-width:0;padding:12px 16px;background:#fff;border:1px solid #cfded5;border-radius:12px;color:var(--ink);font-size:17px;outline-offset:2px;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field select:focus{border-color:#377b64;box-shadow:0 0 0 3px #cfe9de}
.field input::placeholder{color:#9da9a2}
.field input[type=email],.field input[type=tel]{direction:ltr;text-align:right}
.field-label-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.field-label-row a,.auth-bottom a,.auth-home-link a{font-size:15px;color:#1a6b56;text-decoration:underline;text-underline-offset:4px}
.password-wrap{position:relative}.password-wrap input{padding-inline-end:80px}.reveal-password{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);border:none;background:#eaf4ee;border-radius:8px;color:#2d6754;font-size:13px;padding:7px 10px}
.auth-submit{width:100%;border:0;border-radius:12px;background:#145747;color:#fff;font-family:var(--head);font-size:16px;font-weight:700;padding:15px 18px;min-height:54px;display:flex;align-items:center;justify-content:center;gap:12px;transition:background .16s,transform .16s}
.auth-submit:hover{background:#0a4234;transform:translateY(-1px)}.auth-submit:disabled{opacity:.55;transform:none}.auth-submit span{font-size:22px}
.auth-bottom{padding-top:20px;margin-top:24px;border-top:1px solid #e8eee9;text-align:center;font-size:16px}.auth-home-link{text-align:center;margin-top:17px}
.demo-notice{background:#f9f2e6;border:1px solid #eed8af;border-radius:12px;padding:12px 14px;color:#684e2c;font-size:14px;display:flex;gap:4px;flex-direction:column;margin:12px 0 17px}.demo-notice strong{font-size:15px}
.auth-message{font-size:15px;border-radius:10px;padding:0;color:#a33c29;min-height:0}.auth-message:not(:empty){padding:10px 14px;background:#fff0ec;border:1px solid #f3cbbf}.auth-message.success:not(:empty){color:#16613f;background:#edf9f1;border-color:#c9ebd4}.auth-message.info:not(:empty){color:#285b77;background:#e9f5fc;border-color:#c7e4ef}
.auth-visual{position:relative;min-height:660px;overflow:hidden;background:#184d3e}.auth-visual-img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center center}
.auth-visual-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,49,38,.93) 2%,rgba(11,49,40,.58) 37%,rgba(14,65,52,.02) 83%)}
.auth-visual-content{position:absolute;bottom:42px;right:42px;left:42px;color:#fff}
.auth-visual-tag{font-size:14px;color:#f9ddab;font-weight:700;background:#ffffff20;padding:7px 13px;border:1px solid #ffffff4a;border-radius:40px}
.auth-visual h2{font-size:clamp(27px,3vw,42px);line-height:1.2;font-family:var(--head);margin:19px 0 12px;color:#fff;max-width:520px}
.auth-visual p{font-size:18px;line-height:1.6;color:#eff9f2;margin:0;max-width:500px}
.auth-visual-highlights{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.auth-visual-highlights span{display:inline-block;font-size:13px;padding:8px 11px;border:1px solid #ffffff70;border-radius:30px;color:#fff;background:#ffffff22}
.auth-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.registration-card{max-width:600px}.registration-card .auth-intro{margin-bottom:16px}.register-progress{padding:0;margin:8px 0 18px;list-style:none;display:flex;justify-content:space-between;border:1px solid #e5eae6;background:#f7f9f6;border-radius:14px;padding:11px;gap:6px}
.register-progress li{font-size:13px;display:flex;gap:6px;align-items:center;color:#7a8680;white-space:nowrap}.register-progress li span{background:#d9e2dd;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;color:#42594c;font-size:13px;font-weight:700}
.register-progress li.is-current{color:#155c48;font-weight:800}.register-progress li.is-current span,.register-progress li.is-complete span{background:#246b57;color:#fff}
.register-step{display:grid;gap:15px}.register-step[hidden]{display:none!important}.register-step h2{font-family:var(--head);font-size:25px;line-height:1.3;margin:10px 0 0;color:var(--forest)}
.field-hint{margin:-6px 0 0;color:#75847a;font-size:13px}.auth-checkbox{font-size:14px;display:flex;gap:8px;align-items:flex-start;line-height:1.55;color:#55695f;flex-wrap:wrap}.auth-checkbox input{margin:5px 0 0;accent-color:#1a6350;min-width:17px;height:17px}.auth-checkbox a{color:#155c48;text-decoration:underline}
.auth-choice-title{margin:4px 0 0}.auth-choice-title span{font-weight:400;color:#718278}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid label{background:#f6f8f5;border:1px solid #dce8df;border-radius:10px;padding:11px;font-size:14px}.choice-grid input{accent-color:#225f50;vertical-align:middle}
.step-actions{display:flex;gap:12px;align-items:center}.step-actions .auth-submit{flex:1}.auth-back{padding:14px 19px;border:1px solid #b9d1c2;border-radius:12px;background:#fff;color:#205b47;min-height:54px}
.verify-emblem{height:70px;width:70px;border-radius:21px;background:#edf4ef;color:#175440;display:grid;place-items:center;font-size:38px;margin:auto}.code-input{text-align:center!important;direction:ltr!important;font-family:var(--head);font-size:23px!important;letter-spacing:10px}
.demo-code{font-size:14px;color:#72542c;background:#f9f4ea;border:1px dashed #d8b887;border-radius:10px;padding:12px;text-align:center}.resend-link{margin:auto;border:0;background:none;color:#135d4a;text-decoration:underline;font-size:14px}
.profile-banner{background:#e7f2eb;border:1px solid #cce1d2;border-radius:16px;padding:22px;display:flex;align-items:center;justify-content:space-between;margin:24px 0}.profile-banner div{display:flex;flex-direction:column;gap:5px}.profile-banner span{font-size:14px;color:#527463}.profile-banner strong{font-size:18px;color:#135a43}.profile-avatar{width:51px;height:51px;background:#fff;border-radius:50%;display:grid;place-items:center;font-size:28px!important;color:#2d705a!important}
.account-mini-title{display:flex;align-items:center;justify-content:space-between}.account-mini-title h2,.profile-prefs h2{font-size:23px;color:var(--forest);font-family:var(--head);margin:10px 0}.account-mini-title a{font-size:15px;color:#166047;text-decoration:underline}.account-favs{border:1px solid #e5eae5;background:#fcfdfb;border-radius:14px;padding:10px 17px;min-height:86px}.account-favs p{color:#738177;font-size:16px}.fav-row{display:block;border-bottom:1px solid #e5eae5;padding:10px 0;font-size:16px;color:#17624f}.fav-row:last-child{border-bottom:0}.profile-prefs{margin-top:24px}.profile-prefs p{background:#faf7ed;border-radius:10px;padding:12px 16px;font-size:16px;color:#52665d}.auth-logout{width:100%;min-height:47px;padding:9px 15px;background:#fff;border:1px solid #d0dbd3;color:#674a3e;border-radius:12px;margin-top:15px}
@media(max-width:900px){.auth-background{padding:24px 0 60px}.auth-grid{grid-template-columns:1fr;max-width:650px}.auth-form-side{padding:33px 25px}.auth-visual{min-height:290px;order:-1}.auth-visual-content{bottom:25px;right:25px;left:25px}.auth-visual h2{font-size:28px;margin:12px 0 6px}.auth-visual p{font-size:15px}.auth-visual-highlights{display:none}}
@media(max-width:520px){.auth-background{padding:10px 0 55px}.auth-grid{border-radius:16px}.auth-form-side{padding:27px 17px}.auth-form-row{grid-template-columns:1fr}.auth-visual{min-height:220px}.auth-visual p{display:none}.auth-visual h2{font-size:26px}.auth-mini-brand{font-size:22px}.auth-card h1{font-size:29px}.register-progress li{font-size:11px}.register-progress li span{width:22px;height:22px}.step-actions{align-items:stretch}.step-actions .auth-submit{padding-inline:10px;font-size:13px}.auth-back{padding:10px 12px}.choice-grid{gap:6px}}
@media(prefers-reduced-motion:reduce){.auth-background *{scroll-behavior:auto!important;transition:none!important}}
