.cert-wrap{max-width:760px;margin:4px auto;padding:6px 20px;text-align:center;font-size:20px;line-height:1.5}.cert-narrow{max-width:560px}.cert-logo{display:block;max-width:260px;width:100%;height:auto;margin:0 auto 3px}.cert-brand{margin-bottom:2px}.cert-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:15px;font-weight:800;color:#4f5b66}.cert-wrap h1{font-size:38px;line-height:1.15;margin:0 0 2px}.cert-wrap h2{font-size:28px;line-height:1.2}.cert-lead{font-size:22px;margin:3px 0 10px}.cert-login-lead{margin-bottom:8px}.cert-welcome-card,.cert-card,.cert-progress{background:#fff;border:1px solid #d7dde3;border-radius:14px;padding:18px;margin:10px auto;box-shadow:0 2px 10px rgba(0,0,0,.05)}.cert-welcome-card{max-width:590px}.cert-welcome-card h2{margin-top:0}.cert-progress{background:#f5fafc}.cert-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.cert-stat-row>div{background:#fff;border-radius:10px;padding:14px}.cert-stat-number{display:block;font-size:36px;line-height:1;font-weight:800}.cert-stat-label{display:block;font-size:16px;margin-top:7px}.cert-hello{margin-bottom:0}.cert-group-name{margin-top:4px;font-size:18px;color:#4f5b66}.cert-card label{display:block;text-align:left;font-weight:600;margin:12px 0}.cert-card input,.cert-card select{box-sizing:border-box;width:100%;font-size:20px;padding:13px;margin-top:7px;border:2px solid #737b84;border-radius:7px}.cert-card input[type=checkbox]{width:auto;transform:scale(1.35);margin-right:9px}.cert-hours-card label{text-align:center}.cert-hours-input{max-width:170px!important;text-align:center;font-size:44px!important;font-weight:700;margin:18px auto!important;display:block}.cert-instruction{font-size:17px;color:#4f5b66}.cert-button{display:inline-block;background:#1769aa;color:#fff!important;border:0;border-radius:9px;padding:14px 24px;font-size:20px;font-weight:700;text-decoration:none;cursor:pointer}.cert-button:hover{filter:brightness(.92)}.cert-button-big{font-size:24px;padding:18px 30px}.cert-primary-action{min-width:280px}.cert-button-secondary{background:#4f5b66}.cert-success{background:#edf8ef;padding:12px;border-radius:8px;margin-top:18px}.cert-notice{background:#fff4ce;border:1px solid #e0c45b;padding:14px;border-radius:8px;margin:15px 0}.cert-small{font-size:16px}.cert-help-link{margin-top:18px}.cert-simple-note{font-size:17px;color:#4f5b66;max-width:590px;margin:8px auto}.cert-link-button{border:0;background:none;color:#1769aa;text-decoration:underline;font-size:18px;cursor:pointer}.cert-signout{margin-top:18px}.cert-away{text-align:left}.cert-away summary{font-weight:800;cursor:pointer;font-size:20px}.cert-login-card{margin-top:10px}@media(max-width:600px){.cert-wrap{padding:6px 12px;font-size:18px;margin-top:2px}.cert-wrap h1{font-size:31px}.cert-lead{font-size:19px}.cert-card,.cert-welcome-card{padding:18px}.cert-logo{max-width:225px}.cert-stat-row{grid-template-columns:1fr}.cert-primary-action{min-width:0;width:100%;box-sizing:border-box}.cert-button-big{font-size:21px}}

/* Keep CERT pages compact inside Kadence instead of inheriting the theme's large page margins. */
.cert-hours-page .content-area{margin-top:18px!important;margin-bottom:28px!important}
.cert-hours-page .site-main{margin-top:0!important;margin-bottom:0!important}
.cert-hours-page .entry-content-wrap{padding-top:0!important;padding-bottom:0!important}
.cert-hours-page .entry-content>:first-child{margin-top:0!important}
.cert-hours-page .entry-content>:last-child{margin-bottom:0!important}
@media(max-width:600px){.cert-hours-page .content-area{margin-top:10px!important;margin-bottom:20px!important}}


/* Compact the Kadence page-title band on CERT pages. */
.cert-hours-page .entry-hero-container-inner .entry-header{
    min-height:90px!important;
    height:90px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    display:flex!important;
    align-items:center!important;
}
.cert-hours-page .entry-hero-container-inner .entry-header .entry-title{margin-top:0!important;margin-bottom:0!important}


/* v0.5.2: Volunteer pages use the CERT interface only; hide the theme footer credit. */
.cert-hours-page .site-footer{display:none!important}

/* Tighten the password-help pages now that the theme title is the only page heading. */
.cert-hours-page .cert-narrow .cert-logo{margin-bottom:8px}
.cert-hours-page .cert-narrow>p:first-of-type{margin-top:4px}

