.member-main{max-width:840px;margin:40px auto 80px;padding:0 20px;min-height:60vh}.member-main h1{font-size:clamp(26px,5vw,38px);margin:12px 0 20px;line-height:1.5}.member-main .panel{padding:clamp(20px,4vw,36px);margin:20px 0}.member-main form{display:grid;gap:20px}.member-main .field{margin:0}.member-main input,.member-main select,.member-main textarea{width:100%;min-width:0;font-size:16px}.member-main textarea{min-height:140px}.member-main .button{text-align:center;justify-content:center}.member-main fieldset{border:1px solid #dce5ed;border-radius:12px;padding:16px;min-width:0}.member-main .check-row input{width:20px;flex:0 0 20px}.member-main .check-row{align-items:flex-start}.member-main nav{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.member-main .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.member-main .notice{overflow-wrap:anywhere}.member-main button:disabled{opacity:.55;cursor:wait}.member-main .photo-preview{width:140px;height:140px;object-fit:contain;border-radius:12px;background:#edf4fa}.member-main .status-error{border-left:4px solid #b22d36;background:#fff1f1;padding:14px;color:#7f1921}.member-main .status-ok{border-left:4px solid #176b57;background:#edfaf6;padding:14px}.member-main .status-info{background:#eef5fe;padding:14px;border-left:4px solid #1266cb}.member-main small{font-size:14px}.member-main a{overflow-wrap:anywhere}@media(max-width:520px){.member-main{margin-top:24px;padding:0 16px}.member-main nav .button{width:100%}.member-main .field-grid{gap:12px}.suite-header{padding:16px}.member-main .check-row{font-size:14px}}

.member-main [hidden]{display:none!important}

.member-booking-card{padding:24px 0;border-bottom:1px solid #dce8f2}.member-booking-card:last-of-type{border-bottom:0}.booking-state{display:inline-block;background:#eaf4fc;color:#123b7a;padding:6px 12px;border-radius:8px;font-weight:700}.member-booking-details{margin:16px 0}.member-booking-details>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:9px 0}.member-booking-details dt{color:#53677e}.member-booking-details dd{margin:0;overflow-wrap:anywhere}.member-booking-card .button{text-align:center;justify-content:center}.member-booking-details small{color:#53677e}@media(max-width:480px){.member-booking-details>div{grid-template-columns:90px 1fr;gap:10px}}

/* Keep member reservations separate from the prototype suite card layout. */
.member-main .member-booking-card{display:block;min-width:0;max-width:100%;margin:0;overflow-wrap:anywhere}.member-main .member-booking-card>h3{margin:8px 0 12px}.member-main .member-booking-card>.note{margin:0 0 8px}.member-main .member-booking-details>div{grid-template-columns:110px minmax(0,1fr)}.member-main .member-booking-details dt,.member-main .member-booking-details dd{min-width:0}.member-main .member-booking-card>.button{max-width:100%;white-space:normal;margin:8px 0;line-height:1.6}.member-main .member-booking-card>p{max-width:100%}
@media(max-width:520px){.member-main .member-booking-card>.button{display:flex;width:100%}.member-main .member-booking-details>div{grid-template-columns:80px minmax(0,1fr);gap:10px}.member-main .member-booking-card{padding:22px 0}}

.booking-state.booking-state-completion{background:#b42318;color:#fff}.booking-state.booking-state-confirmed{background:#171717;color:#fff}

.booking-state.booking-state-completed{background:#187044;color:#fff}

.member-message{padding:16px;border-bottom:1px solid #dbe6ef}.member-message.mine{background:#f2f8fc}.message-body{white-space:pre-wrap;overflow-wrap:anywhere}.member-main textarea{max-width:100%}

.bank-ready-badge{display:inline-flex;background:#161616;color:#fff;padding:8px 14px;border-radius:8px;font-weight:700;line-height:1.5;margin:0 0 12px}.account-identity{background:#eef5fb;border-radius:12px;padding:16px 20px;margin-bottom:28px}.account-identity p{margin:0 0 4px;overflow-wrap:anywhere}.account-group{margin:28px 0}.account-group h2{font-size:20px;margin-bottom:14px}.member-main nav.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.account-card{display:flex;align-items:center;gap:14px;padding:20px;background:#fff;border:1px solid #d8e4f0;border-radius:14px;text-decoration:none;color:#064ba5;min-height:100px;transition:border-color .15s,background .15s}.account-card:hover{background:#f1f7ff;border-color:#1266cb}.account-card:focus-visible{outline:3px solid #1266cb;outline-offset:3px}.account-card strong{display:block;font-size:17px;line-height:1.5}.account-card small{display:block;color:#526477;font-size:13px;line-height:1.6;margin-top:4px}.account-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;border-radius:12px;background:#eef5ff;font-size:24px}.account-footer{border-top:1px solid #d8e4f0;padding-top:20px;margin-top:32px}@media(max-width:600px){.member-main nav.account-grid{grid-template-columns:1fr}.account-card{padding:16px;min-height:86px}.account-card strong{font-size:16px}}

.button.line-button{background:#06c755;border-color:#06c755;color:#fff}.button.line-button:hover{background:#05a948;border-color:#05a948}.bank-status-ready{display:inline-block;background:#161616;color:#fff;padding:6px 12px;border-radius:6px;font-weight:700}.bank-status-missing{display:inline-block;background:#fff0e6;color:#873d0b;padding:6px 12px;border-radius:6px;font-weight:700}

.member-main .profile-bank-link{color:var(--blue,#0869d8);text-decoration:underline;text-underline-offset:3px;font-weight:400}.member-main .profile-bank-link:hover{text-decoration-thickness:2px}
/* Operator booking states: same semantics as member booking states. */
.operator-status-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:9px 0 13px}
.operator-status{display:inline-flex;align-items:center;border-radius:8px;padding:6px 11px;font-size:13px;font-weight:700;line-height:1.2;background:#eaf4fc;color:#123b7a}
.operator-status-confirmed{background:#171717;color:#fff}.operator-status-completed{background:#187044;color:#fff}.operator-status-refunded{background:#5a6570;color:#fff}.operator-status-pending{background:#f1ab2d;color:#172334}.operator-status-selection{background:#145fb8;color:#fff}.operator-status-proposed,.operator-status-rematching{background:#7452b8;color:#fff}.operator-status-declined,.operator-status-expired{background:#b42318;color:#fff}.operator-status-paid{background:#187044;color:#fff}.operator-status-unpaid{background:#6b7280;color:#fff}
.operator-applicants{margin:16px 0}.operator-applicants>strong{font-size:14px}.operator-applicants ul{margin:9px 0 0;padding-left:1.35em}.operator-applicants li{margin:5px 0;overflow-wrap:anywhere}.operator-applicants p{margin:8px 0 0}
/* Stripe Express payout registration guide */
.stripe-express-guide{margin:22px 0;border:1px solid #c9dceb;border-radius:14px;background:#f8fbfe;overflow:hidden}.stripe-express-guide summary{display:flex;gap:12px;align-items:center;cursor:pointer;padding:15px 17px;list-style:none}.stripe-express-guide summary::-webkit-details-marker{display:none}.stripe-express-guide summary strong{display:block;color:#123b7a;font-size:16px}.stripe-express-guide summary small{display:block;color:#526477;margin-top:3px}.stripe-guide-mark{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:#1266cb;color:#fff;font-weight:800;font-size:16px}.stripe-express-guide summary::after{content:'＋';margin-left:auto;color:#1266cb;font-size:24px;font-weight:400}.stripe-express-guide[open] summary{border-bottom:1px solid #d5e3ef}.stripe-express-guide[open] summary::after{content:'−'}.stripe-guide-content{padding:18px}.stripe-guide-content>p{margin-top:0}.stripe-guide-steps{padding:0;margin:0;list-style:none;display:grid;gap:22px}.stripe-guide-steps li{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start;gap:20px;padding-top:20px;border-top:1px solid #dce8f2}.stripe-guide-steps h3{margin:0 0 8px;font-size:17px}.stripe-guide-steps p{margin:7px 0;line-height:1.75}.stripe-guide-steps code{display:inline-block;padding:1px 5px;border-radius:4px;background:#edf4fa;overflow-wrap:anywhere}.stripe-guide-steps img{display:block;width:100%;height:auto;border:1px solid #d7e3ee;border-radius:8px;background:#fff}@media(max-width:650px){.stripe-express-guide summary{padding:14px}.stripe-guide-content{padding:16px}.stripe-guide-steps li{grid-template-columns:1fr;gap:12px}.stripe-guide-steps img{max-width:400px}.stripe-express-guide summary strong{font-size:15px}}
/* Operator booking discovery and activity timeline */
.operations-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.operations-search{display:flex;align-items:end;gap:10px;flex:1;min-width:min(100%,320px)}.operations-search label{flex:1;margin:0}.operations-search input{margin-top:6px}.operations-summary{color:#526477;margin:12px 0}.operation-timeline{margin:0;padding:0;list-style:none;border-left:2px solid #d5e3ef}.operation-timeline li{position:relative;padding:0 0 17px 18px}.operation-timeline li::before{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:#1266cb;left:-5.5px;top:6px}.operation-timeline p{margin:0;line-height:1.65}.operation-timeline .note{display:block;margin-top:2px}.operation-timeline li.timeline-warning::before{background:#b42318}.operation-timeline li.timeline-done::before{background:#187044}.operations-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:28px 0}.operations-pagination .button{min-width:86px}.operations-pagination span{font-size:14px;color:#526477;white-space:nowrap}@media(max-width:520px){.operations-toolbar{align-items:stretch}.operations-search{width:100%;flex-wrap:wrap}.operations-search label{flex-basis:100%}.operations-search .button{flex:1}.operations-pagination{gap:8px}.operations-pagination .button{min-width:72px;padding-left:10px;padding-right:10px}}
