@font-face {
    font-family: Thiccboi;
    src: url(fonts/THICCCBOI-Thin.ttf);
    font-weight: 200;
}
@font-face {
    font-family: Thiccboi;
    src: url(fonts/THICCCBOI-Light.ttf);
    font-weight: 300;
}
@font-face {
    font-family: Thiccboi;
    src: url(fonts/THICCCBOI-Regular.ttf);
    font-weight: 400;
}
@font-face {
    font-family: Thiccboi;
    src: url(fonts/THICCCBOI-SemiBold.ttf);
    font-weight: 500;
}
@font-face {
    font-family: Thiccboi;
    src: url(fonts/THICCCBOI-Bold.ttf);
    font-weight: 600;
}
h1, h2, h3, h4, h5, h6 {
    font-size:1.75em;
    margin:0;
    padding:0;
    font-family: Thiccboi, Arial, Helvetica, sans-serif;
    font-weight:normal;
}
h3 { 
    font-weight:500;
}
h4 {
    font-size: 18px;
    font-weight: 500;
}
h5 {
    font-size: 1em;
    font-weight:300;
}
h6 { 
    font-size: 1em;
    font-weight:200; }



html, body {
    font-family: Thiccboi, Arial, Helvetica, sans-serif;
    width: 100%;
    height: 100%;
    margin: 0;
    background-color: #FFFFFF;
    box-sizing: border-box;
}

/* Small / Large screen toggle */

@media (max-width: 841px) {
    .large-only {
        display: none;
    }
}

@media (min-width: 841px) {
    .small-only {
        display: none;
    }
}

/* Default styles */

/*
 * Telerik popups (dropdowns, etc.) are rendered into a .k-animation-container
 * somewhere under <article>, which is position: relative (needed for the
 * LockedPreview overlay). That makes <article> the offset parent, so the popup's
 * absolute viewport coordinates are shifted by <article>'s offset and the popup
 * renders detached from its anchor. Forcing these popups to fixed positioning
 * makes Telerik's viewport coordinates resolve correctly so the popup anchors to
 * its field. Use a descendant selector (not a direct-child one) so it also covers
 * pages whose layout nests the popup deeper (e.g. the account page via ManageLayout).
 */
article .k-animation-container {
    position: fixed;
}

.assisto-row{
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.user-content-page{
    width: 100%;
    height: 100%;
    max-width: 100%;
    overflow: auto;
    margin-bottom: 5rem;
}

.user-content-page.large{
    overflow: hidden;
}

.user-content-page-container{
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    height: 100%;
    width: 100%;
}

@media (min-width: 841px){
    .user-content-page-container{
        padding: 4rem 4rem 2rem 4rem;
    }
}

.manage-header{
    display: flex;
    flex-direction: row;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
}

.form-floating{
    width: 100%;
    max-width: 100%;
    margin-bottom: 1rem;
}

.account button, .account-message button {
    text-transform: uppercase;
}

button{
    border: none;
    background: none;
}

.account-message{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

*:focus-visible{
    outline: 1px solid var(--assisto-primary);
}

.k-picker-outline:focus-visible{
    outline: none;
}

/* disable chrome default blue highlight on filled input texts */
/* https://stackoverflow.com/a/46829178 */ 
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
}

/* Custom styles */

.plan-selection-dialog, .pack-selection-dialog{
    min-width: 80%;
    width: fit-content;
    height: fit-content;
    user-select: none;
}

.plan-selection-dialog .dialog-body,
.pack-selection-dialog .dialog-body{
    height: 100%;
}

/*.lock{
    backdrop-filter: blur(1px);
}

.blocked {
    filter: blur(1px);
}*/

/* Overrides */

a, 
a:focus, 
a:hover, 
a:active,
.btn-link{
    color: var(--assisto-primary);
}

a:focus,
a:hover,
a:active {
}

.btn-primary,
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    color: #fff;
    background-color: var(--assisto-primary);
    border-color: var(--assisto-primary);
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    filter: brightness(115%);
}