/* v0.9.3 help page polish */
.cert-help-screen .cert-card h2{margin-top:0;margin-bottom:.45rem}
.cert-help-screen .cert-card p:last-child{margin-bottom:0}
.cert-help-center{text-align:center;margin-top:1rem}

/* v0.10.0 front-end CERT administrator app */
.cert-admin-app{max-width:1180px;margin:4px auto;padding:6px 18px 28px;font-size:17px;line-height:1.45}
.cert-admin-app>.cert-logo{max-width:210px}
.cert-admin-heading{text-align:center;margin-bottom:10px}.cert-admin-heading h1{margin:0 0 4px;font-size:34px}.cert-admin-heading p{margin:0;color:#4f5b66}
.cert-admin-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0 20px}.cert-admin-nav .cert-button{font-size:16px;padding:10px 15px}.cert-admin-nav .cert-admin-nav-active{background:#1769aa;box-shadow:inset 0 0 0 2px #fff}
.cert-admin-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.cert-admin-summary>div{background:#fff;border:1px solid #d7dde3;border-radius:10px;padding:14px;text-align:center}.cert-admin-summary strong{display:block;font-size:30px}.cert-admin-summary span{font-size:14px;color:#4f5b66}
.cert-admin-home{text-align:center;max-width:850px}.cert-admin-biglinks{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px}
.cert-admin-section>.wrap{margin:0}.cert-admin-section h1{font-size:30px;margin:8px 0}.cert-admin-section h2{font-size:23px}.cert-admin-section p,.cert-admin-section td,.cert-admin-section th,.cert-admin-section label{font-size:16px}
.cert-admin-section .widefat{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ccd0d4}.cert-admin-section .widefat th,.cert-admin-section .widefat td{padding:9px 10px;border-bottom:1px solid #e2e4e7;text-align:left;vertical-align:top}.cert-admin-section .widefat thead th{background:#f6f7f7;font-weight:700}.cert-admin-section .striped tbody tr:nth-child(odd){background:#f9f9f9}
.cert-admin-section .button{display:inline-block;box-sizing:border-box;min-height:36px;padding:6px 12px;border:1px solid #1769aa;border-radius:5px;background:#fff;color:#1769aa!important;text-decoration:none;font-size:14px;line-height:22px;cursor:pointer}.cert-admin-section .button-primary{background:#1769aa;color:#fff!important}.cert-admin-section .button-small{min-height:30px;padding:3px 8px;font-size:13px}
.cert-admin-section input:not([type=checkbox]):not([type=radio]),.cert-admin-section select{box-sizing:border-box;max-width:100%;padding:7px 9px;font-size:16px}.cert-admin-section .regular-text{width:min(100%,460px)}
.cert-admin-section .notice{border-left:4px solid #1769aa;background:#fff;padding:10px 14px;margin:12px 0}.cert-admin-section .notice-success{border-left-color:#1f8f46}.cert-admin-section .notice-error{border-left-color:#b32d2e}.cert-admin-section .notice-warning{border-left-color:#dba617}
.cert-admin-section .form-table{width:100%;border-collapse:collapse}.cert-admin-section .form-table th{width:220px;text-align:left;padding:10px}.cert-admin-section .form-table td{padding:10px}.cert-admin-section .description{font-size:13px;color:#646970}
.cert-admin-app .cert-signout{text-align:center;margin-top:24px}
@media(max-width:760px){.cert-admin-app{padding:6px 10px 24px}.cert-admin-summary{grid-template-columns:1fr 1fr}.cert-admin-nav{gap:6px}.cert-admin-nav .cert-button{flex:1 1 30%;text-align:center}.cert-admin-section{overflow-x:auto}.cert-admin-section .form-table th,.cert-admin-section .form-table td{display:block;width:auto;padding:6px 2px}.cert-admin-section .widefat{min-width:720px}.cert-admin-heading h1{font-size:29px}}
@media print{.cert-admin-nav,.cert-admin-app>.cert-logo,.cert-admin-heading,.cert-admin-app>.cert-signout{display:none!important}.cert-admin-app{max-width:none;padding:0}.cert-admin-section{overflow:visible}.cert-admin-section .widefat{min-width:0}}

/* v0.10.7: tighter volunteer layout for 15-inch laptop screens. */
.cert-volunteer-signed-in.cert-hours-page .content-area{margin-top:8px!important;margin-bottom:14px!important}
.cert-volunteer-signed-in.cert-hours-page .entry-hero-container-inner .entry-header{
    min-height:62px!important;height:62px!important;
}
.cert-volunteer-signed-in.cert-hours-page .entry-hero-container-inner .entry-title{font-size:34px!important;line-height:1.05!important}
.cert-volunteer-signed-in .cert-home{max-width:680px;padding-top:2px;padding-bottom:8px;font-size:18px;line-height:1.35}
.cert-volunteer-signed-in .cert-home .cert-logo{max-width:190px;margin-bottom:0}
.cert-volunteer-signed-in .cert-home .cert-brand{margin-bottom:0}
.cert-volunteer-signed-in .cert-home .cert-brand h1{font-size:32px;margin:0}
.cert-volunteer-signed-in .cert-home .cert-lead{font-size:19px;margin:1px 0 7px}
.cert-volunteer-signed-in .cert-home .cert-hello{font-size:26px;margin:5px 0 0}
.cert-volunteer-signed-in .cert-home .cert-group-name{font-size:16px;margin:1px 0 6px}
.cert-volunteer-signed-in .cert-home .cert-progress,
.cert-volunteer-signed-in .cert-home .cert-card{padding:11px 14px;margin:7px auto;border-radius:11px}
.cert-volunteer-signed-in .cert-home .cert-stat-row{gap:9px;margin-top:8px}
.cert-volunteer-signed-in .cert-home .cert-stat-row>div{padding:9px}
.cert-volunteer-signed-in .cert-home .cert-stat-number{font-size:29px}
.cert-volunteer-signed-in .cert-home .cert-stat-label{font-size:14px;margin-top:3px}
.cert-volunteer-signed-in .cert-home .cert-instruction{font-size:15px;margin:5px 0}
.cert-volunteer-signed-in .cert-home .cert-success{padding:8px 10px;margin:4px 0 7px}
.cert-volunteer-signed-in .cert-home .cert-hours-input{max-width:135px!important;font-size:34px!important;padding:7px!important;margin:8px auto!important}
.cert-volunteer-signed-in .cert-home .cert-button{padding:10px 18px;font-size:17px}
.cert-volunteer-signed-in .cert-home .cert-button-big{font-size:19px;padding:11px 22px}
.cert-volunteer-signed-in .cert-home .cert-away summary{font-size:17px}
.cert-volunteer-signed-in .cert-home .cert-away label{margin:7px 0;font-size:15px}
.cert-volunteer-signed-in .cert-home .cert-help-link{margin-top:8px}
.cert-volunteer-signed-in .cert-home .cert-signout{margin-top:8px}

@media(max-width:720px){
    .cert-volunteer-signed-in.cert-hours-page .entry-hero-container-inner .entry-header{min-height:54px!important;height:54px!important}
    .cert-volunteer-signed-in.cert-hours-page .entry-hero-container-inner .entry-title{font-size:28px!important}
    .cert-volunteer-signed-in .cert-home{max-width:100%;padding-left:10px;padding-right:10px}
    .cert-volunteer-signed-in .cert-home .cert-logo{max-width:170px}
    .cert-volunteer-signed-in .cert-home .cert-brand h1{font-size:28px}
}

/* v0.10.8: compact one-screen volunteer dashboard and single, menu-style Sign Out. */
body.cert-volunteer-dashboard-page .entry-hero-container-inner,
body.cert-volunteer-dashboard-page .entry-hero,
body.cert-volunteer-dashboard-page .entry-header.entry-header-layout-standard{
    display:none!important;
}
body.cert-volunteer-dashboard-page .content-area{
    margin-top:6px!important;
    margin-bottom:8px!important;
}
body.cert-volunteer-dashboard-page .site-main,
body.cert-volunteer-dashboard-page .entry-content-wrap{
    margin-top:0!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
}
.cert-home.cert-volunteer-dashboard{
    max-width:620px!important;
    padding:0 14px 6px!important;
    font-size:17px!important;
    line-height:1.3!important;
}
.cert-home.cert-volunteer-dashboard .cert-logo{
    max-width:155px!important;
    margin:0 auto 1px!important;
}
.cert-home.cert-volunteer-dashboard .cert-brand h1{
    font-size:29px!important;
    margin:0!important;
}
.cert-home.cert-volunteer-dashboard .cert-lead{
    font-size:17px!important;
    margin:0 0 4px!important;
}
.cert-home.cert-volunteer-dashboard .cert-hello{
    font-size:23px!important;
    margin:3px 0 0!important;
}
.cert-home.cert-volunteer-dashboard .cert-group-name{
    font-size:15px!important;
    margin:0 0 4px!important;
}
.cert-home.cert-volunteer-dashboard .cert-progress,
.cert-home.cert-volunteer-dashboard .cert-card{
    padding:9px 12px!important;
    margin:5px auto!important;
    border-radius:10px!important;
}
.cert-home.cert-volunteer-dashboard .cert-stat-row{
    gap:7px!important;
    margin-top:6px!important;
}
.cert-home.cert-volunteer-dashboard .cert-stat-row>div{padding:7px!important}
.cert-home.cert-volunteer-dashboard .cert-stat-number{font-size:26px!important}
.cert-home.cert-volunteer-dashboard .cert-stat-label{font-size:13px!important;margin-top:2px!important}
.cert-home.cert-volunteer-dashboard .cert-instruction{font-size:14px!important;margin:3px 0!important}
.cert-home.cert-volunteer-dashboard .cert-success{padding:6px 8px!important;margin:3px 0 5px!important}
.cert-home.cert-volunteer-dashboard .cert-hours-input{
    max-width:120px!important;
    font-size:30px!important;
    padding:5px!important;
    margin:6px auto!important;
}
.cert-home.cert-volunteer-dashboard .cert-button{padding:8px 15px!important;font-size:16px!important}
.cert-home.cert-volunteer-dashboard .cert-button-big{font-size:17px!important;padding:9px 18px!important}
.cert-home.cert-volunteer-dashboard .cert-away summary{font-size:16px!important}
.cert-home.cert-volunteer-dashboard .cert-away label{margin:5px 0!important;font-size:14px!important}
.cert-home.cert-volunteer-dashboard .cert-help-link{margin:5px 0 0!important;font-size:15px!important}

@media(max-width:720px){
    .cert-home.cert-volunteer-dashboard{max-width:100%!important;padding-left:9px!important;padding-right:9px!important}
    .cert-home.cert-volunteer-dashboard .cert-logo{max-width:145px!important}
    .cert-home.cert-volunteer-dashboard .cert-brand h1{font-size:27px!important}
}


/* v0.10.9: volunteer mockup refinement — compact header/nav and top away panel. */
body.cert-volunteer-dashboard-page .site-header-row-container-inner,
body.cert-volunteer-dashboard-page .site-header-row-container-inner > .site-container{
    min-height:58px!important;
}
body.cert-volunteer-dashboard-page .site-header-item,
body.cert-volunteer-dashboard-page .site-branding{padding-top:2px!important;padding-bottom:2px!important}
.cert-home.cert-volunteer-dashboard{max-width:660px!important;padding-top:1px!important}
.cert-home.cert-volunteer-dashboard .cert-logo{
    max-width:175px!important;
    margin:0 auto 0!important;
}
.cert-home.cert-volunteer-dashboard .cert-brand h1{
    font-size:29px!important;
    line-height:1.05!important;
    margin:-1px 0 0!important;
}
.cert-home.cert-volunteer-dashboard .cert-lead{
    font-size:19px!important;
    line-height:1.1!important;
    margin:0 0 2px!important;
}
.cert-home.cert-volunteer-dashboard .cert-hello{
    font-size:23px!important;
    line-height:1.05!important;
    margin:2px 0 0!important;
}
.cert-home.cert-volunteer-dashboard .cert-group-name{
    font-size:15px!important;
    line-height:1.05!important;
    margin:0 0 3px!important;
}
.cert-home.cert-volunteer-dashboard .cert-progress{margin-top:3px!important}
.cert-home.cert-volunteer-dashboard .cert-away-top-panel{
    margin:5px auto 6px!important;
    text-align:left!important;
    border:1px solid #d7dde3!important;
    box-shadow:0 2px 6px rgba(0,0,0,.06)!important;
}
.cert-home.cert-volunteer-dashboard .cert-away-top-panel[hidden]{display:none!important}
.cert-away-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.cert-away-panel-head strong{font-size:17px}
.cert-away-close{font-size:27px;line-height:1;color:#4f5b66!important;text-decoration:none!important;font-weight:400}
.cert-away-close:hover{color:#1769aa!important}
.cert-home.cert-volunteer-dashboard .cert-away-top-panel label{display:block;margin:5px 0!important;font-size:14px!important}
.cert-home.cert-volunteer-dashboard .cert-away-top-panel input[type=date]{padding:4px 6px!important}

@media(max-width:720px){
    .cert-home.cert-volunteer-dashboard .cert-logo{max-width:165px!important}
    .cert-home.cert-volunteer-dashboard .cert-lead{font-size:18px!important}
}


/* v0.10.14: consistent CERT branding, dependable away navigation, and graceful sign-out confirmation. */
.cert-wrap > .cert-logo,
.cert-admin-app > .cert-logo{
    max-width:195px!important;
    width:100%!important;
    height:auto!important;
    margin:0 auto 4px!important;
    display:block!important;
}
.cert-logout-screen .cert-card{max-width:540px;margin-top:10px}
.cert-logout-screen h1{margin-top:0}
.cert-logout-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.cert-logout-actions form{margin:0}
@media(max-width:720px){
    .cert-wrap > .cert-logo,
    .cert-admin-app > .cert-logo{max-width:175px!important}
    .cert-logout-actions{flex-direction:column}
    .cert-logout-actions .cert-button{width:100%;box-sizing:border-box}
}


/* v0.10.15: one CERT logo size and placement across all CERT screens. */
.cert-wrap > .cert-logo,
.cert-admin-app > .cert-logo,
.cert-home.cert-volunteer-dashboard > .cert-logo{
    max-width:195px!important;
    width:100%!important;
    height:auto!important;
    margin:0 auto 4px!important;
    display:block!important;
}
@media(max-width:720px){
    .cert-wrap > .cert-logo,
    .cert-admin-app > .cert-logo,
    .cert-home.cert-volunteer-dashboard > .cert-logo{
        max-width:175px!important;
        margin:0 auto 4px!important;
    }
}

/* v0.10.16: prevent old admin links flashing in Kadence mobile drawer for volunteers. */
body.cert-volunteer-signed-in .popup-drawer a[href*="cert-activate"],
body.cert-volunteer-signed-in .popup-drawer a[href*="cert-admin"],
body.cert-volunteer-signed-in .popup-drawer a[href*="cert-final"],
body.cert-volunteer-signed-in .popup-drawer a[href*="cert-report-data"]{
    visibility:hidden;
}
body.cert-volunteer-signed-in .popup-drawer ul[data-cert-volunteer-menu="1"] a{
    visibility:visible;
}


/* v0.10.17: senior-friendly Show/Hide password control on CERT sign-in. */
.cert-password-field{
    position:relative;
    display:flex;
    align-items:stretch;
    width:100%;
    margin-top:6px;
}
.cert-password-field input{
    width:100%;
    margin:0!important;
    padding-right:100px!important;
    min-height:48px;
}
.cert-password-toggle{
    position:absolute;
    top:1px;
    right:1px;
    bottom:1px;
    min-width:90px;
    padding:0 12px;
    border:0;
    border-left:1px solid #c8d0d8;
    border-radius:0 6px 6px 0;
    background:#f6f8fa;
    color:#334155;
    font:inherit;
    font-weight:600;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
}
.cert-password-toggle:hover,
.cert-password-toggle:focus-visible{
    background:#eaf2f8;
    color:#1769aa;
}
.cert-password-toggle:focus-visible{
    outline:3px solid rgba(23,105,170,.28);
    outline-offset:2px;
}
.cert-password-eye{
    display:inline-flex;
    width:22px;
    height:22px;
}
.cert-password-eye svg{
    width:22px;
    height:22px;
    fill:currentColor;
}
@media(max-width:520px){
    .cert-password-field input{
        padding-right:92px!important;
    }
    .cert-password-toggle{
        min-width:84px;
        padding:0 9px;
    }
}



/* v0.10.25 — clean CERT application shell.
   Remove inherited theme furniture while preserving approved app navigation. */
body.cert-sweetwater-site .site-top-header-wrap,
body.cert-sweetwater-site .site-above-header-wrap,
body.cert-sweetwater-site .header-social-wrap,
body.cert-sweetwater-site .header-social-inner-wrap,
body.cert-sweetwater-site .social-button,
body.cert-sweetwater-site .social-button-wrap {
    display:none!important;
}

/* Hide Kadence/theme footer completely; the plugin supplies one consistent
   centered application footer on every front-end CERT page. */
body.cert-sweetwater-site #colophon,
body.cert-sweetwater-site .site-footer-wrap,
body.cert-sweetwater-site footer.site-footer {
    display:none!important;
}

.cert-global-footer {
    width:100%;
    box-sizing:border-box;
    text-align:center;
    padding:18px 16px 22px;
    margin:18px auto 0;
    font-size:15px;
    line-height:1.5;
    color:#4f5b66;
}
.cert-global-footer a {
    color:inherit;
    text-decoration:underline;
    text-underline-offset:2px;
}
.cert-global-footer a:hover,
.cert-global-footer a:focus-visible {
    color:#1769aa;
}
.cert-global-footer-separator {
    display:inline-block;
    margin:0 8px;
}

/* Public-facing CERT identity: use Sweetwater Battalion rather than the
   multisite/network name without changing WordPress's underlying site title. */
body.cert-sweetwater-site:not(.cert-volunteer-signed-in) .site-branding .site-title a {
    font-size:0!important;
}
body.cert-sweetwater-site:not(.cert-volunteer-signed-in) .site-branding .site-title a::after {
    content:"Sweetwater Battalion";
    font-size:30px!important;
    line-height:1.1!important;
    font-weight:700!important;
}

@media(max-width:720px) {
    .cert-global-footer {
        padding:15px 12px 18px;
        font-size:14px;
    }
    .cert-global-footer-separator {
        margin:0 6px;
    }
    body.cert-sweetwater-site:not(.cert-volunteer-signed-in) .site-branding .site-title a::after {
        font-size:25px!important;
    }
}


/* v0.10.28 — restore the compact one-page PUBLIC landing screen only.
   Signed-in volunteer/admin layouts are intentionally untouched. */
body.cert-public-landing-page .content-area{
    margin-top:6px!important;
    margin-bottom:0!important;
}
body.cert-public-landing-page .site-main,
body.cert-public-landing-page .entry-content-wrap{
    margin-top:0!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
}
body.cert-public-landing-page .entry-hero-container-inner,
body.cert-public-landing-page .entry-hero{
    min-height:0!important;
}
body.cert-public-landing-page .entry-hero .entry-header,
body.cert-public-landing-page .entry-hero-container-inner .entry-header{
    padding-top:12px!important;
    padding-bottom:12px!important;
    margin-top:0!important;
    margin-bottom:0!important;
}
body.cert-public-landing-page .cert-home{
    max-width:660px!important;
    margin:0 auto!important;
    padding:0 14px 2px!important;
    font-size:17px!important;
    line-height:1.3!important;
}
body.cert-public-landing-page .cert-home > .cert-logo{
    max-width:165px!important;
    margin:0 auto 1px!important;
}
body.cert-public-landing-page .cert-brand{
    margin-bottom:0!important;
}
body.cert-public-landing-page .cert-brand h1{
    font-size:31px!important;
    line-height:1.05!important;
    margin:0!important;
}
body.cert-public-landing-page .cert-lead{
    font-size:18px!important;
    line-height:1.1!important;
    margin:1px 0 5px!important;
}
body.cert-public-landing-page .cert-welcome-card{
    max-width:560px!important;
    padding:11px 16px!important;
    margin:5px auto!important;
    border-radius:11px!important;
}
body.cert-public-landing-page .cert-welcome-card h2{
    font-size:24px!important;
    line-height:1.1!important;
    margin:0 0 6px!important;
}
body.cert-public-landing-page .cert-welcome-card p{
    margin:5px 0!important;
}
body.cert-public-landing-page .cert-primary-action{
    margin-top:4px!important;
    padding:9px 18px!important;
    font-size:18px!important;
}
body.cert-public-landing-page .cert-help-link{
    margin:4px 0 0!important;
    font-size:16px!important;
}
body.cert-public-landing-page .cert-simple-note{
    font-size:15px!important;
    line-height:1.25!important;
    margin:4px auto 0!important;
}
body.cert-public-landing-page .cert-global-footer{
    margin-top:4px!important;
    padding:9px 12px 11px!important;
    font-size:14px!important;
}

/* The shared app footer must stay visible after being moved under <body>. */
body > .cert-global-footer{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
}

@media(max-width:600px){
    body.cert-public-landing-page .cert-home{
        padding-left:9px!important;
        padding-right:9px!important;
    }
    body.cert-public-landing-page .cert-home > .cert-logo{
        max-width:150px!important;
    }
    body.cert-public-landing-page .cert-brand h1{
        font-size:28px!important;
    }
    body.cert-public-landing-page .cert-lead{
        font-size:17px!important;
    }
    body.cert-public-landing-page .cert-welcome-card{
        padding:10px 12px!important;
    }
}


/* v0.10.29 — footer is appended to page content instead of wp_footer,
   which avoids Kadence hiding or relocating it. */
#cert-global-footer.cert-global-footer{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    text-align:center!important;
    box-sizing:border-box!important;
    margin:12px auto 0!important;
    padding:8px 12px 10px!important;
    font-size:14px!important;
    line-height:1.4!important;
}
body.cert-public-landing-page #cert-global-footer.cert-global-footer{
    margin-top:6px!important;
    padding-top:6px!important;
    padding-bottom:8px!important;
}


/* v0.10.30 — swreports.com network landing portal.
   Scoped only to the root portal page; CERT application pages are untouched. */
body.swreports-portal-page #masthead,
body.swreports-portal-page .site-header-wrap,
body.swreports-portal-page .site-header,
body.swreports-portal-page #colophon,
body.swreports-portal-page .site-footer-wrap,
body.swreports-portal-page footer.site-footer,
body.swreports-portal-page .entry-hero,
body.swreports-portal-page .entry-header {
    display:none!important;
}

body.swreports-portal-page,
body.swreports-portal-page #page,
body.swreports-portal-page .site,
body.swreports-portal-page .content-bg {
    min-height:100vh;
    background:#f4f7fa!important;
}

body.swreports-portal-page .content-area,
body.swreports-portal-page .site-main,
body.swreports-portal-page .entry-content-wrap,
body.swreports-portal-page .entry-content {
    margin:0!important;
    padding:0!important;
    max-width:none!important;
}

.swreports-portal {
    min-height:100vh;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:24px 18px 18px;
    color:#132238;
    text-align:center;
}

.swreports-portal-header {
    margin:0 auto 18px;
    max-width:760px;
}
.swreports-portal-header h1 {
    margin:0 0 6px;
    font-size:38px;
    line-height:1.08;
}
.swreports-portal-header p {
    margin:0;
    font-size:18px;
    line-height:1.35;
    color:#4f5b66;
}

.swreports-portal-grid {
    width:min(900px, 100%);
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:24px;
    margin:0 auto;
}

.swreports-portal-card {
    width:min(390px, 100%);
    box-sizing:border-box;
    background:#fff;
    border:1px solid #d8e0e8;
    border-radius:14px;
    padding:20px 24px 22px;
    box-shadow:0 8px 22px rgba(20,35,55,.08);
}
.swreports-portal-logo {
    display:block;
    width:175px;
    max-width:55%;
    height:auto;
    margin:0 auto 10px;
}
.swreports-portal-card h2 {
    margin:0 0 8px;
    font-size:27px;
    line-height:1.15;
}
.swreports-portal-card p {
    margin:0 auto 16px;
    max-width:330px;
    font-size:17px;
    line-height:1.4;
    color:#4f5b66;
}
.swreports-portal-button {
    display:inline-block;
    min-width:220px;
    box-sizing:border-box;
    padding:11px 18px;
    border-radius:8px;
    background:#1f73b7;
    color:#fff!important;
    text-decoration:none!important;
    font-size:18px;
    font-weight:700;
}
.swreports-portal-button:hover,
.swreports-portal-button:focus-visible {
    background:#175b91;
}

.swreports-portal-footer {
    margin-top:20px;
    padding:8px 12px 2px;
    font-size:14px;
    color:#596674;
}
.swreports-portal-footer a {
    color:inherit;
    text-decoration:underline;
    text-underline-offset:2px;
}

@media (max-width:600px) {
    .swreports-portal {
        justify-content:flex-start;
        padding-top:28px;
    }
    .swreports-portal-header h1 {
        font-size:32px;
    }
    .swreports-portal-header p {
        font-size:17px;
    }
    .swreports-portal-card {
        padding:17px 17px 19px;
    }
    .swreports-portal-logo {
        width:155px;
    }
    .swreports-portal-card h2 {
        font-size:24px;
    }
}


/* v0.10.31 — make the network root a true one-page reporting portal.
   The root portal should contain only its title, reporting cards, and footer. */
body.swreports-portal-page {
    overflow-y:auto;
}
body.swreports-portal-page .swreports-portal {
    min-height:100vh!important;
    height:auto!important;
    justify-content:center!important;
    padding:22px 18px 16px!important;
}
body.swreports-portal-page .swreports-portal-header {
    margin-bottom:16px!important;
}
body.swreports-portal-page .swreports-portal-grid {
    margin-bottom:0!important;
}
body.swreports-portal-page .swreports-portal-footer {
    margin-top:18px!important;
    padding:6px 12px 0!important;
}


/* v0.10.32 — dedicated root-portal footer, independent of Kadence footer markup. */
body.swreports-portal-page{
    padding-bottom:54px!important;
}
body.swreports-portal-page .swreports-portal{
    min-height:calc(100vh - 54px)!important;
    box-sizing:border-box!important;
}
#swreports-portal-footer-fixed.swreports-portal-footer-fixed{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:9999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    min-height:46px!important;
    box-sizing:border-box!important;
    padding:10px 14px!important;
    background:#f4f7fa!important;
    border-top:1px solid #e1e7ed!important;
    color:#596674!important;
    font-size:14px!important;
    line-height:1.4!important;
    text-align:center!important;
}
#swreports-portal-footer-fixed a{
    color:inherit!important;
    text-decoration:underline!important;
    text-underline-offset:2px!important;
}
#swreports-portal-footer-fixed a:hover,
#swreports-portal-footer-fixed a:focus-visible{
    color:#1769aa!important;
}
@media(max-width:600px){
    #swreports-portal-footer-fixed.swreports-portal-footer-fixed{
        min-height:44px!important;
        padding:9px 10px!important;
        font-size:13px!important;
        gap:6px!important;
    }
}

/* v0.10.38: accessible Away Until validation and clearer form feedback. */
.cert-home.cert-volunteer-dashboard .cert-away-top-panel .cert-away-error {
    margin:8px 0!important; padding:8px 11px; border:1px solid #c37b16;
    background:#fff7df; color:#593808; border-radius:6px; font-weight:600;
}
.cert-home.cert-volunteer-dashboard .cert-away-top-panel .cert-away-error[hidden] {display:none!important}


/* v0.10.54: Mobile Time Away route with clear native Start/End date controls. */
.cert-mobile-away-shortcut,
.cert-away-mobile-help { display:none; }

@media screen and (max-width:720px) {
    .cert-home.cert-volunteer-dashboard .cert-mobile-away-shortcut {
        display:block; text-align:left; padding:14px 15px 16px;
        margin:10px auto 8px; background:#f5faff; border:1px solid #b7d2e8;
        border-radius:11px; box-shadow:0 1px 5px rgba(0,0,0,.05);
    }
    .cert-home.cert-volunteer-dashboard .cert-mobile-away-shortcut p {
        margin:0 0 11px; font-size:16px; line-height:1.4; color:#263d52;
    }
    .cert-home.cert-volunteer-dashboard .cert-mobile-away-shortcut strong {
        font-size:18px; color:#163d5d;
    }
    .cert-home.cert-volunteer-dashboard .cert-mobile-away-open {
        display:flex; align-items:center; justify-content:center;
        min-height:52px; width:100%; box-sizing:border-box;
        padding:12px 15px; border:2px solid #1769aa; border-radius:9px;
        color:#11548d!important; background:#fff; text-decoration:none!important;
        font-size:17px; font-weight:700; line-height:1.25; text-align:center;
    }
    .cert-home.cert-volunteer-dashboard .cert-mobile-away-open:focus-visible {
        outline:3px solid #8bbcec; outline-offset:3px;
    }
    .cert-home.cert-volunteer-dashboard .cert-away-top-panel label[for="cert-away-start"],
    .cert-home.cert-volunteer-dashboard .cert-away-top-panel label[for="cert-away-end"] {
        display:block; font-size:17px!important; font-weight:700; margin-top:14px!important;
    }
    .cert-home.cert-volunteer-dashboard .cert-away-top-panel input#cert-away-start,
    .cert-home.cert-volunteer-dashboard .cert-away-top-panel input#cert-away-end {
        display:block!important; box-sizing:border-box!important; width:100%!important;
        min-height:54px!important; height:auto!important;
        padding:12px 14px!important; margin:7px 0 8px!important;
        border:2px solid #477da5!important; border-radius:9px!important;
        background:#fff!important; color:#172f48!important;
        font-size:18px!important; line-height:1.35!important;
        -webkit-appearance:auto; appearance:auto; color-scheme:light;
    }
    .cert-home.cert-volunteer-dashboard .cert-away-top-panel input#cert-away-start[readonly] {
        background:#f1f3f5!important; color:#394b5b!important;
    }
    .cert-home.cert-volunteer-dashboard .cert-away-top-panel input#cert-away-start::-webkit-calendar-picker-indicator,
    .cert-home.cert-volunteer-dashboard .cert-away-top-panel input#cert-away-end::-webkit-calendar-picker-indicator {
        opacity:1!important; width:25px; height:25px; cursor:pointer;
    }
    .cert-home.cert-volunteer-dashboard .cert-away-mobile-help {
        display:block; margin:6px 0 12px; color:#45596c;
        font-size:14px; line-height:1.4; text-align:center;
    }
}


