/* ==========================================================
   SOPS.NET MEMBER ACCOUNT UI
   Loaded after sops-template.css
   ========================================================== */

.sops-main .member-account-shell
{
    width:min(920px,100%);
    margin:32px auto 46px!important;
    padding:34px 36px 26px!important;

    display:block!important;

    background:#f8f8f7!important;
    border:1px solid #e5e7eb!important;
    border-radius:24px!important;
    box-shadow:none!important;
}


/* Breadcrumb */

.sops-main .member-account-breadcrumb
{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;

    margin:0 0 28px!important;
    padding:0!important;

    font-size:.84rem!important;
    line-height:1.4!important;
    color:#667085!important;
}

.sops-main .member-account-breadcrumb a
{
    display:inline!important;
    padding:0!important;
    margin:0!important;

    color:#101828!important;
    font-weight:700!important;

    background:none!important;
    border:0!important;
    box-shadow:none!important;
}

.sops-main .member-account-breadcrumb span
{
    display:inline!important;
}


/* Account heading */

.sops-main .member-account-header
{
    display:block!important;
    max-width:760px!important;
    margin:0!important;
    padding:0!important;

    background:none!important;
    border:0!important;
    box-shadow:none!important;
}

.sops-main .member-account-kicker
{
    display:block!important;

    margin:0 0 25px!important;

    color:#344054!important;
    font-size:.72rem!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.08em!important;
}

.sops-main .member-account-header h1
{
    display:block!important;

    margin:0 0 5px!important;

    color:#101828!important;
    font-size:.94rem!important;
    line-height:1.4!important;
    font-weight:700!important;
}

.sops-main .member-account-lead
{
    display:block!important;

    margin:0!important;

    color:#475467!important;
    font-size:.88rem!important;
    line-height:1.6!important;
}


/* Identity */

.sops-main .member-account-identity
{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;

    margin:26px 0 0!important;
    padding:0!important;

    background:none!important;
    border:0!important;
}

.sops-main .member-account-identity strong
{
    display:block!important;

    color:#101828!important;
    font-size:.86rem!important;
    line-height:1.5!important;
    font-weight:700!important;
}

.sops-main .member-account-identity span
{
    display:block!important;

    color:#475467!important;
    font-size:.85rem!important;
    line-height:1.5!important;
}


/* Summary cards */

.sops-main .member-account-summary
{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;

    width:100%!important;
    max-width:680px!important;

    margin:38px 0 48px!important;
    padding:0!important;
}

.sops-main .member-summary-card
{
    display:flex!important;
    flex-direction:column!important;

    min-width:0!important;
    min-height:164px!important;

    margin:0!important;
    padding:18px 18px 15px!important;

    color:#101828!important;
    text-decoration:none!important;

    background:#fff!important;
    border:1px solid #bfcbd8!important;
    border-radius:3px!important;
    box-shadow:none!important;

    transform:none!important;
}

.sops-main .member-summary-card:hover
{
    color:#101828!important;
    text-decoration:none!important;

    border-color:#829fba!important;
    box-shadow:0 5px 16px rgba(20,48,75,.05)!important;

    transform:none!important;
}

.sops-main .member-summary-title
{
    display:block!important;

    margin:0 0 18px!important;

    color:#101828!important;
    font-size:.84rem!important;
    line-height:1.4!important;
    font-weight:700!important;
}

.sops-main .member-summary-number
{
    display:block!important;

    margin:0 0 2px!important;

    color:#101828!important;
    font-size:.9rem!important;
    line-height:1.4!important;
    font-weight:700!important;
}

.sops-main .member-summary-label
{
    display:block!important;

    margin:0!important;

    color:#667085!important;
    font-size:.81rem!important;
    line-height:1.45!important;
}

.sops-main .member-summary-link
{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;

    width:100%!important;

    margin:auto 0 0!important;
    padding:18px 0 0!important;

    color:#344054!important;
    font-size:.8rem!important;
    line-height:1.4!important;
    font-weight:700!important;
}


/* Activity */

.sops-main .member-account-activity
{
    display:block!important;

    width:100%!important;
    max-width:760px!important;

    margin:0!important;
    padding:0!important;

    background:none!important;
    border:0!important;
    box-shadow:none!important;
}

.sops-main .member-section-heading
{
    display:block!important;

    margin:0 0 23px!important;
    padding:0!important;
}

.sops-main .member-section-heading h2
{
    display:block!important;

    margin:0 0 4px!important;

    color:#101828!important;
    font-size:.9rem!important;
    line-height:1.4!important;
    font-weight:700!important;
}

.sops-main .member-section-heading p
{
    display:block!important;

    margin:0!important;

    color:#667085!important;
    font-size:.82rem!important;
    line-height:1.55!important;
}


/* Transactions table */

.sops-main .member-activity-table
{
    display:block!important;

    width:100%!important;
    overflow:hidden!important;

    background:#fff!important;
    border:1px solid #bfcbd8!important;
    border-radius:3px!important;
}

.sops-main .member-activity-table table
{
    width:100%!important;

    margin:0!important;

    border:0!important;
    border-collapse:collapse!important;

    background:#fff!important;
}

.sops-main .member-activity-table thead
{
    background:#f7f8fa!important;
}

.sops-main .member-activity-table th
{
    padding:12px 14px!important;

    text-align:left!important;

    color:#475467!important;
    font-size:.7rem!important;
    line-height:1.3!important;
    font-weight:800!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;

    background:#f7f8fa!important;
    border:0!important;
    border-bottom:1px solid #d8dee7!important;
}

.sops-main .member-activity-table td
{
    padding:13px 14px!important;

    color:#344054!important;
    font-size:.8rem!important;
    line-height:1.45!important;

    background:#fff!important;
    border:0!important;
    border-bottom:1px solid #eaecf0!important;
}

.sops-main .member-activity-table tbody tr:last-child td
{
    border-bottom:0!important;
}


/* Empty state */

.sops-main .member-empty-row td
{
    padding:0!important;
}

.sops-main .member-empty-state
{
    min-height:138px!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;

    padding:24px!important;

    text-align:center!important;
}

.sops-main .member-empty-state strong
{
    display:block!important;

    margin:0 0 4px!important;

    color:#101828!important;
    font-size:.83rem!important;
    line-height:1.4!important;
    font-weight:700!important;
}

.sops-main .member-empty-state > span
{
    display:block!important;

    color:#667085!important;
    font-size:.8rem!important;
    line-height:1.5!important;
}

.sops-main .member-empty-actions
{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:26px!important;

    margin:19px 0 0!important;
}

.sops-main .member-empty-actions a
{
    display:inline!important;

    margin:0!important;
    padding:0!important;

    color:#344054!important;
    font-size:.79rem!important;
    line-height:1.4!important;
    font-weight:700!important;

    background:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}


/* Account actions */

.sops-main .member-account-actions
{
    display:block!important;

    margin:45px 0 0!important;
    padding:0!important;

    background:none!important;
    border:0!important;
    box-shadow:none!important;
}

.sops-main .member-account-actions h2
{
    display:block!important;

    margin:0 0 16px!important;

    color:#101828!important;
    font-size:.88rem!important;
    line-height:1.4!important;
    font-weight:700!important;
}

.sops-main .member-signout
{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    margin:0!important;
    padding:7px 11px!important;

    color:#344054!important;
    font-size:.79rem!important;
    line-height:1.4!important;
    font-weight:700!important;
    text-decoration:none!important;

    background:#fff!important;
    border:1px solid #cbd5df!important;
    border-radius:3px!important;
    box-shadow:none!important;

    transform:none!important;
}

.sops-main .member-signout:hover
{
    background:#f8fafc!important;
    text-decoration:none!important;
    transform:none!important;
}


/* Mobile */

@media(max-width:760px)
{
    .sops-main .member-account-shell
    {
        margin:18px auto 30px!important;
        padding:24px 18px 20px!important;

        border-radius:16px!important;
    }

    .sops-main .member-account-summary
    {
        grid-template-columns:1fr!important;

        max-width:none!important;

        margin:30px 0 38px!important;
    }

    .sops-main .member-summary-card
    {
        min-height:148px!important;
    }

    .sops-main .member-activity-table
    {
        overflow-x:auto!important;
    }

    .sops-main .member-activity-table table
    {
        min-width:580px!important;
    }
}


/* SOPS ACCOUNT VISUAL HIERARCHY V3 */

/*
 * Width:
 * Match the main account workspace to the same desktop
 * width as the site header instead of the old 920px cap.
 */
body.sops-public-body .sops-main .member-account-shell
{
    width:min(1180px,calc(100% - 48px))!important;
    max-width:1180px!important;

    margin:32px auto 48px!important;
    padding:38px 42px 32px!important;

    background:#f4f5f6!important;
    border:1px solid #dde3e9!important;
    border-radius:24px!important;

    box-shadow:
        0 14px 34px
        rgba(21,42,66,.045)!important;
}


