.members-main{background:#f3f5ee;min-height:calc(100vh - 130px)}
.member-banner{background:linear-gradient(120deg,#08291f,#174735 70%,#265e43);color:#fff}
.member-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:70px 0 86px}
.member-banner h1{font:400 clamp(44px,5vw,76px)/1.07 var(--serif);letter-spacing:-2.5px;margin:19px 0 22px}
.member-banner h1 em{color:var(--lime)}
.member-banner p{max-width:600px;font-size:15px;line-height:1.75;color:#d6e4d8;margin:0}
.member-banner-badge{border:1px solid #ffffff50;border-radius:50%;width:172px;height:172px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;background:#ffffff15}
.member-banner-badge img{object-fit:contain}
.member-banner-badge span{font-size:9px;font-weight:800;letter-spacing:1.3px;color:var(--lime)}
.portal-wrap{padding-bottom:65px;margin-top:-33px;position:relative}
.portal-message{background:#e7f1df;color:#234a2f;padding:16px 21px;border-left:4px solid #598a4f;margin-bottom:22px;font-size:13px;font-weight:700;line-height:1.65}
.portal-message.error{background:#fff1e8;color:#7b3425;border-left-color:#c76c46}
.portal-auth-card{display:grid;grid-template-columns:1.05fr 1fr;background:var(--paper);box-shadow:0 18px 60px #173a2620;min-height:455px}
.portal-card-intro{background:#e7ecdf;padding:60px clamp(30px,5vw,72px)}
.portal-card-intro h2,.portal-dashboard-heading h2,.portal-admin-heading h2{font:400 clamp(35px,4vw,56px)/1.09 var(--serif);letter-spacing:-1.5px;margin:22px 0}
.portal-card-intro p,.portal-panel>p,.portal-dashboard-heading p{font-size:13px;line-height:1.85;color:#657368}
.portal-card-form{padding:52px clamp(25px,5vw,68px)}
.portal-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:30px}
.portal-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:0 18px 15px;color:#647369;font-weight:800;font-size:12px}
.portal-tabs button:first-child{padding-left:0}
.portal-tabs button.active{color:var(--forest);border-color:#769b62}
.portal-form{display:flex;flex-direction:column;align-items:stretch;gap:17px}
.portal-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:#345744}
.portal-form input,.portal-form textarea{width:100%;background:#fff;border:1px solid #bccdbf;border-radius:3px;padding:13px 14px;font-size:14px;color:#193a2c;outline:none}
.portal-form input:focus,.portal-form textarea:focus{border-color:#437e4e;box-shadow:0 0 0 3px #6d9d6833}
.portal-form textarea{font-family:inherit;resize:vertical}
.portal-form .button{margin-top:5px;justify-content:center;min-height:48px}
.portal-link-button{padding:7px;border:0;background:none;text-decoration:underline;text-underline-offset:3px;color:#396a49;font-size:12px;font-weight:700}
.portal-small{font-size:11px;color:#687a6c;line-height:1.7;margin:0}
.portal-narrow-card{max-width:600px;background:white;padding:42px;margin:0 auto;box-shadow:0 18px 60px #173a2620}
.portal-narrow-card h2{font:400 36px/1.2 var(--serif)}
.portal-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:48px 0 26px}
.portal-dashboard-heading h2{margin:13px 0 8px}
.portal-dashboard-heading p{margin:0}
.portal-status-card{background:#fdf1d8;border-left:4px solid #bf8f44;padding:18px 24px;margin:0 0 25px}
.portal-status-card strong{font-size:16px}.portal-status-card p{font-size:13px;line-height:1.7;margin:6px 0 0;color:#715a33}
.portal-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.portal-panel{background:var(--paper);border:1px solid #e1e8dd;padding:36px;min-width:0}
.portal-panel-eyebrow{font-size:10px;font-weight:800;color:#618768;letter-spacing:1.5px}
.portal-panel h3{font:400 32px/1.13 var(--serif);letter-spacing:-.6px;margin:15px 0 13px}
.portal-panel>p{margin:0 0 24px}
.portal-wide{margin-top:20px}
.portal-stack{display:flex;flex-direction:column;gap:12px}
.portal-entry{border:1px solid #dfe7dd;background:#fff;padding:17px 18px}
.portal-entry strong{display:block;font-size:14px;line-height:1.5}
.portal-entry p{white-space:pre-line;color:#586e5d;font-size:13px;line-height:1.65;margin:8px 0 0}
.portal-entry small{display:block;font-size:10px;color:#839086;margin-top:8px}
.portal-entry-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.portal-entry-actions button{border:1px solid #8da98d;background:#e8f1e5;padding:9px 13px;color:#1c5132;font-size:11px;font-weight:800}
.portal-entry-actions .deny-button{border-color:#d5b1ab;background:#fff0eb;color:#813f32}
.portal-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.directory-person{border:1px solid #dce6da;padding:20px;background:#fff}
.directory-person strong{display:block;font-size:14px}.directory-person span{display:block;margin-top:7px;color:#617568;font-size:12px}
.directory-person a{display:inline-block;margin-top:12px;color:#315d3e;text-decoration:underline;text-underline-offset:3px;font-size:12px}
.portal-admin{margin-top:55px;border-top:1px solid #cadbcb;padding-top:34px}
.portal-admin-heading h2{margin:12px 0 28px}
.portal-support{font-size:12px;color:#6d7f70;text-align:center;margin:30px auto 0;line-height:1.6}
.portal-support a{text-decoration:underline;text-underline-offset:2px}
[hidden]{display:none!important}
@media(max-width:950px){.portal-auth-card{grid-template-columns:1fr 1fr}.portal-card-intro{padding:45px 30px}.portal-card-form{padding:42px 30px}.portal-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.member-banner-inner{padding:54px 0 75px}.member-banner-badge{display:none}.portal-auth-card,.portal-dashboard-grid{grid-template-columns:1fr}.portal-card-intro,.portal-card-form,.portal-panel{padding:30px 25px}.portal-dashboard-heading{align-items:flex-start;flex-direction:column;gap:18px}.portal-directory{grid-template-columns:1fr}}