/* v0.10.46: Mobile-only save instruction; desktop layout remains unchanged.
   Keep the native date picker and its server-side, timezone-aware guard. */
.cert-away-mobile-save-note { display:none; }
.cert-home.cert-volunteer-dashboard .cert-away-save-success {
    margin:10px 0; padding:10px 12px; background:#eaf8ed; color:#174e2c;
    border:1px solid #70ad7a; border-radius:7px; font-weight:650;
}
@media screen and (max-width:720px) {
    .cert-home.cert-volunteer-dashboard .cert-away-mobile-save-note {
        display:block; margin:16px auto 12px; max-width:400px;
        text-align:center; font-size:16px; line-height:1.5; color:#263d52;
    }
    .cert-home.cert-volunteer-dashboard .cert-away-mobile-save-note strong {
        font-weight:800; color:#153e66;
    }
}

/* Production: equal sign-out confirmation buttons (LAB-approved) */
.cert-logout-screen .cert-logout-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,400px);
  gap:12px;
  align-items:stretch;
  justify-content:center;
  margin:18px auto 0;
}
.cert-logout-screen .cert-logout-actions > a,
.cert-logout-screen .cert-logout-actions > form {
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  align-self:stretch;
}
.cert-logout-screen .cert-logout-actions .cert-button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%!important;
  height:58px;
  min-height:58px;
  box-sizing:border-box;
  padding:10px 12px!important;
  font-size:19px!important;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
}
@media (max-width:340px) {
  .cert-logout-screen .cert-logout-actions {gap:8px}
  .cert-logout-screen .cert-logout-actions .cert-button {
    font-size:17px!important; padding:9px 5px!important;
  }
}

