
body[data-access] main{visibility:hidden}body[data-access].access-ready main{visibility:visible}
.portal-main{padding:54px 0 96px;background:linear-gradient(180deg,#f7fafc,#fff)}
.portal-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.portal-welcome{background:linear-gradient(135deg,#052c69,#087b9b);color:#fff;border-radius:22px;padding:34px;box-shadow:0 16px 40px rgba(13,42,81,.18);display:flex;justify-content:space-between;gap:24px;align-items:center}
.portal-welcome h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.6rem,5vw,4.3rem);line-height:1;margin:0 0 10px}.portal-welcome p{margin:0;color:rgba(255,255,255,.92)}
.portal-signout,.table-action{border:0;border-radius:8px;padding:12px 18px;background:#08a6a1;color:#fff;font-weight:800;cursor:pointer}
.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.portal-card{background:#fff;border:1px solid #dbe3ec;border-radius:18px;padding:26px;box-shadow:0 12px 30px rgba(13,42,81,.1)}.portal-card h2{font-family:"Cormorant Garamond",Georgia,serif;color:#082b67;font-size:2rem;margin:0 0 10px}.portal-card p{color:#52647f}.portal-card a{display:inline-flex;margin-top:12px;font-weight:800;color:#087b9b}
.account-panel{width:min(760px,calc(100% - 40px));margin:52px auto 90px;background:#fff;border:1px solid #dbe3ec;border-radius:22px;padding:34px;box-shadow:0 16px 40px rgba(13,42,81,.12)}.account-panel h1{font-family:"Cormorant Garamond",Georgia,serif;color:#082b67;font-size:3.4rem;line-height:1;margin:0 0 10px}.account-panel .field-block{margin-top:20px}.account-panel label{display:block;font-weight:800;color:#082b67;margin-bottom:7px}.account-panel input{width:100%;height:48px;border:1px solid #cbd5df;border-radius:8px;padding:0 14px}.account-panel .form-submit{width:100%;border:0;margin-top:24px}.form-status{margin-top:16px;min-height:24px;font-weight:700;color:#087b9b}.form-status.error{color:#a62a2a}.form-status.success{color:#087c5a}.account-help{text-align:center;margin-top:20px}.account-help a{color:#087b9b;font-weight:800}
.admin-table-wrap{margin-top:30px;background:#fff;border:1px solid #dbe3ec;border-radius:18px;box-shadow:0 12px 30px rgba(13,42,81,.1);overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:16px 18px;border-bottom:1px solid #e4e9ef;text-align:left}.admin-table th{background:#f2f7fa;color:#082b67}.admin-table select{min-width:140px;padding:9px;border:1px solid #cbd5df;border-radius:7px;background:#fff}
@media(max-width:900px){.portal-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.portal-grid{grid-template-columns:1fr}.portal-welcome{align-items:flex-start;flex-direction:column}.account-panel{padding:24px 20px}}


/* Member-only WhatsApp chatgroup card */
.whatsapp-card{display:flex;flex-direction:column;align-items:flex-start}
.whatsapp-qr{width:170px;height:170px;object-fit:contain;margin:14px auto 4px;align-self:center;background:#fff;border:1px solid #dbe3ec;border-radius:12px;padding:8px}
.whatsapp-link{margin-top:auto!important}
@media(max-width:650px){.whatsapp-qr{width:190px;height:190px}}


/* Membership approval workflow */
.admin-email-notice { margin: 26px 0 18px; padding: 18px 20px; border: 1px solid rgba(4,159,157,.35); border-left: 5px solid #049f9d; border-radius: 12px; background: #f2fbfa; color: #405873; }
.admin-email-notice strong { color: #082b67; font-size: 1.05rem; }
.admin-email-notice p { margin: 5px 0 0; line-height: 1.6; }
.approve-notify { background: linear-gradient(135deg,#047e7f,#0aa29e) !important; color:#fff !important; min-width: 148px; }
.approve-notify.is-approved,.approve-notify:disabled { opacity:.62; cursor:not-allowed; }
.row-status { margin-top:6px; max-width:210px; font-size:.76rem; line-height:1.35; color:#087b8d; }
@media(max-width:760px){ .admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{min-width:900px} }
