/* ==========================================================================
   VresMou³ Dark Theme
   Modern dark theme with geometric background and glassmorphism effects
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CSS Custom Properties - Color Palette
   -------------------------------------------------------------------------- */
:root {
    /* Background colors */
    --dark-bg-primary: #1a1d24;
    --dark-bg-secondary: #232830;
    --dark-bg-card: rgba(30, 35, 45, 0.85);
    --dark-bg-card-hover: rgba(40, 45, 55, 0.9);
    --dark-bg-elevated: rgba(45, 50, 60, 0.95);

    /* Accent colors */
    --dark-accent-primary: #00c9a7;
    --dark-accent-secondary: #00a1bf;
    --dark-accent-gradient: linear-gradient(135deg, #00c9a7 0%, #00a1bf 100%);

    /* Text colors */
    --dark-text-primary: #ffffff;
    --dark-text-secondary: #a0a5b0;
    --dark-text-tertiary: #6b7280;
    --dark-text-muted: #4a5568;

    /* Border colors */
    --dark-border-primary: rgba(255, 255, 255, 0.08);
    --dark-border-secondary: rgba(255, 255, 255, 0.12);
    --dark-border-accent: rgba(0, 201, 167, 0.3);

    /* Status colors */
    --dark-status-positive: #00c9a7;
    --dark-status-warning: #f59e0b;
    --dark-status-negative: #ef4444;
    --dark-status-info: #3b82f6;

    /* Shadows */
    --dark-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.3);
    --dark-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
    --dark-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
    --dark-shadow-glow: 0 0 20px rgba(0, 201, 167, 0.15);

    /* Spacing & Sizing */
    --dark-radius-sm: 8px;
    --dark-radius-md: 12px;
    --dark-radius-lg: 16px;
    --dark-radius-xl: 24px;

    /* Transitions */
    --dark-transition-fast: 0.15s ease;
    --dark-transition-normal: 0.25s ease;
    --dark-transition-slow: 0.4s ease;
}

/* --------------------------------------------------------------------------
   2. Base Styles & Background
   -------------------------------------------------------------------------- */
html,
body {
    background: var(--dark-bg-primary) !important;
    color: var(--dark-text-primary) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    min-height: 100vh;
}

body {
    position: relative;
}

/* Geometric polygon background */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        /* Geometric polygons using gradients */
        linear-gradient(135deg, transparent 40%, rgba(0, 201, 167, 0.03) 40%, rgba(0, 201, 167, 0.03) 45%, transparent 45%),
        linear-gradient(225deg, transparent 35%, rgba(0, 161, 191, 0.04) 35%, rgba(0, 161, 191, 0.04) 42%, transparent 42%),
        linear-gradient(315deg, transparent 50%, rgba(30, 58, 95, 0.15) 50%, rgba(30, 58, 95, 0.15) 60%, transparent 60%),
        linear-gradient(45deg, transparent 30%, rgba(20, 40, 70, 0.2) 30%, rgba(20, 40, 70, 0.2) 40%, transparent 40%),
        linear-gradient(180deg, var(--dark-bg-primary) 0%, #141820 50%, #0f1318 100%);
    pointer-events: none;
    z-index: -1;
}

/* Additional subtle geometric overlay */
body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(ellipse at 20% 20%, rgba(0, 201, 167, 0.05) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 80%, rgba(0, 161, 191, 0.05) 0%, transparent 50%);
    pointer-events: none;
    z-index: -1;
}

/* --------------------------------------------------------------------------
   3. Typography Overrides
   -------------------------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--dark-text-primary) !important;
}

p,
span,
div {
    color: inherit;
}

a {
    color: var(--dark-accent-primary) !important;
    transition: color var(--dark-transition-fast);
}

a:hover {
    color: var(--dark-accent-secondary) !important;
}

/* --------------------------------------------------------------------------
   4. Layout Overrides
   -------------------------------------------------------------------------- */
.page {
    background: transparent !important;
}

main {
    background: transparent !important;
}

.content {
    background: transparent !important;
}