/* v0.10.58: keep the reset-password field group visibly outlined as one control. */
.cert-reset-screen .cert-password-field{
    border:2px solid #737b84!important;
    border-radius:7px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
}
.cert-reset-screen .cert-password-field input{
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
}
.cert-reset-screen .cert-password-toggle{
    top:0!important;
    right:0!important;
    bottom:0!important;
}

/* CERT Training Materials — v0.10.60 */
.cert-training-screen{max-width:900px}
.cert-training-help-link{margin:12px 0}
.cert-training-help-link-top{margin-top:8px;margin-bottom:14px}
.cert-training-help-link-bottom{margin-top:16px}
.cert-training-return{margin:8px 0 12px}
.cert-training-return-bottom{margin-top:18px;margin-bottom:4px}
.cert-training-back{font-size:18px;padding:10px 18px}
.cert-training-video-card{padding:18px 18px 20px}
.cert-training-video-card h2{margin:0 0 12px}
.cert-training-video-card .wp-video{max-width:820px!important;width:100%!important;margin:0 auto}
.cert-training-video-card .mejs-container{max-width:100%!important}
.cert-training-video-card video{display:block;max-width:100%!important;width:100%!important;height:auto!important}
.cert-training-pdf-card h2{margin-top:0}
.cert-training-pdf-card .cert-button-big{max-width:100%;box-sizing:border-box}
@media(max-width:600px){
  .cert-training-screen{padding-left:12px;padding-right:12px}
  .cert-training-video-card{padding:12px}
  .cert-training-video-card h2{font-size:24px}
  .cert-training-back{font-size:17px;padding:9px 14px}
  .cert-training-pdf-card .cert-button-big{width:100%;font-size:18px;padding:14px 12px}
}