.form-control:focus,
.k-picker-outline:focus{
    border-color: var(--assisto-primary-focus-border);
}

.k-list-item.k-selected,
.k-selected.k-list-optionlabel,
.k-selected.k-list-optionlabel:hover
{
    color: var(--assisto-primary);
}

.form-check-input:checked{
    background-color:var(--assisto-primary);
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 .25rem var(--assisto-primary-focus-border);
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid var(--assisto-primary);
}

/*.invalid {
    outline: 1px solid var(--assisto-error-border);
}*/

.validation-message {
    color: var(--assisto-error);
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, var(--assisto-error-border);
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "An error has occurred."
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.alert-danger{
    background-color: var(--assisto-error-bg);
    border-color: var(--assisto-error);
}

.text-danger{
    margin: .5rem 0 .25rem 0;
    color: var(--assisto-error);
}

.invalid{
    border-color: var(--assisto-error-border);
}

.k-textbox > input{
    background-color: white;
}

.account form button{
    text-transform: uppercase;
}

/* Colors */

* {
    --assisto-bg: #eeeeee;
    --assisto-primary: #0ba292;
    --assisto-primary-focus: #0B8F81;
    --assisto-primary-filter: brightness(0) saturate(100%) invert(35%) sepia(97%) saturate(3512%) hue-rotate(156deg) brightness(93%) contrast(91%);
    --assisto-primary-rgb: 11, 143, 129;
    --assito-secondary: #00C9AF;
    --assito-secondary-focus: #058373;
    --assisto-primary-focus-border: rgba(11, 142, 128, 0.34);
    --assisto-tertiary: #4a80d1;
    --assisto-tertiary-rgb: 74, 128, 209;
    --assisto-border: #929292;
    --assisto-blue: #2683D4;
    --assisto-blue-filter: brightness(0) saturate(100%) invert(42%) sepia(86%) saturate(706%) hue-rotate(172deg) brightness(91%) contrast(88%);
    --assisto-white-filter: brightness(0) saturate(100%) invert(94%) sepia(100%) saturate(0%) hue-rotate(115deg) brightness(104%) contrast(102%);
    --assisto-action-bg: #FCF7EE;
    --assisto-action-bg-border: rgba(0, 0, 0, 0.12);

    --assisto-primary-text: black;
    --assisto-secondary-text: #747474;
    
    --assisto-warning: #f0881f;
    --assisto-warning-bg: #ffe3cc;
    --assisto-warning-rgb: 240, 136, 31;
    --assisto-warning-filter: brightness(0) saturate(100%) invert(77%) sepia(52%) saturate(5123%) hue-rotate(347deg) brightness(97%) contrast(94%);
    --assisto-error: #F01F83;
    --assisto-error-bg: #fad0e4;
    --assisto-error-border: #f156a1;
    --assisto-error-rgb: 240, 31, 131;
    --assisto-error-filter: brightness(0) saturate(100%) invert(18%) sepia(51%) saturate(6207%) hue-rotate(321deg) brightness(105%) contrast(88%);
    
    --assisto-credits-bg: #F67FED;

    --assisto-highlight-yellow: #bcdf0c;
    
    --ease-time: .4s;
    --ease-curve: cubic-bezier(0, 0, 0, 1);
    --bs-blue: var(--assisto-primary);
    --bs-primary: var(--assisto-primary);
    --bs-danger-rgb: var(--assisto-error-rgb);
    --mud-palette-primary: var(--assisto-primary);
    --mud-palette-primary-rgb: 11, 142, 128;
    --mud-palette-primary-darken: var(--assisto-primary);
    --mud-palette-primary-lighten: var(--assisto-primary);
}

/* ============================================================
   Dark theme for the public report view (/report).
   Activated by toggling `theme-dark` on <body> (see toggleTheme()
   in ReportView.razor). Lives here, in the global (non-scoped)
   stylesheet, because most surfaces are rendered by child
   components whose scoped CSS a `.razor.css` file cannot reach.
   Selectors are prefixed with `body.theme-dark` so they are inert
   on every other page and win over the components' scoped CSS
   (higher specificity) without needing !important.
   ============================================================ */

body.theme-dark {
    background-color: #121417;
}

body.theme-dark .scroll-container,
body.theme-dark .scroll-content {
    background-color: #121417;
    color: #e6e8ea;
}

body.theme-dark .content {
    color: #d7dbde;
}

/* ---- State selector (now lives in the sticky context bar alongside the tabs) ---- */
.header-state-field {
    position: relative;
    display: inline-flex;
    align-items: center;
    border: 1px solid #c0c0c0;
    border-radius: 999px;
    background-color: #ffffff;
    cursor: pointer;
}

.header-state-field:hover {
    border-color: var(--assisto-primary);
}

/* The icon sits on top of the select (which fills the whole pill); pointer-events:none lets clicks
   anywhere — including over the icon — fall through to the select so the entire field opens it. */
.header-state-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    color: var(--assisto-primary);
    pointer-events: none;
}

