.portal-main{min-height:70vh;padding:50px 0 90px;background:#21090e}.portal-heading{margin-bottom:30px}.portal-heading .eyebrow{margin-bottom:12px}.portal-heading h1{font-size:clamp(2rem,3.8vw,3.6rem);line-height:1.2;margin:0 0 14px;max-width:1000px}.portal-heading>p:last-child{color:#cdb8bd;max-width:720px;font-size:1rem}.portal-card{background:#310c16;border:1px solid #63303b;padding:28px;margin-bottom:22px}.portal-card h2{font-size:1.65rem;margin:0 0 15px}.portal-card h3{font-size:1.15rem;margin:0 0 12px;color:#f3d493}.portal-card p{margin-bottom:15px}.muted{color:#cdb8bd}.small{font-size:.875rem}.portal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;align-items:center}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.portal-grid>.portal-card{margin-bottom:0}.portal-main .button{cursor:pointer;font:600 .875rem/1.5 var(--sans);min-height:46px}.portal-main .button[disabled],dialog .button[disabled]{opacity:.48;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}.field>span,.field>label{font-size:.875rem;color:#f8e8e7;font-weight:600}.portal-main input:not([type=checkbox]),.portal-main select,.portal-main textarea,dialog input:not([type=checkbox]),dialog select,dialog textarea{border:1px solid #734552;border-radius:3px;background:#200a12;color:#fff6ee;font:1rem/1.5 var(--sans);min-height:48px;padding:11px 13px;max-width:100%;width:100%;color-scheme:dark}.portal-main input:focus,.portal-main select:focus,.portal-main textarea:focus,dialog input:focus,dialog select:focus,dialog textarea:focus{outline:2px solid #edc478;outline-offset:2px}.portal-main input[readonly]{color:#cdb8bd;background:#2e1922}.portal-main textarea,dialog textarea{resize:vertical;min-height:100px}.check{display:flex;align-items:flex-start;gap:11px;line-height:1.6;font-size:.9375rem;margin:18px 0}.check input{width:19px;height:19px;margin:4px 0 0;accent-color:#edc478;flex-shrink:0}.help{font-size:.8125rem;color:#cdb8bd;line-height:1.6}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.empty-state{padding:35px 25px;border:1px dashed #87575f;text-align:center}.empty-state h2,.empty-state h3{margin-bottom:12px}.empty-state p{color:#cdb8bd;max-width:590px;margin:0 auto 18px}.status{display:inline-block;border:1px solid #805a66;background:#39202a;color:#eed3db;padding:3px 10px;border-radius:30px;font-size:.75rem;line-height:1.7;white-space:nowrap}.status-paid,.status-published{background:#193a32;border-color:#4c8272;color:#b9ecd8}.status-pending_review{background:#4d3b19;border-color:#8d753b;color:#f5d992}.status-pending{background:#322843;border-color:#77628e;color:#e0c7fb}.status-closed,.status-cancelled{background:#4a2029;border-color:#895460;color:#edc5cd}.portal-main #notice{padding:15px 18px;border-left:3px solid #edc478;background:#442a22;margin-bottom:20px}.portal-main #notice.error{border-color:#ff8e9c;background:#4b1422}.login-card{max-width:630px;padding:38px}.login-card h2{line-height:1.3}.login-card p{color:#cdb8bd}.account-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.account-toolbar p{margin:0;overflow-wrap:anywhere}.account-toolbar a{font-size:.875rem;color:#edc478;text-decoration:underline;text-underline-offset:4px}.orders-list{display:grid;gap:14px}.order-item{border:1px solid #6b3543;padding:18px;display:flex;justify-content:space-between;gap:18px;align-items:center}.order-item h3{font-size:1rem;margin:8px 0}.order-item p{margin:0;font-size:.875rem;color:#cdb8bd}.order-item .order-price{color:#f3d493;font-size:1.125rem;white-space:nowrap;text-align:right}.order-item a{font-size:.875rem;text-decoration:underline;color:#edc478}.event-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.event-catalog .portal-card{margin:0}.event-meta{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0;padding:20px 0;border-block:1px solid #60313c}.event-meta dt,.summary-list dt{font-size:.8125rem;color:#cdb8bd}.event-meta dd{margin:4px 0 0;font-size:1rem;color:#f6dfb2}.event-catalog h2{font-size:1.7rem;line-height:1.35}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.terms-box{margin-top:20px;border-top:1px solid #63303b}.terms-box summary{font-size:.9375rem;padding:16px 0;cursor:pointer;color:#edc478}.terms-box>div{padding-bottom:15px;font-size:.9375rem}.terms-box h3{font-size:.95rem;margin-top:15px}.event-register{margin-top:20px}.summary-list{margin:0}.summary-list>div{padding:14px 0;border-bottom:1px solid #63303b}.summary-list dd{margin:4px 0 0;overflow-wrap:anywhere}.amount-total{font-size:2.1rem;color:#f3d493;font-family:var(--serif)}.payment-methods{display:grid;gap:15px}.method{display:block;padding:22px;border:1px solid #815360;background:#3b1320;color:#fff6ee;text-align:left;cursor:pointer;font:1rem/1.6 var(--sans)}.method strong{color:#f3d493;display:block;margin-bottom:6px}.method span{color:#cdb8bd;font-size:.875rem}.method:hover{border-color:#edc478}.method[disabled]{opacity:.55;cursor:not-allowed}.bank-qr{background:white;width:min(100%,320px);margin:20px auto;border-radius:5px}.bank-details{display:grid;grid-template-columns:1fr;gap:12px}.bank-details p{margin:0}.copy-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #63303b}.copy-line strong{overflow-wrap:anywhere}.copy-button{background:transparent;color:#edc478;border:1px solid #805662;padding:7px 10px;font-size:.8125rem;cursor:pointer;white-space:nowrap}.admin-tabs{display:flex;gap:6px;border-bottom:1px solid #63303b;margin:0 0 25px;overflow-x:auto;padding-bottom:8px}.admin-tabs button{background:transparent;border:1px solid transparent;padding:12px 17px;color:#cdb8bd;white-space:nowrap;font:1rem/1.5 var(--sans);cursor:pointer}.admin-tabs button[aria-selected=true]{background:#edc478;color:#2c0b14}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat{padding:22px;background:#3b101e;border:1px solid #63303b}.stat span{font-size:.875rem;color:#cdb8bd;display:block}.stat strong{font-size:1.8rem;line-height:1.5;color:#f3d493;overflow-wrap:anywhere}.table-scroll{width:100%;overflow-x:auto;border:1px solid #63303b;margin-top:20px}.portal-table{border-collapse:collapse;width:100%;font-size:.875rem;background:#2b0d16}.portal-table th{background:#431623;color:#f3d493;text-align:left;font-weight:500}.portal-table td,.portal-table th{padding:14px;border-bottom:1px solid #63303b;vertical-align:top}.portal-table td small{display:block;color:#cdb8bd;font-size:.8125rem;margin-top:4px}.portal-table td strong{font-weight:500}.portal-table td:last-child{min-width:90px}.portal-table .button{font-size:.8125rem;padding:7px 12px;min-height:38px}.filter-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.filter-row input{flex:1;min-width:180px}.filter-row select{width:auto;min-width:160px}.pagination{display:flex;align-items:center;gap:15px;margin-top:20px}.settings-state{padding:15px 18px;border:1px solid #805360;margin:18px 0;background:#3d2028}.settings-state p{margin:0;font-size:.875rem}.portal-card code{overflow-wrap:anywhere;font-size:.875rem;color:#f3d493}.portal-card .inline-link{color:#edc478;text-decoration:underline}.audit-list{display:grid;gap:12px}.audit-item{border-bottom:1px solid #63303b;padding:12px 0}.audit-item p{font-size:.875rem;margin:5px 0}.audit-item small{color:#cdb8bd;font-size:.8125rem}dialog{padding:0;width:min(760px,calc(100% - 32px));max-height:90dvh;overflow-y:auto;background:#310c16;color:#fff6ee;border:1px solid #a27e54;box-shadow:0 35px 100px #0009}dialog::backdrop{background:#090007bb}#modal-content{padding:35px}#modal-title{font:1.8rem/1.3 var(--serif);margin:0 40px 25px 0}.modal-close{position:absolute;right:12px;top:12px;min-width:40px;min-height:40px;color:#edc478;background:#300d17;border:1px solid #734552;font-size:26px;cursor:pointer}dialog .button{min-height:44px;font-size:.9375rem;cursor:pointer}dialog .modal-notice{border-left:3px solid #edc478;background:#4a2029;padding:13px;margin:16px 0}dialog .modal-notice:empty{display:none}.loading{color:#cdb8bd}.portal-main [hidden],dialog [hidden]{display:none!important}.portal-main a:focus-visible,.portal-main button:focus-visible,dialog button:focus-visible{outline:2px solid #edc478;outline-offset:3px}
@media(max-width:1000px){.stats-grid{grid-template-columns:1fr 1fr}.portal-grid{grid-template-columns:1fr}.portal-main .container{width:calc(100% - 40px)}.event-catalog{grid-template-columns:1fr}.portal-heading h1{font-size:2.5rem}.portal-card{padding:24px}}
@media(max-width:550px){.portal-main{padding:35px 0 55px}.portal-heading h1{font-size:2.05rem}.portal-card{padding:20px}.field-row{grid-template-columns:1fr;gap:0}.stats-grid{gap:10px}.stat{padding:16px}.stat strong{font-size:1.4rem}.order-item{align-items:flex-start;flex-direction:column}.order-item .order-price{text-align:left}.event-meta{grid-template-columns:1fr}.login-card{padding:25px}.portal-actions .button{width:100%}.admin-tabs button{padding:10px 13px;font-size:.875rem}.filter-row input,.filter-row select{width:100%;min-width:0;flex:auto}#modal-content{padding:25px 20px}.portal-table td,.portal-table th{padding:11px}.copy-line{align-items:flex-start}.portal-main .button{white-space:normal}}

.auth-switch{display:flex;gap:8px;margin:24px 0}.auth-switch button{flex:1;padding:12px;border:1px solid #734552;background:#200a12;color:#fff6ee;border-radius:8px;cursor:pointer;font:inherit}.auth-switch button.active{background:#edc478;color:#2c0b14}.auth-text{background:none;border:0;color:#edc478;font:inherit;padding:8px 0;cursor:pointer;text-decoration:underline}.recovery-code{overflow-wrap:anywhere;padding:20px;margin:20px 0;background:#200a12;border:1px solid #805662;border-radius:8px;font:600 18px/1.6 monospace;user-select:all}.login-card form{text-align:left}.login-card form>.button{width:100%;margin-top:16px}
.admin-login-card .help{margin-top:22px}.admin-password-card{margin-top:28px;max-width:760px}.admin-password-card form{max-width:590px}.admin-password-card .button{min-height:46px}.admin-password-card h2{line-height:1.35}
.customer-account-side{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;min-width:0;align-content:start}.customer-account-side>.portal-card{min-width:0}.customer-profile-photo{margin:24px 0;padding:20px 0;border-top:1px solid #63303b;border-bottom:1px solid #63303b}.customer-profile-photo h3{color:#f3d493;font-size:1.15rem}.customer-membership-card .member-card-preview{max-width:100%}.customer-membership-card .portal-actions{align-items:stretch}.customer-membership-card .terms-box input{font-family:monospace;letter-spacing:.03em}

/* Provider sign-in and email verification use the existing member account shell. */
.social-auth{margin:24px 0;padding:20px 0;border-top:1px solid #63303b;border-bottom:1px solid #63303b;text-align:left}.social-auth-buttons{display:flex;flex-wrap:wrap;gap:12px}.social-auth-buttons .button{flex:1;min-width:160px}.social-auth .check{margin-top:0}.social-auth .help{margin:14px 0 0}.social-connections{margin:24px 0}.social-connections:empty{display:none}.social-connections h3{margin-top:20px}.otp-card [name=code]{font:600 24px/1.4 monospace;letter-spacing:.3em}.otp-card .modal-notice:empty{display:none}.otp-card .modal-notice:not(:empty),#member-auth-config-form .modal-notice:not(:empty){border-left:3px solid #edc478;background:#4a2029;padding:13px;margin:16px 0}.otp-card .auth-text,.otp-card .copy-button{min-height:44px}.member-auth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.member-auth-grid .portal-card{min-width:0;padding:24px}.member-auth-grid .field{min-width:0}.member-auth-grid .button{white-space:normal}.member-auth-guide{margin-top:26px}.member-auth-guide details{border-top:1px solid #63303b;padding:15px 0}.member-auth-guide summary{cursor:pointer;min-height:44px;display:list-item;color:#edc478;font-weight:600;padding:10px 0}.member-auth-guide li{margin:12px 0;line-height:1.7}.member-auth-guide ol{padding-left:24px}.member-auth-guide input[readonly]{font-size:.875rem}.member-auth-intro .error{padding:14px;border-left:3px solid #e8ac77}.member-auth-grid input[type=checkbox],.social-auth input[type=checkbox]{flex-shrink:0}
@media(max-width:1050px){.member-auth-grid{grid-template-columns:1fr}.member-auth-grid .portal-card{margin:0}.member-auth-guide{overflow-wrap:anywhere}}@media(max-width:550px){.social-auth-buttons{flex-direction:column}.social-auth-buttons .button{width:100%;min-width:0}.member-auth-grid .portal-card{padding:20px}.member-auth-guide summary{line-height:1.5}.otp-card .portal-actions{align-items:stretch}}