/* ----------------------------------------------------------
   BREADCRUMB
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-account-breadcrumb
{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;

    margin:0 0 28px!important;

    color:#778394!important;
    font-size:.84rem!important;
    line-height:1.4!important;
}

body.sops-public-body .sops-main .member-account-breadcrumb a
{
    color:#123d63!important;
    font-weight:800!important;
}

body.sops-public-body .sops-main .member-account-breadcrumb span
{
    color:#778394!important;
}


/* ----------------------------------------------------------
   ACCOUNT INTRO
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-account-header
{
    width:100%!important;
    max-width:800px!important;
}

body.sops-public-body .sops-main .member-account-kicker
{
    margin:0 0 22px!important;

    color:#31536f!important;

    font-size:.72rem!important;
    font-weight:900!important;
    letter-spacing:.11em!important;
}

body.sops-public-body .sops-main .member-account-header h1
{
    margin:0 0 5px!important;

    color:#0a2138!important;

    font-size:1rem!important;
    line-height:1.35!important;
    font-weight:800!important;

    letter-spacing:0!important;
}

body.sops-public-body .sops-main .member-account-lead
{
    margin:0!important;

    color:#586879!important;

    font-size:.88rem!important;
    line-height:1.6!important;
}


/* ----------------------------------------------------------
   ACCOUNT IDENTITY
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-account-identity
{
    margin:27px 0 0!important;

    display:grid!important;
    gap:3px!important;
}

body.sops-public-body .sops-main .member-account-identity strong
{
    color:#0a2138!important;

    font-size:.86rem!important;
    line-height:1.45!important;
    font-weight:850!important;
}

body.sops-public-body .sops-main .member-account-identity span
{
    color:#657384!important;

    font-size:.83rem!important;
    line-height:1.5!important;
}


/* ----------------------------------------------------------
   SUMMARY CARDS
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-account-summary
{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;

    width:100%!important;
    max-width:700px!important;

    margin:38px 0 48px!important;
}

body.sops-public-body .sops-main .member-summary-card
{
    min-height:166px!important;

    padding:19px 20px 16px!important;

    display:flex!important;
    flex-direction:column!important;

    background:#ffffff!important;

    border:1px solid #c9d4df!important;
    border-radius:5px!important;

    color:#162b3f!important;

    box-shadow:
        0 2px 3px
        rgba(15,36,58,.018)!important;
}

body.sops-public-body .sops-main .member-summary-card:hover
{
    border-color:#8ea8be!important;

    box-shadow:
        0 7px 20px
        rgba(15,51,82,.055)!important;
}

body.sops-public-body .sops-main .member-summary-title
{
    margin:0 0 18px!important;

    color:#0b3c66!important;

    font-size:.84rem!important;
    line-height:1.4!important;
    font-weight:850!important;
}

body.sops-public-body .sops-main .member-summary-number
{
    margin:0 0 1px!important;

    color:#091d31!important;

    font-size:.92rem!important;
    line-height:1.4!important;
    font-weight:850!important;
}

body.sops-public-body .sops-main .member-summary-label
{
    color:#6b7888!important;

    font-size:.80rem!important;
    line-height:1.45!important;
}

body.sops-public-body .sops-main .member-summary-link
{
    margin-top:auto!important;
    padding-top:18px!important;

    color:#0b568d!important;

    font-size:.79rem!important;
    line-height:1.4!important;
    font-weight:850!important;
}


/* Give the second card a very subtle financial tint */

body.sops-public-body .sops-main
.member-summary-card:nth-child(2)
{
    background:#fbfdff!important;
}


/* ----------------------------------------------------------
   RECENT ACTIVITY
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-account-activity
{
    width:100%!important;
    max-width:800px!important;
}

body.sops-public-body .sops-main .member-section-heading
{
    margin:0 0 22px!important;
}

body.sops-public-body .sops-main .member-section-heading h2
{
    margin:0 0 4px!important;

    color:#0b2b46!important;

    font-size:.91rem!important;
    line-height:1.4!important;
    font-weight:850!important;
}

body.sops-public-body .sops-main .member-section-heading p
{
    margin:0!important;

    color:#6b7888!important;

    font-size:.81rem!important;
    line-height:1.55!important;
}


/* ----------------------------------------------------------
   ACTIVITY TABLE
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-activity-table
{
    width:100%!important;

    background:#ffffff!important;

    border:1px solid #c9d4df!important;
    border-radius:5px!important;

    overflow:hidden!important;
}

body.sops-public-body .sops-main .member-activity-table table
{
    width:100%!important;

    margin:0!important;

    border-collapse:collapse!important;

    background:#fff!important;
}

body.sops-public-body .sops-main .member-activity-table thead
{
    background:#edf2f6!important;
}

body.sops-public-body .sops-main .member-activity-table th
{
    padding:13px 15px!important;

    background:#edf2f6!important;

    color:#455d72!important;

    font-size:.69rem!important;
    line-height:1.3!important;
    font-weight:900!important;

    text-transform:uppercase!important;
    letter-spacing:.055em!important;

    border-bottom:1px solid #d3dde6!important;
}

body.sops-public-body .sops-main .member-activity-table td
{
    padding:14px 15px!important;

    background:#fff!important;

    color:#435365!important;

    font-size:.80rem!important;

    border-bottom:1px solid #edf0f3!important;
}


/* ----------------------------------------------------------
   EMPTY ACTIVITY STATE
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-empty-state
{
    min-height:146px!important;

    padding:26px!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;

    background:#ffffff!important;
}

body.sops-public-body .sops-main .member-empty-state strong
{
    margin:0 0 4px!important;

    color:#132d43!important;

    font-size:.82rem!important;
    font-weight:850!important;
}

body.sops-public-body .sops-main .member-empty-state > span
{
    color:#758291!important;

    font-size:.79rem!important;
}

body.sops-public-body .sops-main .member-empty-actions
{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    gap:28px!important;

    margin-top:20px!important;
}

body.sops-public-body .sops-main .member-empty-actions a
{
    color:#0b568d!important;

    font-size:.78rem!important;
    font-weight:850!important;
}


/* ----------------------------------------------------------
   ACCOUNT ACTIONS
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-account-actions
{
    margin:46px 0 0!important;
}

body.sops-public-body .sops-main .member-account-actions h2
{
    margin:0 0 15px!important;

    color:#263d51!important;

    font-size:.86rem!important;
    font-weight:800!important;
}

body.sops-public-body .sops-main .member-signout
{
    padding:7px 12px!important;

    background:#fff!important;

    color:#40566a!important;

    border:1px solid #c8d3dd!important;
    border-radius:4px!important;

    font-size:.78rem!important;
    font-weight:800!important;
}

body.sops-public-body .sops-main .member-signout:hover
{
    background:#f8fafc!important;
    border-color:#99adbe!important;
}


/* ----------------------------------------------------------
   DESKTOP BREATHING ROOM
   ---------------------------------------------------------- */