article.content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 1rem !important;
}

/* --------------------------------------------------------------------------
   5. Card/Thread Grid Styles - Enhanced Glassmorphism
   -------------------------------------------------------------------------- */
.threadGrid {
    position: relative;
    background: linear-gradient(135deg, rgba(35, 40, 50, 0.75) 0%, rgba(28, 32, 42, 0.85) 100%) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: var(--dark-radius-lg) !important;
    padding: 1rem !important;
    margin-bottom: 1rem !important;
    transition: all var(--dark-transition-normal);
    box-shadow:
        0 4px 24px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
    overflow: hidden;
}

/* Cursor glow effect overlay */
.threadGrid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(400px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
            rgba(0, 201, 167, 0.12) 0%,
            rgba(0, 161, 191, 0.06) 25%,
            transparent 50%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 1;
    border-radius: inherit;
}

.threadGrid:hover::before {
    opacity: 1;
}

/* Subtle border glow on hover */
.threadGrid::after {
    content: '';
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    background: linear-gradient(135deg,
            rgba(0, 201, 167, 0.15) 0%,
            transparent 30%,
            transparent 70%,
            rgba(0, 161, 191, 0.1) 100%);
    border-radius: inherit;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 0;
}

.threadGrid:hover::after {
    opacity: 1;
}

.threadGrid:hover {
    background: linear-gradient(135deg, rgba(40, 45, 58, 0.85) 0%, rgba(32, 38, 50, 0.9) 100%) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.4),
        0 0 24px rgba(0, 201, 167, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transform: translateY(-2px);
}

/* Ensure content stays above the glow effects */
.threadGrid>* {
    position: relative;
    z-index: 2;
}

.threadGrid.expired {
    filter: grayscale(0.6);
    opacity: 0.7;
}

/* Thread image frame */
.thread-listImgCell,
.imgFrame {
    background: var(--dark-bg-secondary) !important;
    border-radius: var(--dark-radius-md) !important;
    border: 1px solid var(--dark-border-primary) !important;
}

.thread-image {
    border-radius: var(--dark-radius-md) !important;
}

/* Thread title */
.thread-title {
    color: var(--dark-text-primary) !important;
    font-weight: 600 !important;
}

/* Thread price */
.thread-price,
.threadItemCard-price {
    color: var(--dark-status-positive) !important;
    font-weight: 700 !important;
}

/* Strikethrough old price */
.text--lineThrough {
    color: var(--dark-text-tertiary) !important;
}

/* Discount percentage */
.color--text-TranslucentPrimary {
    color: var(--dark-status-positive) !important;
}

/* Footer meta */
.footerMeta-infoSlot {
    color: var(--dark-text-secondary) !important;
}

/* --------------------------------------------------------------------------
   6. Vote Box Styles
   -------------------------------------------------------------------------- */
.vote-box {
    background: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border-primary) !important;
    border-radius: var(--dark-radius-xl) !important;
}

.vote-button {
    color: var(--dark-text-secondary) !important;
    transition: color var(--dark-transition-fast);
}

.vote-button:hover:not(:disabled) {
    color: var(--dark-text-primary) !important;
}

.vote-button:disabled {
    opacity: 0.4;
}

.vote-temp {
    color: var(--dark-text-primary) !important;
    font-weight: 600 !important;
}

.vote-temp--cold {
    color: var(--dark-status-info) !important;
}

.vote-temp--warm {
    color: var(--dark-status-warning) !important;
}

.vote-temp--burn {
    color: var(--dark-status-negative) !important;
}

/* --------------------------------------------------------------------------
   7. Button Styles
   -------------------------------------------------------------------------- */
.button {
    background: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border-primary) !important;
    color: var(--dark-text-secondary) !important;
    border-radius: var(--dark-radius-sm) !important;
    transition: all var(--dark-transition-fast);
}

.button:hover {
    background: var(--dark-bg-elevated) !important;
    border-color: var(--dark-border-secondary) !important;
    color: var(--dark-text-primary) !important;
}

