.plan-setup{max-width:680px;margin:30px auto}.plan-setup>h1{font-size:clamp(28px,4vw,40px);line-height:1.15;letter-spacing:-1px;margin:0 0 12px}.plan-trial{font-size:14px;margin:0 0 28px;color:#796b87}#plan-choices{display:grid;gap:14px}.plan-option{border:1.5px solid #e3dce9;border-radius:20px;background:#fffdf8;overflow:hidden}.plan-option.is-selected{border-color:#afc98a;background:#f1f6e8}.plan-option-head{display:flex;width:100%;align-items:center;gap:12px;padding:20px 16px;text-align:start;color:#30283e;background:transparent;min-height:94px}.plan-radio{font-size:24px;color:#8863d3;flex-shrink:0}.plan-option-name{flex:1;min-width:0}.plan-option-name strong{display:block;font-size:19px}.plan-option-name small{display:block;font-size:12px;line-height:1.5;margin-top:7px;color:#796b87}.plan-option-price{white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.plan-option-price b{font-size:24px}.plan-option-price small{font-size:12px;color:#796b87}.plan-option-content{background:#fffdf9;border-top:1px solid #dee7d0;padding:16px}.plan-option-content>h2{font-size:13px;color:#796b87;margin:0 0 8px;font-weight:600}.plan-channel{display:flex;align-items:center;gap:12px;min-height:58px;border-bottom:1px solid #f0ece5;cursor:pointer}.plan-channel>span:nth-child(2){flex:1;font-size:16px;font-weight:600}.plan-channel input{width:22px;height:22px;accent-color:#8863d3;flex-shrink:0}.channel-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#eee6fa;color:#6e48aa;font-size:15px;font-weight:800}.channel-wa,.channel-line{background:#e1f3df;color:#267242}.channel-line{font-size:10px}.channel-google{background:#e4efff;color:#286acc}.channel-ig{background:#fae4f0;color:#b54588}.channel-tk{background:#30283e;color:white}.plan-benefit-detail{margin-top:16px}.plan-benefit-detail>summary{font-size:14px;color:#73568e;cursor:pointer;min-height:44px;padding:10px 0}.plan-benefit-detail h2{font-size:18px}.plan-benefit-detail p,.plan-benefit-detail .benefit-quota,.plan-benefit-detail li{font-size:14px;line-height:1.6}.plan-benefit-detail li{margin-bottom:8px}.plan-next{padding-top:22px;display:grid;gap:6px}.plan-next>#finish-setup{width:100%;min-height:56px;justify-content:center;font-size:17px;background:#d0e78b;color:#354b20;box-shadow:0 3px 0 #afc874}.plan-next>#finish-setup:disabled{opacity:.45}.plan-back{min-height:44px;background:none;color:#80678f}.plan-option-head:focus-visible,.plan-channel:focus-within{outline:3px solid #a98bd3;outline-offset:-3px}@media(max-width:480px){.plan-setup{margin-top:24px}.plan-option-head{gap:9px;padding:16px 12px}.plan-option-price b{font-size:22px}.plan-option-name strong{font-size:18px}}

.plan-option-content>h2{font-size:16px;line-height:1.5;color:#51415e;font-weight:650;margin-bottom:14px}

.plan-circle-bonus{margin-top:24px;padding:26px 22px;border:2px solid #c6b0e0;background:#eee6fa;border-radius:22px;text-align:center}.plan-circle-bonus>p{font-size:16px;color:#6f568b;margin:0 0 10px}.plan-circle-bonus h2{display:flex;flex-direction:column;align-items:center;margin:0;gap:0}.plan-circle-bonus h2>span{font-size:clamp(25px,4vw,36px);line-height:1.2;font-weight:800}.plan-circle-bonus h2>strong{font-size:clamp(82px,17vw,132px);font-weight:900;line-height:1.1;color:#008cff;letter-spacing:-5px}.plan-circle-bonus h3{font-size:clamp(24px,4vw,34px);font-weight:800;margin:8px 0 24px}.plan-circle-bonus>.btn{background:#d0e78b;color:#354b20;min-height:56px;width:100%;justify-content:center;font-size:16px;white-space:normal}.plan-circle-bonus small{display:block;font-size:12px;line-height:1.5;color:#79658e;margin-top:12px}

.account-connection-list{display:grid;gap:12px;margin:20px 0}.account-connection{display:flex;justify-content:space-between;width:100%;min-height:56px;font-size:17px}.account-connection.is-complete:disabled{background:#e8f3dd;color:#355b2b;border:1px solid #b5ce9d;opacity:1;cursor:default}.account-check{display:grid;place-items:center;border-radius:50%;width:28px;height:28px;background:#2d8748;color:#fff;font-size:20px;font-weight:800}

.setup-summary{max-width:680px;margin:30px auto}.summary-symbol{width:70px;height:70px;border-radius:50%;background:#dfefcd;color:#3d772d;display:grid;place-items:center;font-size:40px;margin-bottom:20px}.setup-summary h1{font-size:clamp(30px,5vw,42px);line-height:1.15}.summary-total{display:flex;align-items:center;gap:18px;padding:20px;background:#eee6fa;border-radius:20px;margin:24px 0}.summary-total strong{font-size:36px;color:#7951b7;white-space:nowrap}.summary-total span{font-size:15px;color:#68567a}.summary-channel-list{display:grid;gap:14px;margin-bottom:24px}.summary-channel{border:1px solid #dce6d1;background:#fffdf8;border-radius:20px;padding:22px}.summary-channel h2{font-size:21px;margin:0}.summary-channel h3{font-size:17px;margin:18px 0 8px}.summary-channel p{font-size:15px;line-height:1.6}.summary-channel small{font-size:12px;color:#8c8494;display:block;margin-top:12px}.summary-done{color:#387439;font-size:12px}.summary-pending{color:#967231;font-size:12px}.setup-summary>.btn,.summary-view{width:100%;min-height:54px;justify-content:center;margin-top:12px}

/* Clear card surfaces against the warm cream page. */
.plan-option{background:#eee5f8;border:2px solid #c5aedf;box-shadow:0 5px 16px #49306012}
.plan-option.is-selected{background:#dcebbd;border:2px solid #82a64c;box-shadow:0 8px 24px #48642821}
.plan-option.is-selected>.plan-option-head{background:#dcebbd}
.plan-option-content{background:#f0f6e5;border-top:2px solid #b2cb8c}
.plan-channel{border-bottom:1px solid #d2dfbd}
.plan-circle-bonus{background:#dfcef4;border:2px solid #a17acb;box-shadow:0 5px 16px #65418e1a}
.plan-circle-bonus>p,.plan-circle-bonus small{color:#60427f}
.summary-channel{background:#ecf3df;border:2px solid #a8c27f;box-shadow:0 5px 16px #48642812}

.circle-doubled-total{display:flex;flex-direction:column;align-items:center;margin:8px 0 20px}.circle-doubled-total strong{font-size:clamp(52px,11vw,82px);line-height:1.1;font-weight:900;color:#30283e;letter-spacing:-2px}.circle-doubled-total span{font-size:18px;font-weight:650;color:#60427f;margin-top:6px}

.circle-doubled-total .circle-unlimited{font-size:16px;line-height:1.5;color:#60427f;font-weight:600;margin:12px 0 0}

#modal.booking-preview-dialog{position:fixed;inset:0;margin:auto;width:min(420px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px;border:2px solid #b69ad3;border-radius:22px;background:#eee4f8;box-shadow:0 16px 60px #30283e40}#modal.booking-preview-dialog>h2{font-size:20px;padding-inline-end:32px;margin:0 0 10px}.booking-preview-close{position:absolute;top:10px;right:10px;min-width:44px;min-height:44px;font-size:28px;background:transparent;color:#694780}.booking-preview-description{font-size:16px;line-height:1.5;font-weight:650;color:#49345d;margin:0 0 16px}.booking-preview-frame{width:100%;max-width:360px;margin:auto;border:1px solid #c9b7dc;border-radius:16px;overflow:hidden;background:#faf8f1}.booking-preview-frame iframe{display:block;border:0;width:100%;height:min(570px,60dvh)}.booking-preview-dialog>.fine{font-size:11px;text-align:center;margin:10px 0 0}

.invitation-reply-to{display:grid;gap:6px;background:#eee3fa;border:2px solid #a17acd;border-radius:16px;padding:16px 20px;margin:16px 0;color:#38294e}.invitation-reply-to>strong{font-size:20px}.invitation-reply-to>span{font-size:13px;color:#765b8c}.invitation-reply-to>b{font-size:18px;overflow-wrap:anywhere}

.plan-circle-bonus>.circle-mutual-benefit{font-size:16px;line-height:1.65;margin:10px 0 22px;color:#624779}

/* All dialogs stay inside the visible viewport, including above a mobile keyboard. */
#modal, #modal.booking-preview-dialog {
 position:fixed; inset:auto; left:var(--modal-x,50vw); top:var(--modal-y,50dvh);
 transform:translate(-50%,-50%); margin:0; box-sizing:border-box;
 width:min(500px,var(--modal-width,calc(100vw - 24px)));
 max-width:var(--modal-width,calc(100vw - 24px));
 max-height:var(--modal-height,calc(100dvh - 24px));
 overflow:auto; overscroll-behavior:contain; overflow-wrap:anywhere;
}
#modal.booking-preview-dialog {width:min(420px,var(--modal-width,calc(100vw - 24px)));}
#modal h2:focus {outline:none;}
