*{box-sizing:border-box}
:root{
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:#172033;
    background:#f4f7fb;
}
body{margin:0;background:#f4f7fb}
a{color:#245fd3;text-decoration:none}
a:hover{text-decoration:underline}
.page-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}
.card{width:100%;max-width:660px;background:#fff;border:1px solid #e3e8f1;border-radius:18px;padding:34px;box-shadow:0 15px 50px rgba(23,32,51,.08)}
.signup-card{max-width:720px}
h1{font-size:30px;line-height:1.15;margin:6px 0 10px}
.brand{font-weight:800;color:#245fd3;letter-spacing:.02em}
.muted{color:#667085}
.small{font-size:13px}
.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-weight:700;font-size:14px;margin:18px 0 0}
input{display:block;width:100%;margin-top:7px;border:1px solid #cfd7e6;border-radius:10px;padding:12px 13px;font:inherit;outline:none;background:#fff}
input:focus{border-color:#6a96ed;box-shadow:0 0 0 3px rgba(36,95,211,.1)}
button,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 17px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none}
button.primary,.button.primary{width:100%;background:#245fd3;color:#fff;margin-top:20px}
button.primary:disabled{opacity:.45;cursor:not-allowed}
.button.secondary{background:#eef3fb;color:#24426e}
.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.availability{margin-top:10px;padding:10px 12px;border-radius:9px;font-size:14px}
.availability.neutral,.availability.checking{background:#f4f6f8;color:#586174}
.availability.available{background:#edf9f1;color:#176b38}
.availability.unavailable{background:#fff1f1;color:#a33131}
.email-preview{margin-top:10px;padding:12px 13px;background:#f8fafc;border-radius:10px;color:#596579}
.alert{padding:12px 14px;border-radius:10px;margin:16px 0}
.alert.success{background:#edf9f1;color:#176b38}
.alert.error{background:#fff1f1;color:#a33131}
.notice{padding:14px;margin-top:20px;background:#fff8e9;border:1px solid #f1ddb0;border-radius:10px;color:#73591f}
.account-box{border:1px solid #e4e9f1;border-radius:12px;overflow:hidden;margin:20px 0}
.account-box>div{padding:13px 15px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e4e9f1}
.account-box>div:last-child{border-bottom:0}
.account-box span{color:#667085}
.footer-link{text-align:center;margin:22px 0 0;color:#667085}
.success-icon{width:58px;height:58px;border-radius:50%;background:#edf9f1;color:#176b38;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:900}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
code{background:#f2f4f7;border-radius:5px;padding:2px 5px}
@media(max-width:600px){
    .card{padding:24px 18px}
    .grid-two{grid-template-columns:1fr}
    .account-box>div{flex-direction:column;gap:3px}
}

.version-badge{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;background:#eef3fb;color:#245fd3;font-size:11px;font-weight:800;vertical-align:middle}
.required-star{color:#b42318}

.working-overlay{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,23,42,.58);
    z-index:9999;
    backdrop-filter:blur(2px);
}
.working-overlay.show{display:flex}
.working-dialog{
    width:100%;
    max-width:430px;
    background:#fff;
    border-radius:16px;
    padding:30px 26px;
    text-align:center;
    box-shadow:0 22px 70px rgba(0,0,0,.25);
}
.working-dialog h2{
    margin:8px 0 10px;
    font-size:24px;
}
.working-dialog p{
    margin:8px 0;
}
.spinner{
    width:48px;
    height:48px;
    border:5px solid #e5eaf1;
    border-top-color:#245fd3;
    border-radius:50%;
    margin:0 auto 16px;
    animation:signup-spin .85s linear infinite;
}
@keyframes signup-spin{
    to{transform:rotate(360deg)}
}


.site-logo-lockup{
    display:flex;
    align-items:center;
    gap:12px;
}
.site-logo-lockup.vertical{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
}
.site-logo-image{
    display:block;
    max-width:100%;
    height:auto;
}
.site-logo-image.nav{
    width:auto;
    height:auto;
    max-width:420px;
    max-height:104px;
}
.site-logo-image.form-logo{
    width:auto;
    height:auto;
    max-width:220px;
    max-height:74px;
}
.site-logo-image.small{
    width:auto;
    height:auto;
    max-width:190px;
    max-height:48px;
}
.brand-text{
    font-weight:800;
    color:#245fd3;
    letter-spacing:.02em;
}

@media(max-width:600px){
    .site-logo-image.nav{max-width:240px;max-height:62px}
    .site-logo-image.form-logo{max-width:190px;max-height:64px}
    .site-logo-image.small{max-width:165px;max-height:44px}
}


/* v3.64 mobile app experience */
html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}
body{
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
button,.button,input,select,textarea{
    -webkit-tap-highlight-color:transparent;
}
.mobile-app-nav{display:none}

@media(max-width:760px){
    :root{
        background:#eef3f8;
    }

    body{
        background:#eef3f8;
        overscroll-behavior-y:none;
    }

    body.has-mobile-app-nav{
        padding-bottom:calc(76px + env(safe-area-inset-bottom));
    }

    .page-shell{
        min-height:100dvh;
        padding:12px 10px 22px;
        align-items:flex-start;
    }

    .card{
        padding:20px 16px;
        border-radius:22px;
        border-color:#e1e7ef;
        box-shadow:0 10px 32px rgba(15,23,42,.07);
    }

    .topbar{
        gap:14px;
        flex-direction:column;
        align-items:stretch;
    }

    .topbar>div:last-child{
        width:100%;
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px !important;
    }

    .topbar>div:last-child>.button,
    .topbar>div:last-child>form,
    .topbar>div:last-child>form>.button{
        width:100% !important;
        margin:0 !important;
    }

    h1{
        font-size:clamp(27px,8vw,34px);
        letter-spacing:-.025em;
    }

    h2{
        letter-spacing:-.015em;
    }

    button,.button{
        min-height:48px;
        border-radius:13px;
        padding:12px 15px;
        touch-action:manipulation;
    }

    input,select,textarea{
        min-height:48px;
        font-size:16px !important;
        border-radius:13px;
        padding:12px 13px;
        background:#fff;
    }

    textarea{
        min-height:110px;
        line-height:1.5;
    }

    label{
        font-size:14px;
        margin-top:16px;
    }

    .button-row{
        display:grid;
        grid-template-columns:1fr;
        gap:9px;
    }

    .button-row .button,
    .button-row button,
    .button-row form,
    .button-row form .button{
        width:100% !important;
        margin:0 !important;
    }

    .notice,.alert{
        border-radius:14px;
        line-height:1.5;
    }

    .account-box{
        border-radius:16px;
    }

    .working-overlay,
    .email-setup-backdrop,
    .social-modal-backdrop,
    .review-modal-backdrop,
    .place-id-modal-backdrop{
        align-items:flex-end !important;
        padding:0 !important;
    }

    .working-dialog,
    .email-setup-modal,
    .social-modal,
    .review-modal,
    .place-id-modal{
        width:100% !important;
        max-width:none !important;
        max-height:90dvh !important;
        border-radius:24px 24px 0 0 !important;
        padding-bottom:calc(22px + env(safe-area-inset-bottom)) !important;
    }

    .table-wrap{
        margin-left:-16px;
        margin-right:-16px;
        padding-left:16px;
        padding-right:16px;
        border-left:0 !important;
        border-right:0 !important;
        border-radius:0 !important;
        -webkit-overflow-scrolling:touch;
    }

    .mobile-app-nav{
        display:block;
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        z-index:12000;
        padding:7px 8px calc(7px + env(safe-area-inset-bottom));
        background:rgba(255,255,255,.94);
        border-top:1px solid rgba(210,219,230,.95);
        box-shadow:0 -10px 30px rgba(15,23,42,.10);
        backdrop-filter:blur(18px);
        -webkit-backdrop-filter:blur(18px);
    }

    .mobile-app-nav-inner{
        max-width:620px;
        margin:0 auto;
        display:grid;
        grid-template-columns:repeat(6,minmax(0,1fr));
        gap:4px;
    }

    .mobile-app-nav-item{
        min-width:0;
        min-height:58px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:3px;
        border-radius:13px;
        color:#667085;
        text-decoration:none !important;
        font-weight:800;
    }

    .mobile-app-nav-item.active{
        background:#eef4ff;
        color:#245fd3;
    }

    .mobile-app-nav-icon{
        font-size:21px;
        line-height:1;
        font-weight:900;
    }

    .mobile-app-nav-label{
        max-width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:10px;
        letter-spacing:.01em;
    }

    .site-logo-image.small{
        max-height:46px;
    }

    .dashboard-card,
    .signup-card{
        overflow:visible;
    }
}

@media(max-width:420px){
    .page-shell{
        padding-left:7px;
        padding-right:7px;
    }

    .card{
        padding-left:14px;
        padding-right:14px;
        border-radius:19px;
    }

    .topbar>div:last-child{
        grid-template-columns:1fr;
    }

    .mobile-app-nav-label{
        font-size:9px;
    }
}


/* v3.66 mobile navigation visibility fix */
@media(max-width:760px){
    .mobile-app-nav{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        transform:none !important;
        pointer-events:auto !important;
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        width:100% !important;
        z-index:2147483000 !important;
    }

    .mobile-app-nav-inner{
        display:grid !important;
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        width:100% !important;
    }

    .mobile-app-nav-item{
        display:flex !important;
        visibility:visible !important;
        opacity:1 !important;
    }

    body.has-mobile-app-nav,
    body:has(.mobile-app-nav){
        padding-bottom:calc(86px + env(safe-area-inset-bottom)) !important;
    }

    .topbar>div:last-child{
        overflow:visible !important;
    }
}


/* v3.67 premium mobile navigation */
@media(max-width:760px){
    .mobile-app-nav{
        padding:6px 8px calc(7px + env(safe-area-inset-bottom)) !important;
        background:rgba(255,255,255,.97) !important;
        border-top:1px solid #e3e8ef !important;
        box-shadow:0 -8px 28px rgba(15,23,42,.10) !important;
    }

    .mobile-app-nav-inner{
        gap:5px !important;
    }

    .mobile-app-nav-item{
        min-height:57px !important;
        border-radius:15px !important;
        transition:background .12s ease,color .12s ease,transform .12s ease;
    }

    .mobile-app-nav-item:active{
        transform:scale(.96);
    }

    .mobile-app-nav-item.active{
        background:linear-gradient(145deg,#eef4ff,#e7f0ff) !important;
        color:#245fd3 !important;
    }

    .mobile-app-nav-icon{
        font-size:20px !important;
    }

    .mobile-app-nav-label{
        font-size:9.5px !important;
        font-weight:850 !important;
    }
}


/* v3.68 prevent desktop dashboard actions from leaking into mobile layout */
@media(max-width:760px){
    .dashboard-topbar > .dashboard-desktop-actions{
        display:none !important;
        visibility:hidden !important;
        position:absolute !important;
        width:0 !important;
        height:0 !important;
        overflow:hidden !important;
        pointer-events:none !important;
    }
}


/* v3.72 cross-page layout and scaling consistency */
:root{
    --app-content-wide:1100px;
    --app-content-medium:960px;
    --app-content-narrow:720px;
    --app-page-gap:24px;
    --app-card-radius:20px;
    --app-border:#dfe6ef;
    --app-shadow:0 12px 34px rgba(15,23,42,.07);
}

.app-page-shell{
    min-height:100vh !important;
    align-items:flex-start !important;
    justify-content:center !important;
    padding:26px 20px 54px !important;
}

.app-page-card{
    width:100% !important;
    max-width:var(--app-content-wide) !important;
    margin:0 auto !important;
    padding:28px !important;
    border:1px solid var(--app-border) !important;
    border-radius:var(--app-card-radius) !important;
    box-shadow:var(--app-shadow) !important;
    background:#fff !important;
}

.app-page-card.app-medium{
    max-width:var(--app-content-medium) !important;
}

.app-page-card.app-narrow{
    max-width:var(--app-content-narrow) !important;
}

.app-page-card .topbar{
    min-height:70px;
    margin:0 0 22px;
    padding-bottom:18px;
    border-bottom:1px solid #e7ebf0;
    align-items:center;
}

.app-page-card .topbar h1{
    margin:4px 0 0;
    font-size:30px;
    letter-spacing:-.025em;
}

.app-page-card .topbar>div:last-child{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.app-page-card .topbar>div:last-child .button{
    min-height:40px;
    margin:0 !important;
}

.app-standard-shell{
    width:100%;
    min-height:100vh;
    padding:26px 20px 54px !important;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    background:#f4f7fb;
}

.app-standard-card{
    width:min(100%,var(--app-content-wide)) !important;
    max-width:var(--app-content-wide) !important;
    margin:0 auto !important;
    padding:28px !important;
    border:1px solid var(--app-border) !important;
    border-radius:var(--app-card-radius) !important;
    box-shadow:var(--app-shadow) !important;
    background:#fff !important;
}

.app-standard-head{
    min-height:70px;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin:0 0 22px !important;
    padding-bottom:18px !important;
    border-bottom:1px solid #e7ebf0 !important;
}

.app-standard-head h1{
    margin:0 0 5px !important;
    font-size:30px !important;
    letter-spacing:-.025em;
}

.app-standard-head img.site-logo-image.small{
    max-width:190px;
    max-height:48px;
}

.app-standard-head>div:last-child,
.app-standard-head .saved-actions,
.app-standard-head .leader-actions,
.app-standard-head .ref-head-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.app-standard-head .button{
    min-height:40px;
    margin:0 !important;
}

@media(max-width:760px){
    .app-page-shell,
    .app-standard-shell{
        min-height:100dvh !important;
        padding:10px 8px calc(94px + env(safe-area-inset-bottom)) !important;
        background:#eef3f8 !important;
    }

    .app-page-card,
    .app-page-card.app-medium,
    .app-page-card.app-narrow,
    .app-standard-card{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:18px 14px 22px !important;
        border-radius:20px !important;
        box-shadow:0 8px 26px rgba(15,23,42,.06) !important;
    }

    .app-page-card .topbar,
    .app-standard-head{
        min-height:auto !important;
        margin:0 0 16px !important;
        padding-bottom:14px !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:12px !important;
    }

    .app-page-card .topbar h1,
    .app-standard-head h1{
        font-size:28px !important;
    }

    .app-page-card .topbar>div:last-child,
    .app-standard-head>div:last-child,
    .app-standard-head .saved-actions,
    .app-standard-head .leader-actions,
    .app-standard-head .ref-head-actions{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        width:100% !important;
        gap:8px !important;
    }

    .app-page-card .topbar>div:last-child .button,
    .app-standard-head .button{
        width:100% !important;
        min-width:0 !important;
    }

    .grid-two{
        grid-template-columns:1fr !important;
    }

    .app-page-card table,
    .app-standard-card table{
        font-size:14px;
    }
}

@media(max-width:430px){
    .app-page-card .topbar>div:last-child,
    .app-standard-head>div:last-child,
    .app-standard-head .saved-actions,
    .app-standard-head .leader-actions,
    .app-standard-head .ref-head-actions{
        grid-template-columns:1fr !important;
    }

    .app-page-card,
    .app-standard-card{
        padding-left:12px !important;
        padding-right:12px !important;
    }
}


/* v3.73 unified directory / saved-items experience */
.directory-app-header{
    position:sticky;
    top:0;
    z-index:5000;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid #e3e8ef;
    box-shadow:0 4px 16px rgba(15,23,42,.04);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

.directory-app-header-inner{
    width:min(100% - 40px,1180px);
    min-height:72px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
}

.directory-app-logo{
    display:flex;
    align-items:center;
    flex:0 0 auto;
}

.directory-app-logo img{
    display:block;
    width:auto;
    max-width:205px;
    max-height:50px;
}

.directory-app-links{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
    flex-wrap:wrap;
}

.directory-app-links a{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 11px;
    border-radius:10px;
    color:#4a5870;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
}

.directory-app-links a:hover{
    background:#f0f3f7;
    color:#1e4e91;
}

.directory-app-links a.active{
    background:#eaf2ff;
    color:#245fd3;
}

.directory-page-frame{
    width:min(100% - 40px,1180px) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:24px 0 56px !important;
}

.directory-page-surface{
    width:100%;
    padding:26px;
    border:1px solid #dfe6ef;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 30px rgba(15,23,42,.055);
}

.directory-page-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:22px;
    margin:0 0 22px;
    padding:0 0 20px;
    border-bottom:1px solid #e7ebf0;
}

.directory-page-heading-copy{
    min-width:0;
    max-width:610px;
}

.directory-page-heading h1{
    margin:0 0 7px !important;
    font-size:34px !important;
    line-height:1.12;
    letter-spacing:-.03em;
}

.directory-page-heading p{
    margin:0 !important;
    line-height:1.55;
}

.directory-page-heading-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.directory-page-heading-actions .button{
    min-height:40px;
    width:auto;
    margin:0 !important;
}

@media(max-width:760px){
    .directory-app-header{
        position:sticky;
        top:0;
    }

    .directory-app-header-inner{
        width:100%;
        min-height:62px;
        padding:8px 14px;
        justify-content:center;
    }

    .directory-app-logo img{
        max-width:175px;
        max-height:44px;
    }

    .directory-app-links{
        display:none;
    }

    .directory-page-frame{
        width:100% !important;
        margin:0 !important;
        padding:10px 8px calc(96px + env(safe-area-inset-bottom)) !important;
    }

    .directory-page-surface{
        padding:17px 14px 20px;
        border-radius:20px;
        box-shadow:0 7px 24px rgba(15,23,42,.05);
    }

    .directory-page-heading{
        display:block;
        margin-bottom:16px;
        padding-bottom:15px;
    }

    .directory-page-heading h1{
        font-size:28px !important;
    }

    .directory-page-heading-actions{
        width:100%;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        margin-top:14px;
    }

    .directory-page-heading-actions .button{
        width:100%;
    }
}

@media(max-width:430px){
    .directory-page-heading-actions{
        grid-template-columns:1fr;
    }
}


/* v3.74 unified member application shell */
.member-app-header,
.directory-app-header{
    position:sticky !important;
    top:0 !important;
    z-index:5000 !important;
    width:100% !important;
    background:rgba(255,255,255,.98) !important;
    border-bottom:1px solid #dfe5ec !important;
    box-shadow:0 3px 14px rgba(15,23,42,.055) !important;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

.member-app-header-inner,
.directory-app-header-inner{
    width:min(calc(100% - 40px),1180px) !important;
    max-width:1180px !important;
    min-height:72px !important;
    height:72px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:22px !important;
}

.member-app-logo,
.directory-app-logo{
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    width:auto !important;
    max-width:210px !important;
    overflow:hidden !important;
}

.member-app-logo img,
.directory-app-logo img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:205px !important;
    max-height:50px !important;
    object-fit:contain !important;
}

.member-app-header-links,
.directory-app-links{
    display:flex !important;
    min-width:0 !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:5px !important;
    flex-wrap:wrap !important;
}

.member-app-header-links a,
.directory-app-links a{
    min-height:40px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:8px 11px !important;
    border-radius:10px !important;
    background:transparent !important;
    color:#4b5870 !important;
    text-decoration:none !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

.member-app-header-links a:hover,
.directory-app-links a:hover{
    background:#f0f3f7 !important;
    color:#245fd3 !important;
}

.member-app-header-links a.active,
.directory-app-links a.active{
    background:#eaf2ff !important;
    color:#245fd3 !important;
}

/* All regular authenticated pages use the same desktop frame. */
.page-shell.app-page-shell,
.app-standard-shell,
.directory-page-frame{
    width:min(calc(100% - 40px),1180px) !important;
    max-width:1180px !important;
    min-height:auto !important;
    margin:0 auto !important;
    padding:24px 0 56px !important;
    display:block !important;
}

.card.app-page-card,
.app-standard-card,
.directory-page-surface{
    width:100% !important;
    max-width:1180px !important;
    margin:0 !important;
    padding:26px !important;
    border:1px solid #dfe6ef !important;
    border-radius:20px !important;
    background:#fff !important;
    box-shadow:0 9px 28px rgba(15,23,42,.055) !important;
}

/* Override previous medium/narrow card widths for visual alignment. */
.card.app-page-card.app-medium,
.card.app-page-card.app-narrow{
    max-width:1180px !important;
}

/* Consistent internal page heading */
.card.app-page-card > .topbar:first-child,
.app-standard-head,
.directory-page-heading{
    min-height:auto !important;
    margin:0 0 22px !important;
    padding:0 0 20px !important;
    border-bottom:1px solid #e7ebf0 !important;
}

@media(max-width:760px){
    .member-app-header-inner,
    .directory-app-header-inner{
        width:100% !important;
        max-width:none !important;
        min-height:62px !important;
        height:62px !important;
        padding:0 14px !important;
        justify-content:center !important;
    }

    .member-app-logo,
    .directory-app-logo{
        max-width:180px !important;
    }

    .member-app-logo img,
    .directory-app-logo img{
        max-width:175px !important;
        max-height:44px !important;
    }

    .member-app-header-links,
    .directory-app-links{
        display:none !important;
    }

    .page-shell.app-page-shell,
    .app-standard-shell,
    .directory-page-frame{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:10px 8px calc(96px + env(safe-area-inset-bottom)) !important;
    }

    .card.app-page-card,
    .card.app-page-card.app-medium,
    .card.app-page-card.app-narrow,
    .app-standard-card,
    .directory-page-surface{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:17px 14px 20px !important;
        border-radius:20px !important;
    }
}


/* v3.75 hard unified member layout */
body.member-app-page{
    background:#eef2f6 !important;
    color:#172033 !important;
}

body.member-app-page .member-app-header{
    position:sticky !important;
    top:0 !important;
    z-index:9000 !important;
}

body.member-app-page .member-app-header-inner{
    width:min(calc(100% - 48px),1200px) !important;
    max-width:1200px !important;
    min-height:76px !important;
    height:76px !important;
    margin:0 auto !important;
    padding:0 !important;
}

body.member-app-page .member-app-logo{
    max-width:220px !important;
}

body.member-app-page .member-app-logo img{
    width:auto !important;
    height:auto !important;
    max-width:215px !important;
    max-height:52px !important;
    object-fit:contain !important;
}

body.member-app-page .member-app-header-links{
    flex-wrap:nowrap !important;
    overflow:visible !important;
}

body.member-app-page .member-app-header-links a{
    padding:10px 12px !important;
    border-radius:11px !important;
    font-size:13px !important;
}

/* Normalize every known app page shell */
body.member-app-page .page-shell,
body.member-app-page .app-standard-shell,
body.member-app-page .directory-page-frame,
body.member-app-page .saved-shell,
body.member-app-page .leader-shell,
body.member-app-page .ref-shell,
body.member-app-page .find-shell{
    width:min(calc(100% - 48px),1200px) !important;
    max-width:1200px !important;
    min-height:auto !important;
    margin:0 auto !important;
    padding:26px 0 60px !important;
    display:block !important;
    align-items:initial !important;
    justify-content:initial !important;
    background:transparent !important;
}

/* Normalize every known primary page surface/card */
body.member-app-page .page-shell > .card,
body.member-app-page .app-standard-card,
body.member-app-page .directory-page-surface,
body.member-app-page .saved-card,
body.member-app-page .leader-card,
body.member-app-page .ref-card{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:28px 30px !important;
    background:#fff !important;
    border:1px solid #dfe5ec !important;
    border-radius:20px !important;
    box-shadow:0 10px 28px rgba(15,23,42,.055) !important;
}

/* Prevent old narrow inline widths from winning */
body.member-app-page .card[style*="max-width"],
body.member-app-page .signup-card,
body.member-app-page .find-member-card,
body.member-app-page .message-shell,
body.member-app-page .linkcard-page,
body.member-app-page .customer-card,
body.member-app-page .referral-card,
body.member-app-page .claim-card{
    max-width:none !important;
}

/* One consistent heading block */
body.member-app-page .topbar,
body.member-app-page .app-standard-head,
body.member-app-page .directory-page-heading,
body.member-app-page .saved-head,
body.member-app-page .leader-head,
body.member-app-page .ref-head,
body.member-app-page .find-head{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:22px !important;
    margin:0 0 24px !important;
    padding:0 0 20px !important;
    border-bottom:1px solid #e6ebf1 !important;
    flex-wrap:wrap !important;
}

body.member-app-page h1{
    font-size:32px !important;
    line-height:1.1 !important;
    letter-spacing:-.03em !important;
}

body.member-app-page .topbar h1,
body.member-app-page .app-standard-head h1,
body.member-app-page .directory-page-heading h1,
body.member-app-page .saved-head h1,
body.member-app-page .leader-head h1,
body.member-app-page .ref-head h1,
body.member-app-page .find-head h1{
    margin:0 0 6px !important;
}

/* Standardize header action groups */
body.member-app-page .topbar > div:last-child,
body.member-app-page .saved-actions,
body.member-app-page .leader-actions,
body.member-app-page .ref-head-actions,
body.member-app-page .directory-page-heading-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    flex-wrap:wrap !important;
}

body.member-app-page .topbar .button,
body.member-app-page .saved-actions .button,
body.member-app-page .leader-actions .button,
body.member-app-page .ref-head-actions .button,
body.member-app-page .directory-page-heading-actions .button{
    width:auto !important;
    min-height:40px !important;
    margin:0 !important;
}

/* Common section/card rhythm inside pages */
body.member-app-page .usage-card,
body.member-app-page .points-card,
body.member-app-page .inbox-card,
body.member-app-page .account-box,
body.member-app-page .business-owned-item,
body.member-app-page .saved-business,
body.member-app-page .saved-poi,
body.member-app-page .referral,
body.member-app-page .linkcard-card,
body.member-app-page .connection-card,
body.member-app-page .conversation-card{
    border-color:#e1e7ee !important;
    border-radius:15px !important;
}

/* Find Businesses receives same surface as other pages */
body.member-app-page .find-shell{
    padding-top:26px !important;
}

body.member-app-page .find-shell .directory-page-surface{
    width:100% !important;
}

body.member-app-page .directory-grid{
    gap:16px !important;
}

body.member-app-page .map-card,
body.member-app-page .listing-card{
    border-radius:16px !important;
    box-shadow:0 3px 12px rgba(15,23,42,.035) !important;
}

/* Tables */
body.member-app-page .table-wrap,
body.member-app-page .leader-table-wrap{
    border-radius:14px !important;
    overflow:auto !important;
}

/* Forms */
body.member-app-page input,
body.member-app-page select,
body.member-app-page textarea{
    max-width:100%;
}

@media(max-width:900px) and (min-width:761px){
    body.member-app-page .member-app-header-inner{
        width:min(calc(100% - 28px),1200px) !important;
    }

    body.member-app-page .member-app-header-links{
        gap:2px !important;
    }

    body.member-app-page .member-app-header-links a{
        padding:8px 8px !important;
        font-size:12px !important;
    }

    body.member-app-page .page-shell,
    body.member-app-page .app-standard-shell,
    body.member-app-page .directory-page-frame,
    body.member-app-page .saved-shell,
    body.member-app-page .leader-shell,
    body.member-app-page .ref-shell,
    body.member-app-page .find-shell{
        width:calc(100% - 28px) !important;
    }
}

@media(max-width:760px){
    body.member-app-page{
        background:#eef3f8 !important;
    }

    body.member-app-page .member-app-header-inner{
        width:100% !important;
        max-width:none !important;
        min-height:62px !important;
        height:62px !important;
        padding:0 14px !important;
        justify-content:center !important;
    }

    body.member-app-page .member-app-logo{
        max-width:180px !important;
    }

    body.member-app-page .member-app-logo img{
        max-width:175px !important;
        max-height:44px !important;
    }

    body.member-app-page .member-app-header-links{
        display:none !important;
    }

    body.member-app-page .page-shell,
    body.member-app-page .app-standard-shell,
    body.member-app-page .directory-page-frame,
    body.member-app-page .saved-shell,
    body.member-app-page .leader-shell,
    body.member-app-page .ref-shell,
    body.member-app-page .find-shell{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:10px 8px calc(96px + env(safe-area-inset-bottom)) !important;
    }

    body.member-app-page .page-shell > .card,
    body.member-app-page .app-standard-card,
    body.member-app-page .directory-page-surface,
    body.member-app-page .saved-card,
    body.member-app-page .leader-card,
    body.member-app-page .ref-card{
        width:100% !important;
        max-width:none !important;
        padding:17px 14px 20px !important;
        border-radius:20px !important;
    }

    body.member-app-page .topbar,
    body.member-app-page .app-standard-head,
    body.member-app-page .directory-page-heading,
    body.member-app-page .saved-head,
    body.member-app-page .leader-head,
    body.member-app-page .ref-head,
    body.member-app-page .find-head{
        display:block !important;
        margin-bottom:16px !important;
        padding-bottom:15px !important;
    }

    body.member-app-page h1{
        font-size:28px !important;
    }

    body.member-app-page .topbar > div:last-child,
    body.member-app-page .saved-actions,
    body.member-app-page .leader-actions,
    body.member-app-page .ref-head-actions,
    body.member-app-page .directory-page-heading-actions{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        width:100% !important;
        gap:8px !important;
        margin-top:14px !important;
    }

    body.member-app-page .topbar .button,
    body.member-app-page .saved-actions .button,
    body.member-app-page .leader-actions .button,
    body.member-app-page .ref-head-actions .button,
    body.member-app-page .directory-page-heading-actions .button{
        width:100% !important;
    }

    body.member-app-page .grid-two{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:430px){
    body.member-app-page .topbar > div:last-child,
    body.member-app-page .saved-actions,
    body.member-app-page .leader-actions,
    body.member-app-page .ref-head-actions,
    body.member-app-page .directory-page-heading-actions{
        grid-template-columns:1fr !important;
    }
}


/* v3.76 hard logo-size safety */
img[src*="ogdenlocal-logo.png"],
.site-logo-image,
.member-app-logo img,
.directory-app-logo img,
.member-logo img,
.home-logo img{
    width:auto !important;
    height:auto !important;
    max-width:215px !important;
    max-height:54px !important;
    object-fit:contain !important;
}

@media(max-width:760px){
    img[src*="ogdenlocal-logo.png"],
    .site-logo-image,
    .member-app-logo img,
    .directory-app-logo img,
    .member-logo img,
    .home-logo img{
        max-width:175px !important;
        max-height:44px !important;
    }
}


/* v3.77 compact dashboard-style member header */
body.member-app-page .compact-member-header{
    position:sticky !important;
    top:0 !important;
    z-index:9000 !important;
    width:100% !important;
    background:rgba(255,255,255,.98) !important;
    border-bottom:1px solid #dfe5ec !important;
    box-shadow:0 2px 8px rgba(15,23,42,.05) !important;
}

body.member-app-page .compact-member-header-inner{
    width:min(calc(100% - 40px),1200px) !important;
    max-width:1200px !important;
    height:68px !important;
    min-height:68px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
}

body.member-app-page .compact-member-brand{
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
}

body.member-app-page .compact-member-logo{
    width:auto !important;
    max-width:170px !important;
    overflow:hidden !important;
    flex:0 0 auto !important;
}

body.member-app-page .compact-member-logo img,
body.member-app-page .compact-member-header img[src*="ogdenlocal-logo.png"]{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:170px !important;
    max-height:42px !important;
    object-fit:contain !important;
}

body.member-app-page .compact-member-divider{
    width:1px !important;
    height:30px !important;
    flex:0 0 1px !important;
    background:#dfe5ec !important;
}

body.member-app-page .compact-member-title{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    color:#173b6b !important;
    font-size:20px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
}

body.member-app-page .compact-member-links{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:5px !important;
    flex-wrap:nowrap !important;
}

body.member-app-page .compact-member-links a{
    min-height:38px !important;
    padding:8px 10px !important;
    border-radius:9px !important;
    background:transparent !important;
    color:#4c5a70 !important;
    font-size:12px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

body.member-app-page .compact-member-links a:hover{
    background:#f0f3f7 !important;
    color:#245fd3 !important;
}

body.member-app-page .compact-member-links a.active{
    background:#eaf2ff !important;
    color:#245fd3 !important;
}

/* Remove old page-internal branding so only the compact header carries the logo/title. */
body.member-app-page .site-logo-lockup,
body.member-app-page .brand-text{
    max-width:100% !important;
}

body.member-app-page .page-shell > .card > .topbar:first-child .site-logo-lockup,
body.member-app-page .app-standard-head .site-logo-image,
body.member-app-page .saved-head .site-logo-image,
body.member-app-page .leader-head .site-logo-image,
body.member-app-page .ref-head .site-logo-image{
    display:none !important;
}

/* Keep page H1 sections clean and aligned under the compact app header. */
body.member-app-page .page-shell,
body.member-app-page .app-standard-shell,
body.member-app-page .directory-page-frame,
body.member-app-page .saved-shell,
body.member-app-page .leader-shell,
body.member-app-page .ref-shell,
body.member-app-page .find-shell{
    padding-top:18px !important;
}

@media(max-width:900px) and (min-width:761px){
    body.member-app-page .compact-member-header-inner{
        width:calc(100% - 24px) !important;
        gap:12px !important;
    }

    body.member-app-page .compact-member-logo,
    body.member-app-page .compact-member-logo img{
        max-width:145px !important;
    }

    body.member-app-page .compact-member-title{
        font-size:18px !important;
    }

    body.member-app-page .compact-member-links{
        gap:2px !important;
    }

    body.member-app-page .compact-member-links a{
        padding:7px 7px !important;
        font-size:11px !important;
    }
}

@media(max-width:760px){
    body.member-app-page .compact-member-header-inner{
        width:100% !important;
        max-width:none !important;
        height:58px !important;
        min-height:58px !important;
        padding:0 12px !important;
        justify-content:flex-start !important;
        gap:0 !important;
    }

    body.member-app-page .compact-member-brand{
        width:100% !important;
        gap:10px !important;
    }

    body.member-app-page .compact-member-logo{
        max-width:138px !important;
    }

    body.member-app-page .compact-member-logo img,
    body.member-app-page .compact-member-header img[src*="ogdenlocal-logo.png"]{
        max-width:138px !important;
        max-height:34px !important;
    }

    body.member-app-page .compact-member-divider{
        height:26px !important;
    }

    body.member-app-page .compact-member-title{
        flex:1 1 auto !important;
        font-size:17px !important;
    }

    body.member-app-page .compact-member-links{
        display:none !important;
    }

    body.member-app-page .page-shell,
    body.member-app-page .app-standard-shell,
    body.member-app-page .directory-page-frame,
    body.member-app-page .saved-shell,
    body.member-app-page .leader-shell,
    body.member-app-page .ref-shell,
    body.member-app-page .find-shell{
        padding-top:8px !important;
    }
}


/* v3.78 final member header safety */
body.member-app-page header .ol-member-topbar__logo img,
body.member-app-page .ol-member-topbar__logo img{
    max-width:168px !important;
    max-height:40px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
}
@media (max-width:760px){
    body.member-app-page .ol-member-topbar__logo img{
        max-width:138px !important;
        max-height:33px !important;
    }
}
