*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;font-family:var(--brand-body-font,"Noto Sans JP","Yu Gothic",Meiryo,Arial,sans-serif);background:var(--brand-background,#f6f6f4);color:var(--brand-text,#161616)}
.account-shell{width:min(var(--public-max-width,1180px),90vw);margin:0 auto;padding:0 0 48px}
.account-site-header{margin-left:calc((100vw - min(var(--public-max-width,1180px),90vw)) / -2);margin-right:calc((100vw - min(var(--public-max-width,1180px),90vw)) / -2)}
#notice{margin:24px 0 0}
#authPanel,#accountPanel{padding-top:36px}
.account-help{max-width:760px;margin:0 0 18px;color:var(--brand-muted,#555);line-height:1.65}
.account-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px}
.account-toolbar h1,.card h1,.card h2{margin-top:0;font-family:var(--brand-heading-font,inherit)}
.brand{font-family:var(--brand-heading-font,inherit);font-weight:900;color:var(--brand-primary,#263786);text-decoration:none}
.card,#accountPanel .card{background:var(--brand-surface,#fff);border:1px solid var(--brand-border,var(--public-border,#ddd));border-radius:var(--brand-radius,var(--public-card-radius,14px));padding:22px;box-shadow:var(--public-shadow,0 12px 32px #00000012);margin-bottom:16px}
#accountPanel{background:transparent;box-shadow:none;padding-top:36px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.tabs button,.secondary-button,.back-button{border:1px solid var(--brand-border,#bbb);border-radius:var(--brand-radius,10px)}
.tabs button.active{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand-button-text,#fff) 35%,transparent)}
label{display:grid;gap:7px;margin:12px 0;font-weight:600}
input,select,button,textarea{font:inherit;padding:11px 12px;border:1px solid var(--brand-border,#bbb);border-radius:var(--brand-radius,10px)}
input,select,textarea{background:var(--brand-surface,#fff);color:var(--brand-text,#161616)}
textarea{min-height:100px}
button{cursor:pointer}
.text-button,.back-button{border:0!important;background:transparent!important;color:var(--brand-link,var(--brand-primary,#263786))!important;text-decoration:underline;padding:7px 0}
.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.notice{padding:14px 16px;border-radius:var(--brand-radius,10px);background:var(--brand-surface,#fff);border:1px solid var(--brand-border,#ddd);border-left:4px solid var(--brand-primary,#263786);box-shadow:var(--public-shadow,0 12px 32px #00000012);margin-bottom:16px}
.notice.bad{border-left-color:var(--brand-error,#b00020)}
.notice-actions{display:flex;gap:8px;margin-top:10px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}
.summary-grid button{text-align:left;padding:20px;background:var(--brand-surface,#fff);color:var(--brand-text,#161616);border:1px solid var(--brand-border,#ddd);border-radius:var(--brand-radius,14px);box-shadow:var(--public-shadow,0 12px 32px #00000012)}
.summary-grid span{display:block;color:var(--brand-muted,#666)}.summary-grid strong{display:block;font-size:30px;margin-top:6px}
.booking-card{display:flex;justify-content:space-between;gap:18px;align-items:center;background:var(--brand-surface,#fff);border:1px solid var(--brand-border,#ddd);border-radius:var(--brand-radius,14px);padding:18px;margin:12px 0;box-shadow:var(--public-shadow,0 12px 32px #00000012)}
.booking-card-actions{display:grid;gap:10px;text-align:right}.line{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--brand-border,#eee)}
.inline-form{display:grid;grid-template-columns:1fr 100px auto;gap:8px;align-items:end;margin-top:14px}
.password-rules{margin:12px 0 16px;padding:14px;background:color-mix(in srgb,var(--brand-surface,#fff) 88%,var(--brand-background,#f6f6f4));border:1px solid var(--brand-border,#ddd);border-radius:var(--brand-radius,10px)}
.password-rules ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}.password-rules li{color:var(--brand-error,#8b1a1a);display:flex;gap:8px}.password-rules li.passed{color:var(--brand-success,#137333)}.rule-icon{font-weight:700}
.checkbox-label{display:flex;align-items:flex-start;gap:8px}.large-total{font-size:24px}.small-button{padding:6px 9px;font-size:12px}.request-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--brand-border,#eee)}
@media(max-width:700px){.account-shell{width:100%;padding:0 16px 32px}.account-site-header{margin-left:-16px;margin-right:-16px}.account-toolbar,.booking-card{align-items:stretch;flex-direction:column}.booking-card-actions{text-align:left}.inline-form,.request-row{grid-template-columns:1fr}.notice-actions{flex-direction:column}#authPanel,#accountPanel{padding-top:24px}}