.header-state-select {
    width: 100%;
    /* Left padding clears the absolutely-positioned icon; the select owns the full clickable area. */
    padding: 5px 12px 5px 34px;
    border: none;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    color: #2b2b2b;
    cursor: pointer;
    outline: none;
}

body.theme-dark .header-state-field {
    background-color: #262b30;
    border-color: #3a4046;
}

body.theme-dark .header-state-select {
    color: #e6e8ea;
}

body.theme-dark .header-state-select option {
    background-color: #1e2226;
    color: #e6e8ea;
}

/* ---- Top header bar + toggle ---- */
body.theme-dark .header {
    background-color: #1a1d21;
    border-bottom-color: #33383d;
}

/* Swap the dark-ink logo for the white one on the dark background */
body.theme-dark .logo-light {
    display: none;
}

body.theme-dark .logo-white {
    display: block;
}

/* "Send to someone" share button (a secondary AButton). Its default white fill glares against the
   dark header, so give it a dark surface with the teal accent kept on the text and border. */
body.theme-dark .share-button button.secondary {
    background-color: #262b30;
    border-color: rgba(95, 208, 194, 0.5);
    color: #5fd0c2;
}

body.theme-dark .share-button button.secondary:hover,
body.theme-dark .share-button button.secondary:focus,
body.theme-dark .share-button button.secondary:active {
    border-color: #5fd0c2;
}

/* ---- Account / settings menu (collapses the inline email, theme toggle and print) ---- */
.account-menu {
    position: relative;
    display: inline-flex;
}

.account-menu-trigger {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 38px;
    padding: 0 10px 0 12px;
    border: 1px solid #c0c0c0;
    border-radius: 999px;
    background-color: #ffffff;
    color: #333333;
    cursor: pointer;
}

.account-menu-trigger:hover {
    border-color: var(--assisto-primary);
}

.account-menu-avatar {
    color: var(--assisto-primary);
}

.account-menu-caret {
    color: #888888;
    transition: transform 0.15s ease;
}

.account-menu-trigger[aria-expanded="true"] .account-menu-caret {
    transform: rotate(180deg);
}

.account-menu-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 240px;
    max-width: calc(100vw - 32px);
    padding: 6px;
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    display: none;
    z-index: 200;
}

.account-menu-panel.open {
    display: block;
}

.account-menu-identity {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    margin-bottom: 4px;
    border-bottom: 1px solid #eeeeee;
}

.account-menu-identity-caption {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #999999;
}

.account-menu-identity-email {
    font-size: 14px;
    font-weight: 600;
    color: #2b2b2b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 280px;
}

.account-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 10px;
    border: none;
    border-radius: 8px;
    background: transparent;
    font-size: 14px;
    color: #333333;
    text-align: left;
    cursor: pointer;
}

