.page-id-826 {
    --graphite: #12384b;
    --graphite-soft: #445d69;
    --teal: #0a6f9f;
    --teal-dark: #075b84;
    --sage: #1494c5;
    --sage-light: #eaf6fa;
    --mist: #f6fbfd;
    --workflow: #eaf6fa;
    --line: #cfe6f0;
    --warm-white: #fbfdfe;
    --graphite-panel: #0a6f9f;
    --shadow: 0 18px 50px rgba(7, 91, 132, .1);
}
.page-id-826 .utility-bar { background: #0a6f9f; }
.page-id-826 .utility-bar p { color: rgba(255,255,255,.92); }
.page-id-826 .primary-nav > a:not(.button)::after { background: #20a5d8; }
.page-id-826 .site-footer { color: rgba(255,255,255,.86); border-top-color: #20a5d8; background: #075b84; }
.page-id-826 .button:focus-visible,
.page-id-826 a:focus-visible,
.page-id-826 button:focus-visible,
.page-id-826 input:focus-visible,
.page-id-826 select:focus-visible,
.page-id-826 textarea:focus-visible { outline-color: rgba(32,165,216,.55); }
.portal-intro { padding: 72px 0 38px; background: var(--mist); text-align: center; }
.portal-intro h1 { max-width: none; font-size: clamp(2.35rem, 4.2vw, 4rem); }
.portal-intro > .container > p:not(.eyebrow) { max-width: 690px; margin-inline: auto; color: var(--graphite-soft); }
.portal-guidance { max-width: 880px; display: flex; justify-content: space-between; gap: 20px; margin: 28px auto 0; padding: 14px 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); font-size: .85rem; }
.page-id-826 .portal-guidance a,
.page-id-826 .portal-shell #smsfforgotpassword,
.page-id-826 .portal-shell #smsfAccReg { color: #075b84 !important; font-weight: 650; }
.portal-shell { min-height: 520px; padding: 36px 0 90px; background: var(--mist); }
.portal-shell__inner { overflow: auto; padding: clamp(20px, 4vw, 38px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.page-id-826 .portal-shell .elementor-location-header,
.page-id-826 .portal-shell .elementor-location-footer { display: none !important; }
.page-id-826 #csmsf4567, .page-id-826 #csmsf4567 table { width: 100% !important; }
body.page-id-826 #csmsf4567 table { border: 0 !important; border-collapse: separate !important; border-spacing: 0 !important; background: transparent !important; }
body.page-id-826 #csmsf4567 > table { max-width: 980px; margin: 0 auto !important; }
body.page-id-826 #csmsf4567 img { width: 100% !important; border-radius: 10px; }
body.page-id-826 #csmsf4567 td { padding: 7px 8px !important; border: 0 !important; color: var(--graphite) !important; background: transparent !important; font-family: inherit !important; font-size: 15px !important; }
body.page-id-826 #csmsf4567 label { font-weight: 700; }
body.page-id-826 #chkSmsfIframeRememberMe { width: 18px !important; height: 18px !important; margin: 0 9px 0 0 !important; vertical-align: middle; accent-color: var(--teal); }
body.page-id-826 #csmsf4567 .portal-remember-label { display: inline-block; margin: 0; vertical-align: middle; font-size: .9rem; }
.portal-login-intro { max-width: 720px; margin: 28px auto 4px; padding-top: 26px; border-top: 1px solid var(--line); }
.portal-login-intro strong, .portal-login-intro span { display: block; }
.portal-login-intro strong { margin-bottom: 5px; color: var(--graphite); font-size: 1.45rem; }
.portal-login-intro span { color: var(--graphite-soft); font-size: .9rem; }
body.page-id-826 #csmsf4567 .portal-login-form { max-width: 720px; margin: 0 auto !important; padding: 20px 26px 26px !important; border: 1px solid var(--line) !important; border-radius: 10px; background: var(--mist) !important; }
body.page-id-826 #csmsf4567 .portal-login-form tr { display: grid !important; grid-template-columns: 170px minmax(0, 1fr); align-items: center; gap: 0 18px; }
body.page-id-826 #csmsf4567 .portal-login-form td { width: auto !important; display: block !important; }
body.page-id-826 #csmsf4567 .portal-login-form td:empty { display: none !important; }
body.page-id-826 #csmsf4567 .portal-login-form td:last-child { grid-column: 2; }
body.page-id-826 #txtSMSFEmail, body.page-id-826 #txtSMSFPassword { width: 100% !important; min-height: 50px !important; padding: 11px 13px !important; border: 1px solid #9fbfcd !important; border-radius: 7px !important; color: var(--graphite) !important; background: var(--white) !important; }
body.page-id-826 #btnSMSFLogin, body.page-id-826 #csmsf4567 input[type="button"] { min-height: 48px !important; padding: 11px 22px !important; border: 1px solid var(--teal) !important; border-radius: 7px !important; color: var(--white) !important; background: var(--teal) !important; font-weight: 700 !important; cursor: pointer; }
body.page-id-826 #btnSMSFLogin:hover, body.page-id-826 #csmsf4567 input[type="button"]:hover { border-color: var(--teal-dark) !important; background: var(--teal-dark) !important; }
body.page-id-826 #csmsf4567 a { color: var(--teal-dark) !important; font-weight: 650; }
.page-id-826 #csmsf4566frame1 { min-height: 860px !important; }
.page-id-826 #csmsf4567frame2 { width: 100% !important; min-height: 860px !important; border: 0 !important; }

@media (max-width: 1024px) {
    /* The vendor form is a fixed-width, absolutely-positioned iframe. Its
       own wrapper must match the frame height or the lower fields are not
       part of the page flow. Keep both axes scrollable as a safe fallback. */
    .portal-shell__inner { overflow: auto; -webkit-overflow-scrolling: touch; }
    .page-id-826 #csmsf4566frame1 { min-height: 1050px !important; }
    .page-id-826 #csmsf4567frame2 { display: block; width: 980px !important; min-width: 980px !important; min-height: 1050px !important; max-width: none !important; }
}

@media (max-width: 760px) {
    .portal-guidance { display: grid; }
    .portal-shell { padding-top: 20px; }
    .portal-shell__inner { width: calc(100% - 20px); padding: 14px 0; }
    body.page-id-826 #csmsf4567 > table { min-width: 0 !important; }
    body.page-id-826 #csmsf4567 .portal-login-form { padding: 16px 14px 20px !important; }
    body.page-id-826 #csmsf4567 .portal-login-form tr { grid-template-columns: 1fr !important; gap: 2px; padding: 5px 0; }
    body.page-id-826 #csmsf4567 .portal-login-form td, body.page-id-826 #csmsf4567 .portal-login-form td:last-child { width: 100% !important; grid-column: 1; padding: 4px 0 !important; }
    body.page-id-826 #csmsf4567 .portal-login-form td:empty { display: none !important; }
    body.page-id-826 #btnSMSFLogin { width: 100% !important; margin-bottom: 8px; }
    body.page-id-826 #csmsf4567 .portal-login-form a { display: inline-block; margin: 3px 0; }
}
