.account-page{background:#faf8f7;color:#29272b}.account-page main{display:block;max-width:1260px;margin:0 0 0 220px;padding:36px 40px}.account-current{font-size:13px;color:#b83b34;margin-left:auto}.account-heading h1{font-size:32px;margin:8px 0 8px}.account-heading>p:last-child{color:#6f6c73;font-size:14px;margin:0 0 28px}.account-page .eyebrow{color:#b83b34}.account-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.account-summary section{padding:24px 28px;background:white;border:1px solid #e6e1df;border-radius:14px;box-shadow:0 3px 6px #34201c04,0 12px 24px #34201c06;min-width:0}.account-label{font-size:12px;color:#6f6c73}.account-summary p{font-size:21px;font-weight:650;margin:8px 0;overflow-wrap:anywhere}#account-plan{color:#c5332c}.account-small{font-size:12px;color:#817974;line-height:1.8}.account-summary a{display:block;margin-top:14px;font-size:13px;color:#b83b34;text-decoration:none}#settings-form{background:#fff;border:1px solid #e6e1df;border-radius:16px;padding:0 28px;box-shadow:0 3px 6px #34201c04,0 14px 32px #34201c07}#settings-fields{margin:0}.setting-row{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid #ece7e5}.setting-row h2{font-size:17px;margin:0 0 8px}.setting-row p{margin:0;font-size:12px;color:#817974}.schedule-options{display:flex;flex-wrap:wrap;gap:12px 22px;margin:0 0 18px}.schedule-options label,.marketing-label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.account-page input[type=radio],.account-page input[type=checkbox]{accent-color:#d92d27;width:18px;height:18px;margin:0;flex-shrink:0}#date-field,#month-field{font-size:13px;font-weight:600}.account-page input[type=date],.account-page input[type=month]{max-width:280px;border-color:#d8d2ce;border-radius:8px;color:#29272b;min-height:46px}.marketing-label{margin-bottom:10px}.setting-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0}.setting-actions a{font-size:13px;color:#6f6c73}.setting-actions .primary{margin:0;width:250px;background:linear-gradient(#e83b32,#cf2722);border:1px solid #c82922;border-radius:9px;box-shadow:0 3px 0 #b92520,0 7px 14px #d92d2720}.account-page :focus-visible{outline:3px solid #d92d2770;outline-offset:3px}.account-notice{background:#fff0ed;border:1px solid #efdad5;color:#a33732;padding:12px 16px;border-radius:8px;font-size:12px;margin-bottom:24px}.account-footer{font-size:12px;color:#817974;margin-top:24px}#save-status{background:#f0f8f3;border:1px solid #c7dfd3;border-radius:8px;padding:14px;font-size:14px}#error{color:#a62b24;background:#fff0ed;border-radius:8px;padding:14px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1050px) and (min-width:851px){.account-page main{margin-left:180px;padding:28px}.setting-row{grid-template-columns:140px 1fr}.account-summary section{padding:20px}}
@media(max-width:850px){.account-page main{margin:0;padding:28px 20px}.account-heading h1{font-size:28px}.setting-row{grid-template-columns:1fr;gap:18px}.account-current{font-size:12px}}
@media(max-width:560px){.account-page main{padding:24px 16px}.account-summary{grid-template-columns:1fr;gap:12px}.account-summary section{padding:20px}.account-summary p{font-size:19px}#settings-form{padding:0 20px}.schedule-options{flex-direction:column;gap:16px}.setting-actions{flex-direction:column-reverse;align-items:stretch}.setting-actions .primary{width:100%}.setting-actions a{text-align:center}.account-current{display:none}}
/* Match the Japanese typography used on the approved login and home screens. */
.account-page{font-family:AppJapanese,'Noto Sans JP','Yu Gothic',sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
.account-page .schedule-options label,.account-page .marketing-label{font-family:inherit;font-size:13px;font-weight:500;line-height:1.65;letter-spacing:.015em;color:#49444a;gap:10px}
.account-page .schedule-options{gap:14px 24px;align-items:center}
.account-page .schedule-options label{min-height:32px}
.account-page .schedule-options label:has(input:checked){color:#29272b;font-weight:600}
.account-page .marketing-label{margin-bottom:8px;min-height:32px}
.account-page input[type=radio],.account-page input[type=checkbox]{width:17px;height:17px}
@media(max-width:560px){.account-page .schedule-options{gap:12px}}
@media(max-width:560px){.account-page .schedule-options{align-items:stretch}}
.account-session-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;margin:0 0 18px}.account-page #account-logout{min-height:44px;padding:10px 22px;border:1px solid #dcd2cc;border-radius:9px;background:#fff;color:#5d5155;font:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 5px #39271b06}.account-page #account-logout:hover{background:#fff5f1;border-color:#c78f83;color:#a7362e}.account-page #account-logout:focus-visible{outline:3px solid #bd4138;outline-offset:3px}.account-page #account-logout:disabled{opacity:.65;cursor:wait}.account-page #logout-status{font-size:13px;line-height:1.8;color:#a7362e;margin:0;max-width:440px}

.account-admin-access:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;margin-bottom:24px;border:1px solid #e6e1df;border-radius:14px;background:#fff}.account-admin-access h2{font-size:17px;margin:0 0 6px}.account-admin-access p{font-size:13px;color:#6f6c73;margin:0}.account-admin-access a{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:10px 18px;border:1px solid #d8b5ae;border-radius:9px;color:#ac332d;background:#fff7f4;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}.account-admin-access a:hover{background:#ffebe5}@media(max-width:560px){.account-admin-access:not([hidden]){align-items:stretch;flex-direction:column;padding:20px}}

/* Account settings: clear entry point and consistent form controls. */
.account-page main{min-height:calc(100dvh - 80px);max-width:1320px;padding:42px 44px 56px;box-sizing:border-box}
.account-heading{margin-bottom:28px}.account-heading .eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em}.account-heading h1{font-size:30px;letter-spacing:.02em}.account-heading>p:last-child{line-height:1.8;margin-bottom:0}
#login-required:not([hidden]){display:flex;flex-direction:column;align-items:flex-start;max-width:660px;padding:38px;background:#fff;border:1px solid #e8e1de;border-radius:20px;box-shadow:0 12px 36px #38221b06}
.account-entry-label{font-size:12px;font-weight:600;color:#b93931;background:#fff1ec;padding:6px 12px;border-radius:6px}
#login-required h2{margin:22px 0 10px;font-size:24px;line-height:1.5}#login-required p{max-width:480px;margin:0;color:#70686b;font-size:14px;line-height:1.9}
.account-page .account-login-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:50px;padding:13px 22px;margin-top:26px;box-sizing:border-box;background:#db2d26;color:#fff;border:1px solid #cd2922;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 4px 12px #d92d271a}.account-page .account-login-button:hover{background:#c62620}
.account-entry-help{margin-top:16px;color:#82797a;font-size:12px;line-height:1.8}.account-footer a{display:inline-flex;align-items:center;min-height:44px;color:#696166;text-underline-offset:4px;font-size:13px}
.account-summary{gap:18px}.account-summary section{box-shadow:none;border-radius:16px}.account-label{font-weight:600}.account-summary p{font-size:20px;line-height:1.6}.account-summary a{display:inline-flex;align-items:center;min-height:40px;margin-top:8px}
#settings-form{box-shadow:none;border-radius:18px}#settings-fields{padding:0;border:0;min-width:0}.setting-row{gap:28px;padding:30px 0}.setting-row p{line-height:1.85}.account-page .schedule-options{border:0;padding:0;gap:10px;margin-bottom:16px}.account-page .schedule-options label{padding:11px 14px;border:1px solid #e6e0dd;border-radius:9px;background:#fff;min-height:44px;box-sizing:border-box}.account-page .schedule-options label:has(input:checked){background:#fff3ef;border-color:#dc8f82;color:#a73029}.account-page .marketing-label{min-height:44px}.setting-actions .primary{box-shadow:0 4px 12px #d92d271a;background:#db2d26;min-height:50px}.setting-actions a{text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1050px) and (min-width:851px){.account-page main{padding:32px 28px}}
@media(max-width:850px){.account-page main{padding:28px 20px 48px;margin-left:0}.account-heading h1{font-size:27px}}
@media(max-width:560px){.account-page main{padding:24px 16px 40px}#login-required:not([hidden]){padding:26px 22px;border-radius:16px}#login-required h2{font-size:21px}.account-page .account-login-button{width:100%;gap:14px;padding:13px 16px}.account-heading{margin-bottom:22px}.account-summary p{font-size:18px}.setting-actions a{justify-content:center}.setting-row{gap:16px;padding:24px 0}}
.account-summary a{display:flex;width:fit-content}
