html {
    transition: none !important;
}
html, body {
    background: var(--ppusa-theme-navbar-bg, #15234d);
    margin: 0;
}
html.theme-loaded {
    transition: background-color 0.3s ease, color 0.3s ease !important;
}
html.theme-loaded *:not(.ppusa-navbar-collapse):not(.ppusa-navbar-collapse *) {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}
.ppusa-background-image {
    background-image: url('/assets/img/backgroundimages/whitehouse.webp');
    background-size: cover;
}
.ppusa-text-color {
    color:#1d58a5;
}
.ppusa-bmc-color {
    color:#0042ca;
}
.ppusa-ava-color {
    color:#E81B23 !important;
}
.ppusa-srp-color {
    color:#8c5115;
}
.ppusa-mailbox {
     background-image: url('/assets/img/backgroundimages/mailbox.webp'); 
     background-size: cover;
}
.ppusa-no-color {
    color:#000000;
}
.ppusa-money-color {
    color: var(--ppusa-theme-money) !important;
}
.ppusa-money-color-2 {
    color: var(--ppusa-theme-money) !important;
}
.ppusa-left-color {
    color:#ba599f;
}
.ppusa-right-color {
    color:#dd9338;
}
.ppusa-modern-left-color {
    color:#227cb8;
}
.ppusa-modern-right-color {
    color:#ab1f1f;
}
.ppusa-eco-left-color {
    color:#ad1515;
}
.ppusa-eco-right-color {
    color:#aaa320;
}
.ppusa-cvr-left-color {
    color:#024f0f;
}
.ppusa-cvr-right-color {
    color:#1d215b;
}
.ppusa-foreign-globalist-color {
    color:#3995d7;
}
.ppusa-foreign-isolationist-color {
    color:#94b9e0;
}
.ppusa-foreign-left-color {
    color:#3995d7;
}
.ppusa-foreign-right-color {
    color:#f0a548;
}
.ppusa-environment-left-color {
    color:#0b8f4d;
}
.ppusa-environment-right-color {
    color:#2f251d;
}
.ppusa-bmc-background-color {
    background-color:#0042ca;
}
.ppusa-ava-background-color {
    background-color:#E81B23;
}
.ppusa-srp-background-color {
    background-color:#8c5115;
}
.ppusa-candidate1-background-color {
    background-color:#5a3b81;
}
.ppusa-candidate2-background-color {
    background-color:#a63232;
}
.ppusa-candidate3-background-color {
    background-color:#192476;
}
.ppusa-candidate1-color {
    color:#ffc120;
}
a.ppusa-candidate1-color, a.ppusa-candidate1-color:hover, a.ppusa-candidate1-color:visited, a.ppusa-candidate1-color:active { color:#ffc120 !important; text-decoration:none; }
.ppusa-candidate2-color {
    color:#a63232;
}
a.ppusa-candidate2-color, a.ppusa-candidate2-color:hover, a.ppusa-candidate2-color:visited, a.ppusa-candidate2-color:active { color:#a63232 !important; text-decoration:none; }
.ppusa-candidate3-color {
    color:#192476;
}
a.ppusa-candidate3-color, a.ppusa-candidate3-color:hover, a.ppusa-candidate3-color:visited, a.ppusa-candidate3-color:active { color:#192476 !important; text-decoration:none; }
.tooltip.show {
    opacity: 1;
}
.ppusa-election-background {
    background-image: url('/assets/img/backgroundimages/electionbackground.webp');
    background-size: cover;
    background-attachment: fixed;
    min-height: 100vh;
}
.ppusa-congress-image {
    background-image: url('/assets/img/congressional/congress.webp'); background-size: cover;
}
.ppusa-election-background-color {
    background-color: var(--ppusa-theme-map-bg, rgb(4, 58, 95)) !important;
}

.ppusa-register-image {
    position: relative;
    z-index: 0;
}

.ppusa-register-image::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;

    background-image: var(--ppusa-theme-bg-image, url('/assets/img/backgroundimages/americ.webp'));
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    pointer-events: none;
}
.ppusa-login-image {
    background-image: url('/assets/img/backgroundimages/americ.webp');
    background-size: cover;
}
.ppusa-navbar-player-image {
    background-size: cover;
    height: 200px;
    position: relative;
    background-position: center center;
    overflow: hidden;
}
.ppusa-state-navbar-image {
    background-size: cover;
    height: 200px;
    position: relative;
    background-position: center center;
    overflow: hidden;
}
.ppusa-navbar-gov-image {
    background-image: url('/assets/img/backgroundimages/capitol.webp');
    background-size: cover;
    height: 200px;
    position: relative;
    background-position: center center;
    overflow: hidden;
}
.ppusa-navbar-map-image {
    background-image: url('/assets/img/backgroundimages/usmap.webp');
    background-size: cover;
    height: 200px;
    position: relative;
    background-position: center center;
    overflow: hidden;
}
.caption-bottom-left {
    position: absolute;
    bottom: 10px;
    left: 10px;
    color: rgb(255, 255, 255);
}
.caption-top-left {
    position: absolute;
    bottom: 30px;
    left: 10px;
    color: white;
}
.caption-bottom-center {
    position: relative;
    top: 155px;
    color: #ffffff;
}
.caption-top-center {
    position: relative;
    top: 150px;
    color: #ffffff;
}
.caption-top-g {
    position: relative;
    color: #ffffff;
}
.fix-my-navbar-please {
    margin-top: 60px;
}
.state-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #ffffff;
    background-clip: border-box;
    border: 0.0625rem solid #E5E7EB;
    border-radius: 1rem;
    width:fit-content;
    height:fit-content;
}
.user-navbar-content {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
}
#userBalance {
    flex-grow: 1;
    text-align: center;
}
#profilePicture {
    margin-left: auto;
}
.profile-dropdown {
    position: relative;
    display: inline-block;
    margin-left: auto;
}
#dropdownMenu {
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}
.dropdown-menu,
#dropdownMenu {
    background-color: var(--ppusa-theme-dropdown-bg) !important;
    color: var(--ppusa-theme-text) !important;
    overflow: hidden;
}
#dropdownMenu a {
    color: var(--ppusa-theme-text) !important;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}
.dropdown-menu .dropdown-item {
    color: var(--ppusa-theme-text) !important;
}
#dropdownMenu a:hover,
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    background-color: color-mix(in srgb, var(--ppusa-theme-text) 12%, transparent) !important;
}
.dropdown-megamenu-sm {
    background-color: var(--ppusa-theme-dropdown-bg) !important;
    border-color: var(--ppusa-theme-border) !important;
    overflow: hidden;
}
.dropdown-megamenu-sm h6 {
    color: var(--ppusa-theme-text-muted) !important;
}
.dropdown-megamenu-sm .row-g-0 {
    background-color: var(--ppusa-theme-dropdown-bg) !important;
}
.dropdown-megamenu-sm .row-g-0 .dropdown-item {
    color: var(--ppusa-theme-text) !important;
}
.dropdown-megamenu-sm .row-g-0 .dropdown-item:hover,
.dropdown-megamenu-sm .row-g-0 .dropdown-item:focus {
    background-color: color-mix(in srgb, var(--ppusa-theme-text) 8%, transparent) !important;
}
.ppusa-border-color {
    border-color: #e6e9f7 !important;
}
.overflow-scroll {
    max-height: 400px;
    overflow-y: auto;
}
.badge-icon {
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
}
.twotip {
    position: relative;
}
.twotip::before {
    content: attr(data-tooltip);
    position: absolute;
    white-space: nowrap;
    background-color: #333;
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.2s, opacity 0.2s ease-in-out;
}

.twotip:hover::before {
    visibility: visible;
    opacity: 1;
}

.table-img-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.state-img, .party-img, .governor-img {
    width: auto;
    height: auto;
    max-width: 100px;
    max-height: 100px;
}
.governor-img, .state-img {
    margin-right: 10px;
}
@media (min-width: 768px) {
    .party-img, .governor-img {
        width: 80px;
        height: 80px;
    }
    .state-img {
        width: 84px;
        height: 54px;
        object-fit: cover;
    }
}

@media (max-width: 767.98px) {
    .party-img, .governor-img {
        width: 50px;
        height: 50px;
    }
    .state-img {
        width: 56px;
        height: 36px;
        object-fit: cover;
    }
}

.state-info, .governor-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