@media(min-width:1000px)
{
    body.sops-public-body .sops-main .member-account-header,
    body.sops-public-body .sops-main .member-account-summary,
    body.sops-public-body .sops-main .member-account-activity,
    body.sops-public-body .sops-main .member-account-actions
    {
        margin-left:12px!important;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media(max-width:760px)
{
    body.sops-public-body .sops-main .member-account-shell
    {
        width:calc(100% - 24px)!important;

        margin:18px auto 30px!important;
        padding:24px 18px 22px!important;

        border-radius:17px!important;
    }

    body.sops-public-body .sops-main .member-account-summary
    {
        grid-template-columns:1fr!important;

        max-width:none!important;

        margin:30px 0 38px!important;
    }

    body.sops-public-body .sops-main .member-account-activity
    {
        max-width:none!important;
    }

    body.sops-public-body .sops-main .member-account-header,
    body.sops-public-body .sops-main .member-account-summary,
    body.sops-public-body .sops-main .member-account-activity,
    body.sops-public-body .sops-main .member-account-actions
    {
        margin-left:0!important;
    }
}

/* ==========================================================
   ACCOUNT PAGE — MATCH LIBRARY CARD STYLE
   ========================================================== */

/* /account main page outer card should match /account/library page card */
body.sops-public-body .sops-main .member-account-shell
{
    width:100%!important;
    max-width:none!important;

    margin:0!important;
    padding:54px 24px 24px!important;

    background:#ffffff!important;
    border:1px solid #d4e0eb!important;
    border-radius:20px!important;
    box-shadow:none!important;
}

/* Make the account page breathe like the library page */
body.sops-public-body .sops-main .member-account-breadcrumb
{
    margin:0 0 18px!important;
    padding:0 0 18px!important;
}

body.sops-public-body .sops-main .member-account-header
{
    max-width:none!important;
    margin:0 0 26px!important;
}

body.sops-public-body .sops-main .member-account-header h1
{
    font-size:1.15rem!important;
    line-height:1.35!important;
    font-weight:900!important;
    color:#081d33!important;
}

body.sops-public-body .sops-main .member-account-lead
{
    max-width:760px!important;
    font-size:.95rem!important;
    line-height:1.7!important;
    color:#5f7188!important;
}

body.sops-public-body .sops-main .member-account-identity
{
    margin-top:22px!important;
}

body.sops-public-body .sops-main .member-account-identity strong
{
    font-size:.98rem!important;
    font-weight:900!important;
    color:#081d33!important;
}

body.sops-public-body .sops-main .member-account-identity span
{
    font-size:.92rem!important;
    color:#5f7188!important;
}


/* Summary cards should look like proper SOPS cards */
body.sops-public-body .sops-main .member-account-summary
{
    width:100%!important;
    max-width:860px!important;

    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;

    margin:30px 0 34px!important;
}

body.sops-public-body .sops-main .member-summary-card
{
    min-height:160px!important;
    padding:26px 22px 18px!important;

    background:#ffffff!important;
    border:1px solid #d4e0eb!important;
    border-radius:18px!important;
    box-shadow:none!important;

    color:#0b2d4d!important;
    text-decoration:none!important;
}

body.sops-public-body .sops-main .member-summary-card:nth-child(2)
{
    background:#ffffff!important;
}

body.sops-public-body .sops-main .member-summary-card:hover
{
    border-color:#bfd1e0!important;
    box-shadow:none!important;
}

body.sops-public-body .sops-main .member-summary-title
{
    margin:0 0 18px!important;

    color:#0b2d4d!important;
    font-size:.95rem!important;
    line-height:1.4!important;
    font-weight:900!important;
}

body.sops-public-body .sops-main .member-summary-number
{
    margin:0 0 4px!important;

    color:#081d33!important;
    font-size:1.7rem!important;
    line-height:1.1!important;
    font-weight:900!important;
}

body.sops-public-body .sops-main .member-summary-label
{
    color:#627489!important;
    font-size:.93rem!important;
    line-height:1.5!important;
}

body.sops-public-body .sops-main .member-summary-link
{
    margin-top:auto!important;
    padding-top:18px!important;

    color:#0b4e82!important;
    font-size:.92rem!important;
    font-weight:850!important;
}


/* Recent activity block should mirror the inner library card */
body.sops-public-body .sops-main .member-account-activity
{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
}

body.sops-public-body .sops-main .member-section-heading
{
    margin:0 0 14px!important;
}

body.sops-public-body .sops-main .member-section-heading h2
{
    margin:0 0 6px!important;

    color:#081d33!important;
    font-size:1rem!important;
    line-height:1.4!important;
    font-weight:900!important;
}

body.sops-public-body .sops-main .member-section-heading p
{
    color:#627489!important;
    font-size:.92rem!important;
    line-height:1.6!important;
}

body.sops-public-body .sops-main .member-activity-table
{
    background:#ffffff!important;
    border:1px solid #d4e0eb!important;
    border-radius:18px!important;
    box-shadow:none!important;
    overflow:hidden!important;
}

body.sops-public-body .sops-main .member-activity-table thead,
body.sops-public-body .sops-main .member-activity-table th
{
    background:#f7fafc!important;
}

body.sops-public-body .sops-main .member-activity-table th
{
    color:#3a566f!important;
    font-size:.78rem!important;
    font-weight:900!important;
    border-bottom:1px solid #dbe5ee!important;
    padding:16px 18px!important;
}

body.sops-public-body .sops-main .member-activity-table td
{
    color:#526679!important;
    font-size:.93rem!important;
    padding:18px!important;
    border-bottom:1px solid #edf2f6!important;
}

body.sops-public-body .sops-main .member-empty-state
{
    min-height:150px!important;
    padding:34px 22px!important;
    background:#ffffff!important;
}

body.sops-public-body .sops-main .member-empty-state strong
{
    color:#081d33!important;
    font-size:1rem!important;
    font-weight:900!important;
}

body.sops-public-body .sops-main .member-empty-state > span
{
    color:#63758a!important;
    font-size:.92rem!important;
}

body.sops-public-body .sops-main .member-empty-actions
{
    gap:26px!important;
    margin-top:24px!important;
}

body.sops-public-body .sops-main .member-empty-actions a
{
    color:#0b4e82!important;
    font-size:.92rem!important;
    font-weight:850!important;
}


/* Account actions */
body.sops-public-body .sops-main .member-account-actions
{
    margin-top:28px!important;
}

body.sops-public-body .sops-main .member-account-actions h2
{
    color:#081d33!important;
    font-size:1rem!important;
    font-weight:900!important;
}

body.sops-public-body .sops-main .member-signout
{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    min-height:48px!important;
    padding:0 18px!important;

    background:#184a78!important;
    color:#ffffff!important;

    border:0!important;
    border-radius:12px!important;
    box-shadow:0 6px 16px rgba(17,62,100,.16)!important;

    font-size:.95rem!important;
    font-weight:850!important;
}

body.sops-public-body .sops-main .member-signout:hover
{
    background:#123e64!important;
    color:#ffffff!important;
}


/* Mobile */
@media(max-width:760px)
{
    body.sops-public-body .sops-main .member-account-shell
    {
        padding:28px 18px 18px!important;
        border-radius:18px!important;
    }

    body.sops-public-body .sops-main .member-account-summary
    {
        grid-template-columns:1fr!important;
        max-width:none!important;
    }

    body.sops-public-body .sops-main .member-summary-number
    {
        font-size:1.45rem!important;
    }
}

/* ==========================================================
   SOPS ACCOUNT POLISH V5
   ========================================================== */

/* Reduce eyebrow -> heading gap */
body.sops-public-body .sops-main .member-account-kicker
{
    margin-bottom:8px!important;
}

body.sops-public-body .sops-main .member-account-header h1
{
    margin-bottom:4px!important;
}


/* Pull email block closer to intro */
body.sops-public-body .sops-main .member-account-identity
{
    margin-top:14px!important;
}


/* Tighten summary section spacing */
body.sops-public-body .sops-main .member-account-summary
{
    margin-top:28px!important;
    margin-bottom:28px!important;
}


/* Make card values identical in size/baseline */
body.sops-public-body .sops-main .member-summary-number
{
    min-height:30px!important;

    display:flex!important;
    align-items:baseline!important;

    margin-bottom:4px!important;

    font-size:1.55rem!important;
    line-height:1.1!important;
    font-weight:900!important;
}


/* Keep second-card actions together instead of opposing edges */
body.sops-public-body .sops-main .member-summary-link
{
    justify-content:flex-start!important;
    gap:16px!important;
}

body.sops-public-body .sops-main .member-summary-link span
{
    margin-left:0!important;
}


/* Bring Recent credit activity closer to summary cards */
body.sops-public-body .sops-main .member-account-activity
{
    margin-top:0!important;
}

body.sops-public-body .sops-main .member-section-heading
{
    margin-bottom:14px!important;
}


/* Smaller empty state */
body.sops-public-body .sops-main .member-empty-state
{
    min-height:112px!important;
    padding:20px 22px!important;
}


/* Empty-state actions directly below copy */
body.sops-public-body .sops-main .member-empty-actions
{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    gap:22px!important;

    margin-top:14px!important;
}

body.sops-public-body .sops-main .member-empty-actions a
{
    display:inline-flex!important;

    color:#0b4e82!important;
    font-size:.9rem!important;
    font-weight:850!important;
    text-decoration:none!important;
}

body.sops-public-body .sops-main .member-empty-actions a:hover
{
    text-decoration:underline!important;
}


/* Slightly reduce table empty-account footprint */
body.sops-public-body .sops-main .member-activity-table th
{
    padding-top:13px!important;
    padding-bottom:13px!important;
}


/* Account actions separation */
body.sops-public-body .sops-main .member-account-actions
{
    margin-top:32px!important;
    margin-bottom:8px!important;
}


/* More breathing room before site footer */
body.sops-public-body .sops-main .member-account-shell
{
    margin-bottom:64px!important;
}


/* Mobile */
@media(max-width:760px)
{
    body.sops-public-body .sops-main .member-account-summary
    {
        margin-top:24px!important;
        margin-bottom:26px!important;
    }

    body.sops-public-body .sops-main .member-summary-number
    {
        min-height:26px!important;
        font-size:1.4rem!important;
    }

    body.sops-public-body .sops-main .member-empty-actions
    {
        flex-wrap:wrap!important;
        gap:14px!important;
    }

    body.sops-public-body .sops-main .member-account-shell
    {
        margin-bottom:42px!important;
    }
}

/* ==========================================================
   SOPS ACCOUNT LAYOUT BALANCE V6
   ========================================================== */

/*
 * One consistent inner content width.
 * The outer card remains full-width with the site/header.
 * Everything inside is now centred on the same axis.
 */

body.sops-public-body .sops-main .member-account-breadcrumb,
body.sops-public-body .sops-main .member-account-header,
body.sops-public-body .sops-main .member-account-summary,
body.sops-public-body .sops-main .member-account-activity,
body.sops-public-body .sops-main .member-account-actions
{
    width:100%!important;
    max-width:960px!important;

    margin-left:auto!important;
    margin-right:auto!important;
}


/* ----------------------------------------------------------
   TOP SECTION — TIGHTER VERTICAL RHYTHM
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-account-breadcrumb
{
    margin-top:0!important;
    margin-bottom:20px!important;
    padding-bottom:0!important;
}

body.sops-public-body .sops-main .member-account-kicker
{
    margin-top:0!important;
    margin-bottom:6px!important;
}

body.sops-public-body .sops-main .member-account-header h1
{
    margin-top:0!important;
    margin-bottom:4px!important;
}

body.sops-public-body .sops-main .member-account-lead
{
    margin-bottom:0!important;
}


/* Email block pulled upward */

body.sops-public-body .sops-main .member-account-identity
{
    margin-top:16px!important;
}


/* ----------------------------------------------------------
   SUMMARY ROW
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-account-summary
{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px!important;

    margin-top:22px!important;
    margin-bottom:24px!important;
}


/*
 * Cards now fill the same visual width as activity,
 * instead of stopping early on the left.
 */

body.sops-public-body .sops-main .member-summary-card
{
    width:100%!important;
    min-width:0!important;
    min-height:164px!important;

    padding:22px!important;
}


/* Identical number sizing/baseline */

body.sops-public-body .sops-main .member-summary-number
{
    display:flex!important;
    align-items:baseline!important;

    min-height:30px!important;

    margin:0 0 4px!important;

    font-size:1.5rem!important;
    line-height:1.1!important;
    font-weight:900!important;
}


/* ----------------------------------------------------------
   CREDITS CARD ACTION HIERARCHY
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-summary-card-credits
{
    display:flex!important;
    flex-direction:column!important;
}

body.sops-public-body .sops-main .member-summary-actions
{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:14px!important;

    margin-top:auto!important;
    padding-top:18px!important;
}


/* Primary action */

body.sops-public-body .sops-main .member-summary-primary
{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    min-height:36px!important;
    padding:0 14px!important;

    background:#164d78!important;
    color:#ffffff!important;

    border:1px solid #164d78!important;
    border-radius:9px!important;

    box-shadow:none!important;

    font-size:.79rem!important;
    line-height:1!important;
    font-weight:900!important;
    text-decoration:none!important;
}

body.sops-public-body .sops-main .member-summary-primary:hover
{
    background:#103f66!important;
    border-color:#103f66!important;
    color:#ffffff!important;
    text-decoration:none!important;
}


/* Secondary action */

body.sops-public-body .sops-main .member-summary-secondary
{
    display:inline-flex!important;
    align-items:center!important;

    padding:4px 2px!important;

    color:#64778b!important;

    background:none!important;
    border:0!important;
    box-shadow:none!important;

    font-size:.76rem!important;
    line-height:1.3!important;
    font-weight:750!important;
    text-decoration:none!important;
}

body.sops-public-body .sops-main .member-summary-secondary:hover
{
    color:#164d78!important;
    text-decoration:underline!important;
}


/* ----------------------------------------------------------
   RECENT ACTIVITY
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-account-activity
{
    margin-top:0!important;
}

body.sops-public-body .sops-main .member-section-heading
{
    margin-bottom:13px!important;
}


/*
 * Reduce empty account height another ~18%.
 */

body.sops-public-body .sops-main .member-empty-state
{
    min-height:90px!important;

    padding:16px 20px!important;
}

body.sops-public-body .sops-main .member-empty-state strong
{
    margin-bottom:2px!important;
}

body.sops-public-body .sops-main .member-empty-actions
{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    gap:22px!important;

    margin-top:12px!important;
}

body.sops-public-body .sops-main .member-empty-actions a
{
    display:inline-flex!important;
}


/* Slightly tighter table heading */

body.sops-public-body .sops-main .member-activity-table th
{
    padding-top:12px!important;
    padding-bottom:12px!important;
}


/* ----------------------------------------------------------
   ACCOUNT ACTIONS
   Ensure this is visibly present directly after activity.
   ---------------------------------------------------------- */

body.sops-public-body .sops-main .member-account-actions
{
    display:block!important;

    margin-top:24px!important;
    margin-bottom:10px!important;
    padding-top:0!important;

    visibility:visible!important;
    opacity:1!important;
}

body.sops-public-body .sops-main .member-account-actions h2
{
    display:block!important;

    margin:0 0 12px!important;

    visibility:visible!important;
}

body.sops-public-body .sops-main .member-signout
{
    display:inline-flex!important;

    visibility:visible!important;
    opacity:1!important;
}


/* More room between account card and footer */

body.sops-public-body .sops-main .member-account-shell
{
    margin-bottom:68px!important;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media(max-width:760px)
{
    body.sops-public-body .sops-main .member-account-breadcrumb,
    body.sops-public-body .sops-main .member-account-header,
    body.sops-public-body .sops-main .member-account-summary,
    body.sops-public-body .sops-main .member-account-activity,
    body.sops-public-body .sops-main .member-account-actions
    {
        max-width:none!important;

        margin-left:0!important;
        margin-right:0!important;
    }

    body.sops-public-body .sops-main .member-account-summary
    {
        grid-template-columns:1fr!important;

        gap:14px!important;
        margin-top:20px!important;
    }

    body.sops-public-body .sops-main .member-summary-number
    {
        font-size:1.35rem!important;
    }

    body.sops-public-body .sops-main .member-summary-actions
    {
        flex-wrap:wrap!important;
    }

    body.sops-public-body .sops-main .member-empty-state
    {
        min-height:100px!important;
    }

    body.sops-public-body .sops-main .member-account-shell
    {
        margin-bottom:44px!important;
    }
}

/* ==========================================================
   SOPS.NET HOMEPAGE V2
   Scoped to new homepage classes.
   ========================================================== */


/* ----------------------------------------------------------
   SECTION RHYTHM
   ---------------------------------------------------------- */

.home-main-section,
.home-how,
.home-editorial,
.home-credit-cta
{
    margin-top:52px;
    margin-bottom:52px;
}

.home-section-kicker
{
    margin:0 0 4px;

    color:#52708c;

    font-size:.73rem;
    line-height:1.4;
    font-weight:900;

    text-transform:uppercase;
    letter-spacing:.1em;
}

.home-section-intro
{
    max-width:720px;
    margin-bottom:20px;
}

.home-section-intro h2
{
    margin:0 0 7px;

    color:#0b2d4d;

    font-size:1.55rem;
    line-height:1.2;
}

.home-section-intro > p:last-child
{
    margin:0;

    color:#64758a;
}


/* ----------------------------------------------------------
   HERO
   ---------------------------------------------------------- */

.home-hero
{
    padding-bottom:14px;
}

.home-hero > div:first-child
{
    padding-top:42px;
    padding-bottom:42px;
}

.home-hero h1
{
    max-width:780px;

    font-size:clamp(2.2rem,4.3vw,3.85rem);
    line-height:1.03;
}

.home-hero-copy
{
    max-width:760px!important;

    margin-bottom:0;

    font-size:1.04rem!important;
    line-height:1.68!important;
}

.home-hero .hero-search
{
    margin-top:24px;

    max-width:830px;
}

.home-hero-actions
{
    position:relative;

    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;

    margin-top:17px;
}

.home-hero-actions a
{
    color:#ffffff;

    font-weight:900;
    text-decoration:none;
}

.home-hero-actions a:hover
{
    text-decoration:underline;
}

.home-hero-actions span
{
    color:#bcd3e9;

    font-size:.84rem;
    font-weight:750;
}


/* ----------------------------------------------------------
   STATS
   ---------------------------------------------------------- */

.home-stats div:last-child
{
    background:linear-gradient(
        135deg,
        #eef7ff,
        #e3f2ff
    );
}


/* ----------------------------------------------------------
   HOW IT WORKS
   ---------------------------------------------------------- */

.home-how
{
    padding:30px;

    background:#ffffff;

    border:1px solid #d4e0eb;
    border-radius:22px;

    box-shadow:0 8px 24px rgba(11,45,77,.045);
}

.home-how-grid
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.home-how-grid article
{
    padding:21px;

    background:#f4f8fc;

    border:1px solid #d7e4ef;
    border-radius:17px;
}

.home-how-grid article > span
{
    display:inline-flex;

    margin-bottom:12px;

    color:#1768ac;

    font-size:.74rem;
    font-weight:950;
}

.home-how-grid h3
{
    margin:0 0 7px;

    color:#0b2d4d;

    font-size:1rem;
    line-height:1.35;
}

.home-how-grid p
{
    margin:0;

    color:#64758a;

    font-size:.9rem;
    line-height:1.62;
}


/* ----------------------------------------------------------
   CATEGORY CARDS
   ---------------------------------------------------------- */

.home-main-section .section-head
{
    margin-top:0;
}

.home-category-grid .mini-card
{
    display:flex;
    flex-direction:column;
}

.home-category-open
{
    display:block;

    margin-top:auto;
    padding-top:15px;

    color:#1768ac;

    font-style:normal;
    font-size:.8rem;
    font-weight:900;
}


/* ----------------------------------------------------------
   EDITORIAL — DELIBERATELY LESS DOMINANT
   ---------------------------------------------------------- */

.home-editorial
{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
    gap:24px;

    padding:28px;

    background:#ffffff;

    border:1px solid #d8e3ed;
    border-radius:20px;

    box-shadow:0 5px 18px rgba(11,45,77,.03);
}

.home-editorial-main h2
{
    margin:0 0 10px;

    color:#0b2d4d;

    font-size:1.35rem;
}

.home-editorial-main p
{
    margin:0 0 10px;

    color:#4e6378;

    font-size:.94rem;
    line-height:1.7;
}

.home-editorial-more
{
    align-self:start;

    padding:18px;

    background:#f4f8fc;

    border:1px solid #d7e4ef;
    border-radius:15px;
}

.home-editorial-more summary
{
    color:#0b4e82;

    cursor:pointer;

    font-weight:900;
}

.home-editorial-more div
{
    padding-top:13px;
}

.home-editorial-more h3
{
    margin:15px 0 5px;

    color:#0b2d4d;

    font-size:.92rem;
}

.home-editorial-more h3:first-child
{
    margin-top:0;
}

.home-editorial-more p
{
    margin:0;

    color:#617489;

    font-size:.86rem;
    line-height:1.62;
}


/* ----------------------------------------------------------
   CREDIT CTA
   ---------------------------------------------------------- */

.home-credit-cta
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;

    padding:30px 32px;

    background:linear-gradient(
        135deg,
        #0b2d4d,
        #164e78
    );

    color:#ffffff;

    border-radius:22px;

    box-shadow:0 12px 28px rgba(11,45,77,.13);
}

.home-credit-cta > div
{
    max-width:760px;
}

.home-credit-cta .eyebrow
{
    margin-bottom:7px;
}

.home-credit-cta h2
{
    margin:0 0 6px;

    color:#ffffff;

    font-size:1.5rem;
}

.home-credit-cta p
{
    margin:0;

    color:#d7e7f5;

    line-height:1.65;
}

.home-credit-cta .button
{
    flex:0 0 auto;

    background:#ffffff;

    color:#123e64;

    box-shadow:none;
}


/* ----------------------------------------------------------
   FEATURED CARDS
   ---------------------------------------------------------- */

.home-featured-grid
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.home-featured-card
{
    min-height:290px;

    display:flex;
    flex-direction:column;

    padding:22px;

    background:#ffffff;

    color:#10243a;

    border:1px solid #d2dfeb;
    border-radius:18px;

    box-shadow:0 6px 19px rgba(11,45,77,.035);

    text-decoration:none;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.home-featured-card:hover
{
    transform:translateY(-3px);

    border-color:#afc9df;

    box-shadow:0 12px 28px rgba(11,45,77,.075);

    text-decoration:none;
}

.home-card-meta
{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}

.home-card-meta span
{
    display:inline-flex;

    padding:5px 9px;

    background:#eaf4ff;

    color:#16456f;

    border:1px solid #d6eaff;
    border-radius:999px;

    font-size:.72rem;
    font-weight:900;
}

.home-featured-card h3
{
    margin:14px 0 8px;

    color:#0b2d4d;

    font-size:1.05rem;
    line-height:1.3;
}

.home-featured-card > p
{
    margin:0;

    color:#617489;

    font-size:.9rem;
    line-height:1.62;
}

.home-access-strip
{
    display:flex;
    flex-wrap:wrap;
    gap:6px;

    margin-top:16px;
}

.home-access-strip span
{
    display:inline-flex;

    padding:5px 8px;

    background:#f1f7ff;

    color:#284f72;

    border:1px solid #dbe8f5;
    border-radius:999px;

    font-size:.7rem;
    font-weight:850;
}

.home-card-open
{
    margin-top:auto;
    padding-top:18px;

    color:#0b568d;

    font-size:.86rem;
    font-weight:900;
}


/* ----------------------------------------------------------
   LATEST LIST
   ---------------------------------------------------------- */

.home-latest-list
{
    overflow:hidden;

    background:#ffffff;

    border:1px solid #d3e0eb;
    border-radius:18px;
}

.home-latest-row
{
    display:grid;
    grid-template-columns:110px minmax(0,1fr) auto 28px;
    gap:16px;
    align-items:center;

    min-height:74px;

    padding:14px 18px;

    color:#10243a;

    border-bottom:1px solid #e8eef4;

    text-decoration:none;
}

.home-latest-row:last-child
{
    border-bottom:0;
}

.home-latest-row:hover
{
    background:#f7fbff;

    text-decoration:none;
}

.home-latest-reference
{
    color:#52708c;

    font-size:.76rem;
    font-weight:900;
}

.home-latest-main
{
    min-width:0;

    display:grid;
    gap:2px;
}

.home-latest-main strong
{
    overflow:hidden;

    color:#0b2d4d;

    font-size:.9rem;

    text-overflow:ellipsis;
    white-space:nowrap;
}

.home-latest-main small
{
    color:#718096;

    font-size:.78rem;
}

.home-latest-access
{
    display:inline-flex;

    padding:6px 10px;

    border-radius:999px;

    font-size:.73rem;
    font-weight:850;

    white-space:nowrap;
}

.home-latest-access.is-free
{
    background:#eef7f2;

    color:#286349;

    border:1px solid #d1eadc;
}

.home-latest-access.is-paid
{
    background:#eef6ff;

    color:#15568a;

    border:1px solid #d2e7f8;
}

.home-latest-arrow
{
    color:#1768ac;

    font-size:1.05rem;
    font-weight:900;
}


/* ----------------------------------------------------------
   MOBILE / TABLET
   ---------------------------------------------------------- */

@media(max-width:980px)
{
    .home-how-grid,
    .home-featured-grid
    {
        grid-template-columns:1fr;
    }

    .home-editorial
    {
        grid-template-columns:1fr;
    }

    .home-credit-cta
    {
        display:block;
    }

    .home-credit-cta .button
    {
        margin-top:18px;
    }

    .home-latest-row
    {
        grid-template-columns:90px minmax(0,1fr) 24px;
    }

    .home-latest-access
    {
        grid-column:2;
        justify-self:start;
    }

    .home-latest-arrow
    {
        grid-column:3;
        grid-row:1 / span 2;
    }
}

@media(max-width:640px)
{
    .home-main-section,
    .home-how,
    .home-editorial,
    .home-credit-cta
    {
        margin-top:36px;
        margin-bottom:36px;
    }

    .home-how
    {
        padding:22px 18px;
    }

    .home-credit-cta
    {
        padding:24px 20px;
    }

    .home-hero-actions
    {
        display:grid;
        gap:5px;
    }

    .home-latest-row
    {
        grid-template-columns:1fr 22px;

        gap:5px 10px;

        padding:14px;
    }

    .home-latest-reference
    {
        grid-column:1;
    }

    .home-latest-main
    {
        grid-column:1;
    }

    .home-latest-main strong
    {
        white-space:normal;
    }

    .home-latest-access
    {
        grid-column:1;
    }

    .home-latest-arrow
    {
        grid-column:2;
        grid-row:1 / span 3;
    }
}

/* ==========================================================
   SOPS HOMEPAGE FINAL POLISH V3
   ========================================================== */


/* Hero secondary information must look intentional,
   not disabled. */

.home-hero-actions span
{
    color:#eef7ff!important;

    font-size:.86rem!important;
    font-weight:800!important;

    opacity:1!important;
}

.home-hero-actions a
{
    color:#ffffff!important;

    font-weight:950!important;
}


/* Keep Featured heading helper deliberately quiet. */

.home-featured-note
{
    color:#728499!important;

    font-size:.82rem!important;
    font-weight:700!important;
}


/* Paid-card print/download boundary.
   Deliberately not another pill. */

.home-card-charge-note
{
    display:block;

    margin-top:9px;

    color:#77899a;

    font-size:.75rem;
    line-height:1.4;
    font-weight:700;
}


/* Keep only two entitlement pills. */

.home-access-strip
{
    margin-top:15px;
}


/* Maintain whole-card click behaviour without making
   inner text look like separate controls. */

.home-featured-card,
.home-latest-row
{
    cursor:pointer;
}


/* Slightly soften the Latest paid badge because its
   wording is longer than the free state. */

.home-latest-access.is-paid
{
    font-size:.71rem;
}


/* Mobile helper text stays readable. */

@media(max-width:640px)
{
    .home-hero-actions span
    {
        color:#f3f8fd!important;
    }

    .home-featured-note
    {
        display:none;
    }
}

/* ==========================================================
   SOPS HOMEPAGE FINAL POLISH V3
   ========================================================== */


/* Hero secondary information must look intentional,
   not disabled. */

.home-hero-actions span
{
    color:#eef7ff!important;

    font-size:.86rem!important;
    font-weight:800!important;

    opacity:1!important;
}

.home-hero-actions a
{
    color:#ffffff!important;

    font-weight:950!important;
}


/* Keep Featured heading helper deliberately quiet. */

.home-featured-note
{
    color:#728499!important;

    font-size:.82rem!important;
    font-weight:700!important;
}


/* Paid-card print/download boundary.
   Deliberately not another pill. */

.home-card-charge-note
{
    display:block;

    margin-top:9px;

    color:#77899a;

    font-size:.75rem;
    line-height:1.4;
    font-weight:700;
}


/* Keep only two entitlement pills. */

.home-access-strip
{
    margin-top:15px;
}


/* Maintain whole-card click behaviour without making
   inner text look like separate controls. */

.home-featured-card,
.home-latest-row
{
    cursor:pointer;
}


/* Slightly soften the Latest paid badge because its
   wording is longer than the free state. */

.home-latest-access.is-paid
{
    font-size:.71rem;
}


/* Mobile helper text stays readable. */

@media(max-width:640px)
{
    .home-hero-actions span
    {
        color:#f3f8fd!important;
    }

    .home-featured-note
    {
        display:none;
    }
}

/* ==========================================================
   SOPS CREDIT WALLET V2
   ========================================================== */

.credit-wallet-breadcrumbs
{
    margin-bottom:18px!important;
}


/* Main page */

.credit-wallet-page
{
    margin-bottom:64px;
}

.credit-wallet-header
{
    max-width:760px;

    margin-bottom:24px;
}

.credit-wallet-eyebrow
{
    margin:0 0 12px;

    color:#174e79;

    font-size:.72rem;
    line-height:1;
    font-weight:950;

    letter-spacing:.13em;
}

.credit-wallet-header h1
{
    margin:0 0 18px;

    color:#081d33;

    font-size:2rem;
    line-height:1.15;
    font-weight:900;

    letter-spacing:-.025em;
}

.credit-wallet-intro
{
    margin:0 0 3px;

    color:#162c42;

    font-size:.98rem;
    font-weight:700;
}

.credit-wallet-reassurance
{
    margin:0 0 3px;

    color:#53687d;

    font-size:.9rem;
}

.credit-wallet-access-note
{
    margin:0;

    color:#6d7e90;

    font-size:.84rem;
}


/* ==========================================================
   BALANCE CARD
   ========================================================== */

.credit-balance-card
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;

    margin-bottom:24px;
    padding:24px 26px;

    background:#f1f6fb;

    border:1px solid #d0dfeb;
    border-radius:18px;
}

.credit-balance-main
{
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-rows:auto auto;
    column-gap:15px;
    align-items:center;
}

.credit-balance-value
{
    grid-row:1 / span 2;

    color:#0b2d4d;

    font-size:3rem;
    line-height:1;
    font-weight:950;

    letter-spacing:-.04em;
}

.credit-balance-label
{
    align-self:end;

    color:#102b43;

    font-size:1rem;
    font-weight:900;
}

.credit-balance-main small
{
    align-self:start;

    color:#66788b;

    font-size:.82rem;
}

.credit-balance-links
{
    display:grid;
    gap:5px;

    text-align:right;
}

.credit-balance-links span
{
    color:#61758a;

    font-size:.8rem;
    font-weight:800;
}

.credit-balance-links a
{
    color:#0b568d;

    font-size:.87rem;
    font-weight:900;
}


/* ==========================================================
   PURCHASE PANEL
   ========================================================== */

.credit-purchase-panel,
.credit-history-panel
{
    margin-bottom:24px;
    padding:30px 24px;

    background:#ffffff;

    border:1px solid #d2dfeb;
    border-radius:18px;

    box-shadow:0 6px 18px rgba(11,45,77,.035);
}

.credit-purchase-heading
{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;

    margin-bottom:24px;
}

.credit-purchase-heading h2,
.credit-history-heading h2
{
    margin:0 0 4px;

    color:#0b2d4d;

    font-size:1.28rem;
    line-height:1.3;
    font-weight:900;
}

.credit-purchase-heading p,
.credit-history-heading p
{
    margin:0;

    color:#65778a;

    font-size:.88rem;
}

.credit-no-expiry
{
    flex:0 0 auto;

    padding:6px 10px;

    background:#eef6ff;

    color:#245a84;

    border:1px solid #d4e6f6;
    border-radius:999px;

    font-size:.74rem;
    font-weight:900;
}


/* Credit packs */

.credit-pack-grid
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.credit-pack-card
{
    position:relative;

    min-width:0;
    min-height:248px;

    display:flex;
    flex-direction:column;

    padding:23px 20px 19px;

    background:#ffffff;

    border:1px solid #cfdeea;
    border-radius:17px;

    box-shadow:0 5px 16px rgba(11,45,77,.035);
}

.credit-pack-card.is-popular
{
    border-color:#4e8dbb;

    box-shadow:
        0 0 0 1px rgba(47,111,158,.08),
        0 9px 24px rgba(11,45,77,.075);

    background:#f9fcff;
}

.credit-pack-badge
{
    position:absolute;

    top:-11px;
    right:16px;

    padding:5px 9px;

    background:#164d78;
    color:#ffffff;

    border-radius:999px;

    font-size:.68rem;
    line-height:1;
    font-weight:950;
}

.credit-pack-count
{
    color:#0b2d4d;

    font-size:1.06rem;
    line-height:1.35;
    font-weight:900;
}

.credit-pack-price
{
    display:block;

    margin-top:13px;

    color:#081d33;

    font-size:2rem;
    line-height:1;
    font-weight:950;

    letter-spacing:-.035em;
}

.credit-pack-unit
{
    margin-top:7px;

    color:#65778a;

    font-size:.8rem;
    font-weight:750;
}

.credit-pack-saving
{
    display:inline-flex;
    align-self:flex-start;

    margin-top:10px;
    padding:4px 8px;

    background:#edf8f2;

    color:#28674a;

    border:1px solid #d2ebdc;
    border-radius:999px;

    font-size:.7rem;
    font-weight:900;
}

.credit-pack-saving.is-base
{
    background:#f2f5f8;

    color:#6a7989;

    border-color:#e0e6eb;
}

.credit-pack-button
{
    display:flex;
    align-items:center;
    justify-content:center;

    min-height:44px;

    margin-top:auto;
    padding:0 12px;

    background:#164d78;
    color:#ffffff!important;

    border-radius:11px;

    font-size:.84rem;
    line-height:1;
    font-weight:900;

    text-decoration:none!important;

    box-shadow:0 7px 15px rgba(22,77,120,.13);
}

.credit-pack-button:hover
{
    background:#103f66;

    text-decoration:none!important;
}


/* Benefits */

.credit-benefits
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;

    margin-top:24px;
}

.credit-benefits > div
{
    padding:14px 15px;

    background:#f5f8fb;

    border:1px solid #dce6ee;
    border-radius:13px;
}

.credit-benefits strong
{
    display:block;

    margin-bottom:2px;

    color:#173a58;

    font-size:.83rem;
    font-weight:900;
}

.credit-benefits span
{
    display:block;

    color:#6b7d8e;

    font-size:.76rem;
    line-height:1.45;
}


/* Admin-only development status */

.credit-admin-status
{
    margin-top:20px;
    padding:11px 13px;

    background:#fff8e8;

    color:#76591d;

    border:1px solid #ead9a9;
    border-radius:11px;

    font-size:.78rem;
}

.credit-payment-note
{
    margin:18px 0 0;

    color:#63768a;

    font-size:.79rem;
    text-align:center;
}


/* ==========================================================
   HISTORY
   ========================================================== */

.credit-history-heading
{
    margin-bottom:18px;
}

.credit-history-table
{
    overflow:hidden;

    border:1px solid #d6e1eb;
    border-radius:14px;
}

.credit-history-table table
{
    width:100%;
    margin:0;

    border-collapse:collapse;

    background:#fff;
}

.credit-history-table thead
{
    background:#f3f7fa;
}

.credit-history-table th
{
    padding:13px 14px;

    color:#4a6177;

    text-align:left;

    font-size:.7rem;
    font-weight:950;

    text-transform:uppercase;
    letter-spacing:.045em;

    border-bottom:1px solid #d7e2eb;
}

.credit-history-table td
{
    padding:14px;

    color:#40566b;

    font-size:.82rem;

    border-bottom:1px solid #edf1f4;
}

.credit-history-table tbody tr:last-child td
{
    border-bottom:0;
}

.credit-type
{
    display:inline-flex;

    padding:5px 8px;

    background:#eef5fb;

    color:#315c7f;

    border-radius:999px;

    font-size:.7rem;
    font-weight:850;
}

.credit-change
{
    font-weight:900;
    white-space:nowrap;
}

.credit-change.is-positive
{
    color:#23714d;
}

.credit-change.is-negative
{
    color:#9b3c39;
}

.credit-running-balance
{
    color:#0b2d4d!important;
    font-weight:900;
}

.credit-history-empty-row td
{
    padding:0!important;
}

.credit-history-empty
{
    min-height:112px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    padding:22px;

    text-align:center;
}

.credit-history-empty strong
{
    margin-bottom:3px;

    color:#102b43;

    font-size:.88rem;
    font-weight:900;
}

.credit-history-empty span
{
    color:#718193;

    font-size:.81rem;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:980px)
{
    .credit-pack-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:700px)
{
    .credit-wallet-page
    {
        margin-bottom:42px;
    }

    .credit-wallet-header h1
    {
        font-size:1.65rem;
    }

    .credit-balance-card
    {
        display:grid;

        padding:20px;
    }

    .credit-balance-links
    {
        text-align:left;
    }

    .credit-purchase-heading
    {
        display:grid;
        align-items:start;
    }

    .credit-no-expiry
    {
        justify-self:start;
    }

    .credit-pack-grid,
    .credit-benefits
    {
        grid-template-columns:1fr;
    }

    .credit-pack-card
    {
        min-height:220px;
    }

    .credit-history-table
    {
        overflow-x:auto;
    }

    .credit-history-table table
    {
        min-width:720px;
    }
}

/* ==========================================================
   SOPS PAID SOP ACCESS RULE
   ========================================================== */

.sop-credit-rule
{
    margin:14px 0 18px;
    padding:12px 14px;

    background:#f1f6fb;

    color:#52687d;

    border:1px solid #d3e2ee;
    border-radius:12px;

    font-size:.83rem;
    line-height:1.55;
}

.sop-credit-rule strong
{
    color:#0b2d4d;
}


/* Stripe reassurance stays restrained */

.credit-payment-note
{
    font-weight:750;
}

/* ==========================================================
   CREDIT WALLET HEADER CLEANUP V3
   ========================================================== */

.credit-wallet-header
{
    max-width:760px!important;

    margin-bottom:22px!important;
}


/* Remove old eyebrow spacing entirely */

.credit-wallet-eyebrow
{
    display:none!important;
}


/* Heading becomes the clear first element */

.credit-wallet-header h1
{
    margin-top:0!important;
    margin-bottom:12px!important;
}


/* One concise explanation instead of three stacked lines */

.credit-wallet-summary
{
    max-width:720px!important;

    margin:0!important;

    color:#53687d!important;

    font-size:.92rem!important;
    line-height:1.6!important;
    font-weight:500!important;
}

.credit-wallet-summary strong
{
    color:#102b43!important;

    font-weight:900!important;
}


/* Old copy classes no longer need visual space */

.credit-wallet-intro,
.credit-wallet-reassurance,
.credit-wallet-access-note
{
    display:none!important;
}


/* ==========================================================
   BALANCE CARD REASSURANCE
   ========================================================== */

.credit-balance-links
{
    display:grid!important;
    gap:4px!important;

    text-align:right!important;
}

.credit-balance-permanence
{
    color:#274761!important;

    font-size:.84rem!important;
    line-height:1.45!important;
    font-weight:850!important;
}

.credit-balance-subscription
{
    color:#6a7b8c!important;

    font-size:.77rem!important;
    line-height:1.45!important;
    font-weight:750!important;
}

.credit-balance-links a
{
    margin-top:3px!important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:700px)
{
    .credit-wallet-header
    {
        margin-bottom:18px!important;
    }

    .credit-wallet-header h1
    {
        margin-bottom:10px!important;
    }

    .credit-wallet-summary
    {
        font-size:.88rem!important;
    }

    .credit-balance-links
    {
        text-align:left!important;
    }
}

/* ==========================================================
   SOPS HOMEPAGE LIGHT HERO CONTRAST FINAL
   ========================================================== */

body.sops-public-body .sops-main .home-hero .eyebrow {
    color: #60748c !important;
    opacity: 1 !important;
}

body.sops-public-body .sops-main .home-hero h1 {
    color: #071a31 !important;
    opacity: 1 !important;
}

body.sops-public-body .sops-main .home-hero .home-hero-copy {
    color: #586d85 !important;
    opacity: 1 !important;
}

body.sops-public-body .sops-main .home-hero .home-hero-actions {
    margin-top: 14px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 18px;
}

body.sops-public-body .sops-main .home-hero .home-hero-actions a {
    color: #1768ac !important;
    font-weight: 900 !important;
    opacity: 1 !important;
}

body.sops-public-body .sops-main .home-hero .home-hero-actions span {
    color: #5b6f84 !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

@media(max-width:640px) {
    body.sops-public-body .sops-main .home-hero .home-hero-actions {
        display: grid;
        gap: 5px;
    }

    body.sops-public-body .sops-main .home-hero .home-hero-actions span {
        color: #5b6f84 !important;
    }
}


/* ==========================================================
   SOPS PRIMARY NAV ACTIVE STATE
   Desktop + mobile
   ========================================================== */

body.sops-public-body
.main-nav
a.is-active,
body.sops-public-body
.main-nav
a[aria-current="page"]
{
    background:#0b4f7f !important;
    border-color:#0b4f7f !important;
    color:#ffffff !important;

    box-shadow:
        0 7px 18px
        rgba(11,79,127,.18) !important;
}


/* ==========================================================
   SOPS FINAL PHONE VIEWPORT POLISH

   PHONE ONLY.
   Desktop/tablet styling remains intact.

   Covers:
   - Header / navigation
   - Homepage
   - Archive / search
   - Taxonomy pages
   - SOP pages
   - About / Contact / Terms / Privacy / Disclaimer
   - Login / registration
   - Account / library / credits
   - Checkout
   - Forms / tables
   - Footer
   ========================================================== */

@media (max-width:760px)
{
    html
    {
        font-size:15px;
    }


    body.sops-public-body
    {
        overflow-x:hidden;
    }


    body.sops-public-body
    .sops-shell
    {
        width:calc(100% - 12px) !important;

        margin:6px auto !important;
    }


    /* ======================================================
       HEADER
       ====================================================== */

    body.sops-public-body
    .sops-header
    {
        position:relative;

        min-height:58px;

        padding:8px 10px !important;

        gap:8px;

        border-radius:14px !important;
    }


    body.sops-public-body
    .sops-brand
    {
        min-width:0;
    }


    body.sops-public-body
    .sops-brand-logo
    {
        display:block;

        width:min(188px, 61vw) !important;
        max-width:100%;

        height:auto !important;
        max-height:46px;

        object-fit:contain;
    }


    body.sops-public-body
    .nav-toggle
    {
        min-height:40px;

        padding:8px 12px !important;

        border-radius:10px !important;

        font-size:.88rem;
    }


    /* ======================================================
       MOBILE NAV MENU
       ====================================================== */

    body.sops-public-body
    .main-nav
    {
        position:absolute !important;

        top:calc(100% + 8px) !important;
        left:0 !important;
        right:0 !important;

        width:100% !important;

        padding:8px !important;

        gap:4px !important;

        align-items:stretch !important;

        background:#ffffff !important;

        border:
            1px solid
            rgba(18,54,86,.14) !important;

        border-radius:13px !important;

        box-shadow:
            0 18px 45px
            rgba(20,49,78,.18) !important;

        z-index:1000;
    }


    body.sops-public-body
    .main-nav
    a
    {
        display:flex !important;

        align-items:center;
        justify-content:flex-start;

        width:100%;

        min-height:40px;

        padding:9px 11px !important;

        border:0 !important;
        border-radius:9px !important;

        background:transparent !important;

        color:#0b2f58 !important;

        box-shadow:none !important;

        font-size:.9rem;
        font-weight:800;
    }


    body.sops-public-body
    .main-nav
    a.is-active,
    body.sops-public-body
    .main-nav
    a[aria-current="page"]
    {
        background:#0b4f7f !important;
        color:#ffffff !important;

        box-shadow:none !important;
    }


    /* ======================================================
       MAIN PAGE FRAME
       ====================================================== */

    body.sops-public-body
    .sops-main
    {
        margin-top:10px !important;
    }


    body.sops-public-body
    .breadcrumbs,
    body.sops-public-body
    .member-account-breadcrumb,
    body.sops-public-body
    .credit-wallet-breadcrumbs
    {
        max-width:100%;

        margin:0 2px 9px !important;
        padding:0 !important;

        gap:5px !important;

        overflow-x:auto;

        white-space:nowrap;

        font-size:.74rem !important;

        scrollbar-width:none;
    }


    body.sops-public-body
    .breadcrumbs::-webkit-scrollbar,
    body.sops-public-body
    .member-account-breadcrumb::-webkit-scrollbar,
    body.sops-public-body
    .credit-wallet-breadcrumbs::-webkit-scrollbar
    {
        display:none;
    }


    /* ======================================================
       GLOBAL CARDS / SECTIONS
       ====================================================== */

    body.sops-public-body
    .panel,
    body.sops-public-body
    .sops-card,
    body.sops-public-body
    .entry-card,
    body.sops-public-body
    .mini-card,
    body.sops-public-body
    .cta-panel,
    body.sops-public-body
    .stats-card,
    body.sops-public-body
    .directory-hero,
    body.sops-public-body
    .taxonomy-hero,
    body.sops-public-body
    .related-panel,
    body.sops-public-body
    .legal-page,
    body.sops-public-body
    .archive-editorial
    {
        padding:14px !important;

        border-radius:12px !important;
    }


    body.sops-public-body
    .static-rich-page
    {
        gap:8px !important;
    }


    /* ======================================================
       TYPOGRAPHY
       ====================================================== */

    body.sops-public-body
    .hero h1,
    body.sops-public-body
    .home-hero h1,
    body.sops-public-body
    .sop-head h1,
    body.sops-public-body
    .directory-hero h1,
    body.sops-public-body
    .taxonomy-hero h1,
    body.sops-public-body
    .legal-page h1,
    body.sops-public-body
    .account-hero h1
    {
        font-size:
            clamp(
                1.72rem,
                8.4vw,
                2.3rem
            ) !important;

        line-height:1.06 !important;

        letter-spacing:-.035em;

        margin-bottom:10px !important;
    }


    body.sops-public-body
    h2
    {
        line-height:1.16;
    }


    body.sops-public-body
    .legal-page h2
    {
        margin-top:0 !important;

        font-size:1.28rem;
    }


    body.sops-public-body
    .eyebrow,
    body.sops-public-body
    .home-section-kicker
    {
        font-size:.69rem !important;

        letter-spacing:.1em !important;
    }


    body.sops-public-body
    p
    {
        overflow-wrap:anywhere;
    }


    /* ======================================================
       HOMEPAGE HERO
       ====================================================== */

    body.sops-public-body
    .hero
    {
        gap:10px !important;

        border-radius:14px !important;
    }


    body.sops-public-body
    .hero
    > div:first-child
    {
        padding:16px 14px !important;
    }


    body.sops-public-body
    .home-hero-copy,
    body.sops-public-body
    .hero
    > div:first-child
    > p:not(.eyebrow)
    {
        font-size:.93rem !important;

        line-height:1.55 !important;
    }


    body.sops-public-body
    .hero-search
    {
        display:grid !important;

        grid-template-columns:1fr !important;

        gap:8px !important;

        margin-top:14px !important;
    }


    body.sops-public-body
    .hero-search
    input
    {
        min-height:46px !important;

        padding:10px 12px !important;

        font-size:16px !important;
    }


    body.sops-public-body
    .hero-search
    button
    {
        width:100% !important;

        min-height:44px;

        padding:9px 12px !important;

        border-radius:10px !important;
    }


    body.sops-public-body
    .home-hero-actions
    {
        display:grid !important;

        gap:4px !important;

        margin-top:10px !important;
    }


    body.sops-public-body
    .home-hero-actions
    a,
    body.sops-public-body
    .home-hero-actions
    span
    {
        font-size:.8rem !important;
    }


    /* ======================================================
       HOMEPAGE STATS
       ====================================================== */

    body.sops-public-body
    .home-stats
    {
        display:grid !important;

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            ) !important;

        gap:8px !important;

        padding:12px !important;
    }


    body.sops-public-body
    .home-stats
    > strong
    {
        grid-column:1 / -1;
    }


    body.sops-public-body
    .home-stats
    > div
    {
        min-height:0 !important;

        padding:9px !important;

        border-radius:10px !important;
    }


    body.sops-public-body
    .home-stats
    span
    {
        font-size:1.55rem !important;
    }


    /* ======================================================
       HOMEPAGE / ARCHIVE GRIDS
       ====================================================== */

    body.sops-public-body
    .home-main-section
    {
        margin-top:12px !important;
    }


    body.sops-public-body
    .section-head
    {
        display:grid !important;

        gap:5px !important;

        margin-bottom:10px !important;
    }


    body.sops-public-body
    .home-featured-grid,
    body.sops-public-body
    .card-grid,
    body.sops-public-body
    .entry-grid,
    body.sops-public-body
    .card-grid.compact,
    body.sops-public-body
    .doc-grid,
    body.sops-public-body
    .landing-grid,
    body.sops-public-body
    .related-grid,
    body.sops-public-body
    .inline-links,
    body.sops-public-body
    .reference-list
    {
        grid-template-columns:1fr !important;

        gap:9px !important;
    }


    body.sops-public-body
    .entry-card
    p
    {
        min-height:0 !important;
    }


    /* ======================================================
       FORMS / SEARCH / CHECKOUT
       ====================================================== */

    body.sops-public-body
    input,
    body.sops-public-body
    select,
    body.sops-public-body
    textarea
    {
        max-width:100%;

        font-size:16px !important;
    }


    body.sops-public-body
    .filter-form,
    body.sops-public-body
    .advanced-filter,
    body.sops-public-body
    .stacked-form,
    body.sops-public-body
    .form-grid
    {
        display:grid !important;

        grid-template-columns:1fr !important;

        gap:9px !important;
    }


    body.sops-public-body
    .filter-form
    button,
    body.sops-public-body
    .advanced-filter
    button,
    body.sops-public-body
    .stacked-form
    button
    {
        width:100%;
    }


    body.sops-public-body
    .button,
    body.sops-public-body
    button
    {
        min-height:42px;

        padding:9px 12px;
    }


    /* ======================================================
       SOP DOCUMENT
       ====================================================== */

    body.sops-public-body
    .sop-document
    {
        padding:12px !important;

        border-radius:12px !important;
    }


    body.sops-public-body
    .sop-head
    {
        gap:10px !important;
    }


    body.sops-public-body
    .doc-meta
    {
        padding:10px !important;

        border-radius:10px !important;
    }


    body.sops-public-body
    .doc-meta
    div
    {
        padding:8px 0 !important;
    }


    body.sops-public-body
    .doc-grid
    {
        margin:10px 0 !important;
    }


    body.sops-public-body
    .doc-grid
    > div,
    body.sops-public-body
    .sop-document
    section:not(.doc-grid),
    body.sops-public-body
    .toc
    {
        padding:12px !important;

        border-radius:10px !important;
    }


    body.sops-public-body
    .sop-document
    p,
    body.sops-public-body
    .sop-document
    li
    {
        font-size:.93rem !important;

        line-height:1.62 !important;
    }


    body.sops-public-body
    .toc
    {
        display:grid !important;

        gap:5px !important;
    }


    body.sops-public-body
    .tool-actions
    {
        gap:7px !important;
    }


    /* ======================================================
       MEMBER ACCOUNT / CREDITS
       ====================================================== */

    body.sops-public-body
    .account-hero
    {
        padding:14px !important;

        gap:10px !important;

        border-radius:12px !important;
    }


    body.sops-public-body
    .account-grid,
    body.sops-public-body
    .member-summary-grid,
    body.sops-public-body
    .credit-packages
    {
        grid-template-columns:1fr !important;

        gap:9px !important;
    }


    body.sops-public-body
    .member-summary-card,
    body.sops-public-body
    .credit-balance-card,
    body.sops-public-body
    .credit-pack-card
    {
        padding:12px !important;

        border-radius:12px !important;
    }


    /* ======================================================
       TABLES
       ====================================================== */

    body.sops-public-body
    table
    {
        display:block;

        width:100%;

        max-width:100%;

        overflow-x:auto;

        -webkit-overflow-scrolling:touch;
    }


    body.sops-public-body
    th,
    body.sops-public-body
    td
    {
        padding:8px !important;

        font-size:.8rem !important;

        white-space:nowrap;
    }


    /* ======================================================
       AUTH PAGES
       ====================================================== */

    body.sops-public-body
    .login-card
    {
        width:calc(100% - 12px) !important;

        padding:18px !important;

        border-radius:16px !important;
    }


    /* ======================================================
       FOOTER
       ====================================================== */

    body.sops-public-body
    .sops-footer
    {
        margin-top:14px !important;

        padding:14px 12px !important;

        border-radius:12px !important;
    }


    body.sops-public-body
    .footer-grid
    {
        display:grid !important;

        grid-template-columns:1fr !important;

        gap:10px !important;
    }


    body.sops-public-body
    .footer-grid
    div:last-child
    {
        columns:1 !important;
    }


    body.sops-public-body
    .copyright
    {
        font-size:.72rem !important;

        line-height:1.45 !important;
    }
}


/* ==========================================================
   SOPS ACCOUNT AREA FINAL TRUE MOBILE UI
   Final scoped override.
   Replaces desktop-table scrolling with genuine mobile cards.
   Desktop remains unchanged.
   ========================================================== */

@media (max-width:760px)
{

    /* ======================================================
       ACCOUNT OUTER FRAME
       ====================================================== */

    body.sops-public-body
    .sops-main
    .member-account-shell
    {
        box-sizing:border-box !important;

        width:100% !important;
        max-width:100% !important;

        margin:8px 0 28px !important;

        padding:14px !important;

        border-radius:12px !important;

        overflow:visible !important;
    }


    body.sops-public-body
    .sops-main
    .member-account-breadcrumb,
    body.sops-public-body
    .sops-main
    .member-account-header,
    body.sops-public-body
    .sops-main
    .member-account-summary,
    body.sops-public-body
    .sops-main
    .member-account-activity,
    body.sops-public-body
    .sops-main
    .member-account-actions
    {
        width:100% !important;
        max-width:100% !important;

        margin-left:0 !important;
        margin-right:0 !important;
    }


    /* ======================================================
       ACCOUNT HEADER
       ====================================================== */

    body.sops-public-body
    .sops-main
    .member-account-breadcrumb
    {
        margin-bottom:12px !important;
    }


    body.sops-public-body
    .sops-main
    .member-account-kicker
    {
        margin-bottom:8px !important;

        font-size:.67rem !important;

        letter-spacing:.11em !important;
    }


    body.sops-public-body
    .sops-main
    .member-account-header
    h1
    {
        margin:0 0 6px !important;

        font-size:1.32rem !important;
        line-height:1.16 !important;

        overflow-wrap:anywhere;
    }


    body.sops-public-body
    .sops-main
    .member-account-lead
    {
        margin:0 !important;

        font-size:.9rem !important;
        line-height:1.5 !important;

        overflow-wrap:anywhere;
    }


    body.sops-public-body
    .sops-main
    .member-account-identity
    {
        margin-top:14px !important;

        padding-top:12px !important;

        border-top:1px solid #e6edf4;
    }


    body.sops-public-body
    .sops-main
    .member-account-identity
    strong,
    body.sops-public-body
    .sops-main
    .member-account-identity
    span
    {
        overflow-wrap:anywhere;
        word-break:break-word;
    }


    /* ======================================================
       LIBRARY / CREDIT SUMMARY
       ====================================================== */

    body.sops-public-body
    .sops-main
    .member-account-summary
    {
        display:grid !important;

        grid-template-columns:1fr !important;

        gap:8px !important;

        margin-top:16px !important;
        margin-bottom:20px !important;
    }


    body.sops-public-body
    .sops-main
    .member-summary-card
    {
        width:100% !important;

        min-height:0 !important;

        padding:12px !important;

        border-radius:10px !important;

        box-sizing:border-box !important;
    }


    body.sops-public-body
    .sops-main
    .member-summary-title
    {
        margin-bottom:7px !important;

        font-size:.82rem !important;
    }


    body.sops-public-body
    .sops-main
    .member-summary-number
    {
        min-height:0 !important;

        margin-bottom:2px !important;

        font-size:1.25rem !important;
        line-height:1.15 !important;

        overflow-wrap:anywhere;
    }


    body.sops-public-body
    .sops-main
    .member-summary-label
    {
        font-size:.8rem !important;
    }


    body.sops-public-body
    .sops-main
    .member-summary-link
    {
        margin-top:10px !important;

        padding-top:8px !important;

        font-size:.8rem !important;
    }


    body.sops-public-body
    .sops-main
    .member-summary-actions
    {
        display:grid !important;

        grid-template-columns:1fr !important;

        gap:6px !important;

        width:100% !important;

        margin-top:10px !important;
    }


    body.sops-public-body
    .sops-main
    .member-summary-actions
    a
    {
        display:flex !important;

        align-items:center;
        justify-content:center;

        width:100% !important;

        min-height:40px;

        padding:8px 10px !important;

        box-sizing:border-box;

        text-align:center;

        white-space:normal !important;
    }


    /* ======================================================
       RECENT ACTIVITY HEADING
       ====================================================== */

    body.sops-public-body
    .sops-main
    .member-account-activity
    {
        margin-top:0 !important;
    }


    body.sops-public-body
    .sops-main
    .member-section-heading
    {
        margin-bottom:10px !important;
    }


    body.sops-public-body
    .sops-main
    .member-section-heading
    h2
    {
        margin:0 0 4px !important;

        font-size:1.08rem !important;
        line-height:1.2 !important;
    }


    body.sops-public-body
    .sops-main
    .member-section-heading
    p
    {
        margin:0 !important;

        font-size:.82rem !important;
        line-height:1.45 !important;
    }


    /* ======================================================
       ACCOUNT RECENT CREDIT ACTIVITY

       IMPORTANT:
       Completely cancel the old 580/620px minimum-width
       desktop table behaviour.
       ====================================================== */

    body.sops-public-body
    .sops-main
    .member-activity-table
    {
        width:100% !important;

        overflow:visible !important;

        background:transparent !important;

        border:0 !important;
        border-radius:0 !important;
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    table
    {
        display:block !important;

        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;

        overflow:visible !important;

        border-collapse:separate !important;
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    thead
    {
        display:none !important;
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    tbody
    {
        display:grid !important;

        width:100% !important;

        gap:8px !important;
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    tbody
    tr
    {
        display:block !important;

        width:100% !important;

        margin:0 !important;

        padding:11px 12px !important;

        background:#ffffff;

        border:1px solid #d7e2ec;
        border-radius:10px;

        box-sizing:border-box;
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    tbody
    td
    {
        display:grid !important;

        grid-template-columns:72px minmax(0,1fr) !important;

        align-items:start;

        gap:8px !important;

        width:100% !important;

        padding:5px 0 !important;

        color:#344054;

        border:0 !important;

        font-size:.83rem !important;
        line-height:1.4 !important;

        text-align:left !important;

        white-space:normal !important;

        overflow-wrap:anywhere;
        word-break:break-word;
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    tbody
    td::before
    {
        color:#667085;

        font-size:.68rem;

        font-weight:900;

        text-transform:uppercase;

        letter-spacing:.045em;
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    tbody
    td:nth-child(1)::before
    {
        content:"Date";
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    tbody
    td:nth-child(2)::before
    {
        content:"Activity";
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    tbody
    td:nth-child(3)::before
    {
        content:"Change";
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    tbody
    td:nth-child(4)::before
    {
        content:"Balance";
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    .member-change
    {
        font-weight:900 !important;
    }


    /* Empty history must not inherit transaction labels */

    body.sops-public-body
    .sops-main
    .member-activity-table
    .member-empty-row
    {
        padding:0 !important;

        border:1px solid #d7e2ec !important;
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    .member-empty-row
    td
    {
        display:block !important;

        padding:0 !important;
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    .member-empty-row
    td::before
    {
        display:none !important;

        content:none !important;
    }


    body.sops-public-body
    .sops-main
    .member-empty-state
    {
        min-height:0 !important;

        padding:16px 12px !important;

        align-items:flex-start !important;

        text-align:left !important;
    }


    body.sops-public-body
    .sops-main
    .member-empty-actions
    {
        display:grid !important;

        grid-template-columns:1fr !important;

        width:100% !important;

        gap:6px !important;

        margin-top:12px !important;
    }


    body.sops-public-body
    .sops-main
    .member-empty-actions
    a
    {
        display:flex;

        align-items:center;
        justify-content:center;

        min-height:40px;

        padding:8px 10px;

        border:1px solid #d7e2ec;
        border-radius:8px;

        text-align:center;
    }


    /* ======================================================
       ACCOUNT ACTIONS / SIGN OUT
       ====================================================== */

    body.sops-public-body
    .sops-main
    .member-account-actions
    {
        margin-top:18px !important;

        padding-top:14px !important;

        border-top:1px solid #e6edf4;
    }


    body.sops-public-body
    .sops-main
    .member-account-actions
    h2
    {
        margin-bottom:8px !important;

        font-size:1rem !important;
    }


    body.sops-public-body
    .sops-main
    .member-signout
    {
        display:flex !important;

        align-items:center;
        justify-content:center;

        width:100% !important;

        min-height:42px;

        margin-top:0 !important;

        padding:9px 12px !important;

        box-sizing:border-box;

        border-radius:9px !important;

        text-align:center;
    }


    /* ======================================================
       CREDITS & TRANSACTIONS PAGE
       Same desktop-table problem exists under /account/credits.
       ====================================================== */

    body.sops-public-body
    .credit-wallet-page
    {
        width:100% !important;

        max-width:100% !important;

        margin-bottom:28px !important;
    }


    body.sops-public-body
    .credit-balance-card
    {
        display:grid !important;

        grid-template-columns:1fr !important;

        gap:10px !important;

        padding:12px !important;

        border-radius:10px !important;
    }


    body.sops-public-body
    .credit-balance-links
    {
        display:grid !important;

        gap:5px !important;

        text-align:left !important;
    }


    body.sops-public-body
    .credit-pack-grid,
    body.sops-public-body
    .credit-benefits
    {
        grid-template-columns:1fr !important;

        gap:8px !important;
    }


    body.sops-public-body
    .credit-pack-card
    {
        min-height:0 !important;

        padding:12px !important;

        border-radius:10px !important;
    }


    /* ======================================================
       FULL TRANSACTION HISTORY
       ====================================================== */

    body.sops-public-body
    .credit-history-table
    {
        width:100% !important;

        overflow:visible !important;

        border:0 !important;

        background:transparent !important;
    }


    body.sops-public-body
    .credit-history-table
    table
    {
        display:block !important;

        width:100% !important;

        min-width:0 !important;
        max-width:100% !important;

        overflow:visible !important;

        border-collapse:separate !important;
    }


    body.sops-public-body
    .credit-history-table
    thead
    {
        display:none !important;
    }


    body.sops-public-body
    .credit-history-table
    tbody
    {
        display:grid !important;

        width:100% !important;

        gap:8px !important;
    }


    body.sops-public-body
    .credit-history-table
    tbody
    tr
    {
        display:block !important;

        width:100% !important;

        margin:0 !important;

        padding:11px 12px !important;

        background:#ffffff;

        border:1px solid #d7e2ec;
        border-radius:10px;

        box-sizing:border-box;
    }


    body.sops-public-body
    .credit-history-table
    tbody
    td
    {
        display:grid !important;

        grid-template-columns:80px minmax(0,1fr) !important;

        align-items:start;

        gap:8px !important;

        width:100% !important;

        padding:5px 0 !important;

        border:0 !important;

        font-size:.82rem !important;
        line-height:1.42 !important;

        text-align:left !important;

        white-space:normal !important;

        overflow-wrap:anywhere;
        word-break:break-word;
    }


    body.sops-public-body
    .credit-history-table
    tbody
    td::before
    {
        color:#667085;

        font-size:.68rem;

        font-weight:900;

        text-transform:uppercase;

        letter-spacing:.045em;
    }


    body.sops-public-body
    .credit-history-table
    tbody
    td:nth-child(1)::before
    {
        content:"Date";
    }


    body.sops-public-body
    .credit-history-table
    tbody
    td:nth-child(2)::before
    {
        content:"Type";
    }


    body.sops-public-body
    .credit-history-table
    tbody
    td:nth-child(3)::before
    {
        content:"Description";
    }


    body.sops-public-body
    .credit-history-table
    tbody
    td:nth-child(4)::before
    {
        content:"Change";
    }


    body.sops-public-body
    .credit-history-table
    tbody
    td:nth-child(5)::before
    {
        content:"Balance";
    }


    body.sops-public-body
    .credit-history-table
    .credit-history-empty-row
    {
        padding:0 !important;
    }


    body.sops-public-body
    .credit-history-table
    .credit-history-empty-row
    td
    {
        display:block !important;

        padding:0 !important;
    }


    body.sops-public-body
    .credit-history-table
    .credit-history-empty-row
    td::before
    {
        display:none !important;

        content:none !important;
    }


    body.sops-public-body
    .credit-history-empty
    {
        min-height:0 !important;

        padding:16px 12px !important;

        text-align:left !important;
    }
}


/* ==========================================================
   EXTRA NARROW PHONES
   ========================================================== */

@media (max-width:430px)
{
    body.sops-public-body
    .sops-main
    .member-account-shell
    {
        padding:11px !important;

        border-radius:10px !important;
    }


    body.sops-public-body
    .sops-main
    .member-summary-card
    {
        padding:11px !important;
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    tbody
    tr,
    body.sops-public-body
    .credit-history-table
    tbody
    tr
    {
        padding:10px !important;

        border-radius:9px;
    }


    body.sops-public-body
    .sops-main
    .member-activity-table
    tbody
    td,
    body.sops-public-body
    .credit-history-table
    tbody
    td
    {
        grid-template-columns:68px minmax(0,1fr) !important;

        gap:6px !important;
    }
}
