/* Scoped to account dialogs; the existing modal plugin manages close and focus trapping. */
#yocoachModal.lp-auth-modal { --lp-ink:#082851; --lp-muted:#526784; --lp-cyan:#00b8ee; color:var(--lp-ink); }
#yocoachModal.lp-auth-modal .modal-dialog { width:calc(100% - 48px); max-width:1120px; margin:24px auto; min-height:calc(100% - 48px); }
#yocoachModal.lp-auth-modal .modal-content { border:0; border-radius:28px; box-shadow:0 28px 100px #031e4b38; overflow:hidden; background:#fff; }
.lp-auth-modal .lp-auth-shell { display:grid; grid-template-columns:42% 58%; }
.lp-auth-modal [hidden] { display:none!important; }
.lp-auth-modal .lp-auth-visual { background:linear-gradient(145deg,#f6fbff,#dff6ff); display:flex; flex-direction:column; min-width:0; }
.lp-auth-modal .lp-auth-brand { padding:30px 34px 18px; font-size:42px; font-weight:850; line-height:1.1; }
.lp-auth-modal .lp-auth-brand img { display:block; width:255px; max-width:100%; max-height:70px; object-fit:contain; object-position:left; }
.lp-auth-modal .lp-auth-brand-pro { color:var(--lp-cyan); }
.lp-auth-modal .lp-auth-tagline { display:block; font-size:11px; letter-spacing:4px; margin:10px 0 0 22px; color:#40557b; }
.lp-auth-modal .lp-auth-scene { position:relative; height:244px; overflow:hidden; }
.lp-auth-modal .lp-auth-photo { width:100%; height:100%; object-fit:cover; object-position:right center; }
.lp-auth-modal .lp-auth-scene:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#edfaffed 0%,#edfaff80 42%,transparent 70%); }
.lp-auth-modal .lp-auth-promise { position:absolute; z-index:1; top:26px; left:28px; max-width:80%; white-space:pre-line; font-size:27px; font-weight:800; font-style:italic; line-height:1.35; letter-spacing:-1px; margin:0; text-shadow:0 2px 18px #fff; }
.lp-auth-modal .lp-auth-promise:after { content:""; display:block; height:5px; width:150px; margin-top:10px; background:#ffc400; border-radius:50%; transform:rotate(-6deg); }
.lp-auth-modal .lp-auth-benefits { display:grid; gap:17px; list-style:none; margin:0; padding:25px 30px; }
.lp-auth-modal .lp-auth-benefit { display:flex; gap:15px; align-items:center; }
.lp-auth-modal .lp-auth-benefit-icon { flex:0 0 51px; width:51px; height:51px; display:grid; place-items:center; border-radius:50%; font-size:29px; color:#fff; background:#ff3178; }
.lp-auth-modal .lp-auth-benefit--1 .lp-auth-benefit-icon { background:#ffab19; }
.lp-auth-modal .lp-auth-benefit--2 .lp-auth-benefit-icon { background:#049cff; }
.lp-auth-modal .lp-auth-benefit--3 .lp-auth-benefit-icon { background:#00c738; }
.lp-auth-modal .lp-auth-benefit strong { display:block; font-size:18px; line-height:1.3; }
.lp-auth-modal .lp-auth-benefit span span { display:block; color:#3e5c81; font-size:13px; line-height:1.5; margin-top:3px; }
.lp-auth-modal .lp-auth-flourish { margin-top:auto; padding:12px 30px 24px; display:flex; align-items:center; justify-content:center; gap:22px; background:radial-gradient(ellipse at bottom,#91e4ffb3,transparent 70%); }
.lp-auth-modal .lp-auth-flourish>span { font-size:82px; }
.lp-auth-modal .lp-auth-flourish p { font-weight:800; font-size:23px; font-style:italic; max-width:125px; line-height:1.3; margin:0; }
#yocoachModal.lp-auth-modal .site-form.lp-auth-controls { width:100%; max-width:none; padding:35px 38px 27px; margin:0; min-width:0; background:linear-gradient(160deg,#fff 65%,#f2fbff); }
.lp-auth-modal .site-form__header { margin-bottom:25px!important; padding:0; }
.lp-auth-modal #lp-auth-heading { font-size:36px; font-weight:800; line-height:1.18; letter-spacing:-1.3px; color:var(--lp-ink); margin:0; padding:0 16px; }
.lp-auth-modal .lp-auth-subtitle { font-size:17px; color:var(--lp-muted); margin:10px 0 0; }
.lp-auth-modal .btn-close { position:absolute; top:17px; right:17px; width:18px; height:18px; padding:7px; z-index:2; }
.lp-auth-modal .lp-auth-roles { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:19px; }
.lp-auth-modal .lp-auth-role { display:flex; align-items:center; justify-content:center; gap:10px; border:1px solid #e1e7ef; border-radius:44px; background:#fff; color:var(--lp-ink); padding:14px 10px; min-height:72px; cursor:pointer; text-align:left; box-shadow:0 2px 6px #1429530a; font:inherit; }
.lp-auth-modal .lp-auth-role[aria-pressed="true"] { background:linear-gradient(120deg,#00a4ec,#00bde8); color:#fff; border-color:#00b5ef; box-shadow:0 3px 10px #00b8ee33; }
.lp-auth-modal .lp-auth-role-icon { font-size:30px; }
.lp-auth-modal .lp-auth-role span span { display:block; font-size:12px; }
.lp-auth-modal .lp-auth-role strong { display:block; font-size:16px; line-height:1.4; }
.lp-auth-modal .lp-auth-choices { display:grid; gap:11px; }
.lp-auth-modal .lp-auth-provider { display:flex; gap:16px; align-items:center; width:100%; border:1px solid #e0e6ee; border-radius:22px; min-height:77px; padding:15px 20px; background:#fff; box-shadow:0 2px 5px #18284c07; color:var(--lp-ink); text-align:left; font:inherit; text-decoration:none; cursor:pointer; transition:box-shadow .15s,border-color .15s; }
.lp-auth-modal .lp-auth-provider--google { border:1.5px solid var(--lp-cyan); min-height:86px; box-shadow:0 3px 12px #00b8ee21; }
.lp-auth-modal .lp-auth-provider--line { background:#f0faef; border-color:#d8efd9; }
.lp-auth-modal .lp-auth-provider--passkey { color:#5a17ad; background:#f5effe; border-color:#e8ddfa; }
.lp-auth-modal .lp-auth-provider--email { background:#f3f9ff; border-color:#d3e7ff; }
.lp-auth-modal .lp-auth-provider:not(:disabled):hover { box-shadow:0 5px 17px #008bc823; border-color:var(--lp-cyan); }
.lp-auth-modal .lp-auth-provider:disabled { cursor:not-allowed; }
.lp-auth-modal .lp-auth-provider-icon { width:43px; height:43px; flex:0 0 43px; display:grid; place-items:center; }
.lp-auth-modal .lp-auth-provider-icon svg { width:40px; height:40px; }
.lp-auth-modal .lp-auth-provider--email .lp-auth-provider-icon { color:#008dff; }
.lp-auth-modal .lp-auth-provider-copy { flex:1; min-width:0; }
.lp-auth-modal .lp-auth-provider-copy strong { display:block; font-size:20px; font-weight:750; line-height:1.3; }
.lp-auth-modal .lp-auth-provider-copy>span { display:block; font-size:14px; line-height:1.5; margin-top:3px; color:var(--lp-muted); }
.lp-auth-modal .lp-auth-provider--passkey .lp-auth-provider-copy>span { color:#674694; }
.lp-auth-modal .lp-auth-chevron { font-size:29px; color:#00a8ec; }
.lp-auth-modal button:disabled .lp-auth-chevron { font-size:10px; font-weight:650; padding:4px 6px; border-radius:6px; background:#ffffffaa; color:#526784; }
.lp-auth-modal .lp-auth-ms { display:grid; grid-template-columns:1fr 1fr; width:36px; height:36px; gap:2px; }
.lp-auth-modal .lp-auth-ms i:nth-child(1) { background:#f25022; }
.lp-auth-modal .lp-auth-ms i:nth-child(2) { background:#7fba00; }
.lp-auth-modal .lp-auth-ms i:nth-child(3) { background:#00a4ef; }
.lp-auth-modal .lp-auth-ms i:nth-child(4) { background:#ffb900; }
.lp-auth-modal .lp-auth-line { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#06c755; color:#fff; font-size:12px; font-weight:800; }
.lp-auth-modal .lp-auth-availability { color:var(--lp-muted); font-size:11px; margin:12px 0 0; text-align:center; }
.lp-auth-modal .site-form__foot { padding:0; margin-top:23px; font-size:14px; text-align:center; }
.lp-auth-modal .site-form__foot p { margin:6px 0; }
.lp-auth-modal .site-form__foot a { color:#008bbc; font-weight:700; text-decoration:underline; }
.lp-auth-modal .lp-auth-back { border:0; padding:0 0 18px; background:none; color:#007fae; font:inherit; cursor:pointer; }
.lp-auth-modal .lp-auth-email-form input:not([type="checkbox"]):not([type="hidden"]),.lp-auth-modal .lp-auth-email-form select { border-radius:12px; min-height:47px; }
.lp-auth-modal :is(button,a,input,select):focus-visible { outline:3px solid #f5b900; outline-offset:3px; }
@media (max-width:1000px) {
    .lp-auth-modal .lp-auth-shell { grid-template-columns:36% 64%; }
    #yocoachModal.lp-auth-modal .site-form.lp-auth-controls { padding:35px 25px 25px; }
    .lp-auth-modal #lp-auth-heading { font-size:30px; }
    .lp-auth-modal .lp-auth-promise { left:20px; font-size:23px; }
    .lp-auth-modal .lp-auth-scene { height:auto; display:flex; flex-direction:column; }
    .lp-auth-modal .lp-auth-scene:after { display:none; }
    .lp-auth-modal .lp-auth-promise { position:relative; top:auto; left:auto; order:-1; max-width:none; padding:14px 20px 22px; font-size:21px; }
    .lp-auth-modal .lp-auth-photo { height:150px; }
    .lp-auth-modal .lp-auth-brand { padding:30px 20px 18px; }
    .lp-auth-modal .lp-auth-benefits { padding:24px 20px; gap:20px; }
    .lp-auth-modal .lp-auth-benefit { gap:11px; }
    .lp-auth-modal .lp-auth-benefit-icon { width:40px; height:40px; flex-basis:40px; font-size:25px; }
    .lp-auth-modal .lp-auth-benefit strong { font-size:15px; }
    .lp-auth-modal .lp-auth-flourish { gap:12px; padding:15px 20px; }
    .lp-auth-modal .lp-auth-flourish>span { font-size:55px; }
    .lp-auth-modal .lp-auth-flourish p { font-size:19px; }
}
/* LINE email consent popup: sits over the auth dialog inside #yocoachModal, same tokens. */
#yocoachModal.lp-auth-modal.lp-line-consent-open { z-index:1065; }
.lp-auth-modal .lp-line-consent { position:fixed; inset:0; z-index:1070; display:flex; align-items:center; justify-content:center; padding:24px 16px; background:#03173a59; overflow-y:auto; }
.lp-auth-modal .lp-line-consent-card { position:relative; width:100%; max-width:520px; margin:auto; padding:34px 34px 28px; border-radius:28px; background:#fff; box-shadow:0 28px 100px #031e4b38; color:var(--lp-ink); text-align:center; }
.lp-auth-modal .lp-line-consent-card:focus { outline:none; }
.lp-auth-modal .lp-line-consent-close { position:absolute; top:14px; right:16px; width:40px; height:40px; border:0; border-radius:50%; background:none; color:var(--lp-muted); font-size:30px; line-height:1; cursor:pointer; }
.lp-auth-modal .lp-line-consent-close:hover { background:#f3f9ff; }
.lp-auth-modal .lp-line-consent-brand { display:flex; justify-content:center; font-size:30px; font-weight:850; line-height:1.1; }
.lp-auth-modal .lp-line-consent-brand img { height:42px; width:auto; max-width:220px; }
.lp-auth-modal .lp-line-consent-title { margin:18px 0 8px; font-size:30px; font-weight:800; line-height:1.2; letter-spacing:-1px; color:var(--lp-ink); }
.lp-auth-modal .lp-line-consent-intro { margin:0 auto 22px; max-width:400px; font-size:16px; line-height:1.5; color:var(--lp-muted); }
.lp-auth-modal .lp-line-consent-item { display:flex; gap:16px; align-items:flex-start; padding:20px; border:1px solid #d3e7ff; border-radius:22px; background:#f3f9ff; text-align:left; }
.lp-auth-modal .lp-line-consent-item-icon { flex:0 0 52px; width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:#fff; color:#008dff; box-shadow:0 2px 5px #18284c0d; }
.lp-auth-modal .lp-line-consent-item-icon svg { width:28px; height:28px; }
.lp-auth-modal .lp-line-consent-item strong { display:block; font-size:18px; font-weight:750; line-height:1.3; }
.lp-auth-modal .lp-line-consent-item p { margin:4px 0 0; font-size:14px; line-height:1.55; color:var(--lp-muted); }
.lp-auth-modal .lp-line-consent-policy { display:flex; gap:10px; align-items:flex-start; margin:18px 4px 22px; font-size:13px; line-height:1.55; color:var(--lp-muted); text-align:left; }
.lp-auth-modal .lp-line-consent-lock { flex:0 0 18px; color:#8095b0; }
.lp-auth-modal .lp-line-consent-lock svg { width:18px; height:18px; display:block; margin-top:1px; }
.lp-auth-modal .lp-line-consent-policy a { color:#008bbc; font-weight:700; text-decoration:underline; }
.lp-auth-modal .lp-line-consent-preview { margin:-8px 0 16px; padding:12px 14px; border:1px solid #f5d76e; border-radius:14px; background:#fff8db; color:#5c4a00; font-size:13px; line-height:1.5; text-align:left; }
.lp-auth-modal .lp-line-consent-preview a { color:#008bbc; font-weight:700; text-decoration:underline; }
.lp-auth-modal .lp-line-consent-continue, .lp-auth-modal .lp-line-consent-cancel { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:58px; border-radius:18px; font:inherit; font-size:18px; font-weight:750; cursor:pointer; transition:background-color .15s,box-shadow .15s; }
.lp-auth-modal .lp-line-consent-continue { border:0; background:#06c755; color:#fff; box-shadow:0 4px 14px #06c75540; }
.lp-auth-modal .lp-line-consent-continue:hover { background:#05b04b; }
.lp-auth-modal .lp-line-consent-continue .lp-auth-line { width:36px; height:36px; border-radius:10px; background:#fff; color:#06c755; font-size:10px; }
.lp-auth-modal .lp-line-consent-cancel { margin-top:12px; min-height:54px; border:1px solid #e0e6ee; background:#fff; color:var(--lp-ink); font-weight:650; }
.lp-auth-modal .lp-line-consent-cancel:hover { border-color:var(--lp-cyan); }
@media (max-width:680px) {
    #yocoachModal.lp-auth-modal .modal-dialog { width:calc(100% - 24px); margin:12px auto; min-height:calc(100% - 24px); }
    #yocoachModal.lp-auth-modal .modal-content { border-radius:22px; }
    .lp-auth-modal .lp-auth-shell { display:block; }
    .lp-auth-modal .lp-auth-visual { display:none; }
    #yocoachModal.lp-auth-modal .site-form.lp-auth-controls { padding:42px 20px 24px; }
    .lp-auth-modal #lp-auth-heading { font-size:28px; padding:0; letter-spacing:-1px; }
    .lp-auth-modal .lp-auth-subtitle { font-size:15px; }
    .lp-auth-modal .lp-auth-roles { gap:9px; }
    .lp-auth-modal .lp-auth-role { gap:8px; padding:12px 8px; min-height:67px; }
    .lp-auth-modal .lp-auth-role-icon { font-size:25px; }
    .lp-auth-modal .lp-auth-role strong { font-size:13px; }
    .lp-auth-modal .lp-auth-provider { padding:14px; gap:12px; border-radius:17px; }
    .lp-auth-modal .lp-auth-provider-copy strong { font-size:17px; }
    .lp-auth-modal .lp-auth-provider-copy>span { font-size:12px; }
    .lp-auth-modal .lp-auth-provider-icon { width:34px; flex-basis:34px; }
    .lp-auth-modal .lp-auth-provider-icon svg { width:34px; height:34px; }
    .lp-auth-modal button:disabled .lp-auth-chevron { font-size:9px; padding:4px; }
    .lp-auth-modal .site-form__foot { font-size:13px; }
    .lp-auth-modal .lp-line-consent { padding:12px; }
    .lp-auth-modal .lp-line-consent-card { padding:30px 18px 20px; border-radius:22px; }
    .lp-auth-modal .lp-line-consent-brand img { height:34px; }
    .lp-auth-modal .lp-line-consent-title { font-size:24px; margin-top:14px; }
    .lp-auth-modal .lp-line-consent-intro { font-size:15px; margin-bottom:18px; }
    .lp-auth-modal .lp-line-consent-item { padding:16px; gap:12px; border-radius:17px; }
    .lp-auth-modal .lp-line-consent-item-icon { flex-basis:42px; width:42px; height:42px; }
    .lp-auth-modal .lp-line-consent-item strong { font-size:16px; }
    .lp-auth-modal .lp-line-consent-item p { font-size:13px; }
    .lp-auth-modal .lp-line-consent-continue { font-size:17px; min-height:54px; border-radius:16px; }
    .lp-auth-modal .lp-line-consent-cancel { min-height:50px; border-radius:16px; }
}
@media (prefers-reduced-motion:reduce) { .lp-auth-modal .lp-auth-provider, .lp-auth-modal .lp-line-consent-continue, .lp-auth-modal .lp-line-consent-cancel { transition:none; } }