.button--shape-circle {
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* --------------------------------------------------------------------------
   8. Radzen Component Overrides
   -------------------------------------------------------------------------- */

/* Radzen Buttons */
.rz-button {
    transition: all var(--dark-transition-fast) !important;
}

.rz-button.rz-variant-text {
    color: var(--dark-text-secondary) !important;
}

.rz-button.rz-variant-text:hover {
    color: var(--dark-text-primary) !important;
    background: rgba(255, 255, 255, 0.08) !important;
}

/* Radzen SelectBar (Date Buttons) - Matching Reference Design with Hover Glow */
.rz-selectbutton {
    position: relative;
    background: linear-gradient(135deg, rgba(35, 40, 50, 0.85) 0%, rgba(28, 32, 42, 0.9) 100%) !important;
    border-radius: 50px !important;
    padding: 5px 6px !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    overflow: hidden;
    transition: all 0.3s ease !important;
}

/* Cursor glow effect for the entire selectbutton container */
.rz-selectbutton::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(300px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
            rgba(0, 201, 167, 0.12) 0%,
            rgba(0, 161, 191, 0.06) 25%,
            transparent 50%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
}

.rz-selectbutton:hover::before {
    opacity: 1;
}

.rz-selectbutton:hover {
    border-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow:
        0 6px 24px rgba(0, 0, 0, 0.3),
        0 0 16px rgba(0, 201, 167, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.rz-selectbutton .rz-button {
    position: relative;
    z-index: 1;
    background: transparent !important;
    color: rgba(160, 165, 176, 0.85) !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 0.5rem 1.2rem !important;
    font-weight: 500 !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    transition: all 0.25s ease !important;
}

.rz-selectbutton .rz-button:hover:not(.rz-state-highlight) {
    color: rgba(255, 255, 255, 0.95) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.3);
}

/* Selected/Active button - enhanced styling */
.rz-selectbutton .rz-button.rz-state-highlight {
    background: linear-gradient(135deg, var(--dark-accent-primary) 0%, #00a08a 100%) !important;
    color: #0a1015 !important;
    font-weight: 700 !important;
    box-shadow:
        0 4px 12px rgba(0, 201, 167, 0.4),
        0 0 20px rgba(0, 201, 167, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    transform: scale(1.02);
}

/* Radzen TextBox */
.rz-textbox {
    background: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border-primary) !important;
    border-radius: var(--dark-radius-md) !important;
    color: var(--dark-text-primary) !important;
    transition: border-color var(--dark-transition-fast) !important;
}

.rz-textbox:focus,
.rz-textbox:focus-within {
    border-color: var(--dark-accent-primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 201, 167, 0.15) !important;
}

.rz-textbox::placeholder {
    color: var(--dark-text-tertiary) !important;
}

/* Radzen DropDown */
.rz-dropdown {
    background: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border-primary) !important;
    border-radius: var(--dark-radius-md) !important;
    color: var(--dark-text-primary) !important;
}

.rz-dropdown-panel {
    background: var(--dark-bg-elevated) !important;
    border: 1px solid var(--dark-border-secondary) !important;
    border-radius: var(--dark-radius-md) !important;
    box-shadow: var(--dark-shadow-lg) !important;
}

.rz-dropdown-item {
    color: var(--dark-text-primary) !important;
}

.rz-dropdown-item:hover,
.rz-dropdown-item.rz-state-highlight {
    background: var(--dark-accent-primary) !important;
    color: var(--dark-bg-primary) !important;
}

/* Radzen DatePicker */
.rz-datepicker {
    background: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border-primary) !important;
    border-radius: var(--dark-radius-md) !important;
    color: var(--dark-text-primary) !important;
}

.rz-calendar {
    background: var(--dark-bg-elevated) !important;
    border: 1px solid var(--dark-border-secondary) !important;
    border-radius: var(--dark-radius-md) !important;
}

/* Radzen DataList */
.rz-datalist {
    background: transparent !important;
}

.rz-datalist-content {
    background: transparent !important;
}

/* Radzen Dialog */
.rz-dialog {
    background: var(--dark-bg-elevated) !important;
    border: 1px solid var(--dark-border-secondary) !important;
    border-radius: var(--dark-radius-lg) !important;
    box-shadow: var(--dark-shadow-lg) !important;
}

.rz-dialog-titlebar {
    background: var(--dark-bg-secondary) !important;
    border-bottom: 1px solid var(--dark-border-primary) !important;
    color: var(--dark-text-primary) !important;
    padding-block: 1rem;
}

.rz-dialog-title {
    color: var(--dark-text-primary) !important;
}

.rz-dialog-titlebar-icon {
    color: var(--dark-text-secondary) !important;
}

.rz-dialog-titlebar-icon:hover {
    color: var(--dark-text-primary) !important;
}

.rz-dialog-content {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text-primary) !important;
}

