.member-page{min-height:100vh;background:var(--bg)}.member-header{height:72px;padding:0 max(20px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.member-brand{display:flex;align-items:center;gap:10px}.member-brand>span:last-child{display:grid;line-height:1.1}.member-brand small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.member-header nav{display:flex;align-items:center;gap:18px;color:var(--muted);font-weight:650}.member-header nav a:hover{color:var(--accent)}.member-header nav form{margin:0}.member-header nav button{border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer}.member-header nav button:hover{color:var(--accent)}.member-container{width:min(1120px,calc(100% - 32px));margin:34px auto 64px}.member-footer{text-align:center;padding:24px;color:var(--muted);border-top:1px solid var(--border)}.registration-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px}.registration-progress{position:sticky;top:96px;height:max-content;padding:18px}.registration-progress ol{list-style:none;padding:0;margin:0;display:grid;gap:5px}.registration-progress li{display:flex;gap:10px;align-items:center;padding:9px;border-radius:8px;color:var(--muted)}.registration-progress li.is-active{background:var(--accent-soft);color:var(--accent);font-weight:700}.registration-progress li.is-complete{color:var(--success)}.step-number{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--border);border-radius:50%;font-size:11px}.registration-card .card-body{min-height:360px}.review-list{display:grid;gap:10px}.review-row{display:grid;grid-template-columns:180px 1fr;gap:15px;padding:11px 0;border-bottom:1px solid var(--border)}.review-row dt{color:var(--muted)}.evidence-list{display:grid;gap:8px}.evidence-item{display:flex;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.progress-bar{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.progress-bar i{display:block;height:100%;background:var(--accent);border-radius:inherit}.adaptive-location [data-country]{display:none}.adaptive-location[data-selected=BD] [data-country=BD],.adaptive-location[data-selected=JP] [data-country=JP]{display:grid}@media(max-width:760px){.registration-shell{grid-template-columns:1fr}.registration-progress{position:static;overflow:auto}.registration-progress ol{display:flex;min-width:max-content}.registration-progress li span:last-child{display:none}.member-header nav a:not(:first-child){display:none}.review-row{grid-template-columns:1fr;gap:3px}}
.profile-image-editor{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:start}.profile-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;border:1px solid var(--border);background:var(--surface-2)}.profile-photo-large{width:160px;height:160px}.profile-photo-placeholder{display:grid;place-items:center;font-size:32px;color:var(--muted)}.privacy-grant-list{display:grid;gap:10px;margin-top:18px}.privacy-grant-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.privacy-grant-row span{display:grid;gap:2px}.privacy-grant-row small{color:var(--muted)}.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.directory-card{display:flex;gap:14px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.directory-card h3,.directory-card p{margin:0}.directory-card p{margin-top:4px;color:var(--muted)}.directory-profile-head{display:flex;align-items:center;gap:20px}.profile-biography{margin-top:24px}.pagination{display:flex;gap:6px}.pagination a{display:grid;place-items:center;min-width:36px;height:36px;border:1px solid var(--border);border-radius:8px}.pagination a[aria-current=page]{background:var(--accent);color:white;border-color:var(--accent)}.inline-form{display:flex;gap:6px;align-items:center}.certificate-page{margin:0;background:#eef1f5;color:#17202a;font-family:Arial,sans-serif}.certificate-sheet{width:min(900px,calc(100% - 40px));margin:40px auto;padding:70px;background:white;border:12px double #293241;text-align:center;box-sizing:border-box}.certificate-kicker{text-transform:uppercase;letter-spacing:.18em}.certificate-sheet h1{font-size:44px;margin:20px 0}.certificate-sheet h2{font-size:34px;margin:30px 0 10px}.certificate-meta,.certificate-signatory,.certificate-verify{display:grid;gap:6px;margin-top:36px}.certificate-verify code{display:block;overflow-wrap:anywhere;padding:10px;background:#f5f6f8}.certificate-verify small{color:#5f6b76}@media print{.certificate-page{background:white}.certificate-sheet{width:100%;margin:0;border-color:#111;page-break-inside:avoid}}@media(max-width:760px){.profile-image-editor{grid-template-columns:1fr}.directory-grid{grid-template-columns:1fr}.directory-profile-head{align-items:flex-start}.inline-form{align-items:stretch;flex-direction:column}}

/* Member portal shell v3 */
.member-page{
    --member-sidebar:#0b1f3a;
    --member-sidebar-hover:#132f52;
    --member-teal:#109a8a;
    --member-blue:#2e6fd8;
    --member-gold:#f4b942;
}

.member-shell{
    min-height:100vh;
}

.member-sidebar{
    position:fixed;
    inset:0 auto 0 0;
    z-index:50;
    width:264px;
    display:flex;
    flex-direction:column;
    background:linear-gradient(180deg,#0b1f3a 0%,#0a1a30 100%);
    color:#d9e5f4;
    box-shadow:10px 0 35px rgba(11,31,58,.08);
}

.member-sidebar-brand{
    min-height:76px;
    padding:0 22px;
    display:flex;
    align-items:center;
    gap:12px;
    border-bottom:1px solid rgba(255,255,255,.09);
}

.member-sidebar-brand .brand-mark{
    background:linear-gradient(145deg,var(--member-teal),var(--member-blue));
    box-shadow:0 8px 22px rgba(16,154,138,.22);
}

.member-brand-copy{
    display:grid;
    line-height:1.1;
}

.member-brand-copy strong{
    color:#fff;
    font-size:17px;
}

.member-brand-copy small{
    margin-top:5px;
    color:#8fa5c0;
    font-size:10px;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.member-sidebar-nav{
    flex:1;
    overflow-y:auto;
    padding:22px 14px;
}

.member-nav-group{
    margin-bottom:24px;
}

.member-nav-label{
    margin:0 11px 8px;
    color:#8299b5;
    font-size:10px;
    font-weight:750;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.member-nav-item{
    min-height:44px;
    margin:3px 0;
    padding:9px 12px;
    display:flex;
    align-items:center;
    gap:11px;
    border-radius:10px;
    color:#c9d7e8;
    font-size:14px;
    font-weight:620;
    transition:background .15s ease,color .15s ease,transform .15s ease;
}

.member-nav-item:hover{
    background:rgba(255,255,255,.07);
    color:#fff;
}

.member-nav-item.is-active{
    color:#fff;
    background:linear-gradient(90deg,rgba(16,154,138,.22),rgba(46,111,216,.18));
    box-shadow:inset 3px 0 var(--member-teal);
}

.member-nav-icon{
    width:24px;
    height:24px;
    flex:0 0 24px;
    display:grid;
    place-items:center;
    border-radius:7px;
    color:#91abc8;
    font-size:15px;
}

.member-nav-item.is-active .member-nav-icon{
    color:#fff;
    background:rgba(255,255,255,.09);
}

.member-sidebar-account{
    margin:14px;
    padding:14px;
    display:flex;
    align-items:center;
    gap:11px;
    border-top:1px solid rgba(255,255,255,.08);
}

.member-avatar{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:linear-gradient(145deg,var(--member-teal),var(--member-blue));
    color:#fff;
    font-weight:800;
    text-transform:uppercase;
}

.member-avatar-small{
    width:36px;
    height:36px;
    flex-basis:36px;
    border-radius:10px;
}

.member-sidebar-user{
    min-width:0;
    display:grid;
}

.member-sidebar-user strong{
    overflow:hidden;
    color:#fff;
    font-size:12px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.member-sidebar-user small{
    overflow:hidden;
    margin-top:2px;
    color:#8299b5;
    font-size:10px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.member-main{
    min-height:100vh;
    margin-left:264px;
    display:flex;
    flex-direction:column;
}

.member-topbar{
    position:sticky;
    top:0;
    z-index:35;
    min-height:76px;
    padding:0 30px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--border);
    backdrop-filter:blur(14px);
}

.member-topbar-left,
.member-topbar-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.member-topbar-title{
    display:grid;
    line-height:1.25;
}

.member-topbar-title small{
    color:var(--muted);
    font-size:10px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.member-topbar-title strong{
    margin-top:2px;
    color:var(--text);
    font-size:16px;
}

.member-topbar-link{
    padding:8px 11px;
    border-radius:8px;
    color:var(--muted);
    font-size:13px;
    font-weight:650;
}

.member-topbar-link:hover{
    background:var(--surface-2);
    color:var(--member-blue);
}

.member-notification-button{
    width:39px;
    height:39px;
    display:grid;
    place-items:center;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface);
    color:var(--muted);
    font-size:18px;
}

.member-notification-button:hover,
.member-notification-button.is-active{
    border-color:color-mix(in srgb,var(--member-blue) 35%,var(--border));
    background:color-mix(in srgb,var(--member-blue) 7%,var(--surface));
    color:var(--member-blue);
}

.member-user-chip{
    display:flex;
    align-items:center;
    gap:9px;
    padding-left:4px;
}

.member-user-chip-copy{
    min-width:0;
    display:grid;
    line-height:1.2;
}

.member-user-chip-copy strong{
    max-width:160px;
    overflow:hidden;
    font-size:12px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.member-user-chip-copy small{
    margin-top:2px;
    color:var(--muted);
    font-size:10px;
}

.member-menu-toggle{
    display:none;
    width:40px;
    height:40px;
    padding:0;
    place-items:center;
    align-content:center;
    gap:3px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface);
    color:var(--text);
    cursor:pointer;
}

.member-menu-toggle>span:not(.sr-only){
    display:block;
    width:17px;
    height:2px;
    border-radius:2px;
    background:currentColor;
}

.member-sidebar-scrim{
    display:none;
}

.member-container{
    width:min(1180px,calc(100% - 56px));
    margin:30px auto 56px;
    flex:1;
}

.member-container>.stack{
    gap:22px;
}

.member-container .card{
    overflow:hidden;
}

.member-container .card-header h1{
    margin:0;
    font-size:24px;
    line-height:1.25;
    letter-spacing:-.02em;
}

.member-container .card-header h2{
    font-size:17px;
}

.member-container .grid-3>div{
    min-height:112px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:12px;
    background:linear-gradient(145deg,var(--surface),var(--surface-2));
}

.member-container .grid-3>div>strong{
    display:block;
    margin-bottom:4px;
    color:#0b1f3a;
    font-size:25px;
    line-height:1.2;
}

.member-container .grid-3>div>p{
    margin:0 0 12px;
    color:var(--muted);
    font-size:12px;
}

.member-container .progress-bar i{
    background:linear-gradient(90deg,var(--member-teal),var(--member-blue));
}

.member-container .button{
    background:var(--member-blue);
}

.member-container .button:hover{
    background:#245fc0;
}

.member-container .button-secondary{
    background:var(--surface);
    color:var(--text);
}

.member-container .button-secondary:hover{
    background:var(--surface-2);
}

.member-container .field input[readonly]{
    background:var(--surface-2);
    color:var(--muted);
}

.member-container .review-row:last-child{
    border-bottom:0;
}

.member-footer{
    margin-top:auto;
    padding:22px 30px;
    display:flex;
    justify-content:space-between;
    gap:16px;
    color:var(--muted);
    border-top:1px solid var(--border);
    background:var(--surface);
    font-size:11px;
}

.member-guest-header{
    min-height:72px;
    padding:0 max(20px,calc((100vw - 1120px)/2));
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:var(--surface);
    border-bottom:1px solid var(--border);
}

.member-guest-header .member-brand{
    display:flex;
    align-items:center;
    gap:10px;
}

.member-guest-header .member-brand>span:last-child{
    display:grid;
    line-height:1.1;
}

.member-guest-header .member-brand small{
    margin-top:3px;
    color:var(--muted);
    font-size:10px;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.member-guest-container{
    min-height:calc(100vh - 150px);
}

@media(max-width:900px){
    .member-sidebar{
        transform:translateX(-100%);
        transition:transform .2s ease;
    }

    .member-menu-open .member-sidebar{
        transform:none;
    }

    .member-sidebar-scrim{
        position:fixed;
        inset:0;
        z-index:45;
        display:block;
        padding:0;
        border:0;
        background:rgba(4,15,29,.58);
        opacity:0;
        pointer-events:none;
        transition:opacity .2s ease;
    }

    .member-menu-open .member-sidebar-scrim{
        opacity:1;
        pointer-events:auto;
    }

    .member-main{
        margin-left:0;
    }

    .member-menu-toggle{
        display:grid;
    }

    .member-topbar{
        padding:0 18px;
    }

    .member-container{
        width:min(100% - 32px,1180px);
    }
}

@media(max-width:640px){
    .member-topbar{
        min-height:68px;
        padding:0 12px;
    }

    .member-topbar-title small,
    .member-user-chip-copy,
    .member-topbar-link{
        display:none;
    }

    .member-topbar-title strong{
        max-width:150px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:14px;
    }

    .member-topbar-actions{
        gap:7px;
    }

    .member-container{
        width:min(100% - 20px,1180px);
        margin:16px auto 34px;
    }

    .member-container .card-header h1{
        font-size:20px;
    }

    .member-container .grid-3>div{
        min-height:auto;
    }

    .member-footer{
        padding:18px;
        display:grid;
        text-align:center;
    }
}