.account-menu-item:hover {
    background-color: #f2f2f2;
}

/* The menu renders some items as links (Go to app) and a logout form button; keep them flush with the
   button items (no underline, no inherited form margin). */
a.account-menu-item {
    text-decoration: none;
}

.account-menu-logout-form {
    margin: 0;
}

/* Footer group (Go to app / Log out), set off from the theme + print controls above it. */
.account-menu-footer {
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px solid #eeeeee;
}

body.theme-dark .account-menu-footer {
    border-top-color: #2c3137;
}

.account-menu-item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    color: var(--assisto-primary);
}

body.theme-dark .account-menu-trigger {
    background-color: #262b30;
    border-color: #3a4046;
    color: #e6e8ea;
}

body.theme-dark .account-menu-trigger:hover {
    border-color: var(--assisto-primary);
}

body.theme-dark .account-menu-caret {
    color: #9aa3a8;
}

body.theme-dark .account-menu-panel {
    background-color: #1e2226;
    border-color: #33383d;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

body.theme-dark .account-menu-identity {
    border-bottom-color: #2c3137;
}

body.theme-dark .account-menu-identity-caption {
    color: #8b9398;
}

body.theme-dark .account-menu-identity-email {
    color: #e6e8ea;
}

body.theme-dark .account-menu-item {
    color: #d7dbde;
}

body.theme-dark .account-menu-item:hover {
    background-color: #2c3137;
}

/* ---- Tabs ---- */
body.theme-dark .tab-button {
    background-color: #262b30;
    color: #5fd0c2;
}

body.theme-dark .tab-button.active {
    background-color: var(--assisto-primary);
    color: #ffffff;
}

body.theme-dark .tab-button:not(.active):hover {
    background-color: #31373d;
}

/* ---- State / Topic switcher ---- */
body.theme-dark .report-switcher-label {
    color: #9aa3a8;
}

body.theme-dark .report-switcher-select {
    background-color: #262b30;
    border-color: #3a4046;
    color: #e6e8ea;
}

body.theme-dark .report-switcher-select:hover {
    border-color: var(--assisto-primary);
}

/* ---- Section navigation (left rail + mobile) ---- */
body.theme-dark .section-navigator-desktop,
body.theme-dark .section-navigator-mobile,
body.theme-dark .section-navigator-mobile .nav-header,
body.theme-dark .section-navigator-mobile .nav-content {
    background-color: #1e2226;
    border-color: #33383d;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

body.theme-dark .section-navigator-mobile .nav-item {
    border-bottom-color: #2c3137;
    color: #c4ccd0;
}

body.theme-dark .section-navigator-desktop .nav-item.subsection,
body.theme-dark .section-navigator-mobile .nav-item.subsection {
    color: #9aa3a8;
    border-left-color: #3a4046;
}

body.theme-dark .section-navigator-desktop .nav-item:hover,
body.theme-dark .section-navigator-mobile .nav-item:hover {
    background-color: #2a3036;
}

/* ---- Report headings ---- */
body.theme-dark .report-category h2,
body.theme-dark .header-content {
    color: #e6e8ea;
}

/* ---- Overview: charts, collapsibles, resources ---- */
body.theme-dark .chart-container {
    background-color: #1e2226;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

body.theme-dark .overview-collapsible-toggle {
    background-color: #1e2226;
    border-color: #33383d;
    color: #e6e8ea;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

body.theme-dark .overview-collapsible-toggle:hover {
    background-color: #2a3036;
}

body.theme-dark .overview-collapsible-label {
    color: #e6e8ea;
}

body.theme-dark .resources {
    background-color: #20262b;
}

/* ---- Citation list items ---- */
body.theme-dark .citation .content {
    background-color: #1e2226;
    border-color: #3a4046;
}

body.theme-dark .citation .title,
body.theme-dark .citation .tag-num {
    color: #e6e8ea;
}

body.theme-dark .similar-citation,
body.theme-dark .similar-citation .content,
body.theme-dark .story-similar-container {
    background-color: #181b1e;
}

/* "See more details" / "Show citation" buttons on citation cards: the secondary
   AButton is white by default, which glares against the dark card. Sink it into
   the card and switch to the teal accent (matches the checklist read-more). */
body.theme-dark .citation .read-more {
    background-color: #1e2226;
    color: #5fd0c2;
}

/* ---- Report statistics ---- */
body.theme-dark .report-statistics,
body.theme-dark .penalty-exposure {
    background-color: #20262b;
}

body.theme-dark .stat-label,
body.theme-dark .exposure-title {
    color: #c4ccd0;
}

body.theme-dark .citation-date,
body.theme-dark .exposure-label,
body.theme-dark .no-penalty-exposure {
    color: #9aa3a8;
}

body.theme-dark .expanded-details {
    border-top-color: #33383d;
}

/* ---- Intro container ---- */
body.theme-dark .intro-container {
    background-color: #20262b;
    color: #d7dbde;
}

/* ---- Modals (story detail + share) ---- */
body.theme-dark .modal-panel {
    background-color: #1e2226;
    color: #e6e8ea;
}

body.theme-dark .modal-header,
body.theme-dark .modal-panel .header,
body.theme-dark .modal-panel .footer {
    background-color: #1e2226;
    border-color: #33383d;
}

body.theme-dark .with-separators > .body {
    border-color: #33383d;
}

/* ---- Share modal form fields ---- */
body.theme-dark .share-form-field input,
body.theme-dark .share-form-field textarea,
body.theme-dark .share-email-container input,
body.theme-dark .share-url-container input {
    background-color: #14181b;
    border-color: #3a4046;
    color: #e6e8ea;
}

body.theme-dark .share-form-field input::placeholder,
body.theme-dark .share-form-field textarea::placeholder {
    color: #6b747a;
}

/* ---- Checklist ---- */
body.theme-dark .audit-category-title {
    color: #e6e8ea;
}

body.theme-dark .audit-panel .audit-action .audit-action-title {
    background-color: #1f2a29;
}

body.theme-dark .audit-panel .audit-action .audit-action-title span,
body.theme-dark .audit-panel .audit-action .issue-found {
    color: #d7dbde;
}

body.theme-dark .audit-panel .audit-action .read-more {
    background-color: #1e2226;
    color: #5fd0c2;
}

/* ---- Signup prompt ---- */
body.theme-dark .signup-prompt {
    background-color: #16201e;
    border-color: var(--assisto-primary);
    color: #d7dbde;
}

body.theme-dark .signup-prompt p,
body.theme-dark .signup-prompt .signup-prompt-social {
    color: #c4ccd0;
}

body.theme-dark .signup-prompt .signup-prompt-billing,
body.theme-dark .signup-prompt .signup-prompt-note {
    color: #8a9794;
}

/* ---- Links inside report body ---- */
body.theme-dark .som-links a,
body.theme-dark .citation-link {
    color: #6cb7ff;
}

/* ---- State trends dashboard ----
   The trends section (StateTrendsSection) styles itself off a small set of
   semantic custom properties defined on .trends-dashboard in its scoped CSS.
   Re-pointing those variables here is enough to flip the whole section to dark
   — no need to mirror each rule. Chart.js canvases can't be reached by CSS, so
   their axis/legend colours are themed in the component's script instead. */
body.theme-dark .trends-dashboard {
    --trend-card-bg: #1e2226;
    --trend-card-border: #33383d;
    --trend-surface: #20262b;
    --trend-text: #d7dbde;
    --trend-muted: #9aa3a8;
    --trend-faint: #6b747a;
    --trend-divider: #2c3137;
    /* Lifted toward the light end so the red/green still reads on the dark surface. */
    --trend-up: #e8705f;
    --trend-down: #34c896;
}