/* Radzen FormField - Labels floating above inputs */
.rz-form-field {
    color: var(--dark-text-primary) !important;
}

.rz-form-field .rz-form-field-label {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-bg-elevated) !important;
}

.rz-form-field.rz-variant-outlined .rz-form-field-label {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text-secondary) !important;
    padding: 0 4px !important;
}

.rz-form-field .rz-form-field-label-floating,
.rz-form-field .rz-form-field-label-focus {
    color: var(--dark-accent-primary) !important;
}

.rz-form-field.rz-variant-outlined:focus-within .rz-form-field-label {
    color: var(--dark-accent-primary) !important;
}

/* Radzen Text Component */
.rz-text,
RadzenText {
    color: var(--dark-text-primary) !important;
}

.rz-text-overline {
    color: var(--dark-text-secondary) !important;
}

.rz-text-caption,
.rz-text-body1,
.rz-text-body2 {
    color: var(--dark-text-primary) !important;
}

/* Radzen DataGrid */
.rz-data-grid {
    background: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border-primary) !important;
    border-radius: var(--dark-radius-md) !important;
}

.rz-grid-table {
    color: var(--dark-text-primary) !important;
}

.rz-data-grid .rz-datatable-thead>tr>th {
    background: var(--dark-bg-secondary) !important;
    color: var(--dark-text-secondary) !important;
    border-color: var(--dark-border-primary) !important;
}

.rz-data-grid .rz-datatable-data>tr {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border-primary) !important;
}

.rz-data-grid .rz-datatable-data>tr:hover {
    background: rgba(0, 201, 167, 0.08) !important;
}

.rz-data-grid .rz-datatable-data>tr>td {
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border-primary) !important;
}

.rz-data-grid .rz-cell-data {
    color: var(--dark-text-primary) !important;
}

/* DataGrid Pagination */
.rz-paginator {
    background: var(--dark-bg-secondary) !important;
    color: var(--dark-text-secondary) !important;
    border-color: var(--dark-border-primary) !important;
}

.rz-paginator-page,
.rz-paginator-first,
.rz-paginator-prev,
.rz-paginator-next,
.rz-paginator-last {
    color: var(--dark-text-secondary) !important;
}

.rz-paginator-page:hover,
.rz-paginator-first:hover,
.rz-paginator-prev:hover,
.rz-paginator-next:hover,
.rz-paginator-last:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--dark-text-primary) !important;
}

.rz-paginator .rz-state-active {
    background: var(--dark-accent-primary) !important;
    color: var(--dark-bg-primary) !important;
}

/* DataGrid Filters */
.rz-data-grid .rz-filter-row {
    background: var(--dark-bg-secondary) !important;
}

.rz-data-grid .rz-cell-filter * {
    color: var(--dark-text-primary) !important;
}

/* Radzen Numeric Input */
.rz-spinner,
.rz-numeric {
    background: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border-primary) !important;
    color: var(--dark-text-primary) !important;
}

.rz-spinner input,
.rz-numeric input {
    color: var(--dark-text-primary) !important;
    background: transparent !important;
}

.rz-spinner .rz-spinner-button,
.rz-numeric .rz-spinner-button {
    background: var(--dark-bg-elevated) !important;
    color: var(--dark-text-secondary) !important;
    border-color: var(--dark-border-primary) !important;
}