@media (max-width: 767.98px) {
    .state-info, .governor-info {
        flex-direction: column;
        text-align: center;
    }
}
.flip-horizontal {
    -moz-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
    -ms-filter: fliph;
    filter: fliph;
}
body, html {
    margin: 0 !important;
    padding: 0 !important;
    background-color: var(--ppusa-theme-navbar-bg, #15234d) !important;
}
:root {
    --ppusa-left: #ba599f;
    --ppusa-right: #dd9338;
    --ppusa-modern-left: #227cb8;
    --ppusa-modern-right: #ab1f1f;
    --ppusa-modern-center: var(--bs-body-color);
    --ppusa-eco-left: #ad1515;
    --ppusa-eco-right: #aaa320;
    --ppusa-eco-center: var(--bs-body-color);
    --ppusa-foreign-globalist: #3995d7;
    --ppusa-foreign-nationalist: #94b9e0;
    --ppusa-cvr-left: #024f0f;
    --ppusa-cvr-right: #1d215b;
    --ppusa-cvr-center: var(--bs-body-color);
    --ppusa-environment-left: #0b8f4d;
    --ppusa-environment-right: #2f251d;
    --ppusa-environment-center: var(--bs-body-color);
    --ppusa-bmc-color: #0042ca;
}
:root[data-bs-theme="dark"] {
    --ppusa-modern-left: #3c87b9;
    --ppusa-modern-right: #e53d3d;
    --ppusa-eco-left: #e34848;
    --ppusa-eco-right: #aaa320;
    --ppusa-foreign-globalist: #3995d7;
    --ppusa-foreign-nationalist: #94b9e0;
    --ppusa-cvr-left: #0d8822;
    --ppusa-cvr-right: #535896;
    --ppusa-environment-left: #0b8f4d;
    --ppusa-environment-right: #917761;
    --ppusa-bmc-color: #00AEF3;
}
.table :is(td,th)[class*="ppusa-"] a,
.table :is(td,th)[class*="ppusa-"] i { color: inherit; }
.table td.ppusa-left-color,
.table th.ppusa-left-color { color: var(--ppusa-left); }
.table td.ppusa-right-color,
.table th.ppusa-right-color { color: var(--ppusa-right); }
.table td.ppusa-modern-left-color,
.table th.ppusa-modern-left-color { color: var(--ppusa-modern-left); }
.table td.ppusa-modern-right-color,
.table th.ppusa-modern-right-color { color: var(--ppusa-modern-right); }
.table td.ppusa-modern-center-color,
.table th.ppusa-modern-center-color { color: var(--ppusa-modern-center); }
.table td.ppusa-eco-left-color,
.table th.ppusa-eco-left-color { color: var(--ppusa-eco-left); }
.table td.ppusa-eco-right-color,
.table th.ppusa-eco-right-color { color: var(--ppusa-eco-right); }
.table td.ppusa-eco-center-color,
.table th.ppusa-eco-center-color { color: var(--ppusa-eco-center); }
.table td.ppusa-foreign-globalist-color,
.table th.ppusa-foreign-globalist-color { color: var(--ppusa-foreign-globalist); }
.table td.ppusa-foreign-isolationist-color,
.table th.ppusa-foreign-isolationist-color { color: var(--ppusa-foreign-nationalist); }
.table td.ppusa-cvr-left-color,
.table th.ppusa-cvr-left-color { color: var(--ppusa-cvr-left); }
.table td.ppusa-cvr-right-color,
.table th.ppusa-cvr-right-color { color: var(--ppusa-cvr-right); }
.table td.ppusa-cvr-center-color,
.table th.ppusa-cvr-center-color { color: var(--ppusa-cvr-center); }
.table td.ppusa-environment-left-color,
.table th.ppusa-environment-left-color { color: var(--ppusa-environment-left); }
.table td.ppusa-environment-right-color,
.table th.ppusa-environment-right-color { color: var(--ppusa-environment-right); }
.table td.ppusa-environment-center-color,
.table th.ppusa-environment-center-color { color: var(--ppusa-environment-center); }
.table td.ppusa-foreign-left-color,
.table th.ppusa-foreign-left-color { color: var(--ppusa-foreign-left, var(--ppusa-foreign-globalist)); }
.table td.ppusa-foreign-right-color,
.table th.ppusa-foreign-right-color { color: var(--ppusa-foreign-right, var(--ppusa-foreign-nationalist)); }
.table { --bs-table-bg: transparent; }
.table > :not(caption) > * > *:not([class*="ppusa-bmc-color"]):not([class*="ppusa-ava-color"]):not([class*="ppusa-srp-color"]):not([class*="ppusa-"]):not([class*="party-color"]):not([class*="text-danger"]):not([class*="text-success"]):not([class*="text-warning"]) {
    background-color: transparent !important;
    color: var(--bs-body-color) !important;
}
.table > :not(caption) > * > *[class*="ppusa-bmc-color"] { color: var(--ppusa-bmc-color) !important; }
.table > :not(caption) > * > *[class*="ppusa-ava-color"] { color: #E81B23 !important; }
.table > :not(caption) > * > *[class*="ppusa-srp-color"] { color: #8c5115 !important; }
.bg-body { background-color: var(--ppusa-theme-card-bg) !important; }
[data-bs-theme="dark"] .bg-body { background-color: var(--ppusa-theme-card-bg) !important; }
.text-body { color: var(--ppusa-theme-text) !important; }
.bg-white {
    background-color: var(--ppusa-theme-card-bg) !important;
    color: var(--ppusa-theme-text) !important;
}
:root, [data-bs-theme="light"], [data-bs-theme="dark"] {
    --bs-heading-color: var(--bs-emphasis-color);
}
html body h1:not([style*="color"]):not(.caption--g):not(.ppusa-bmc-color):not(.ppusa-ava-color):not(.ppusa-srp-color):not(.ppusa-money-color),
html body h2:not([style*="color"]):not(.caption--g):not(.ppusa-bmc-color):not(.ppusa-ava-color):not(.ppusa-srp-color):not(.ppusa-money-color),
html body h3:not([style*="color"]):not(.caption--g):not(.ppusa-bmc-color):not(.ppusa-ava-color):not(.ppusa-srp-color):not(.ppusa-money-color),
html body h4:not([style*="color"]):not(.caption--g):not(.ppusa-bmc-color):not(.ppusa-ava-color):not(.ppusa-srp-color):not(.ppusa-money-color),
html body h5:not([style*="color"]):not(.caption--g):not(.ppusa-bmc-color):not(.ppusa-ava-color):not(.ppusa-srp-color):not(.ppusa-money-color),
html body h6:not([style*="color"]):not(.caption--g):not(.ppusa-bmc-color):not(.ppusa-ava-color):not(.ppusa-srp-color):not(.ppusa-money-color) {
    color: var(--bs-heading-color) !important;
}
:root, [data-bs-theme="light"] {
    --bs-link-color: var(--bs-primary);
    --bs-link-hover-color: color-mix(in oklab, var(--bs-primary), #000 15%);
}
[data-bs-theme="dark"] {
    --bs-link-color: var(--bs-primary);
    --bs-link-hover-color: color-mix(in oklab, var(--bs-primary), #fff 20%);
}
html body a:not(.btn,.nav-link,[class*="text-"],.ppusa-text-color,.ppusa-bmc-color,.ppusa-ava-color,.ppusa-srp-color,.ppusa-no-color,.ppusa-money-color,.ppusa-money-color-2,.ppusa-left-color,.ppusa-right-color,.ppusa-modern-left-color,.ppusa-modern-right-color,.ppusa-eco-left-color,.ppusa-eco-right-color,.ppusa-cvr-left-color,.ppusa-cvr-right-color,.ppusa-foreign-globalist-color,.ppusa-foreign-isolationist-color,.ppusa-foreign-nationalist-color,.ppusa-foreign-left-color,.ppusa-foreign-right-color,.ppusa-environment-left-color,.ppusa-environment-right-color,.ppusa-candidate1-color,.ppusa-candidate2-color,.ppusa-candidate3-color,[style*="color"][style*="#"]) {
    color: inherit !important;
    text-decoration-color: currentColor;
}
html body a:not(.btn,.nav-link,[class*="text-"],.ppusa-text-color,.ppusa-bmc-color,.ppusa-ava-color,.ppusa-srp-color,.ppusa-no-color,.ppusa-money-color,.ppusa-money-color-2,.ppusa-left-color,.ppusa-right-color,.ppusa-modern-left-color,.ppusa-modern-right-color,.ppusa-eco-left-color,.ppusa-eco-right-color,.ppusa-cvr-left-color,.ppusa-cvr-right-color,.ppusa-foreign-globalist-color,.ppusa-foreign-isolationist-color,.ppusa-foreign-nationalist-color,.ppusa-foreign-left-color,.ppusa-foreign-right-color,.ppusa-environment-left-color,.ppusa-environment-right-color,.ppusa-candidate1-color,.ppusa-candidate2-color,.ppusa-candidate3-color,[style*="color"][style*="#"]):hover {
    color: inherit !important;
}
:is(html,body)[data-bs-theme="dark"] a:not(.btn,.nav-link,[class*="text-"],.ppusa-text-color,.ppusa-bmc-color,.ppusa-ava-color,.ppusa-srp-color,.ppusa-no-color,.ppusa-money-color,.ppusa-money-color-2,.ppusa-left-color,.ppusa-right-color,.ppusa-modern-left-color,.ppusa-modern-right-color,.ppusa-eco-left-color,.ppusa-eco-right-color,.ppusa-cvr-left-color,.ppusa-cvr-right-color,.ppusa-foreign-globalist-color,.ppusa-foreign-isolationist-color,.ppusa-foreign-nationalist-color,.ppusa-foreign-left-color,.ppusa-foreign-right-color,.ppusa-environment-left-color,.ppusa-environment-right-color,.ppusa-candidate1-color,.ppusa-candidate2-color,.ppusa-candidate3-color,[style*="color"][style*="#"]) {
    color: inherit !important;
    text-decoration-color: currentColor;
}
:is(html,body)[data-bs-theme="dark"] a:not(.btn,.nav-link,[class*="text-"],.ppusa-text-color,.ppusa-bmc-color,.ppusa-ava-color,.ppusa-srp-color,.ppusa-no-color,.ppusa-money-color,.ppusa-money-color-2,.ppusa-left-color,.ppusa-right-color,.ppusa-modern-left-color,.ppusa-modern-right-color,.ppusa-eco-left-color,.ppusa-eco-right-color,.ppusa-cvr-left-color,.ppusa-cvr-right-color,.ppusa-foreign-globalist-color,.ppusa-foreign-isolationist-color,.ppusa-foreign-nationalist-color,.ppusa-foreign-left-color,.ppusa-foreign-right-color,.ppusa-environment-left-color,.ppusa-environment-right-color,.ppusa-candidate1-color,.ppusa-candidate2-color,.ppusa-candidate3-color,[style*="color"][style*="#"]):hover {
    color: inherit !important;
}
:is(.ppusa-text-color,.ppusa-bmc-color,.ppusa-ava-color,.ppusa-srp-color,.ppusa-no-color,.ppusa-money-color,.ppusa-money-color-2,.ppusa-left-color,.ppusa-right-color,.ppusa-modern-left-color,.ppusa-modern-right-color,.ppusa-eco-left-color,.ppusa-eco-right-color,.ppusa-cvr-left-color,.ppusa-cvr-right-color,.ppusa-foreign-globalist-color,.ppusa-foreign-isolationist-color,.ppusa-foreign-nationalist-color,.ppusa-foreign-left-color,.ppusa-foreign-right-color,.ppusa-environment-left-color,.ppusa-environment-right-color,.ppusa-candidate1-color,.ppusa-candidate2-color,.ppusa-candidate3-color) a:not(.btn,.nav-link,[class*="text-"]) {
    color: inherit !important;
    text-decoration-color: currentColor;
}
.link-body-emphasis { color: var(--bs-emphasis-color) !important; }
.nav-link { font-weight: 400 !important; }
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
    color: var(--ppusa-theme-text) !important;
    background-color: rgba(255,255,255,0.05) !important;
}
.form-select, .form-control {
    background-color: var(--ppusa-theme-input-bg);
    color: #4B5563;
}
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .input-group-text {
    background-color: var(--ppusa-theme-input-bg) !important;
    color: var(--ppusa-theme-text) !important;
}
[data-bs-theme="dark"] .btn-tertiary {
    background-color: var(--ppusa-theme-accent, var(--ppusa-theme-primary)) !important;
    color: #fff !important;
    border-color: var(--ppusa-theme-accent, var(--ppusa-theme-primary)) !important;
}
[data-bs-theme="light"] .btn-tertiary {
    background-color: var(--ppusa-theme-accent, var(--ppusa-theme-primary)) !important;
    color: #fff !important;
    border-color: var(--ppusa-theme-accent, var(--ppusa-theme-primary)) !important;
}
.btn_simplemaps {
    background-color: var(--ppusa-theme-accent, var(--ppusa-theme-primary)) !important;
    color: #fff !important;
    border-color: var(--ppusa-theme-accent, var(--ppusa-theme-primary)) !important;
}
[data-bs-theme="dark"] .text-primary { color: #ece8e8 !important; }
[data-bs-theme="dark"] body { color: #dee2e6 !important; }
[data-bs-theme="dark"] .table { --bs-table-color: #dee2e6; color: #dee2e6 !important; }
[data-bs-theme="dark"] .dropdown-item { color: var(--ppusa-theme-text); }
[data-bs-theme="dark"] .btn-outline-secondary {
    color: #adb5bd !important;
    border-color: #6c757d !important;
}
[data-bs-theme="dark"] .btn-outline-secondary:hover,
[data-bs-theme="dark"] .btn-outline-secondary.active {
    background-color: #6c757d !important;
    border-color: #6c757d !important;
    color: #fff !important;
}
.ppusa_background { background-color: var(--ppusa-theme-bg); }
[data-bs-theme="dark"] .ppusa_background { background-color: var(--ppusa-theme-bg); }
.ppusa-register-image::before {
    background-color: color-mix(in srgb, var(--ppusa-theme-bg) 95%, transparent);
    background-blend-mode: multiply;
}
[data-bs-theme="dark"] .ppusa-register-image::before {
    background-color: color-mix(in srgb, var(--ppusa-theme-bg) 95%, transparent);
    background-blend-mode: multiply;
}
.navbar-ppusa { background-color: var(--ppusa-theme-navbar-bg) !important; }
[data-bs-theme="dark"] .navbar-ppusa { background-color: var(--ppusa-theme-navbar-bg) !important; }
.navbar-ppusa .nav-link,
.navbar-ppusa .navbar-brand {
    color: var(--ppusa-theme-navbar-text, #fff) !important;
}
nav.navbar-ppusa .quick-actions a,
nav.navbar-ppusa .quick-actions a:link,
nav.navbar-ppusa .quick-actions a:visited,
nav.navbar-ppusa .quick-actions button {
    color: #fff !important;
}
[data-bs-theme="dark"] .text-muted { color: var(--ppusa-theme-text-muted) !important; }
.navbar-collapse.collapsing,
.navbar-collapse.show {
    background-color: var(--ppusa-theme-dropdown-bg) !important;
    border-radius: 1rem;
}
[data-bs-theme="dark"] .ppusa-bmc-color { color: #00AEF3; }
[data-bs-theme="dark"] .ppusa-bmc-background-color { background-color: #00AEF3; }
@media (hover: none) and (pointer: coarse) {
    .ppusa-register-image {
        background-image: url('/assets/img/backgroundimages/americ.webp') !important;
    }
}
@media (min-width: 1500px) {
    .col-md-11 {
        flex: 0 0 83.3333333% !important;
        max-width: 83.3333333% !important;
    }
}
[data-bs-theme="light"] .card.border-secondary {
    border-color: #dee2e6 !important;
}
.ppusa-profile-rim {
    border-radius: 999px;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 3px var(--bs-border-color);
}



.btn-outline-tertiary {
    color: var(--ppusa-theme-accent, #1d58a5);
    border-color: var(--ppusa-theme-accent, #1d58a5);
    background-color: transparent;
}
.btn-outline-tertiary:hover,
.btn-outline-tertiary:focus,
.btn-outline-tertiary:active {
    color: #fff;
    background-color: var(--ppusa-theme-accent, #1d58a5);
    border-color: var(--ppusa-theme-accent, #1d58a5);
}
[data-bs-theme="dark"] .btn-outline-tertiary {
    color: color-mix(in srgb, var(--ppusa-theme-accent, #143c6e), #fff 30%);
    border-color: color-mix(in srgb, var(--ppusa-theme-accent, #143c6e), #fff 30%);
}
[data-bs-theme="dark"] .btn-outline-tertiary:hover,
[data-bs-theme="dark"] .btn-outline-tertiary:focus,
[data-bs-theme="dark"] .btn-outline-tertiary:active {
    color: #fff;
    background-color: var(--ppusa-theme-accent, #143c6e);
    border-color: var(--ppusa-theme-accent, #143c6e);
}

.bg-tertiary {
    background-color: var(--ppusa-theme-accent, #1d58a5) !important;
}
[data-bs-theme="dark"] .bg-tertiary {
    background-color: var(--ppusa-theme-accent, #143c6e) !important;
}

[data-bs-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

[data-bs-theme="dark"] .accordion-button {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
}
[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
    background-color: #232a36;
    color: var(--bs-body-color);
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.125);
}
[data-bs-theme="dark"] .accordion-button::after {
    filter: invert(1) grayscale(100%) brightness(200%);
}
[data-bs-theme="dark"] .accordion-body {
    background-color: var(--bs-body-bg);
}
[data-bs-theme="dark"] .accordion-item {
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .form-text {
    color: #9ca3af !important;
}

[data-bs-theme="dark"] .table-secondary {
    --bs-table-bg: #3a3f4b;
    --bs-table-color: var(--bs-body-color);
}
[data-bs-theme="dark"] .table-warning {
    --bs-table-bg: #4a3f28;
    --bs-table-color: var(--bs-body-color);
}


[data-bs-theme="dark"] .alert-secondary {
    background-color: #3a3f4b !important;
    border-color: var(--ppusa-theme-border) !important;
    color: var(--bs-body-color) !important;
}

.card {
    background-color: var(--ppusa-theme-card-bg);
    border-color: var(--ppusa-theme-border);
}
.card-header {
    background-color: var(--ppusa-theme-input-bg);
    border-color: var(--ppusa-theme-border);
}
[data-bs-theme="dark"] .card.bg-body-tertiary {
    background-color: var(--ppusa-theme-input-bg, #232a36) !important;
}
.btn-success {
    box-shadow: none;
    transition: none;
    --bs-btn-color: var(--ppusa-alert-success-text, #fff);
    --bs-btn-hover-color: var(--ppusa-alert-success-text, #fff);
    --bs-btn-active-color: var(--ppusa-alert-success-text, #fff);
    --bs-btn-bg: var(--ppusa-alert-success-bg, #18634B);
    --bs-btn-border-color: var(--ppusa-alert-success-bg, #18634B);
    --bs-btn-hover-bg: var(--ppusa-alert-success-bg, #18634B);
    --bs-btn-hover-border-color: var(--ppusa-alert-success-bg, #18634B);
    --bs-btn-active-bg: var(--ppusa-alert-success-bg, #18634B);
    --bs-btn-active-border-color: var(--ppusa-alert-success-bg, #18634B);
}
.btn-danger {
    box-shadow: none;
    transition: none;
    --bs-btn-color: var(--ppusa-alert-danger-text, #fff);
    --bs-btn-hover-color: var(--ppusa-alert-danger-text, #fff);
    --bs-btn-active-color: var(--ppusa-alert-danger-text, #fff);
    --bs-btn-bg: var(--ppusa-alert-danger-bg, #a91e2c);
    --bs-btn-border-color: var(--ppusa-alert-danger-bg, #a91e2c);
    --bs-btn-hover-bg: var(--ppusa-alert-danger-bg, #a91e2c);
    --bs-btn-hover-border-color: var(--ppusa-alert-danger-bg, #a91e2c);
    --bs-btn-active-bg: var(--ppusa-alert-danger-bg, #a91e2c);
    --bs-btn-active-border-color: var(--ppusa-alert-danger-bg, #a91e2c);
}
.btn-warning {
    box-shadow: none;
    transition: none;
    --bs-btn-color: var(--ppusa-alert-warning-text, #212529);
    --bs-btn-hover-color: var(--ppusa-alert-warning-text, #212529);
    --bs-btn-active-color: var(--ppusa-alert-warning-text, #212529);
    --bs-btn-bg: var(--ppusa-alert-warning-bg, #F0B400);
    --bs-btn-border-color: var(--ppusa-alert-warning-bg, #F0B400);
    --bs-btn-hover-bg: var(--ppusa-alert-warning-bg, #F0B400);
    --bs-btn-hover-border-color: var(--ppusa-alert-warning-bg, #F0B400);
    --bs-btn-active-bg: var(--ppusa-alert-warning-bg, #F0B400);
    --bs-btn-active-border-color: var(--ppusa-alert-warning-bg, #F0B400);
}
.badge.bg-success { background-color: var(--ppusa-theme-success) !important; }
.badge.bg-danger { background-color: var(--ppusa-theme-danger) !important; }
.btn-outline-success {
    --bs-btn-color: var(--ppusa-theme-success);
    --bs-btn-border-color: var(--ppusa-theme-success);
    --bs-btn-hover-bg: var(--ppusa-theme-success);
    --bs-btn-hover-border-color: var(--ppusa-theme-success);
    --bs-btn-active-bg: var(--ppusa-theme-success);
    --bs-btn-active-border-color: var(--ppusa-theme-success);
}
.btn-outline-danger {
    --bs-btn-color: var(--ppusa-theme-danger);
    --bs-btn-border-color: var(--ppusa-theme-danger);
    --bs-btn-hover-bg: var(--ppusa-theme-danger);
    --bs-btn-hover-border-color: var(--ppusa-theme-danger);
    --bs-btn-active-bg: var(--ppusa-theme-danger);
    --bs-btn-active-border-color: var(--ppusa-theme-danger);
}

.btn.alert-success {
    background-color: var(--ppusa-theme-success, #198754) !important;
    color: #fff !important;
    border-color: var(--ppusa-theme-success, #198754) !important;
}
.btn.alert-success:hover, .btn.alert-success:focus {
    background-color: var(--ppusa-theme-success, #198754) !important;
    color: #fff !important;
    border-color: var(--ppusa-theme-success, #198754) !important;
    filter: brightness(0.88);
}
.btn.alert-danger {
    background-color: var(--ppusa-theme-danger, #dc3545) !important;
    color: #fff !important;
    border-color: var(--ppusa-theme-danger, #dc3545) !important;
}
.btn.alert-danger:hover, .btn.alert-danger:focus {
    background-color: var(--ppusa-theme-danger, #dc3545) !important;
    color: #fff !important;
    border-color: var(--ppusa-theme-danger, #dc3545) !important;
    filter: brightness(0.88);
}
.btn.alert-warning {
    background-color: var(--ppusa-theme-warning, #ffc107) !important;
    color: #000 !important;
    border-color: var(--ppusa-theme-warning, #ffc107) !important;
}
.btn.alert-warning:hover, .btn.alert-warning:focus {
    background-color: var(--ppusa-theme-warning, #ffc107) !important;
    color: #000 !important;
    border-color: var(--ppusa-theme-warning, #ffc107) !important;
    filter: brightness(0.88);
}


.alert-success {
    --bs-alert-bg: var(--ppusa-alert-success-bg) !important;
    --bs-alert-color: var(--ppusa-alert-success-text) !important;
    --bs-alert-border-color: var(--ppusa-alert-success-border) !important;
    background-color: var(--ppusa-alert-success-bg) !important;
    color: var(--ppusa-alert-success-text) !important;
    border-color: var(--ppusa-alert-success-border) !important;
}
.alert-danger {
    --bs-alert-bg: var(--ppusa-alert-danger-bg) !important;
    --bs-alert-color: var(--ppusa-alert-danger-text) !important;
    --bs-alert-border-color: var(--ppusa-alert-danger-border) !important;
    background-color: var(--ppusa-alert-danger-bg) !important;
    color: var(--ppusa-alert-danger-text) !important;
    border-color: var(--ppusa-alert-danger-border) !important;
}
.alert-warning {
    --bs-alert-bg: var(--ppusa-alert-warning-bg) !important;
    --bs-alert-color: var(--ppusa-alert-warning-text) !important;
    --bs-alert-border-color: var(--ppusa-alert-warning-border) !important;
    background-color: var(--ppusa-alert-warning-bg) !important;
    color: var(--ppusa-alert-warning-text) !important;
    border-color: var(--ppusa-alert-warning-border) !important;
}
[data-ppusa-theme="custom"] .alert-info {
    --bs-alert-bg: var(--ppusa-alert-info-bg) !important;
    --bs-alert-color: var(--ppusa-alert-info-text) !important;
    --bs-alert-border-color: var(--ppusa-alert-info-border) !important;
    background-color: var(--ppusa-alert-info-bg) !important;
    color: var(--ppusa-alert-info-text) !important;
    border-color: var(--ppusa-alert-info-border) !important;
}


div.alert[role="alert"] > i { margin-right: 6px; }

.bootbox.modal { overflow-y: auto !important; }
.bootbox.modal.fade, .bootbox.modal.fade .modal-dialog, .bootbox + .modal-backdrop.fade { transition: none !important; }
body.modal-open { overflow: auto !important; padding-right: 0 !important; }
.bootbox .modal-dialog { max-width: 550px; margin-top: 4rem; }
.bootbox .modal-header { display: none; }
.bootbox .modal-content { flex-direction: row; align-items: center; padding: 0.6rem 1rem; gap: 0.5rem;}
.bootbox .modal-body { padding: 0; flex: 1; text-align: left; }
.bootbox .modal-body > p { margin: 0; }
.bootbox .modal-footer { border-top: none; padding: 0; gap: 0.5rem; flex-shrink: 0; align-items: center; }
.bootbox .modal-footer .btn { min-width: 60px; }
.bootbox .modal-footer .btn:focus { box-shadow: none; }
.bootbox .modal-footer .btn-success { order: 1; }
.bootbox .modal-footer .btn-success:focus:not(:hover) { background-color: var(--bs-success); border-color: var(--bs-success); }
.bootbox .modal-footer .btn-danger { order: 2; }
.bootbox .modal-footer .btn-danger:focus:not(:hover) { background-color: var(--bs-danger); border-color: var(--bs-danger); }
.bootbox .modal-content { background-color: var(--ppusa-theme-modal-bg); border-color: var(--ppusa-theme-modal-border); }
.bootbox .modal-body { color: var(--ppusa-theme-modal-text); }

[data-bs-theme="dark"] .border-secondary {
    border-color: var(--ppusa-theme-border) !important;
}

[data-bs-theme="dark"] .progress {
    background-color: #3a3f4b;
}

[data-bs-theme="dark"] .badge.bg-secondary {
    background-color: #4a4f5b !important;
    color: #dee2e6 !important;
}
[data-bs-theme="dark"] .badge.bg-body-tertiary {
    background-color: #3a3f4b !important;
}

[data-bs-theme="dark"] .form-select optgroup {
    background-color: #232a36;
    color: #9ca3af;
}
[data-bs-theme="dark"] .form-select option {
    background-color: #232a36;
    color: #dee2e6;
}

[data-bs-theme="dark"] .bg-body-secondary {
    background-color: var(--ppusa-theme-card-bg, #232a36) !important;
}

.bg-body-tertiary {
    background-color: var(--ppusa-theme-input-bg) !important;
}
[data-bs-theme="dark"] .bg-body-tertiary {
    background-color: var(--ppusa-theme-input-bg, #2d333b) !important;
}

.btn-check:checked + .btn-outline-info,
.btn-check:checked + .btn-outline-primary,
.btn-check:checked + .btn-outline-success {
    color: #fff !important;
}
[data-bs-theme="dark"] .btn-check + .btn-outline-info,
[data-bs-theme="dark"] .btn-check + .btn-outline-primary,
[data-bs-theme="dark"] .btn-check + .btn-outline-success {
    color: var(--bs-body-color);
    background-color: transparent;
}
[data-bs-theme="dark"] .btn-check:checked + .btn-outline-info {
    background-color: #0dcaf0 !important;
    border-color: #0dcaf0 !important;
    color: #000 !important;
}
[data-bs-theme="dark"] .btn-check:checked + .btn-outline-primary {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #fff !important;
}
[data-bs-theme="dark"] .btn-check:checked + .btn-outline-success {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color: #fff !important;
}

[data-bs-theme="dark"] .btn-outline-info .text-body-secondary,
[data-bs-theme="dark"] .btn-outline-primary .text-body-secondary,
[data-bs-theme="dark"] .btn-outline-success .text-body-secondary {
    color: #9ca3af !important;
}
[data-bs-theme="dark"] .btn-check:checked + .btn-outline-info .text-body-secondary,
[data-bs-theme="dark"] .btn-check:checked + .btn-outline-primary .text-body-secondary,
[data-bs-theme="dark"] .btn-check:checked + .btn-outline-success .text-body-secondary {
    color: rgba(255,255,255,0.8) !important;
}

[data-bs-theme="dark"] .table-hover > tbody > tr:hover > * {
    background-color: rgba(255,255,255,0.05) !important;
    color: var(--bs-body-color) !important;
}

.market-prices-list .small,
.market-prices-list i:not(.fa-caret-up):not(.fa-caret-down):not(.fa-minus) {
    color: var(--bs-body-color);
}
[data-bs-theme="dark"] .market-prices-list .d-flex {
    border-color: #4a4f5b !important;
}
[data-bs-theme="dark"] .market-prices-list .small:not(.ppusa-money-color):not(.text-success):not(.text-danger):not(.text-body-secondary) {
    color: var(--bs-body-color) !important;
}



.ppusa-table th,
.ppusa-table td { vertical-align: middle !important; }
.ppusa-table img { vertical-align: middle; }
.ppusa-table td a,
.ppusa-table td div,
.ppusa-table td span { line-height: normal; vertical-align: middle; }


.ppusa-ce-link {
    text-decoration: none;
    color: inherit;
}
.ppusa-ce-link:hover {
    text-decoration: underline;
    color: inherit !important;
}

.ppusa-state-flag {
    width: 28px;
    height: 20px;
    object-fit: cover;
    border-radius: 2px;
}

.ppusa-corp-logo {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 4px;
}
.ppusa-corp-logo-sm {
    width: 32px;
    height: 32px;
    object-fit: cover;
    border-radius: 4px;
}

.ppusa-avatar {
    width: 32px;
    height: 32px;
    object-fit: cover;
    border-radius: 999px;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 3px var(--bs-border-color);
}
.ppusa-avatar-sm {
    width: 24px;
    height: 24px;
    object-fit: cover;
    border-radius: 999px;
}
.ppusa-avatar-lg {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 999px;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 3px var(--bs-border-color);
}

.ppusa-icon {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 4px;
}
.ppusa-icon-sm {
    width: 20px;
    height: 20px;
    object-fit: cover;
    border-radius: 50%;
}

.ppusa-main-badge {
    display: inline-block;
    font-size: .725rem;
    line-height: 1;
    padding: .25rem .4rem;
    border-radius: .35rem;
    background: var(--bs-tertiary-bg, #eef2ff);
    color: var(--bs-primary);
    border: 1px solid var(--bs-border-color);
    text-transform: uppercase;
    letter-spacing: .02em;
}
[data-bs-theme="dark"] .ppusa-main-badge { color: #fff; }

.ppusa-comm-list {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}
.ppusa-comm-chip {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-radius: 9999px;
    padding: .25rem .6rem;
    background: color-mix(in oklab, var(--bs-body-bg), var(--bs-primary) 6%);
    border: 1px solid var(--bs-border-color);
    color: var(--bs-body-color);
    text-decoration: none;
    line-height: 1.1;
}
.ppusa-comm-chip:hover { text-decoration: none; }

.ppusa-crown { color: #d4a72c; }

.stock-ticker {
    overflow: hidden;
    white-space: nowrap;
    background: var(--bs-body-bg);
    border-radius: 0.375rem;
}
.stock-ticker-inner {
    display: inline-flex;
    animation: ticker 30s linear infinite;
}
@keyframes ticker {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.ticker-item {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-right: 1px solid var(--bs-border-color);
}
.ticker-item:last-child { border-right: none; }
.ticker-change-down { color: var(--ppusa-theme-danger) !important; }

.nav-tabs {
    border-bottom: 1px solid #dee2e6 !important;
}
.nav-tabs .nav-link {
    color: #6c757d !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    margin-bottom: -1px;
}
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    color: var(--bs-body-color) !important;
    background-color: rgba(0, 0, 0, 0.03) !important;
    border-color: #dee2e6 #dee2e6 #dee2e6 !important;
}
.nav-tabs .nav-link.active {
    color: var(--bs-body-color) !important;
    background-color: color-mix(in srgb, var(--ppusa-theme-tab-active) 12%, transparent) !important;
    border-color: #dee2e6 #dee2e6 transparent !important;
}
[data-bs-theme="dark"] .nav-tabs {
    border-bottom-color: #495057 !important;
}
[data-bs-theme="dark"] .nav-tabs .nav-link:hover,
[data-bs-theme="dark"] .nav-tabs .nav-link:focus {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: #495057 #495057 #495057 !important;
}
[data-bs-theme="dark"] .nav-tabs .nav-link.active {
    background-color: color-mix(in srgb, var(--ppusa-theme-tab-active) 15%, transparent) !important;
    border-color: #495057 #495057 transparent !important;
}

[data-bs-theme="light"] .border-secondary {
    border-color: #dee2e6 !important;
}


.list-group-item {
    background-color: var(--ppusa-theme-card-bg);
    color: var(--ppusa-theme-text);
    border-color: var(--ppusa-theme-border);
}
.list-group-item .text-muted,
.list-group-item small {
    color: var(--ppusa-theme-text-muted) !important;
}
.bg-white .form-label {
    color: var(--ppusa-theme-text);
}
.border-primary {
    border-color: var(--ppusa-theme-highlight, var(--bs-primary)) !important;
}
.ppusa-navbar-logo {
    filter: var(--ppusa-theme-logo-filter, none);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}
.bg-white .form-label.small,
.bg-white .text-muted {
    color: var(--ppusa-theme-text-muted) !important;
}



.ppusa-pfp-frame-wrap {
    display: inline-block;
    position: relative;
    border-radius: 0.375rem;
}
.ppusa-pfp-frame-wrap .ppusa-pfp-img {
    display: block;
    border-radius: 0.375rem;
}


.ppusa-frame-none .ppusa-pfp-img {
    border: 3px solid white;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}


.ppusa-frame-gold .ppusa-pfp-img {
    border: 3px solid #d4a72c;
    box-shadow: 0 0 8px rgba(212, 167, 44, 0.5);
}


.ppusa-frame-silver .ppusa-pfp-img {
    border: 3px solid #c0c0c0;
    box-shadow: 0 0 8px rgba(192, 192, 192, 0.5);
}


.ppusa-frame-bronze .ppusa-pfp-img {
    border: 3px solid #cd7f32;
    box-shadow: 0 0 8px rgba(205, 127, 50, 0.5);
}


.ppusa-frame-glow-blue .ppusa-pfp-img {
    border: 3px solid #3b82f6;
    box-shadow: 0 0 12px rgba(59, 130, 246, 0.6), 0 0 24px rgba(59, 130, 246, 0.3);
}


.ppusa-frame-glow-red .ppusa-pfp-img {
    border: 3px solid #ef4444;
    box-shadow: 0 0 12px rgba(239, 68, 68, 0.6), 0 0 24px rgba(239, 68, 68, 0.3);
}


.ppusa-frame-pulse .ppusa-pfp-img {
    border: 3px solid #60a5fa;
    animation: ppusa-frame-pulse 2.5s ease-in-out infinite;
}
@keyframes ppusa-frame-pulse {
    0%, 100% { box-shadow: 0 0 4px rgba(96, 165, 250, 0.3); }
    50% { box-shadow: 0 0 8px rgba(96, 165, 250, 0.5), 0 0 14px rgba(96, 165, 250, 0.15); }
}


.ppusa-frame-custom .ppusa-pfp-img {
    border: 3px solid transparent;
    background: var(--ppusa-frame-grad, linear-gradient(135deg, #ff0000, #0000ff)) border-box;
    background-origin: border-box;
}


.ppusa-frame-custom.ppusa-frame-fx-glow .ppusa-pfp-img {
    box-shadow: 0 0 12px var(--ppusa-frame-glow-color, rgba(255,255,255,0.5)),
                0 0 24px var(--ppusa-frame-glow-color, rgba(255,255,255,0.25));
}


.ppusa-frame-custom.ppusa-frame-fx-pulse .ppusa-pfp-img {
    animation: ppusa-custom-pulse 2s ease-in-out infinite;
}
@keyframes ppusa-custom-pulse {
    0%, 100% { box-shadow: 0 0 4px var(--ppusa-frame-glow-color, rgba(255,255,255,0.2)); }
    50% { box-shadow: 0 0 10px var(--ppusa-frame-glow-color, rgba(255,255,255,0.5)),
                      0 0 16px var(--ppusa-frame-glow-color, rgba(255,255,255,0.15)); }
}


.ppusa-frame-preview {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 0.375rem;
    cursor: pointer;
}
.ppusa-frame-option {
    text-align: center;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 0.5rem;
    border: 2px solid transparent;
    transition: border-color 0.15s ease;
}
.ppusa-frame-option.active {
    border-color: var(--ppusa-theme-accent, #1d58a5);
    background-color: color-mix(in srgb, var(--ppusa-theme-accent, #1d58a5) 8%, transparent);
}
.ppusa-frame-option:hover {
    border-color: var(--ppusa-theme-accent, #1d58a5);
}






.ppusa-outlet-branded {
    --outlet-color: #1a1a2e;
    --outlet-accent: #e94560;
    --outlet-font: Georgia, serif;
    --outlet-body-font: system-ui, sans-serif;
}
.ppusa-outlet-branded h1,
.ppusa-outlet-branded h2,
.ppusa-outlet-branded h3,
.ppusa-outlet-branded h4 {
    font-family: var(--outlet-font);
}
.ppusa-outlet-branded p,
.ppusa-outlet-branded li,
.ppusa-outlet-branded span {
    font-family: var(--outlet-body-font);
}
.ppusa-outlet-accent-bar {
    height: 4px;
    background: var(--outlet-accent);
    border-radius: 2px;
}


.ppusa-bias-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #fff;
}
.ppusa-bias-far-left { background: #1565c0; }
.ppusa-bias-left { background: #1e88e5; }
.ppusa-bias-center-left { background: #42a5f5; }
.ppusa-bias-center { background: #78909c; }
.ppusa-bias-center-right { background: #ef6c00; }
.ppusa-bias-right { background: #e53935; }
.ppusa-bias-far-right { background: #b71c1c; }


.ppusa-landing-grid {
    display: grid;
    gap: 1.25rem;
}
.ppusa-landing-grid.cols-1 { grid-template-columns: 1fr; }
.ppusa-landing-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.ppusa-landing-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.ppusa-landing-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 768px) {
    .ppusa-landing-grid.cols-2,
    .ppusa-landing-grid.cols-3,
    .ppusa-landing-grid.cols-4 {
        grid-template-columns: 1fr;
    }
}


.ppusa-template-broadsheet .ppusa-masthead {
    text-align: center;
    border-bottom: 3px double var(--outlet-color);
    padding-bottom: 0.75rem;
    margin-bottom: 1rem;
}
.ppusa-template-broadsheet .ppusa-masthead h1 {
    font-family: var(--outlet-font);
    font-size: 2.5rem;
    letter-spacing: 0.05em;
}
.ppusa-template-broadsheet .ppusa-hero-article {
    grid-column: 1 / -1;
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 1rem;
    margin-bottom: 0.5rem;
}
.ppusa-template-broadsheet .ppusa-article-card {
    border-right: 1px solid var(--bs-border-color);
    padding-right: 1rem;
}
.ppusa-template-broadsheet .ppusa-article-card:last-child {
    border-right: none;
}


.ppusa-template-cable .ppusa-cable-header {
    background: var(--outlet-color);
    color: #fff;
    padding: 0.75rem 1rem;
    border-radius: 4px 4px 0 0;
    font-weight: 700;
    font-family: var(--outlet-body-font);
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
}
.ppusa-template-cable .ppusa-breaking-banner {
    background: var(--outlet-accent);
    color: #fff;
    padding: 6px 12px;
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
}
.ppusa-template-cable .ppusa-article-card {
    border-left: 3px solid var(--outlet-accent);
    padding-left: 0.75rem;
}


.ppusa-template-tabloid .ppusa-article-card img {
    border-radius: 0;
}
.ppusa-template-tabloid .ppusa-article-card h3 {
    font-size: 1.4rem;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.2;
}
.ppusa-template-tabloid .ppusa-hero-article h2 {
    font-size: 2rem;
    font-weight: 900;
    text-transform: uppercase;
}


.ppusa-template-modern .ppusa-article-card {
    background: var(--bs-body-bg);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: transform 0.2s, box-shadow 0.2s;
}
.ppusa-template-modern .ppusa-article-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}
.ppusa-template-modern .ppusa-article-card img {
    border-radius: 12px 12px 0 0;
}
.ppusa-template-modern .ppusa-article-card-body {
    padding: 1rem 1.25rem;
}


.ppusa-template-wire .ppusa-article-card {
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
}
.ppusa-template-wire .ppusa-article-card h3 {
    font-size: 1rem;
    font-weight: 600;
}
.ppusa-template-wire .ppusa-article-timestamp {
    color: var(--outlet-accent);
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
}
.ppusa-template-wire .ppusa-article-card img {
    display: none; 
}


.ppusa-template-magazine .ppusa-hero-article {
    grid-column: 1 / -1;
    position: relative;
    min-height: 350px;
    border-radius: 8px;
    overflow: hidden;
}
.ppusa-template-magazine .ppusa-hero-article img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ppusa-template-magazine .ppusa-hero-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2rem;
    background: linear-gradient(transparent, rgba(0,0,0,0.85));
    color: #fff;
}
.ppusa-template-magazine .ppusa-article-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}
.ppusa-template-magazine .ppusa-article-card img {
    width: 120px;
    height: 80px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
}


.ppusa-article-content {
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.8;
    font-size: 1.05rem;
}
.ppusa-article-content.width-narrow {
    max-width: 640px;
}
.ppusa-article-content.width-wide {
    max-width: 960px;
}
.ppusa-article-content p {
    margin-bottom: 1.25rem;
}
.ppusa-article-content blockquote {
    border-left: 4px solid var(--outlet-accent, #e94560);
    padding-left: 1.25rem;
    margin: 1.5rem 0;
    font-style: italic;
    color: var(--bs-secondary-color);
}
.ppusa-article-content figure {
    margin: 1.5rem 0;
    text-align: center;
}
.ppusa-article-content figure img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}
.ppusa-article-content figcaption {
    font-size: 0.85rem;
    color: var(--bs-secondary-color);
    margin-top: 0.5rem;
}
.ppusa-article-content h2 {
    font-size: 1.5rem;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}
.ppusa-article-header-fullbleed {
    width: 100%;
    max-height: 450px;
    object-fit: cover;
    border-radius: 0;
}
.ppusa-article-header-contained {
    max-width: 800px;
    margin: 0 auto;
    display: block;
    border-radius: 8px;
    max-height: 400px;
    object-fit: cover;
    width: 100%;
}


.ppusa-article-card {
    position: relative;
}
.ppusa-article-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 6px 6px 0 0;
}
.ppusa-article-card-body {
    padding: 0.75rem 0;
}
.ppusa-article-card h3 {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}
.ppusa-article-card h3 a {
    text-decoration: none;
    color: inherit;
}
.ppusa-article-card h3 a:hover {
    color: var(--outlet-accent, var(--bs-link-color));
}
.ppusa-article-meta {
    font-size: 0.8rem;
    color: var(--bs-secondary-color);
}
.ppusa-article-meta span + span::before {
    content: '\00b7';
    margin: 0 0.35rem;
}
.ppusa-category-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--outlet-accent, var(--bs-primary));
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}


.ppusa-rating-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 6px 14px;
    border: 1px solid var(--bs-border-color);
    border-radius: 20px;
    background: transparent;
    color: var(--bs-body-color);
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.15s;
}
.ppusa-rating-btn:hover {
    background: var(--bs-tertiary-bg);
}
.ppusa-rating-btn.active-like {
    border-color: #4caf50;
    color: #4caf50;
    background: rgba(76,175,80,0.08);
}
.ppusa-rating-btn.active-dislike {
    border-color: #f44336;
    color: #f44336;
    background: rgba(244,67,54,0.08);
}
.ppusa-rating-count {
    font-weight: 600;
}


.ppusa-comment {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--bs-border-color);
}
.ppusa-comment:last-child {
    border-bottom: none;
}
.ppusa-comment-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
}
.ppusa-comment-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}
.ppusa-comment-author {
    font-weight: 600;
    font-size: 0.9rem;
}
.ppusa-comment-time {
    font-size: 0.8rem;
    color: var(--bs-secondary-color);
}
.ppusa-comment-body {
    font-size: 0.95rem;
    line-height: 1.5;
}
.ppusa-comment-reply {
    margin-left: 2.5rem;
    border-left: 2px solid var(--bs-border-color);
    padding-left: 1rem;
}


.ppusa-prediction-widget {
    background: var(--bs-tertiary-bg);
    border-radius: 8px;
    padding: 1rem;
    margin: 1.25rem 0;
    border: 1px solid var(--bs-border-color);
}
.ppusa-prediction-widget h5 {
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.75rem;
}
.ppusa-prediction-bar {
    display: flex;
    height: 28px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.5rem;
}
.ppusa-prediction-bar .bmc-segment {
    background: #0042ca;
}
.ppusa-prediction-bar .ava-segment {
    background: #E81B23;
}
.ppusa-prediction-bar .srp-segment {
    background: #8c5115;
}
.ppusa-prediction-confidence {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
}
.ppusa-prediction-confidence.tossup { background: #78909c; color: #fff; }
.ppusa-prediction-confidence.lean { background: #ffb74d; color: #000; }
.ppusa-prediction-confidence.likely { background: #ff9800; color: #000; }
.ppusa-prediction-confidence.safe { background: #e65100; color: #fff; }


.ppusa-media-image {
    background-image: url('/assets/img/backgroundimages/americ.webp');
    background-size: cover;
}


.ppusa-featured-hero {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    min-height: 300px;
    margin-bottom: 1rem;
}
.ppusa-featured-hero img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}
.ppusa-featured-hero-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem;
    background: linear-gradient(transparent, rgba(0,0,0,0.8));
    color: #fff;
}
.ppusa-featured-tabs .nav-link {
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.ppusa-featured-tabs .nav-link.active {
    border-bottom: 3px solid var(--bs-primary);
}

/* Hover info panel (used on profile income rows and election candidate stats) */
.ppusa-ihover { position: relative; display: inline-block; cursor: default; }
.ppusa-ihover-panel {
    display: none;
    position: absolute;
    z-index: 9999;
    top: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    min-width: 210px;
    background: var(--ppusa-theme-card-bg);
    color: var(--ppusa-theme-text);
    border: 1px solid var(--ppusa-theme-border);
    border-radius: 8px;
    padding: 10px 13px;
    box-shadow: 0 4px 14px rgba(0,0,0,.2);
    font-size: .8rem;
    font-weight: normal;
    text-align: left;
    white-space: nowrap;
    pointer-events: none;
}
.ppusa-ihover:hover .ppusa-ihover-panel { display: block; }
.ppusa-ihover-panel table { border-spacing: 0; width: 100%; }
.ppusa-ihover-panel td { padding: 2px 0; }
.ppusa-ihover-panel td:last-child { text-align: right; padding-left: 16px; }
.ppusa-ihover-divider { border-top: 1px solid var(--ppusa-theme-border); margin: 4px 0; }

/* ── Feed panel system (notifications & messages) ── */
.nc-shell, .msg-shell { overflow: hidden; }
.nc-tabbar, .msg-tabbar {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid var(--bs-border-color);
    overflow-x: auto;
    scrollbar-width: none;
}
.nc-tabbar::-webkit-scrollbar,
.msg-tabbar::-webkit-scrollbar { display: none; }
.nc-tab, .msg-tab {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .85rem 1.15rem;
    border: none;
    background: transparent;
    color: var(--bs-secondary-color);
    font-weight: 500;
    font-size: .84rem;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
    flex-shrink: 0;
    margin-bottom: -1px;
    transition: color .15s, background .15s, border-color .15s;
}
.nc-tab:hover:not(.active),
.msg-tab:hover:not(.active) {
    color: var(--bs-body-color);
    background: var(--bs-tertiary-bg);
}
.nc-tab.active, .msg-tab.active { font-weight: 600; }
.nc-tab[data-tab="alerts"].active   { border-bottom-color: #f59e0b; color: #f59e0b; }
.nc-tab[data-tab="congress"].active { border-bottom-color: #3b82f6; color: #3b82f6; }
.nc-tab[data-tab="economy"].active  { border-bottom-color: #10b981; color: #10b981; }
.nc-tab[data-tab="campaign"].active { border-bottom-color: #f43f5e; color: #f43f5e; }
.msg-tab[data-tab="inbox"].active   { border-bottom-color: #3b82f6; color: #3b82f6; }
.msg-tab[data-tab="sent"].active    { border-bottom-color: #10b981; color: #10b981; }
.nc-count, .msg-count {
    font-size: .67rem;
    font-weight: 700;
    padding: .1em .45em;
    border-radius: 999px;
    background: var(--bs-secondary-bg);
    color: var(--bs-secondary-color);
    min-width: 1.5em;
    text-align: center;
    line-height: 1.6;
}
.nc-unread-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #f43f5e;
    display: inline-block;
    margin-left: 4px;
    vertical-align: middle;
    animation: nc-pulse 1.5s ease-in-out infinite;
}
@keyframes nc-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .4; }
}
.nc-tabbar-actions, .msg-tabbar-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    padding: 0 .75rem;
    flex-shrink: 0;
}
.nc-body, .msg-body { padding: 0; }
.nc-panel, .msg-panel { display: none; }
.nc-panel.active, .msg-panel.active { display: block; }
.nc-controls, .msg-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .75rem;
    margin-bottom: .75rem;
    flex-wrap: wrap;
}
.nc-search, .msg-search {
    display: flex;
    align-items: center;
    gap: .45rem;
    background: var(--bs-secondary-bg);
    border-radius: .4rem;
    padding: .35rem .7rem;
    max-width: 280px;
    flex: 1;
    border: 1px solid transparent;
    transition: border-color .15s;
}
.nc-search:focus-within, .msg-search:focus-within { border-color: var(--bs-border-color); }
.nc-search i, .msg-search i { color: var(--bs-secondary-color); font-size: .78rem; }
.nc-search input, .msg-search input {
    border: none;
    background: transparent;
    font-size: .84rem;
    color: var(--bs-body-color);
    outline: none;
    flex: 1;
    min-width: 0;
}
.nc-search input::placeholder,
.msg-search input::placeholder { color: var(--bs-secondary-color); }
.nc-pager, .msg-pager {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .8rem;
    color: var(--bs-secondary-color);
    flex-shrink: 0;
}
.nc-feed, .msg-feed { width: 100%; border-collapse: collapse; }
.nc-feed thead, .msg-feed thead { display: none; }
.nc-feed tbody tr, .msg-feed tbody tr { border-top: 1px solid var(--bs-border-color-translucent); }
.nc-feed tbody tr.nc-unread { background: rgba(var(--bs-primary-rgb), .08); }
.nc-td-icon, .msg-td-icon {
    width: 52px;
    padding: .8rem 0 .8rem .25rem;
    vertical-align: middle;
    text-align: center;
}
.nc-td-content, .msg-td-content { padding: .8rem .75rem; vertical-align: middle; }
.nc-meta, .msg-meta {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
}
.nc-pill, .msg-pill {
    font-size: .7rem;
    font-weight: 600;
    padding: .15em .55em;
    border-radius: 999px;
}
.nc-date, .msg-date { font-size: .74rem; color: var(--bs-secondary-color); }
.nc-footer, .msg-footer { height: 1.1rem; }

/* nc-specific */
.nc-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    font-size: .78rem;
    flex-shrink: 0;
}
.nc-text {
    font-size: .875rem;
    color: var(--bs-body-color);
    line-height: 1.45;
    margin-bottom: .28rem;
}
.nc-empty {
    text-align: center;
    padding: 3rem 1rem 3.5rem;
    color: var(--bs-secondary-color);
}
.nc-empty-icon {
    font-size: 2.1rem;
    opacity: .22;
    display: block;
    margin-bottom: .65rem;
}
.nc-empty p { font-size: .875rem; margin: 0; }
.nc-icon-alerts   { background: #fef3c7; color: #d97706; }
.nc-icon-results  { background: #d1fae5; color: #059669; }
.nc-icon-congress { background: #dbeafe; color: #2563eb; }
.nc-icon-impeach  { background: #fee2e2; color: #dc2626; }
.nc-icon-nominate { background: #ede9fe; color: #7c3aed; }
.nc-icon-event    { background: #ffedd5; color: #ea580c; }
.nc-icon-event-active { background: #dcfce7; color: #16a34a; }
.nc-icon-system   { background: #f3f4f6; color: #6b7280; }
.nc-icon-economy  { background: #d1fae5; color: #059669; }
.nc-icon-state    { background: #e0f2fe; color: #0284c7; }
.nc-icon-campaign { background: #ffe4e6; color: #e11d48; }
.nc-icon-transfer { background: #dcfce7; color: #16a34a; }
.nc-icon-other    { background: var(--bs-secondary-bg); color: var(--bs-secondary-color); }
.nc-pill-alerts   { background: #fef3c7; color: #92400e; }
.nc-pill-results  { background: #d1fae5; color: #065f46; }
.nc-pill-congress { background: #dbeafe; color: #1e40af; }
.nc-pill-impeach  { background: #fee2e2; color: #991b1b; }
.nc-pill-nominate { background: #ede9fe; color: #5b21b6; }
.nc-pill-event    { background: #ffedd5; color: #9a3412; }
.nc-pill-event-active { background: #dcfce7; color: #15803d; }
.nc-pill-system   { background: #f3f4f6; color: #374151; }
.nc-pill-economy  { background: #d1fae5; color: #065f46; }
.nc-pill-state    { background: #e0f2fe; color: #075985; }
.nc-pill-campaign { background: #ffe4e6; color: #9f1239; }
.nc-pill-transfer { background: #dcfce7; color: #15803d; }
.nc-pill-other    { background: var(--bs-secondary-bg); color: var(--bs-secondary-color); }
[data-bs-theme="dark"] .nc-icon-alerts   { background: rgba(245,158,11,.15);  color: #fbbf24; }
[data-bs-theme="dark"] .nc-icon-results  { background: rgba(16,185,129,.15);  color: #34d399; }
[data-bs-theme="dark"] .nc-icon-congress { background: rgba(59,130,246,.15);  color: #60a5fa; }
[data-bs-theme="dark"] .nc-icon-impeach  { background: rgba(239,68,68,.15);   color: #f87171; }
[data-bs-theme="dark"] .nc-icon-nominate { background: rgba(139,92,246,.15);  color: #a78bfa; }
[data-bs-theme="dark"] .nc-icon-event    { background: rgba(249,115,22,.15);  color: #fb923c; }
[data-bs-theme="dark"] .nc-icon-event-active { background: rgba(22,163,74,.15); color: #4ade80; }
[data-bs-theme="dark"] .nc-icon-system   { background: rgba(107,114,128,.15); color: #9ca3af; }
[data-bs-theme="dark"] .nc-icon-economy  { background: rgba(16,185,129,.15);  color: #34d399; }
[data-bs-theme="dark"] .nc-icon-state    { background: rgba(2,132,199,.15);   color: #38bdf8; }
[data-bs-theme="dark"] .nc-icon-campaign { background: rgba(225,29,72,.15);   color: #fb7185; }
[data-bs-theme="dark"] .nc-icon-transfer { background: rgba(22,163,74,.15);   color: #4ade80; }
[data-bs-theme="dark"] .nc-icon-other    { background: rgba(255,255,255,.05); color: #6b7280; }
[data-bs-theme="dark"] .nc-pill-alerts   { background: rgba(245,158,11,.15);  color: #fbbf24; }
[data-bs-theme="dark"] .nc-pill-results  { background: rgba(16,185,129,.15);  color: #34d399; }
[data-bs-theme="dark"] .nc-pill-congress { background: rgba(59,130,246,.15);  color: #60a5fa; }
[data-bs-theme="dark"] .nc-pill-impeach  { background: rgba(239,68,68,.15);   color: #f87171; }
[data-bs-theme="dark"] .nc-pill-nominate { background: rgba(139,92,246,.15);  color: #a78bfa; }
[data-bs-theme="dark"] .nc-pill-event    { background: rgba(249,115,22,.15);  color: #fb923c; }
[data-bs-theme="dark"] .nc-pill-event-active { background: rgba(22,163,74,.15); color: #4ade80; }
[data-bs-theme="dark"] .nc-pill-system   { background: rgba(107,114,128,.15); color: #9ca3af; }
[data-bs-theme="dark"] .nc-pill-economy  { background: rgba(16,185,129,.15);  color: #34d399; }
[data-bs-theme="dark"] .nc-pill-state    { background: rgba(2,132,199,.15);   color: #38bdf8; }
[data-bs-theme="dark"] .nc-pill-campaign { background: rgba(225,29,72,.15);   color: #fb7185; }
[data-bs-theme="dark"] .nc-pill-transfer { background: rgba(22,163,74,.15);   color: #4ade80; }
[data-bs-theme="dark"] .nc-pill-other    { background: rgba(255,255,255,.05); color: #9ca3af; }

/* msg-specific */
.msg-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    display: inline-block;
}
.msg-text {
    font-size: .875rem;
    line-height: 1.45;
    margin-bottom: .28rem;
}
.msg-text a { color: var(--bs-body-color); text-decoration: none; font-weight: 500; }
.msg-text a:hover { text-decoration: underline; }
.msg-text.unread a { font-weight: 700; }
.msg-sender { font-size: .74rem; color: var(--bs-secondary-color); text-decoration: none; }
.msg-sender:hover { text-decoration: underline; color: var(--bs-secondary-color); }
.msg-pill-new       { background: #fef3c7; color: #92400e; }
.msg-pill-read      { background: var(--bs-secondary-bg); color: var(--bs-secondary-color); }
.msg-pill-delivered { background: #e0f2fe; color: #075985; }
[data-bs-theme="dark"] .msg-pill-new       { background: rgba(245,158,11,.15); color: #fbbf24; }
[data-bs-theme="dark"] .msg-pill-delivered { background: rgba(2,132,199,.15);  color: #38bdf8; }

div[class^="tt_sm"] {
    opacity: 1 !important;
    font-family: "Nunito Sans", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    background: var(--ppusa-theme-card-bg) !important;
    color: var(--ppusa-theme-text) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.12) !important;
    border: 1px solid var(--ppusa-theme-border) !important;
}
div[class^="tt_sm"] div[style*="background"] {
    background: transparent !important;
    color: var(--ppusa-theme-text) !important;
}
div[class^="tt_sm"] .tt-muted { color: var(--ppusa-theme-text-muted) !important; }
div[class^="tt_sm"] .tt-sep { border-top: 1px solid var(--ppusa-theme-border); }
.collapse-chevron { transition: transform 0.2s ease; }
[aria-expanded="true"] .collapse-chevron { transform: rotate(90deg); }
@keyframes ppusa-strike-pulse {
    0%, 100% { border-color: var(--bs-danger); box-shadow: 0 0 8px rgba(220, 53, 69, .35); }
    50% { border-color: transparent; box-shadow: none; }
}
.ppusa-strike-card {
    border: 2px solid var(--bs-danger);
    animation: ppusa-strike-pulse 2s ease-in-out infinite;
}