/* Radzen Confirmation */
.rz-confirm {
    background: var(--dark-bg-elevated) !important;
}

.rz-confirm-message {
    color: var(--dark-text-primary) !important;
}

/* Radzen Chart - Enhanced Sleek Styling */
.rz-chart {
    color: var(--dark-text-primary) !important;
    padding: 1rem !important;
}

.rz-chart svg {
    overflow: visible !important;
}

/* Chart text and labels */
.rz-chart text {
    fill: var(--dark-text-secondary) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
}

.rz-chart .rz-axis-title text {
    fill: var(--dark-text-primary) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}

.rz-chart .rz-axis-tick text {
    fill: var(--dark-text-tertiary) !important;
    font-size: 11px !important;
}

/* Chart grid lines - subtle */
.rz-chart .rz-grid-lines line {
    stroke: rgba(255, 255, 255, 0.06) !important;
    stroke-dasharray: none !important;
}

/* Chart line - teal accent gradient */
.rz-chart .rz-line-series path,
.rz-chart .rz-series-path {
    stroke: var(--dark-accent-primary) !important;
    stroke-width: 3px !important;
    filter: drop-shadow(0 2px 4px rgba(0, 201, 167, 0.3)) !important;
}

/* Dashed line variant */
.rz-chart .rz-line-series path[stroke-dasharray],
.rz-chart .rz-series-path[stroke-dasharray] {
    stroke-dasharray: 8, 4 !important;
}

/* Chart markers - square with glow */
.rz-chart .rz-marker {
    fill: var(--dark-accent-primary) !important;
    stroke: var(--dark-bg-elevated) !important;
    stroke-width: 2px !important;
    filter: drop-shadow(0 0 6px rgba(0, 201, 167, 0.5)) !important;
}

/* Data labels on chart points */
.rz-chart .rz-series-data-label text {
    fill: var(--dark-text-primary) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
}

/* Chart legend */
.rz-chart .rz-legend {
    fill: var(--dark-text-secondary) !important;
}

.rz-chart .rz-legend text {
    fill: var(--dark-text-secondary) !important;
    font-size: 12px !important;
}

.rz-chart .rz-legend-item-marker {
    fill: var(--dark-accent-primary) !important;
}

/* Chart tooltip */
.rz-chart-tooltip {
    background: var(--dark-bg-elevated) !important;
    border: 1px solid var(--dark-border-secondary) !important;
    border-radius: var(--dark-radius-md) !important;
    box-shadow: var(--dark-shadow-lg) !important;
    color: var(--dark-text-primary) !important;
    padding: 0.75rem 1rem !important;
}

/* Chart area fill (for area charts) */
.rz-chart .rz-area-series path {
    fill: url(#chart-gradient) !important;
    opacity: 0.3 !important;
}

/* Radzen Slider */
.rz-slider {
    background: var(--dark-bg-secondary) !important;
}

.rz-slider .rz-slider-range {
    background: var(--dark-accent-primary) !important;
}

.rz-slider .rz-slider-handle {
    background: var(--dark-accent-primary) !important;
    border: 2px solid var(--dark-bg-primary) !important;
}

/* Radzen Switch */
.rz-switch .rz-switch-circle {
    background: var(--dark-text-tertiary) !important;
}

.rz-switch.rz-switch-checked .rz-switch-circle {
    background: var(--dark-accent-primary) !important;
}

/* Radzen Label */
.rz-label,
label {
    color: var(--dark-text-secondary) !important;
}

/* Radzen Popup */
.my-popup-c,
.rz-popup {
    background: var(--dark-bg-elevated) !important;
    border: 1px solid var(--dark-border-secondary) !important;
    border-radius: var(--dark-radius-lg) !important;
    box-shadow: var(--dark-shadow-lg) !important;
}

/* --------------------------------------------------------------------------
   9. Header & Logo Area
   -------------------------------------------------------------------------- */
.logo {
    filter: brightness(1.1);
    transition: filter var(--dark-transition-fast);
}

.logo:hover {
    filter: brightness(1.2);
}

/* Telegram link and info */
.ripplewrap {
    color: var(--dark-text-secondary) !important;
}

.ripplewrap a,
.ripplewrap svg path {
    fill: var(--dark-text-secondary) !important;
    transition: fill var(--dark-transition-fast);
}

.ripplewrap a:hover svg path {
    fill: var(--dark-accent-primary) !important;
}

#nextUpdate {
    color: var(--dark-text-secondary) !important;
}

/* --------------------------------------------------------------------------
   10. Scroll to Top Button
   -------------------------------------------------------------------------- */
#scroll-to-top-btn {
    background: var(--dark-accent-primary) !important;
    color: var(--dark-bg-primary) !important;
    border: none !important;
    box-shadow: var(--dark-shadow-md) !important;
    transition: all var(--dark-transition-fast) !important;
}

#scroll-to-top-btn:hover {
    background: var(--dark-accent-secondary) !important;
    transform: translateY(-3px) !important;
    box-shadow: var(--dark-shadow-lg), var(--dark-shadow-glow) !important;
}

/* --------------------------------------------------------------------------
   11. Meta Ribbon & Time Display
   -------------------------------------------------------------------------- */
.metaRibbon {
    color: var(--dark-text-secondary) !important;
}

.metaRibbon .text--b {
    color: var(--dark-text-secondary) !important;
}

/* --------------------------------------------------------------------------
   12. Search Elements
   -------------------------------------------------------------------------- */
.highlighted {
    background: rgba(0, 201, 167, 0.1) !important;
    cursor: pointer;
}

.unhighlighted {
    background: transparent !important;
}

/* --------------------------------------------------------------------------
   13. Bootstrap Overrides
   -------------------------------------------------------------------------- */
.btn-primary {
    background: var(--dark-accent-primary) !important;
    border-color: var(--dark-accent-primary) !important;
    color: var(--dark-bg-primary) !important;
}

.btn-primary:hover {
    background: var(--dark-accent-secondary) !important;
    border-color: var(--dark-accent-secondary) !important;
}

/* Form controls */
.form-control {
    background: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border-primary) !important;
    color: var(--dark-text-primary) !important;
}

.form-control:focus {
    background: var(--dark-bg-secondary) !important;
    border-color: var(--dark-accent-primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 201, 167, 0.15) !important;
}

/* Alerts and error UI */
#blazor-error-ui {
    background: var(--dark-bg-elevated) !important;
    border-top: 1px solid var(--dark-status-warning) !important;
    color: var(--dark-text-primary) !important;
}

/* --------------------------------------------------------------------------
   14. Responsive Adjustments
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
    .threadGrid {
        padding: 0.75rem !important;
        border-radius: var(--dark-radius-md) !important;
    }

    article.content {
        padding: 0.5rem !important;
    }
}

@media (max-width: 480px) {
    .rz-selectbutton .rz-button {
        padding: 0.4rem 0.6rem !important;
        font-size: 0.85rem !important;
    }
}

/* --------------------------------------------------------------------------
   15. Loading States
   -------------------------------------------------------------------------- */
.rz-datalist-loading {
    background: rgba(26, 29, 36, 0.8) !important;
}

/* Skeleton loading animation */
@keyframes skeleton-pulse {

    0%,
    100% {
        opacity: 0.4;
    }

    50% {
        opacity: 0.8;
    }
}

.skeleton {
    background: linear-gradient(90deg, var(--dark-bg-secondary) 25%, var(--dark-bg-elevated) 50%, var(--dark-bg-secondary) 75%);
    background-size: 200% 100%;
    animation: skeleton-pulse 1.5s ease-in-out infinite;
}

/* --------------------------------------------------------------------------
   16. Print Styles (optional)
   -------------------------------------------------------------------------- */
@media print {

    body::before,
    body::after {
        display: none;
    }

    .threadGrid {
        background: white !important;
        color: black !important;
        box-shadow: none !important;
    }
}